账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
网路封包处理方案选择要领
 

【作者: Anil Telikepalli】2002年08月05日 星期一

浏览人次:【4495】

封包处理(Packet Processing)是指针对在数位通讯与网路设备上传送的资料封包进行处理。它是我们目前经常听到的网路处理的重要项目。市面上有许多种半导体元件具有处理封包的能力。封包处理不仅发生在网路的核心,亦出现在存取/端点如(图一)。网路设备的位置及服务供应商的需求,会影响需要的处理数量与种类、线路速度以及功能内容。这些因素成为判断封包处理适切与否的关键,同时也是选择半导体元件的依据。




《图一 网路资料封包传递流程》



处理封包作业


业界所认定网路处理涵盖极多的作业,其定义亦不断衍生与变更。在这种前提下,为避免在讨论时对封包处理的定义产生混淆,我们对网路处​​理暂时采用以下定义。网路处理(封包处理)包括以下五种在典型介面卡上常见的基本功能如(图二):(1)封包拆装与组装;(2)封包分类;(3)封包修改;(4)流量管理;(5)排程与策略管理。另外,安全处理控制这两项功能亦被视为网路处理的一部份。




《图二 典型介面卡上网路处理的基本功能》



设计人员通常认为封包处理(Packet Processing)的定义仅涵盖前五项功能,而所有七项功能则是网路处理(Network Processing)的定义。在本文中我们将不采取上述这种区分法,并将网路处理与封包处理等同视之,两者皆涵盖所有七项功能。但我们须将网路处理与网路处理器(Network Processors;NPs)加以区别。网路处理是指上述的功能,而网路处理器是指执行网路处理作业的半导体元件。



数据平面与控制平面处理


封包处理包括数据平面处理以及控制平面处理(Data Plane & Control Plane Processing)。数据平面处理是处理一般的数据封包,而控制平面处理则涉及例外状况处理以及常式演算、监视统计、供应策略规则以及处理各种网路管理功能。



数据平面处理有不同的模式,而半导体元件在进行这些作业时亦有不同的方法;我们将详细地加以介绍。在现今大多数的数据平面处理半导体都含有一或多组嵌入型处理器,负责控制处理与管理的作业。



像是PowerPC与MIPS处理器之类的原生型RISC架构在控制平面处理方面,其优点是能运用结合多年使用者经验所开发的先进软体工具。但这些处理器若没有多重处理器或硬体加速方案的支援,在面临许多非正常封包或复杂的管理功能时,就会很快产生过载的窘境。



封包处理的多种模式


在持续演进的网路市场中,由新技术与商业创新所构成的变化是唯一永久不变的常数。因此,争逐市场的业者须迅速因应变化的脚步,维持低成本以维持高获利水准。业者欲达到这项目标,必须从固定式解决方案转为改用可编程解决方案,支援网路设备所需的封包处理作业如(图三) 所示,封包处理有多种模式,依半导体使用情形而言,这些模式大致可区分为固定功能型解决方案以及可编程解决方案。



《图三 网路设备封包处理作业》


固定与可编程装置在封包处理上的优点与处理应用程式时的优点是相同的。 (图四)显示每种固定功能/可编程元件在效能/产品上市时效方面的各种优点。所有市面上的可编程方案中,可分为两种主要类型-网路处理器(Network Processors)与FPGA。 NP与FPGA都具备可编程的特性。 NP提供以软体为中心的编程能力,而FPGA则提供以硬体为中心的编程能力。



《图四 封包处理装置上市时程/效能比》


除了以上三种主要分类外,还有三种特殊记忆体(SDRAM、SRAM、CAM以及最新的FCRAM)与ASSPs(Application Specific Standard Products;特殊应用标准产品)被用来支援各种装置。市场上亦出现多种立即可用的ASSP,提供各种协同处理功能协助提升效能并解决封包处理的效率瓶颈。网路处理ASSP市场中有许多属于上述三种模式的装置,分别提供不同的效能组合。当系统中增加协同处理器的数量以及支援元件时,应用的弹性就成为重要的考量因素。然而,若要尽快将产品推入市场,就无法避免须使用协同处理器。关键在于如何在不牺牲上市时效的条件下,尽可能减少协同处理器的数量并延长产品在市场上的存活时间。



ASIC


ASICs能为所有固定的功能提供充裕的效能,但须牺牲部份的弹性与扩充性。它们有较高的非重置成本(NRE)以及较长的设计周期,导致上市速度较缓慢并影响产品的获利能力。然而,ASIC在量产型产品方面拥有成本效益,若产品不会受市场变化的影响,则ASIC是相当理想的选择方案。不幸的是,市场上唯一不变的就是变化。在控制平面处理上,ASIC闸路在处理封包例外状况(极少发生的状况)时须付出相当昂贵的成本。ASIC已逐渐被全面取代,网路业界正改用各种可编程方案。



RISC(网路处理器)


在这类模式中,RISC处理器架构负责封包处理的工作。支援这种模式的装置称为网路处理器,其功能可透过软体进行编程。网路处理器可发展成各种立即可用的装置,应用在网路设备时可提供充裕的弹性、扩充性以及效能。许多不同规模的半导体厂商皆已抢攻这块市场,推出各种支援全线速(wire speed)的最佳化嵌入RISC CPU,如(图五)所示,达到可编程以及类似ASIC的固定型电路,提供各项常见的封包处理功能。最理想的模式是以固定式电路处理常见的Layer 2/Layer 3功能,而由RISC引擎负责主要的处理作业。




《图五 RISC网路处理器架构》



内建于网路处理器中的多组处理器引擎会根据厂商的需求建置成不同的架构,以降低关键通道的延迟。这些配置如(图六)所示。




  • 管线化(Pipelined):多组最佳化的处理器以序列模式配置,各自负责处理一组子作业。



  • 超纯量(Superscalar):多组最佳化的处理器以平行模式配置,各自处理一组完整的作业。



  • 混合式(Hybrid):有一种称为Hybrid的架构模式,结合管线化以及超纯量架构。






《图六 三种网路处理器配置模式》



在这些组态中,每组RISC引擎皆经最佳化调校,能负责一组特定的封包处理功能。然而,这些最佳化的结果仅支援特定的RISC引擎,不能再以高阶语言进行编程,迫使使用者必须采用微程式码/组译语言。这种模式不仅费时,且与弹性以及上市时效的目标背道而驰,因此业者开始采用网路处理器。网路处理器厂商了解这方面的缺点,并提供多功能的现成软体,所以能根据最终使用者对每套方案的需求调整产品的设计,以提高网路处理器的可用性。



FPGAs


FPGAs一般说来适合支援高速平行资料处理,且具备充裕的弹性与扩充性。 FPGA也能扩充许多网路设备的功能,因此逐渐受到市场的采纳。 FPGA的各种基本功能已能满足网路系统的各项基本需求,因此已成为网路处理器的主要竞争对手。这使得它们成为WAN/MAN/LAN网路中客制化网路处理的理想方案,并让使用者能自行在弹性与效能之间做取舍。 OEM厂商在桥接三种不同的Layer 2/Layer 3资料流以及建置像是安全防护等高速功能时,FPGA是较理想的选择方案。然而,FPGA不像网路处理器一样,本身并没有内建的网路处理功能,必须由使用者以硬体描述语言(HDL)、IP核心以及C语言进行硬体编程,建置各项资料通道以及控制通道的功能。



正确元件的选择


该如何为系统选择正确的元件?必须先找出系统的各项需求,并排定这些需要的优先次序。以下将介绍应考量的九大因素:



选择正确的解决方案


1.选择任何封包处理解决方案时,应考量多项因素方能选出正确的解决方案。有些因素对特定的应用有关,而有些因素则适用于所有的状况。



2.网路位置(Network Location)


封包处理设备在网路中的设置位置不同,所面对的处理与线路速度也有所差异。核心设备介面卡须支援极高的线路速度(40 Gbps,有时为10 Gbps),故须在极有限的时间内进行处理与传输。相对地,端点设备的线路速度就较低(约1Gbps),通常须运用具备密集处理能力的元件进行内容感知与深层封包的处理作业。此外,端点设备通常需要支援TCP/IP终端处理(termination)的作业。一般而言,设备愈接近消费者,就愈需要密集的处理功能。



包括网路处理器与FPGA在内的可编程解决方案是核心以及端点设备的理想解决方案。它们应用在网路核心时能串连各种处理器并提供所需的效能。 FPGA运用本身的多重通讯协定能力以及感测封包内容的处理机制,支援端点设备与储存网路之间的互动。



3.产品上市时程与生命周期(Time-to-Market;Time-in-Market)


在众多厂商抢攻市场下,率先进入市场的产品能争取较多的利润。 (图七)显示产品上市时程以及获利之间的关系。但业者在抢先上市时,不应让弹性作为阻碍-若为了追求弹性而导致设计时间延长以及降低效能,如此就失去提高上市速度的意义。




《图七 产品上市时程与获利关系》



产品生命周期(time-in-market)是另一项重要因素。可编程解决方案的扩充性能在日后将产品功能进行升级,延长产品在市场上的存活时间。这让厂商的产品能长时间在市场上争取利润,甚至透过为顾客提供新的服务以创造新的获利机制。 FPGA与网路处理器虽都能提供相似的弹性,但FPGA能在不牺牲效能下提供充裕的扩充性。这是因为FPGA具备以硬体为中心的编程能力。



4.深层封包处理(Deep Packet Processing)


虽然Layer 2与Layer 3的处理可轻易透过ASIC完成,但在Layer 4或Layer 5所进行的深层封包处理作业就须针对类似的流量种类进一步分辨出不同的优先等级。例如,若使用者根据资料流的种类提供不同的服务等级,更深层的封包处理就成为关键的功能。服务供应商不仅须排定各种影片与资料封包的优先传输顺序,亦须决定两组影片封包流的优先次序-一组来自支付较低费率的"A"公司,另一组来自支付较高费率的"B"公司。



可编程解决方案可深入检查每个封包。 ASIC由于无法处理其它持续变化的参数,因此无法进行更深层的封包处理作业。例如,若须处理新型的资料流,ASIC就无法进行调整支援这方案的需要。在网路处理器与FPGA之间,网路处理器能以低廉的成本处理偶发性的深层处理作业,而FPGA较适合用来以高效能模式进行较上层的层深封包处理作业。此外,系统需要多组网路处理器方能执行深层封包处理,但却可用单一FPGA完成相同的工作。网路处理器在处理特殊封包时可进行深层解析,这方面的流程需要密集的处理器运算。例外封包处理的速度仅能运用多组网路处理器方能改进。这是由于网路处理器采用RISC型处理元件,而FPGA则以硬体为处理元件。运用多组网路处理器亦会形成硬体与软体分隔的技术挑战、提高软体的复杂度、系统延迟以及较高耗电率等缺点。



5.介面标准(Interface Standards)


网路产业几乎每天都有新的通讯协定与介面标准问市。回顾最近五年,我们已从历经共用式汇流排介面、来源同步式平行介面,一直演进到时脉-资料回复型序列介面,有效改进频宽与效能。此外,电子与光学系统介面与通讯协定亦持续演进。事实上,每隔几个月就会有一套新标准问市。这些变化大幅影响设备的生命周期。



ASIC解决方案则无法因应介面与通讯协定的变化。虽然网路处理器能应付小幅度的通讯协定变动,却无法配合持续变迁的介面标准。 Platform FPGA则能支援极多的平行与序列标准,例如像RapidIO、HyperTransport、XSBI、SFI-4、SPI-4、XAUI、Serial RapidIO、以及Infiniband 等。这种弹性让系统厂商能将现有的标准与未来的标准相互串连,提供更长的产品寿命以及扩充性。



6.软体(Software)


在数据平面与控制平面处理上,软体是网路设备的整合元件。专为网路设备设计的ASIC通常内含嵌入型PowerPC或MIPS处理器。使用任何以处理器为中心的设计,其主要优点就是软体的弹性。控制平面软体对许多代工厂商而言是一项主要的加值功能,协助厂商突显自己的竞争特色。因此,能重覆使用的程式码就成为及时上市以及支援旧有产品的必要条件。 C语言程式码可快速撰写并轻易地扩充/移植至新的处理器。DSP(数位讯号处理)设计师与工程师相当了解这项观念,在考量程式码重覆使用的能力时,运用DSP处理器比效能更为重要。



不幸地是,网路处理器不具备程式码重覆使用的能力,针对网路处理器研发的软体大多数不具备可移植性,通常都采用专利型的组合语言或移植性不高的精简型C语言。组合语言的程式码亦属于以处理器为中心的模式,须耗费更长的研发时间,让代工厂商不仅须承担更高​​的风险,且受到特定的网路处理器厂商的束缚。



事实上,专为特定一家厂商的网路处理器所研发的程式码,甚至可能无法移植至该厂商未来推出的新款网路处理器。网路处理器产业已深切体会这项问题,并积极进行标准化工作,以追回设计业者的信赖。另一方面,FPGA虽能提供软体的扩充性,但亦须面对HDL或C语言在资料面处理以及在控制面处理所产生的技术挑战。采用专利型组合语言程式码提供这方面的功能,不仅风险极高,且困难度比采用业界标准的HDL与C语言还更高。



7.功耗(Power Consumption)


设备在网路中配置的位置会决定功耗的重要程度。线路介面卡上的元件数量逐渐增多,其中包括网路处理器、FPGA、协同处理器ASSPs以及高速记忆体等,这些元件所累积的耗电率亦持续增加。这点对系统扩充性与效能有相当不利的影响。 ASIC可针对特定的环境提供最佳化的功耗,没有任何可编程解决方案能与之匹敌。然而,考量ASIC有其它方面的限制,我们仍须寻找一种较为可行的可编程方案。网路处理器所组成的系统需要多组协同处理器ASSP以及超高速记忆体,支援以处理器为中心的模式,如此却会提高装置的耗电量。 FPGA型解决方案使用最少的协同处理器以及最低功率的SDRAM记忆体,可满足大多数系统的效能需求,同时维持较低的系统耗电量。



8.资料安全(Data Security)


加密是安全资料网路的关键功能,在现今强调安全的环境中更显重要。 IPSec是虚拟封包网路(VPN)所采用的网路安全技术,需要控制面与资料面的支援。控制通道与金钥交换可建置在像是PowerPC处理器等RISC引擎中的软体内部。资料通道需要的Gbps级全线速的AES 与Triple-DES 加密/解码机制可透过软体来达成。



虽然资料防护功能可建置在ASIC中,但重点在于如何跟上持续演进的金钥机制以及新的演算法。网路处理器能支援安全功能但处理速度极为缓慢。由于网路处理器无法支援高效能的网路安全功能,市面上出现许多安全协同处理器(ASSP),仅增加元件数量,却无法达到要求的效能或弹性。



9.防范恐怖份子与骇客(Protection from Terrorists & Hackers)


ASIC解决方案具备相当高的防护能力,而可编程解决方案就较容易受到骇客的攻击。若恐怖份子与骇客能以软体设定所有网路处理器的功能,其后果将难以估计。像是Virtex-II Pro元件这类的Platform FPGA提供内建的triple-DES防护机制,能保护编程后的传输资料。这项技术让可编程FPGA免于遭到各种破坏性的攻击。



结论


整体来说,网路封包处理三大解决方案的特色如下:ASIC模式具有固定的功能、高效能以及高成本。 RISC模式为立即可用的可编程元件,搭载性能最佳化的处理器引擎,提供充裕的弹性与效能。以软体为中心的使用者编程弹性。网路处理器就属于这种模式。 FPGA模式亦为立即可用的可编程元件,搭载高度平行化的逻辑结构,提供由使用者自行搭配的效能与弹性。它亦提供程式码安全机制,防范骇客的攻击。在选择合适的封包处理方案时,必须同时考量上述的议题以及系统的特殊需求。正确的装置组合才能满足设备与最终顾客的需求。 (作者为Xilinx Virtex解决方案部门行销经理)



相关文章
借助自行调适加速平台 机器人快速适应环境变化
借助自行调适系统模组 加速边缘创新
借助Zynq RFSoC DFE因应5G大规模部署挑战
半导体创新成果转化 AI运算世界加速来临
CXL、CCIX和SmartNIC助力 PCIe 5加速飞奔
comments powered by Disqus
相关讨论
  相关新闻
» TI创新车用解决方案 加速实现智慧行车的安全未来
» AMD扩展商用AI PC产品阵容 为专业行动与桌上型系统??注效能
» 豪威集团汽车影像感测器相容於高通Snapdragon Digital Chassis
» 意法半导体扩大3D深度感测布局 打造新一代时间飞行感测器
» AMD第2代Versal系列扩展自调适SoC组合 为AI驱动型系统提供端对端加速


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

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