账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
网路处理器的现在与未来
 

【作者: 楊志琛】2000年11月01日 星期三

浏览人次:【4981】

网路处理器从去年开始吸引整个网路界的目光,许多新创公司纷纷提出新颖的设计来解决网路的问题,如T.Sqware、C-Port、Sitera、Agere等,无不卯足了劲利用各种会展推销理念,介绍自己。已占先机的大厂如Intel、IBM等对推波助澜的效果更大,而老牌的网路晶片公司如MMC Networks等则不忘提醒大众他们才是此道的先驱者。


今年以来则购并的风潮也络绎不绝,各大厂竞相网罗网路处理器的公司,唯恐来不及取得技术就被时代浪潮所淘汰。 Motorola取得C-Port、Lucent取得Agere、Vitesse取得Sitera,几乎沾上边的都网罗殆尽。究竟网路处理器是什么?何时需要利用它?它对网路通讯产业有何影响?本文会尝试提供一点答案。


网路处理器的定义

何谓网路处理器?简单的说法是一个可程式化的网路晶片,用来做为网路设备的核心。讲得详细一点,网路处理器本身包含一个或多个高效能的微处理器,有些是标准的精简指令处理器(RISC),有些则专门设计处理特殊功能的处理器,主要的特点就是网路处理的功能是由程式控制,因而具有完全的弹性,可以适应市场的变化及网路功能日新月异的更新。网路处理器必然具有一些专为网路处理的特殊架构或介面,如高速互连的汇流排(Bus)及标准的网路介面等,内部各功能单位的设计也完全为高速网路交换设计。


为何网路处理器受到如此重视?这自然与近年网际网路的高速成长、应用范围急速扩张有关,但要充份了解网路处理器的意义,就要对网路交换设备的基本架构及其发展历史有完整的了解,才能明了。


网路交换设备

构成资料网路(Data Network)主体的设备,可以称为封包交换器(Packet Switch),如IP网路的路由器(Router)、区域网路的桥接器(Bridge)、属电信交换设备的X. 25交换器、Frame Relay交换器、ATM交换器等均属之。


封包为一段方便处理的资料,加上传输所需要的表头(Header),可为固定长度及不定长度。封包交换器的作用如(图一),由一个网路介面收取封包,检验其表头,根据其中的其中的资讯,如目的位址,查对内部的表格,决定封包的去向,然后由相对的网路介面送出。资料网路由众多的封包交换器互相连接构成,一个封包由其来源节点送出,由中介的封包交换器一站站转送,到目的节点为止。典型的封包交换器可以用网际网路的路由器为代表。


《图一 分组交换网络》
《图一 分组交换网络》

最初的路由器设计很简单,与个人电脑差不多,由一个微处理器连接单一汇流排,控制几个网路的实体层(Physical Layer)或资料链层(Data Link Layer)电路,如(图二)所示。事实上最早期的网际网路本来就是由一些电脑互相连结所构成,位于枢纽地位的电脑就顺便有程式模组执行封包转送的服务,后来网际网路的流量大增,改由专属的路由器负责网路封包转送,仍延用原有的架构。


《图二 分组交换器》
《图二 分组交换器》

这种架构的好处是简单,所有转送的判断及执行都由软体执行,可以巨细靡遗的实作所有应有的网路协定,一但有错可以立即更改,而新的功能可以随时增加。但一般性的微处理器系统在处理高速网路封包交换有效能上的瓶颈。例如一个慢速10Mbps的乙太网路介面每秒最多有14880个封包,即每一个封包的处理时间仅有67x10-6秒,这对一般的嵌入式处理器已是不小的负担了。更何况100Mbps、1Gbps的高速埠,而网路交换设备必须具有多量的交换埠,对效能的需求更是倍增。造成这个现象的原因是一般的微处理器系统的设计并不是为有效率的高速输出入设计,而是偏重高速运算,并不太适合直接用作高速网路交换工作。


乙太网路交换器

为解决高速交换的问题,利用特殊的硬体来辨识及处理封包,是行之有年的方法。随着特殊用途积体电路(ASIC)技术的成熟,利用ASIC设计的产品不但效能理想,成本更大大降低,使高速网路设备得以普及化,最好的例子是乙太网路交换器。早期的乙太网路桥接器都是用微处理器系统建构,1990年Kalpana公司公开硬体架构的乙太网路交换器,各厂家纷纷跟进,从此交换器成为乙太网路的主流产品。


