高速網通處理器的誕生
從個人網路存取到企業內部或外部之間的通訊業務,網路使用的通訊協議(Internet Protocol或是Transmission Control Protocol;IP)已成為各種通訊的基礎。IP化歷經100年的進化,目前正逐漸取代傳統電話通訊服務,雖然IP是改變網路基幹主要動力,然而面對極端不穩定的窄域頻寬,進行聲音與動態影像通訊時,IP頓時便陷入無法支援的困境。
非對稱數位式用戶線(Asymmetric Digital Subscriber Line;ADSL)、光纖到府(Fiber To The Home;FTTH)與有線數據機(Cable Modem)等新型存取網路的頻域大幅擴充,操作上只需透過與固定網路相同的0AB~J撥號,就能夠獲得與IP電話相同的服務效益,如圖一所示。
一般認為FTTH的普及,可使網路通訊的存取速度獲得飛躍性的提升,尤其是Gigabit乙太網路被動光纖網路(Giga Ethernet Passive Optical Network;GE-PON)技術的問世,未來還可以實現低成本雙工2Gbit/s的通訊。
然而傳統網路配接器(Network Adapter;NWA)的封包(Packet)處理能力非常低,幾乎無法充分發揮FTTH超頻寬特性,主要原因是傳統NWA的封包處理幾乎完全仰賴軟體方式處理,因此類似2Gbit/s的封包處理,必需使用高性能CPU,不過高單價、高消費電力CPU並不適合應用在NWA。
反過來說如果刻意使用低處理能力且易產生封包損失的NWA,對封包損失非常敏銳的VoIP與匯流(stream)通訊可能會降低品質,此時一直到處理作業結束之前會累積收訊封包,當容許容量超過緩衝器(buffer)的負荷時,就會出現所謂的封包損失(Packet Loss)。有鑑於此,國外業者開發NWA用、具備2Gbit/s處理能力的網路通訊用微處理器(Routing Engine for Next generation Network Access Chip;REAN-CHIP)。
REAN-CHIP的應用環境
REAN-CHIP可以取代大部份的CPU封包處理作業,獲得2Gbit/s的處理效果,加上REAN-CHIP專用硬體化的結果,使得REAN-CHIP的處理效率不但可凌駕傳統CPU,同時還能夠達成低消費電力雙重目標,如圖二所示。
FTTH+QoS應用
雖然傳統IP電話服務可以擴充頻寬,即使不具備類似FTTH高達100Mbit/s的頻寬,同樣也可實現與傳統固定電話相同的通訊服務,這結果完全歸功於QoS(Quality of Service)技術。此外IP封包還規定頁首(Header)本身的優先度,例如IPv4的Type of Service、或是IPv6的轉換等級(Traffic Class),因此中繼網路可以根據該優先度進行轉送處理,接著再依照服務內容實現不同的通訊品質。
相較之下,FTTH若使用已經將QoS列入考慮的IP網路,理論上可以實現過去被認為非常困難的通訊服務,例如10秒左右可以傳送一片CD資料,或是傳送高畫質(High-Definition;HD)影像等等。
家用閘道器HGW應用
如圖三所示,一般家庭利用上述服務時,由於家用閘道器(Home Gate Way;HGW)具備與傳統寬頻分享器(Broadband Router)相同的網路低階處理功能、以及終端的服務配接器(Service Adapter)功能,因此HGW扮演IP網路入口非常重要的角色。表一是HGW主要功能一覽表。
(表一) HGW主要功能一覽表
網路配接功能 |
服務配接功能 |
賦予主機(Host)位址 |
無線存取點 |
封包(Packet)轉送 |
家電、瓦斯器具的控制 |
編碼、解碼 |
住家協議轉換 |
品質控制 |
SIP等信號 |
位址轉換 |
影像CODEC |
線路認證 |
使用者認證 |
防火牆 |
VoIP配接 |
網路配接器NWA應用
傳統NWA具備賦予主機(Host)位址、改變位址(Address)、封包轉送、簡易防火牆等功能,NWA主要作業對象是最大傳輸速度為100Mbit/s的IPv4網路,因此NWA通常都內建CPU,或是使用功能強化型網路通訊用網路微處理器(Network Processor;NP)。此外為支援今後各式各樣服務要求,傳統NWA必需針對封包轉送、防火牆、QoS進行1Gbit/s的速度提升,在此同時IP電話則需抑制延遲問題縮短封包設定長度?此刻為了傳送相同份量的資料,短封包必需增加反覆作業次數,其結果造成處理負載暴增,最後對網路微處理器NP所要求的功能造成嚴重的挑戰。
由於網際網路服務提供者非常重視處理功能,因此大多使用大型路由器與特定功能積體電路(Application Specific Integrated Circuit;ASIC)。ASIC主要缺點是處理內容變更時無法自由對應,為解決這問題,研究人員將CPU與封包處理硬體一體化,進而開發可以進行程式處理的NP。
圖四是一般NP的結構。如圖所示封包的首頁分析、搜尋、QoS、編碼、解碼雖然非常簡易,然而反覆處理的次數非常多,而且負載極大的骨幹路由(Forwarding Plane)部份功能,必需分別利用各專用硬體即封包引擎(Packet Engine)來執行,此外表單管理與賦予位址等處理也很複雜。所幸其發生頻度較少,因此負載較低的控制路由(Controller Plane)的部份功能,可以利用內建在NP的CPU執行。CPU與各封包引擎再透過高速內部匯流排相互連接,部份NP則利用微型程式定義的功能,可同時擁有高速硬體處理性與軟體處理自由度等可程式封包引擎。
REAN-CHIP的功能
NWA要求的功能分別如下:
- ●為確保通訊品質,根據封包的分類與其結果進行優先度與Rate轉送的QoS。
- ●為保護各網路協議IP,過濾(Filting)功能。
QoS控制功能是指利用傳統乙太網路實現的電話即時通訊、匯流寬頻通訊等資料,將端對端的服務列入資料通訊考量,依此進行適當品質通訊時必要的功能,不會降低IP電話服務品質。過濾功能可以保護網路,排除境內點不適當封包的功能,亦可當作防火牆使用。
不過上述功能需配合IP網路的存取線和區間的高速化才可,尤其是為了支援存取線的光學網路單元(Optical Network Unit;ONU)與Gigabit乙太網路技術(Gigabit Ethernet;Gbe),NWA的傳輸容量(Throughput)必需擁有1Gbit/s以上的能力。
新開發網路通訊用REAN-CHIP針對上述次世代NWA必備功能,除了具備QoS控制和過濾功能之外,還可以利用硬體處理虛擬私有網路(Virtual Private Network;VPN)等特殊功能,因此可使NWA輕易建構高速IP網路,如圖五所示。
圖六是傳統技術與REAN-CHIP構成的NWA比較說明圖,其中如圖六(a)所示,傳統LAN、WAN兩種IP網路,必需透過與CPU的連接才能完成上述功能,能否獲得高傳輸容量,完全取決於CPU的性能與軟體之間的協調(tuning)。相較之下圖六(b)的WAN-LAN通訊流量(traffic)由REAN-CHIP單獨完成,CPU只處理REAN-CHIP無法完成的封包,因此可以使用功能與單價較低的CPU,此外並無軟體之間的協議,因此可達成高傳輸容量的通訊效益。
REAN-CHIP的特徵
REAN-CHIP具備下列特徵:
利用硬體高速傳送封包
例如:
- ●IP路由器的路徑表單、網址解析協議(Address Resolution Protocol;ARP)、自動芳鄰探索協議(Neighbor Discovery Protocol;NDP)表單搜尋處理功能;
- ●乙太網路存取時,網路位址轉譯器(Network Address Transfer)、分享器轉址(Network Address Port Translation;NAPT)表單搜尋,以及根據其結果的封包首頁資訊改寫處理功能等等;
- ●在過濾、QoS控制上,檢查封包的首頁資訊是否與事先設定的條件一致等分類功能等等;
- ●根據分類功能的結果進行QoS控制時,要求的優先控制功能、塑形(Shaping)功能、佇列(Queue)功能等等。
- ●實現虛擬私有網路(Virtual Private Network;VPN)的封包囊化(packet Canpsuling)功能,支援IPsec(Encapsulating Security Payload)、Tunnel Mode、PPPoE(Point To Point Protocol Over Ethernet)。
支援IPv4/IPv6雙重架構(Dual Stack)方式
值得一提的是以上特徵性封包轉送功能,同時適用於IPv4/IPv6。
與軟體的連接功能
為控制位址解析協議表單(Address Resolution Protocol Table;ARP)而產生路徑表單或VPN的控制封包,利用硬體處理非常困難,加上例如使用者可對NWA本身進行各種設定為目的的封包,必需全部從REAN-CHIP一直到應用進行處理。此時若改用REAN-CHIP,則可將封包轉送到CPU,利用CPU進行處理作業與優先控制處理。表二是REAN-CHIP與CPU的處理分單一覽表。
(表二) REAN-CHIP與CPU的處理分單一覽表
功能項目 |
REAN-CHIP |
CPU |
其它 |
應用 |
---- |
HTTP、SIP |
---- |
L4 |
TCP |
NAT/NAPT處理 |
Flow追蹤(SIP用) |
---- |
UDP |
NAT/NAPT處理 |
Flow追蹤(SIP用) |
---- |
ICMP |
---- |
Flow追蹤(SIP用)、產生應答 |
---- |
L3 |
|
建構IP Frame |
---- |
---- |
ARP/NDP
Ruting |
搜尋路徑表單 |
建構路徑表單 |
---- |
NAT/NAPT |
搜尋NAT/NAPT表單 |
建構NAT/NAPT表單 |
---- |
IPsec |
ESP(Encapsulating Security Payload)
隧道模式的Encapsule、Decapsule |
鍵交換、產生SA |
---- |
L2 |
MAC |
---- |
---- |
產生VLAN Frame |
---- |
---- |
建構PPPoE、PPP |
PPPoE搜尋階段
控制PPP(LCP/IPCP交涉、認證) |
---- |
L1 |
---- |
---- |
以物理層元件成 |
封包分類、過濾 |
搜尋封包
通過、廢棄、標示DSCP值 |
建構分類表單 |
---- |
QoS控制 |
優先控制、佇列(Queue)、塑形(Shaping) |
設定優先控制規則、設定佇列長度、塑形參數 |
以外置DDR-SDRAM實現封包緩衝器 |
(表二a) 專有名詞總稱
IPCP |
Internet Protocol Control Protocol |
ICMP |
Internet Control and Message Protocol |
PPPoE |
Point-to-Point Protocol over Ethernet |
NDP |
Neighbor Discovery Protocol |
NAPT |
NetworkAddressPort Translation |
ESP |
Encapsulating Security Payload |
NAT |
Network Address Transfer |
TCP |
Transmission Control Protocol |
UDP |
User Datagram Protocol |
ARP |
Address Resolution Protocol |
VLAN |
Virtual Local Area Network |
IPsec |
Internet Protocol Security |
LCP |
Link Control Protocol |
PPP |
Poing-to-Point Protocol |
QoS |
Quality of Service |
DSCP |
DiffServ Code Point |
SA |
Security Association |
封包處理概要
圖七是利用REAN-CHIP構成的NWA內部方塊圖,圖中點線部份是REAN-CHIP。REAN-CHIP構成的NWA還需要下列要件:
- ●構成WAN端與LAN物理介面的PHY;
- ●利用REAN-CHIP處理的封包緩衝器DDR-SDRAM(Double Data Rate-Synchronous Dynamic Random Access Memory);
- ●與REAN-CHIP連動的軟體動作,以及外部CPU與周邊電路等等;
- ●外部CPU與變成介面SDR-SDRAM(Single Data Rate-Synchronous Dynamic Random Access Memory)。
《圖七 REAN-CHIP構成的NWA內部方塊示意圖》 |
|
如上圖所示從WAN流入的封包透過MAC到達IPsec,此時會判定封包是否成為IPsec處理的對象,必要時進行IPsec包囊(Capsule)的解碼,封包便透過記憶體控制單元收容在DDR-SDRAM內容。
首頁單元被傳送到分析器(Parser)進行首頁資訊分析,分析結果被送到搜尋單元,此時會判定過濾功能與QoS控制功能的分類,進行例行與必要時賦予NAT/NAPT資訊的處理,例如判定是否將封包輸出到那個介面。
依照分類結果,利用QoS調整封包傳送順序與時序,透過記憶體控制單元利用DDR-SDRAM讀取封包,再送到Frame產生單元根據NAT/NAPT結束進行封包再建構,最後封包藉由MAC單元通過PHY轉送到LAN。
傳輸容量與封包大小無關
表三是REAN-CHIP主要元件,封包的轉送性能為3Mbps,表列表示單位封包的轉送特性,與封包的大小無關,可以實現上、下行1Gbps的傳輸容量。
(表三) REAN-CHIP主要元件功能一覽表
物理介面 |
10/100/1000Mbit/s乙太網路,WAN×1,LAN×1 |
VLAN |
IEEE802.1Q 標註VLAN,最多VLAN數16個 |
WAN協議 |
IPsec |
IPv4/IPv6 overIPv6隧道模式(ESP),最多同時7個全域變數(Session),SHA-1,MD5,AES,防止再送(Antiplay) |
PPPoE |
最多同時7個全域變數 |
L3轉送協議 |
IPv4 |
例行表單:最多256個登錄*2,可作Source routing;NAT:最多8個進入/NAPT:最多256個登錄 |
IPv6 |
例行表單:最多256個登錄*2,可作Source routing |
多重播放 |
IPv4,支援IPv4 例行表單,最多256個登錄*2 |
QoS |
IPv4/ IPv6 |
TOS/流量等級控制,VLAN p-bit繪製 |
控制WAN輸出 |
佇列緩衝器10個,各1024Frame以下,Tail Drop/WRED
3個4輸入調度程式:PQ/WFQ,可作13個塑形組合 |
控制LAN輸出 |
佇列緩衝器4個,各1024Frame以下,Tail Drop/WRED
2個4輸入調度程式:PQ/WFQ,可作6個塑形組合 |
過濾分類 |
IPv4/ IPv6 |
最多256個登錄,送訊者MAC,VLAN ID、IPsec、SA(SPI)、PPPoE Session ID、IP位址
埠號、TOS/Traffic Class、ICMP |
封包轉送功能 |
3Mbps,設定256個登錄表單、過濾分類登錄 |
(表三a) 專有名詞總稱
WRED |
Weighted Random Early Detection |
PQ/WFQ |
Priority Queuing/ Weight Fair Queueing |
AES |
Advanced Encryption System |
VLAN |
Virtual Local Area Network |
SHA |
Secure Hash Algorithm |
MD5 |
Message-Digest lgorithm 5 |
TOS |
Type of Service |
SPI: |
serial peripheral interface |
ICMP |
Internet Control Message Protocol |
圖八是變更封包大小時獲得的傳輸容量特性測試結果,測試比較對象是傳統寬頻路由器。如圖所示傳統路由器的封包越小時,其傳輸容量相對越小,如果使用REAN-CHIP構成的NWA,其結果與封包的大小無關,能夠以1Gbps的傳輸容量轉送封包。
《圖八 封包大小與傳輸容量(Throughput)的關係》 |
|
圖九則是100Mbps資料在轉送途中,以攻擊封包為橫軸時,封包的損失特性測試結果。如圖所示,傳統寬頻路由器支援攻擊封包,因此轉送封包會產生封包損失,若改用REAN-CHIP構成的NWA,可以利用硬體實現轉送封包處理,因此與攻擊封包無關,隨時都維持傳輸穩定特性。
REAN-CHIP的硬體特性
表四是REAN-CHIP的主要規格一覽表;表五是REAN-CHIP的主要功能一覽表。REAN-CHIP具備2Gbit/s與3Mpacket/s的處理能力,即使封包處理的負載變成最大條件,亦即最短封包同時從WAN埠與LAN埠收訊的條件,也能夠全部完成表三內所有功能。
此外REAN-CHIP不需要最大2W的冷卻風散與大型散熱鰭片,因此可以達成低消費電力目標,對於NWA小型化與提高效能可靠性具有正面效益。REAN-CHIP具有分享器轉址(Network Address Port Translation;NAPT)、路徑、分類三種表單,可以將最大256個登錄在各表單,各進入是由規定封包處理的處理資訊,與規定適合該處理封包條件的條件資訊所構成。
(表四) REAN-CHIP的主要電子規格一覽表
製程 |
0.13μm 8層金屬CMOS |
電路規模 |
7.3×7.3mm Core
95M電晶體(1.7M閘道,1.4Mbit) |
介面 |
GMII×2(WAN,LAN)
32bit DDR-SDRAM 封包緩衝器(Packet Buffer)
32bit SDR-SDRAM 封包CPU轉送
32bit CPU介面控制 |
時脈 |
外部輸入33MHz(內部66/100/133MHz) |
電壓、電力 |
1.5/2.5/3.3V(Core 1.5V),最大2W |
封裝 |
27×27mm,456Pin,塑膠BGA |
(表五) REAN-CHIP的主要特性一覽表
Layer 2 |
IEEE802.1Q VLAN、PPPoE、最多可連接16條 |
轉送(路徑表) |
可指定Ipv4/Ipv6、多重播放
配合ARP表格,最多可作256個登錄 |
濾波器分類 |
條件:輸出/入理論介面、TOS、IP位址、L4協議
、埠號、TCP Flag、ICMO Type、Code等等
處理:通過、廢棄、佇列(Queue)、再標示、Markdown、指定VLAN優先度、WREAD優先度;
最多可作256個登錄、片段(Fragrant)自動追跡 |
NAT/NAPT |
NAT最多可作8個登錄,NAPT最多可作256個登錄 |
QoS |
佇列個數:10(WAN)、4(LAN)、3(CPU)
調度程式個數:3(WAN)、2(LAN)、1(CPU)
調度程式可選擇4輸入、PQ/WFQ
調度程式輸出,可作連接變更、塑形 |
IPsec |
編碼:NULL/AES-CBC,鍵長128/192/256bit
認證:HMAC-SHA-1/HMAC-MD-5
ESP隧道模式(Tunnel mode):Ipv6 Capsule,最多16個SA |
REAN-CHIP會搜尋各表單內條件符合收訊封裝的進入,再使用該進入的處理資訊進行轉送、過濾、QoS等處理。有關分類處理為了使利用IP Fragrant從一個封包分割出來的封包,也適用相同處理資訊,因此設置Fragrant追蹤功能。
雖然前頭的分割封包必需比其它封包先行輸入,不過它可以對16個封包進行同時追蹤。REAN-CHIP並可支援以下:
- ●標示虛擬區域網路VLAN;
- ●乙太網路點對點協定PPPoE的層2假想介面;
- ●網路安全協定IPsec的層3假想介面;
上述假想介面除了具備隱藏各協議最大16個理論介面之外,還擁有繪送(mapping)、收訊用理論介面表單等特性,可以在路徑表單與分類表單中使用理論介面進行設定。
佇列排序和備註設計
REAN-CHIP具備上行10等級與下行4等級的QoS,除了各等級的優先佇列(Priority Queueing;PQ)之外,它還可以作為各等級指定加權的WFQ(Weighted Fair Queueing),並指定上限頻域的塑形。
雖然以分類作等級分類的封包,能夠進入各等級的佇列,最多可以儲存1024個封包,不過堵塞時的處理除了Tail drop之外,它還可以作WRED(Weighted Random Early Detection)。如果堵塞時的處理被判定成廢棄時,可立即對封包進行Markdown等級變更,依此重新進入其它佇列。
此外REAN-CHIP還具備Remark功能,能夠依照備註有無、等級分類,變更IP頁首內的服務類型值(Type of Service;TOS)。
封包傳輸的硬體特性
圖十是採用REAN-CHIP的NWA結構範例。雖然在REAN-CHIP內部主要是以完成處理並在WLN-LAN之間進行轉送的封包為主,不過利用CPU也可進行例外性處理,例如位址解析協議(Address Resolution Protocol;ARP)、PPPoE、IPsec的控制封包,或是可以使各種表單動態性改寫的封包等等。
《圖十 REAN-CHIP內建的NWA結構示意圖》 |
|
利用WAN收訊的封包傳輸特性
相較於利用WAN收訊的封包,在MAC內必需等方塊乙太網框架(Ethernet Frame)錯誤偵測,亦即周期性循環檢查CRC(Cyclic Redundancy Check)等MAC終端處理結束後,才能夠以IPsec方塊判定有無IPsec處理對象。
如果有IPsec處理對象時,則進行認證、解碼,並排除IPv6封裝安全有效負載ESP(Encapsulating Security Paylod)的封囊,最後再輸入至記憶控制單元;如果沒有處理對象時,則直接使之通過並輸入至記憶控制單元。
利用LAN收訊的封包傳輸特性
有關利用LAN收訊的封包,它是從MAC方塊輸入至記憶控制單元,至於來自CPU的封包,則從CPU介面方塊直接輸入至記憶控制單元。
分析方塊
記憶控制單元除了將封包資料收容在DDR-SDRAM之外,同時還會輸入至分析方塊(Parser block),利用2Kb將DDR-SDRAM的記憶領域切割,再將一個封包收容在其中一個區塊,藉此簡化記憶管理。分析方塊從輸入的封包資料前頭開始,一直搜尋至層2~層4各首頁的連鎖,會將各頁首內的MAC位址、IP位址、埠號資訊,從封包資料抽出輸出至搜尋方塊,等封包資料的流程在分析方塊結束後,就變成從封包頁首抽出的資訊流程。
搜尋方塊
搜尋方塊會針對路徑與分類等表單,進行適合輸入封包的登錄搜尋,依序讀取登錄在表單的登錄,再與從封包頁首抽出的資訊,進行該登錄條件資訊比較,依此判定是否適合封包條件。取得合適的登錄處理資訊,再與封包收容位置資訊、封包長度等資訊,當作封包的工作資訊輸入至QoS方塊。
CPU輸入封包
從CPU輸入的封包並不是利用分析方塊與搜尋方塊取得處理資訊,而是CPU使用已經備妥的處理資訊。搜尋方塊負擔REAN-CHIP功能面的特徵,亦即
線行速率(Wire rate)的關鍵性元件角色。
(待續)