行政院國家科學委員會專題研究計畫 成果報告
支援 IPv6 之網際網路多媒體家庭閘道器之研究設計
計畫類別: 個別型計畫 計畫編號: NSC93-2213-E-009-106- 執行期間: 93 年 08 月 01 日至 94 年 07 月 31 日 執行單位: 國立交通大學資訊工程學系(所) 計畫主持人: 陳耀宗 計畫參與人員: 施振華 蔡宗勳 洪立哲 報告類型: 精簡報告 報告附件: 出席國際會議研究心得報告及發表論文 處理方式: 本計畫可公開查詢中 華 民 國 94 年 11 月 2 日
行政院國家科學委員會補助專題研究計畫
■ 成 果 報 告
□ 期中進度報告
支援 IPv6 之網際網路多媒體家庭閘道器之研究設計
Investigation and Design of IPv6-enabled Internet multimedia home gateway
計畫類別:
個別型計畫 □ 整合型計畫
計畫編號:NSC 93-2213-E-009-106-
執行期間: 93 年 8 月 1 日至 94 年 7 月 31 日
計畫主持人:
陳耀宗
共同主持人:
計畫參與人員:施振華、蔡宗勳、洪立哲
成果報告類型(依經費核定清單規定繳交):
精簡報告 □完整報告
本成果報告包括以下應繳交之附件:
□赴國外出差或研習心得報告一份
□赴大陸地區出差或研習心得報告一份
□出席國際學術會議心得報告及發表之論文各一份
□國際合作研究計畫國外研究報告書一份
處理方式:除產學合作研究計畫、提升產業技術及人才培育研究計畫、列
管計畫及下列情形者外,得立即公開查詢
□涉及專利或其他智慧財產權,□一年□二年後可公開查詢
執行單位:
國立交通大學資訊工程學系
中 華 民 國 九十四 年 十 月 三十一日
2
「支援 IPv6 之網際網路多媒體家庭閘道器之研究設計」
Investigation and Design of IPv6-enabled Internet Multimedia Home
Gateway
計畫編號:NSC 93-2213-E-009-106
執行期限:93 年 8 月 1 日至 94 年 7 月 31 日
主持人:陳耀宗教授 (國立交通大學資訊工程學系)
計畫參與人員:
施振華、蔡宗勳、洪立哲
一、中文摘要 本計畫之要點在於研究具備下一世代網際網路協 定(IPv6)功能之多媒體家庭閘道器技術。網際網路 發展至今,已漸漸與家庭之應用結合,各式各樣之 應用,例如電子商務、教育、證券交易、電動遊戲、 隨選媒體等等都可以直接進入家庭網路。因為一般 家庭通常使用的不外乎電視機、XDSL 與 PC、家電 控制裝置,而目前皆透過 IPv4 以從事網際網路連 線擷取。雖然當前許多廠家將推出 IPv4 之家庭閘 道器相關產品,但因 IPv4 位址不足,必須透過 NAT 網址轉換之機制方能支援數量眾多之各種家電。但 網址轉換有不少缺點,包括缺乏通透性以至於造成 遠端管理上之困難、轉換之遲滯對即時應用造成的 品質影響、因轉換處理而更動封包表頭(Packet Header)將使 IPsec 之安全機制幾乎不可能等等。 因此新一代網際網路協定 IPv6 是必要的,除了有 絕對足夠的位址之外,而且 IPv6 具有階層式位址 架構,因而有利於位址整合而方便於管理。在這個 計畫裡,我們將研究利用較低成本之網路處理器 (Network Processor),並以 Linux-based 作業系 統為基楚以研究設計可支援各種家庭多媒體用途 之 IPv4/IPv6 閘道器,可以提供有線與無線連結。 我們將參考各國內廠商現有之家庭 IPv4 產品(若有 的話)與技術,並思考其功能有何可以改善之處或 提出新的做法。基本上,利用現有之網路處理器是 我們先考慮之方式。若完成後之系統評估效果良好 並有了經驗,後續將考率與廠商合作進行系統晶片 (SOC)之開發。 關鍵詞:下一世代網際網路協定,多媒體家庭閘道 器,網路處理器,網址轉換,系統晶片。 二、英文摘要This proposal intends to investigate and design a next generation Internet protocol (IPv6)-enabled multimedia home gateway technology. Due to the quick growth of Internet, it has been associated with millions of homes, and various applications such as e-commerce, education, stock market, electronic games, and media on demand could be provided directly to the home. Since most homes use TV, XDSL, PC, and Internet Appliance Control devices, and currently these devices may connect to the Internet based on IPv4. Although nowadays many vendors are going to announce the IPv4-based home gateways or related products, but in order to accommodate a bunch of IA devices, usually these products have to go thru Network Address Translation (NAT) mechanism. NAT features several drawbacks, it lacks of transparency so that remote management is difficult, the latency of translation process may affect quality of services to those real-time media applications, the modification to the packet header because of the translation may cause IPsec mechanism nearly useless, and so forth. Therefore the next generation Internet protocol IPv6 is necessary, it not only provides sufficient network addresses, but also offers hierarchical address architecture, so that the integration of addresses is simple and the management is convenient. In this proposal, our investigation will be started with deploying a low cost network processor, and Linux-based operating system to design an IPv4/IPv6 home gateway, which provides both wired and wireless connections. During the progress of the project, we will refer to the current domestic products (if any) and technology, and think about how to enhance it as well as add new capabilities. Basically, using the currently available network processor is the first consideration to start the project. If we could achieve a good result and obtain valuable experience,
we may consider the cooperation with vendors to develop the system thru SOC implementation.
Keywords: Next Generation Internet Protocol, Multimedia Home Gateway, Network Processor, Network Address Translation, SOC.
三、計畫緣由與目的 多媒體家庭閘道器主要在提供多個使用者同時進 行網際網路服務擷取,IP 路由網址轉換(NAT) 以及 各種多媒體之應用。多媒體家庭閘道器在國外已有 不少產品,但是支援 IPv6 協定的尚未出現在市場 上。國內園區廠家亦有不少類似家庭閘道器產品, 而且已做成 SOC 晶片成品。本計畫並非要研發整套 產品,而是針對 IPv6 協定與即時多媒體之支援做 深入之研究並設計發展核心之軟硬體。為了避免花 時間在非研究相關的系統周邊整合,例如準備各種 不同網路界面,我們將利用已具備各種界面功能之 網路處理器。當然以一般家庭閘道器之價格而言, 用網路處理器是太昂貴了,但我們主要在研究閘道 器之 IPv6 協定和多媒體支援之效能以及這些效能 與處理器性能間之關係,經由實際之軟體展與效能 評估,我們可以估算出一套對應規則以做為後續發 展閘道器技術之參考。 在目前進行中的計畫裡,我們已在 Linux- based 之網路處理器平台上發展一些快速之封包處 理技術。而在此計畫中,我們將更進一步針對 IPv6 協定與多媒體應用做較務實之研究設計。我們將使 用 Public Domain 之 IPv6 協定軟體加以修改,因 為家庭閘道器之訊務流量較之一般網路路由器 小,因此大流量與快速並非最大考慮點,反而是多 媒體串流與安全為優先之考量。IPv6 中定義了訊務 類別(Traffic Class)與資料流標籤欄位,用以支 援網際網路上各種品質服務。IPv6 之資料流標籤加 上送端位址,可用以區分需要特定品質服務之個別 資料流,而訊務類別欄位則用以區分特定品質服務 之某一類封包。IPv6 提供更完整的網路安全防護功 能包括認證、資料之機密性與整合性。IPv6 協定 涵蓋了 IPsec,因此行動 IP 與安全之整合在 IPv6 上比較可以保證,也比較不會造成互通 (Interoperability)之問題。基本上我們將針對 IPsec 與多媒體資料流之功能特別做設計上之考 量。 在計畫中,我們必須仔細地研究各式家庭多媒 體應用之特性,而後我們將研判這些應用是應由閘 道器介入處理,或部份交由 IA client 處理較為適 合。考慮因素為品質、方便性、複雜度與成本。而 後我們必須挑選一至數種家庭網路標準[2][3] [4][15],做為實現系統之參考。因為家庭網路標 準有五十種以上,目前還未有 de facto 標準,因 此我們不能只依照部份例子為考慮點。接下來就是 閘道器與家庭網路之間如何能有效地連接以做到 無接縫之隨插隨用(Plug & Play)。除此,何種應 用須要何種 Engine 支援等問題,也是我們感興趣 之項目。我們都將在計劃執行過程中仔細研究。 雖然一般人認為 IPv6 位址較長,處理過程應 較費時,事實上是多慮的。在 IPv6 協定中,封包 在路由器中不切割,且具有路徑匯集(Route Aggregation) 之功能,路由階層可以透過骨幹路 徑的管制而簡化,這種功能在 IPv4 中並不具備。 就欄位數目而言,IPv4 有 12 個而 IPv6 只有 8 個, 原有 IPv4 中之部份欄位在 IPv6 變成延伸選項,如 此可以簡化標頭而改進封包處理之速度。不需使用 網路轉址機制,優先權化之路由可縮小路由表,進 而減小路由處理時間。必要時可以使用標準化之標 頭壓縮機制。若將上述各種因素一起考慮,那麼 IPv6 路由效能應較 IPv4 為佳才是,我們希望能透 過計畫的執行成果証明這一點。 四、研究方法與成果 首先我們必須定位多媒體家庭閘道器之功能,而後 才能決定需要研發那些技術。我們的初步目標是同 時支援無線 VoIP 與傳統電話,以及一般的網際網 路擷取。與當今之市面上技術不同的是,我們提供 802.11g 無線擷取可支援 IPv6 與一般電話的無線 話機,而在閘道器上,我們設計了一套 IPv4/IPv6 共 用 的 轉 換 與 轉 接 機 制 。 家 庭 裡 之 Internet
4
Appliance,無論要用 IPv4 或 IPv6,都可以不受 影響地擷取網際網路。 家庭閘道器的設計,整合了幾種不同的技術: 1. 寬頻網路擷取技術:連接家庭網路和 ISP,提供 了網際網路連線。 2. 資訊處理服務技術:提供處理網路應用服務的 能力,供家庭內部使用。 3. 家庭網路連結技術:家庭閘道器必須能夠讓家 庭網路內的各種不同的裝置彼此溝通,而這些 連結之功能必須由家庭閘道器提供。 4. 家庭網路管理技術:家庭閘道器要能夠提供自 動尋找、自動設定,與管理家庭網路裝置的能 力。 我們把家庭閘道器的架構分成兩個部分,分別 針對可使用的硬體架構以及可能所需要的軟體元 件做說明。 硬體架構 家庭閘道器的硬體架構,可利用系統單晶片 (SOC)的技術做成單顆晶片,或者使用電路板的方 法來實做[14],完全取決於系統規格需要以及成本 價格的考量。圖一是一個家庭閘道器[1][10][13] 規劃的例子: 圖一:家庭閘道器硬體架構實例 圖一顯示以 ASIC 單晶片的方式來實現系統, 包括了一顆簡單指令集(RISC)的中央處理器、記憶 體、直接記憶體存取控制器(DMA Controller)、以 及 I/O 介面,也可以把 I/O 介面獨立於這一顆 ASIC 之外,由另外一顆晶片來處理它。 現在比較普遍的家庭閘道器網路介面,則如本 段之前文所述。這些實體層網路介面,可以歸類於 I/O 介面之中,或放在 AISC 之外的地方處理。另 外,對於數位信號的處理(DSP)部分,有些家庭閘 道器也會把這部分抽離出 ASIC 來另外做,因為這 部分的處理也是相當獨立的,如果獨立出來的話, 有些信號的處理,像是聲音的取樣,就能夠單靠 DSP 的線路獨立完成。 圖二:家庭閘道器軟體功能主要模組 軟體架構 一個家庭閘道器的軟體功能建構如圖二所 示。在家庭閘道器的軟體部分,可以分成三個階 層:韌體(Firmware)、作業系統(Operating System)、以及上層應用程式(Application)。其中 在韌體部分,包含了許多底層的控制程式,像是開 機的載入程式(boot loader)、偵錯介面(debugging interface)…等等,而在作業系統方面,除了各家 自行開發的作業系統之外,比較常見的有 Embedded Linux、VxWorks、Nucleous…等,而作業系統的硬 體驅動程式也佔了很重要的地位,除了要用以啟動 家庭閘道器自己內部的裝置外,還要驅動閘道器的 不同 I/O 介面,像是乙太網路、無線網路、DSL… 等等。 上層的應用軟體,主要則是用來讓家庭閘道器 支援各種使用者服務。有些家庭閘道器把網路協定 堆疊(Protocol Stack)的某些部分也做在應用軟體 層,做到像是路由(Routing)管理、動態主機設定 Home Gateway Operating Systems Device Drivers Protocol Stack Service Platform Applications VoIP System Managemen t
協定(DHCP)、網路位址轉換(NAT)等功能;其他像 是網路品質保證的服務(QoS)、網路遠端管理協定 (SNMP)等等,都可以放在軟體層來增加家庭閘道器 的功能。 除了網路傳輸相關的協定之外,其他功能也能 夠做在這裡,像是網際網路電話相關的協定,如 VoIP、Skype,或者是影音串流協定,如 MPEG-2、 MPEG-4 等等,都可以做到。應用軟體層的所有實 作,也可以提供介面,讓更上一層的發展人員能夠 使用;另一方面,也要有一套很好的機制,讓這一 層的所有應用程式,跟下層的實體裝置能夠很簡單 的搭配起來,如此研發人員在應用程式中做出的功 能,才能很完整的在實體裝置中表現出來。 家庭閘道器實例 以下說明幾個家庭閘道器的設計方式: (1) SOHO 路由器家庭閘道器: SOHO 路由器是一個消費者通訊的設備,用來 透過 Ethernet 或是 USB 連接到寬頻數據機,並且 支援網路連接的分享。基本上,SOHO 路由器有兩 種解決方案,接 Cable 數據機或是 DSL 寬頻數據 機。另外它也可以提供 Wireless LAN(IEEE 802.11) Access Point 的功能。SOHO 路由器家庭閘道器是 最普遍的用法。 (2) 纜線路由器家庭閘道器: 纜 線 路 由 器 整 合 了 纜 線 數 據 機 (Cable Modem)[5]與上述之 SOHO 路由器,而由後者提供 寬頻網路連線的分享,虛擬私人網路(VPN),以及 其他的應用。這些功能都整合在一個機盒內。 (3) 纜線多媒體終端家庭閘道器:
纜線多媒體終端家庭閘道器(Cable MTA Home Gateway) 由寬頻纜線提供了音訊與 IP 影像的功 能,這是由 Cablelabs 所提出來的 Packet Cable 標準。MTA 有兩種:
1. EMTA (Embedded Multimedia Terminal
Adapter)是一種可以在纜線上提供語音與高 速資料傳輸的單機盒解決方案。 DOCSIS 1.1
纜 線 數 據 機 提 供 了 纜 線 電 話 (Voice over Cable)的功能,即是一種 EMTA。
2. SMTA(Standalone Multimedia Terminal
Adapter)是一種雙機盒解決方案。 SMT 設備提 供了纜線電話的功能必須要透過 Ethernet 或 是 USB 外接一個 DOCSIS 1.1 纜線數據機。 纜線電話跟一般的網際網路電話(Voice over IP) [6] 最 大 的 不 同 點 在 於 Cablelabs PacketCable[12] 對於點對點的服務品質以及在寬 頻纜線上的來電語音做了非常完整的標準定義, 而一般的網際網路標準如 H.323 或是 SIP 只定義電 話信號[11]並沒有提到重要的服務品質、安全以及 來電語音等。遵從 PacketCable 標準,MTA 設備能 和北美所發展出來的系統確保彼此間的相容性與 互動性。 (4) DSL 整合擷取裝置(IAD)家庭閘道器: DSL IAD (Integrated Access Device)是一個 單機盒的解決方案,它在 DSL 寬頻數據機上同時提 供了高速網際網路資料傳輸與良好的電話語音品 質。DSL IAD 可以附加 SOHO 路由器的功能,以提 供使用者更多的方便,如網際網路連線的分享,虛 擬私有網路(VPN)以及無線區域網路等。 語音傳輸在寬頻 DSL 上之運作可以分為兩種:
1. DSL 電話(Voice over DSL):語音是以 AAL2
細胞傳送。BLES(Broadband Loop Emulation Service),DSL 論壇上的 TR-036 標準內有詳細 的定義。
2. DSL 網際網路電話(Voice over IP over DSL):
語音是以 IP 封包(RTP 封包)傳送,而 IP 封包 則 是 封 裝 進 AAL5 的 細 胞 內 。 MGCP(Media Gateway Control Protocol)是最普遍用來做 信號處理的協定,不過 H.323 與 SIP 信號也是 信號處理的協定之一,這兩種是 TELCO 所決定 要用的協定。
(5)數位機上盒家庭閘道器
6 供一些其它服務,如數位高解析度電視(HDTV),內 容加密(依據消費者的付費),個人影像錄影,電子 節目導覽(EPG)等等。另外它也提供了網際網路瀏 覽、互動式電視的服務。STB 可以從數位纜線、衛 星廣播或是地面上的天線等接收到所要的內容,並 且互動式電視的回傳訊息路徑可經由撥號網路或 是寬頻數據機。數位機上盒很快的發展成為機上盒 家庭閘道器,它能滿足消費者對於整個家庭內所有 設備之資料、語音以及娛樂的連接,而不只侷限於 與電視機相連。主要有下幾點原因: 1. 消費者對於在多樣化的顯示設備下,有影音多 媒體的需求。 2. 先進的家庭網路技術,特別是無線區域網路之 需求。 3. 多台個人電腦、資訊家電、智慧型家庭設備的 普及性增高。 4. 寬頻連線的普及率升高。 數位機上盒家庭閘道器不僅提供傳統的數位高 解析度電視(Digital HDTV),內容加密(Content Encryption),電子電視導覽(EPG)以及互動式電視 的功能,更提供了以下所列的功能,提供消費者更 多的選擇: 1. 高速寬頻連線,提供了網路家電裝置之連接。 2. 家庭內部檔案、印表機的分享。 3. 遠端健康照顧以及安全監視的要求。 4. 防火牆的安全性,虛擬私人網路的連接。 5. 在電視上顯示出內容資訊,像是在各個房間的網 路家電設備的資訊。 6. 提供多媒體串流以及 IP 隨選視訊(Video On Demand)。 由以上之各種不同家庭閘道器之設計方式,我 們可以瞭解家庭閘道器設計並沒有一定之標準。不 過倒可以歸納出幾個共通之重點,分如下四部份: 1. 網際網路連線: DSL 與纜線是最常用之方式。 2. 家庭網路連線: 這部份有數十種標準,最常見 的為 802.11 a/b/g 無線區域網路、家庭電源線 家庭網路、乙太網路、紅外線[7]、藍芽[8]與最 近之 Ultra Wideband (UWB)與 ZigBee 等等。
3. 應 用 服 務 : 主 要 為 網 際 網 路 上 之 IP-Based
Services 如 WWW、E-mail、Voice over IP 如 Skype、Video、Music 以及互動電視等等。 4. 家庭網路管理功能。 包羅萬象之家庭閘道器除了成本高之外,通常 也容易故障,並不實用。因此我們針對上述之共通 功能與需求,選擇了我們認為最符合功能需求與成 本效益的功能,並據以進行家庭閘道器設計。 圖三所示為我們所提出之硬體架構圖,這架構 圖主要針對 Voice、Media 與網際網路服務為考量。 因為目前 IPv4 位址不足,NAT 為必要之功能。雖 然我們提供 IPv6 之支援,但實際上 ISP 並無法提 供 IPv6 之路由,只能在實驗室裡試驗。由圖上可 以看出透過 802.11 或 Ethernet 家庭網路可以連上 Internet 或提供網路家電之互連,同時因為網際網 路語因品質較難控制,我們的家庭閘道器設計也提 供了撥接傳統電話之功能。 圖三: 家庭閘道器硬體架構 圖四所示為軟體架構圖,在軟體架構上,我們 利用了 Linux 上的 Public Domain 之軟體並增加了 一些所缺乏的功能,像是 IPv6 路由與支援無線網 路串流之 QoS 功能。雖然 IEEE 802.11e 提供了一 套無線區域網路上支援品質服務的標準,但那只是 踏出第一步,若要做到與傳統電話那樣之語音品 質,還有許多技術待改進,也表示我們還可以針對 無線之語音品質服務做更多之研究。由於網際網路 上病毒攻擊嚴重,因此防火牆式之封包過濾也有必 要。在這個設計中暫沒有考濾 Video 之處理,而直
IXP 425 Network Processor RAM 802.11 PCI bus POTS Codec Flash Ethernet Switch UART xDSL/Fiber LCD
接送至 Client 端,主要是 Video 之處裡需大量之 運算,必須透過 DSP,而因此軟硬體之複雜度會增 加不少。而家庭閘道器功能之多少並非本計畫之重 點。 圖四: 家庭閘道器軟體架構 五、結論與討論 因為市面上家庭閘道器產品不少,在計畫中我們不 必去重複研究常見之閘道器功能,而是針對一些前 瞻性或是仍有很大改進空間之功能做研究。在這個 計畫中,我們利用 Intel IXP425 設計了一套家庭 閘道器之軟硬體架構,我們並且在其上發展 IPv6 路由與 802.11 無線區域網路上之語音品質改進。 除此,我們也發展了一套可以讓 NAT 或 DHCP 下之 Client 提供 Server 服務之 TCP 轉接技術,此技術 不必透過動態 DNS 就可以讓 NAT 或 DHCP 下之 Host 提供網際網路服務 家庭網路閘道器是日漸普及之家庭網路必要設 備,由於家庭網路標準不一,應用也很多,訴求不 同,因此家用閘道器之設計就很難有個標準。但有 一點較可以確定的是,必須能與 PC 與 Voice 結合。 後 PC 時代之個人電腦已經走向家庭多媒體中心之 趨勢,越來功能越強之 PC 可以處理各式媒體並提 供各種應用服務,配合上技術日漸成熟之無線網 路,多媒體家庭閘道器將是網路通訊市場上的明日 之星。 六、參考文獻 [1]http://www.wipro.com/prodesign/focusareas/homeauto mation/index.htm Networks”, IEEE Global Telecommunications Conference (GLOBECOM’01), vol. 6, pp. 3463-3467, Nov. 2001. [2] http://www.howstuffworks.com/home-network.htm [3] http://www.homepna.org/ [4] http://www.wlana.org/ [5] http://rpcp.mit.edu/~gingold/cable [6] http://www.catv.org/index.html [7] http://www.irda.org/ [8] http://www.bluetooth.org [9] http://grouper.ieee.org/groups/802/11/main.html [10] http://www.jungo.com/ [11]http://www.vovida.org/applications/downloads/si prg [12]http://www.cablelabs.com/news/pr/2004/04_pr_c h_gateway_rfp_112904.html [13]http://www.intel.com/design/network/solutions/re sidential/
[14]Kyoung-Youn Cho and Kwang-ho Choi, “A Novel Architecture of Home Gateway for Efficient Packet Process,” Proceedings of the IEEE Workshop on Knowledge Media Networking (KMN’02)
[15] http://www.coactive.com/media/wp9904.pdf RTP/RTSP VoIP TCP/UDP SNMP VPN IPv4/IPv6 Routing NAT/DHCP Packet Filtering Layer 2 Switching HTML
802.3 I/F 802.11 I/F DSL I/F QoS
Management
Linux Operating Systems Application Programming Interface