高速网通处理器的诞生
从个人网路存取到企业内部或外部之间的通讯业务,网路使用的通讯协议(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)。
LAN-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则利用微型程式定义的功能,可同时拥有高速硬体处理性与软体处理自由度等可程式封包引擎。
LAN-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,此外并无软体之间的协议,因此可达成高传输容量的通讯效益。
LAN-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)
隧道模式的Encapsulate、Encapsulate |
键交换、产生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 |
封包处理概要
图七是利用TRAN-CHIP构成的NWA内部方块图,图中点线部份是REAN-CHIP。 REAN-CHIP构成的NWA还需要下列要件:
- ●构成WAN端与LAN物理介面的PHY;
- ●利用RAM-CHIP处理的封包缓冲器DDR-SDRAM(Double Data Rate-Synchronous Dynamic Random Access Memory);
- ●与REAN-CHIP连动的软体动作,以及外部CPU与周边电路等等;
- ●外部CPU与变成介面DDR-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 over IPv6隧道模式(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 pbit绘制 |
控制WAN输出 |
伫列缓冲器10个,各1024 Frame以下,Tail Drop/WRED
3个4输入调度程式:PQ/WFQ,可做13个塑形组合 |
控制LAN输出 |
伫列缓冲器4个,各1024 Frame以下,Tail Drop/WRED
2个4输入调度程式:PQ/WFQ,可做6个塑形组合 |
过滤分类 |
IPv4/ IPv6 |
最多256个登录,送讯者MAC,VLAN ID、IPsec、SA(SPI)、PPPoE Session ID、IP位址
埠号、QOS/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 DDR-SDRAM 封包CPU转送
32bit CPU介面控制 |
时脉 |
外部输入33MHz(内部66/100/133MHz) |
电压、电流 |
1.5/2.5/3.3V(Core 1.5V),最大2W |
封装 |
27×27mm,456 Pin,塑胶BGA |
(表五) REAN-CHIP的主要特性一览表
Layer 2 |
IEEE802.1Q VLAN、PPPoE、最多可连接16条 |
转送(路径表) |
可指定Ipv4/Ipv6、多重播放
配合ARP表格,最多可作256个登录 |
滤波器分类 |
条件:输出/入理论介面、TOS、IP位址、L4协议
、埠号、TCP Flag、ICMP 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/256 bit
认证:HMAC-SHA1/HMAC-MD5
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等级变更,依此重新进入其它伫列。
此外READ-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)的关键性元件角色。
(待续)