所谓乙太网路交换器,即为硬体的桥接器。乙太网路交换器经多年的发展,不但完全取代原有的桥接器,甚至逐渐取代集线器(Hub),成为建构区域网路的基础设备。这种硬体的交换设备,以专门设计来解读及转送封包的ASIC为主角(图三),很容易就达成高速交换的效率要求,而系统中的微处理器则担任网路管理及用户介面的角色,也用来处理速度较慢的通讯协定。


《图三 以ASIC为核心的交换器》
《图三 以ASIC为核心的交换器》

路由器也有类似的发展,在广域网路以ATM技术为主,区域网路则为乙太网路,均有所谓IP交换器(IP Switch)或多层次交换器(Multilayer Switch)。由于路由动作的复杂性,硬体路由器的发展不如桥接器普遍,技术上要解决的问题也较多。


ASIC的角色扮演

以ASIC为主体的交换系统较适合的是固定的资料处理动作,这是ASIC产品的特性使然,因为ASIC的设计周期很长,一般而言需18个月,而一但完成后修改不容易。大部份的功能在设计时已固定,无法随新的需要更改。乙太网路桥接器的大部份动作早已标准化,所以容易用ASIC执行,但路由器的工作较复杂,虽然基本的路由工作是固定的,但随着网际网路的蓬勃发展,对新功能的需求日渐增加,使ASIC为主体的路由器面临的问题更多。


因应不断增加的应用层面,新的通讯协定及功能经常增加,原有标准的修订也持续在进行,路由器的设计者往往必须在新功能未定案前就加入,而日后再以升级的方式修正,这些功能如果牵涉到ASIC,就不容易修正了。另外ASIC设计需要特殊的技术,需投入大量成本,成败所负的风险极高。欲了解此问题的复杂性,试看路由器的可能的封包处理动作:


1.封包的接收与发送。


2.封包分解与重组(Segmentation and Reassembly),即ATM介面上的SAR功能。


3.通讯协定表​​头的解读与封包的分类。


4.查表与表的建立及更新。辨识栏位内容及决定处理结果需要比对相对的资料表,如位址、路径、埠(Port)等,有些表如位址表、路径表等可能成长到成千上万个列数,有效率的比对需要高度技术。


5.表头的修改,配合通讯协定的运作,封包表头在转送间需要更动,如扣除寿命值(Time-to-Live)、置换MAC位址、重算检验和(Checksum)等。


6.流量管理(Flow Management),如限定各类型资讯输入的频宽。


7.伫列管理(Queue Management),在封包拥挤时按资讯性质置入不同的伫列中,并分配一定的输出频宽给各伫列。


8.服务品质保证(Quality of Service),提供对某类型资讯的一定量的服务品质,如频宽、延迟量、遗失率等。


9.群播(Multicast),将封包送给一群对象。


10防火墙,如限制某类型资讯的出路。


11.保密,如将资料加密处理。


这份表可以一直列下去,由此可以检讨前面两种实作方式所遇到的问题。利用软体方式很快会遇到效能的问题,因为每一个封包分配到的处理时间已经极有限,但又有这么多工作要完成。利用ASIC的设计固然可以尽量将各种功能涵盖,但许多网际网路的标准还在发展,新的功能还会发明,但一个ASIC完成的时候就限定了它的功能,不可能再增加。


网路交换器之所以能异军突起,在于这类晶片一方面提供媲美ASIC的高效能资料通道与处理能力,另一方面又拥有类似一般微处理器的程式能力,不用担心所设计的功能以后无法更新,也不必为一种应用负担设计一个ASIC的成本及风险,解决了网路设备设计上的两难问题。另外市场即时性的因素也很重要,设计ASIC旷日费时,网路处理器则可以立刻派上用场,缩短产品上市的时程,而在一些经济规模不允许的状况,网路处理器可能是唯一的选择。


网路处理器架构

网路处理器的架构都有不同,大多为多处理器的设计,藉由强大的运算能力来达成所需的高效能。我们知道多处理器的设计中连结的架构至为紧要,各处理器间必须有畅通的合作模式,方能发挥效果,否则可能互相抵消。网路处理器大致上师法多处理器系统的架构,分为几个类型:


(图四)是英代尔IPX-1200的内部架构,是由一个StrongARM的主处理器与6个较小的微引擎(Microengine)构成。所有的处理器接在同一个SRAM,及输出入的IX Bus上,是一种平行处理的设计,IX Bus的效能为64bit x 66MHz,亦即约有4Gbps的频宽,每秒可以处理3百万个乙太网路封包。


《图四 Intel IXP1200》
《图四 Intel IXP1200》

(图五)是C-Port的C-5处理器,由16个通道处理器CP(Channel Processor)与几个特殊的处理器XP(Executive Processor)、FP(Fabric Processor)、TLU(Table Lookup Unit )、QMU(Queue Management Unit)、BMU(Buffer Management Unit)等构成,整体架构大致采取分工合作、各司其职的方式,必要的时候,CP可以平行连接扩充埠的频宽,或顺序连接,以装配线(Pipeline)的方式设计。


《图五 C-Port C-5网络处理器》
《图五 C-Port C-5网络处理器》

软体搭配是致胜利器

由于网路处理器内建微处理器,开发软体成为运用网路处理器的重要环节,在这个方面,各家的分歧很大,因为软体与硬体的配合是网路处理器的致胜利器,正是发挥系统特色的重要层面,自然不能期待各家在此有任何共识,倒是各家厂商也尽力制定一些共同的功能介面,称为「CPIX」。但支援软体开发的工具,还是各显神通。原则上,各家都尽量提供完整的软体开发环境,有的强调标准的C/C++语言,有些则需要微码(Microcode)的程式,或为特殊的处理器设计特殊的指令。软体开发的功夫往往是被低估的成本,网路处理器这种需要大量软体配合的系统尤其应该注意。


如此说来,网路处理器是解决所有问题的万灵丹了吗?也不尽然,它是一个很好的工具,但也有其局限性:


1.网路处理器虽然可以程式控制,但是不见得能做任何想做的事,因为它本身仍是一个特定架构的晶片,一定有其架构上的特色与限制,程式则须考虑程式码允许占用的空间大小等因素。


2.同样的网路处理器的效能也有设计的限制,尤其要求软体能在固定的短时间内完成封包处理,就必须考虑软体的执行效能,是否能达成要求,不是可以无限制地加入新的功能。


3.网路处理器的系统虽然具有升级的能力,但是将来产品可能日新月异,使升级失去价值。


4.网路处理器目前的价位都还较高,不太适合低阶的量产产品,而比较适合较少量的高功能产品。如果成本考量较大,ASIC可能是较好的选择。


结语

网路处理器的高效能及弹性为许多新类型的网路设备提供了解决方案,就路由器而言,目前太多新的网路功能及介面正在发展,网路处理器提供厂商及用户持续发展的平台,而如防火墙、负载平衡器(Load Balancer)、甚至网路语音(VoIP)、网路视讯等,更是这些新工具一展长才的机会。


至于将来网路处理器会如何发展?目前CPU的技术已由过去少数高科技厂拥有、高不可攀的秘密武器,变成普及化的智慧商品,任何ASIC设计者只要有需要,都可以用合理的代价取得高效率的精简指令处理器( RISC),嵌入所设计的特殊功能晶片中。可以说所有的硬体设计都可拥有更多的智慧及弹性,网路处理器只是其中的先驱者。未来各种网路晶片的加入比率会愈来愈高,而网路处理器可能成为常态,而不是特例了。


相关文章
Intel OpenVINO 2023.0初体验如何快速在Google Colab运行人脸侦测
您的开源软体安全吗?
零信任资安新趋势:无密码存取及安全晶片
企业创新契机 永续经营与数位转型并行
永续是企业创新契机 与数位转型共驾其驱
comments powered by Disqus
相关讨论
  相关新闻
» 美光针对用户端和资料中心等市场 推出232层QLC NAND
» 摩尔斯微电子在台湾设立新办公室 为进军亚太写下新里程碑
» 爱德万测试与东丽签订Micro LED显示屏制造战略夥伴关系
» 格斯科技携手生态系夥伴产学合作 推出油电转纯电示范车
» Arm:因应AI永无止尽的能源需求 推动AI资料中心工作负载


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK84T8QNSPASTACUKL
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw