网络处理器 |
|||||||
申请号 | CN201280001644.1 | 申请日 | 2012-09-03 | 公开(公告)号 | CN103098446A | 公开(公告)日 | 2013-05-08 |
申请人 | 雷凌科技股份有限公司; | 发明人 | 范国彦; 吕国正; | ||||
摘要 | 本 发明 提供一种用于宽带网关的网络处理器。该网络处理器包含有主处理器;多个网络 接口 ,分别对应于多个网络技术;以及网络地址转换引擎,用来 加速 从第一网络接口至第二网络接口的包处理。 | ||||||
权利要求 | 1.一种用于宽带网关的网络处理器,其特征在于,包含有: |
||||||
说明书全文 | 网络处理器[0001] 交叉引用 [0002] 本申请享有2011 年09月02日提出的申 请号为61/530,408,标题 为“Networkprocessor with packet accelerator”的美国临时申请及2012年6月21日提出的申请号为13/528,844的美国申请的优先权,上述申请的全文作为本申请的引用基础。 技术领域[0003] 本发明是有关于一种用于宽带互联网装置的网络处理器,特别是有关于一种具有网络地址转换(Network Address Translation,NAT)引擎(即包加速器)的网络处理器,可于不同网络技术之间加速包处理,以减少耗电并保留运算资源以用于其它网络应用程序。 背景技术[0004] 随着互联网的快速发展,许多网络应用程序随之而出现。因此,宽带网关必须进行不同网络技术的多种包处理,如以太网、各种数字用户线路(DigitalSubscriber Line,xDSL)、异步传输模式(Asynchronous Transfer Mode,ATM)、无线局域网(Wireless Local AreaNetwork,WLAN)、3G/3.5G移动通信网络(3G/3.5G),以及各种应用程序协议,如互联网协议电话(Voice over InternetProtocol,VoIP)、数字生活网络联盟(Digital Living Network Alliance,DLNA)、开放服务网关技术(Open Service Gateway Initiative,OSGi)等。 [0005] 在此情况下,宽带网关中的网络处理器必须针对这些需求提升效能。一种提升网络处理器效能的直观的方式是提高中央处理器(Central ProcessingUnit,CPU)的操作频率,然而此方式将造成耗电大幅增加。 [0006] 此外,尽管使用规格较好的中央处理器,由于上述包处理及应用程序造成更多运算资源的需求,改善比率依然无法令人满意。再者,现有的包卸载(offload)引擎仅考虑单一网络接口而无法考虑各种不同的网络接口。因此,现有的技术实有改善的必要。 发明内容[0007] 有鉴于此,本发明提出一种具有网络地址转换引擎的网络处理器,可加速不同网络技术之间的包处理,以减少耗电并保留运算资源以用于其它网络应用程序。 [0008] 依据本发明一实施方式,提供一种用于宽带网关的网络处理器。该网络处理器包含有主处理器;多个网络接口,分别对应于多个网络技术;以及网络地址转换引擎,用来加速从第一网络接口至第二网络接口的包处理。 附图说明[0010] 图1为本发明的实施方式的网络处理器的示意图。 [0011] 图2为本发明实施方式图1所示的网络地址转换引擎关闭时,数据路径的示意图。 [0012] 图3为本发明实施方式图1所示的网络地址转换引擎加速从通过以太网接口的局域网领域至通过以太网接口的另一个局域网领域的包处理时,数据路径的示意图。 [0013] 图4为本发明实施方式图1所示的网络地址转换引擎加速从通过异步传输模式分割与重组接口的宽带互联网至通过以太网接口的局域网领域的包处理时,数据路径的示意图。 [0014] 图5为本发明实施方式图1所示的网络地址转换引擎加速从通过以太网接口的局域网领域至通过异步传输模式分割与重组接口的宽带互联网的包处理时,数据路径的示意图。 [0015] 图6~图7为本发明实施方式图1所示的网络地址转换引擎加速分别从通过以太网接口的局域网领域至通过通用串行总线主机接口的3G/3.5G移动通信网络,以及从通过通用串行总线主机接口的3G/3.5G移动通信网络至通过以太网接口的局域网领域的包处理时,数据路径的示意图。 [0016] 图8为本发明实施方式图1所示的网络地址转换引擎加速从通过异步传输模式分割与重组接口的宽带互联网至通过PCIe接口的无线局域网的包处理时,数据路径的示意图。 [0017] 图9为本发明实施方式图1所示的网络地址转换引擎加速从通过PCIe接口的无线局域网至通过异步传输模式分割与重组接口的宽带互联网的包处理时,数据路径的示意图。 [0018] 图10为本发明实施方式图1所示的网络地址转换引擎加速从通过以太网接口的局域网领域至通过以太网接口的另一个局域网领域的包处理时,数据路径以及密码引擎进行加密处理的示意图。 具体实施方式[0019] 请参考图1,图1为本发明的实施方式的网络处理器10的示意图。网络处理器10包含有主处理器102、低延迟直接存储器存取(Direct MemoryAccess,DMA)总线及仲裁器104、多个网络接口106~112、网络地址转换(Network Address Translation,NAT)引擎114、密码引擎116、交换结构(switchfabric)118、脉冲编码调制(Pulse-code Modulation,PCM)控制器120及系统外围设备,其中,脉冲编码调制控制器120用于软件式互联网协议电话(soft-VoIP)应用程序,系统外围设备可以是本领域技术人员所熟悉的动态随机存储器(Dynamic Random Access Memory,DRAM)控制器、快闪控制器(flash controller)、中断控制器、通用异步收发器(Universal AsynchronousReceiver/Transmitter,UART)、通用输入/输出单元(General PurposeInput/Output,GPIO)及计时器等装置。 [0020] 网络接口106~112对应于不同网络技术,如用于一般局域网(LAN)的以太网接口106(即802.3x媒体访问控制(Media Access Control,MAC))、用于宽带互联网的异步传输模式(Asynchronous Transfer Mode,ATM)分割与重组(Segmentation and Reassembly,SAR)接口108、用于3G/3.5G移动通信网络的通用串行总线(Universal Serial Bus,USB)主机接口110及用于无线局域网(Wireless Local Area Network,WLAN)的PCIe(PeripheralComponent Interconnect Express)接口112。网络地址转换引擎114加速网络接口106~112中从网络接口至另一网络接口的包处理。在此情况下,网络地址转换引擎114以硬件方式卸载主处理器102的包处理,而不是通过主处理器102的操作系统以软件方式进行所有包处理,因此主处理器102不需进行许多包处理。如此一来,本发明可减少主处理器102的耗电,并保留主处理器102的运算资源以用于其它网络应用程序,如软件式互联网协议电话、数字生活网络联盟及开放服务网关技术,进而达成低成本及低电源的解决方案且维持现有网络应用程序的效能。 [0021] 详细来说,请参考图2,图2为本发明实施方式图1所示的网络地址转换引擎114关闭时,数据路径P1的示意图。如图1所示,当网络地址转换引擎114被关闭时,网络处理器10的操作与现有的网络处理器的操作相似,即中央处理器进行所有包处理。因此,如数据路径P1所示,若包从通过以太网接口106的局域网领域传送至通过以太网接口106的另一局域网领域,在以太网接口106接收到该包之后,交换结构118通过低延迟直接存储器存取总线及仲裁器104(即系统总线)转发该包至主处理器102。接着,主处理器102的操作系统以软件方式进行所有包处理(如缓冲管理、分类、修改、寻找出口端口、转发、服务质量、统计及操作系统相关的额外工作等)。如此一来,由于近来网络应用程序及网络带宽快速成长,主处理器102需要大量耗电及运算资源以用于包处理。 [0022] 在第一实施方式中,请参考图3,图3为本发明实施方式图1所示的网络地址转换引擎114加速从通过以太网接口106的局域网领域至通过以太网接口106的另一局域网领域的包处理时,数据路径P2的示意图。如数据路径P2所示,若包从通过以太网接口106的局域网领域传送至通过以太网接口106的另一局域网领域,在以太网接口106接收到该包之后,交换结构118转发该包至网络地址转换引擎114而不是主处理器102。接着,网络地址转换引擎114以硬件方式对该包进行所有包处理(如缓冲管理、分类、修改、寻找出口端口、转发、服务质量、统计及操作系统相关的额外工作等)。如此一来,网络地址转换引擎114可卸载主处理器102所有包处理,进而减少耗电并保留运算资源。 [0023] 在第二实施方式中,请参考图4,图4为本发明实施方式图1所示的网络地址转换引擎114加速从通过异步传输模式分割与重组接口108的宽带互联网至通过以太网接口106的局域网领域的包处理时,数据路径P3的示意图。如数据路径P3所示,若包从通过异步传输模式分割与重组接口108的宽带互联网传送至通过以太网接口106的局域网领域,于异步传输模式分割与重组接口108接收到该包后,交换结构118转发该包至网络地址转换引擎114而不是主处理器102。接着,网络地址转换引擎114以硬件方式对该包进行所有包处理(如缓冲管理、分类、修改、寻找出口端口、转发、服务质量、统计及操作系统相关的额外工作等)。如此一来,网络地址转换引擎114可卸载主处理器102所有包处理,进而减少耗电并保留运算资源。 [0024] 在第三实施方式中,请参考图5,图5为本发明实施方式图1所示的网络地址转换引擎114加速从通过以太网接口106的局域网领域至通过异步传输模式分割与重组接口108的宽带互联网的包处理时,数据路径P4的示意图。如数据路径P4所示,若包从通过以太网接口106的局域网领域传送至通过异步传输模式分割与重组接口108的宽带互联网,在异步传输模式分割与重组接口108接收到该包之后,交换结构118先转发该包至网络地址转换引擎114。接着,网络地址转换引擎114以硬件方式进行大部分包处理(如分类、修改、寻找出口端口、服务质量统计),而主处理器102通过驱动程序以软件方式进行其余包处理(如转发及缓冲管理)。换句话说,由于网络上传的访问远低于下传,且对应于异步传输模式分割与重组接口108的订阅数据速率远低于局域网的订阅数据速率,在交换结构118中的片上存储器不足以缓冲从局域网传入的峰值传入包(the peak ingress packets),因此交换结构118将该包路由至低延迟直接存储器存取总线及仲裁器104以存储于系统动态随机存储器中,以避免包漏失,并通知主处理器102的驱动程序转发该包至异步传输模式分割与重组接口108。如此一来,网络地址转换引擎114卸载主处理器102的部分包处理,因此主处理器102的驱动程序仅需极小耗电,进而减少耗电并保留运算资源(当包传入速率不匹配时,传输控制协议(TCP)具有流量控制机制以降低包传入速率,使得主处理器102不需要处理过多包)。 [0025] 在第四及第五实施方式中,请参考图6~图7,图6~图7为本发明实施方式图1所示的网络地址转换引擎114加速分别从通过以太网接口106的局域网领域至通过通用串行总线主机接口110的3G/3.5G移动通信网络,以及从通过通用串行总线主机接口110的3G/3.5G移动通信网络至通过以太网接口106的局域网领域的包处理时,数据路径P5~P6的示意图。如数据路径P5所示,若包从通过以太网接口106的局域网领域传送至通过通用串行总线主机接口110的3G/3.5G移动通信网络,在以太网接口106接收到该包之后,交换结构118先转发该包至网络地址转换引擎114。接着,网络地址转换引擎114以硬件方式进行大部分包处理(如分类、修改、寻找出口端口及服务质量统计),而主处理器102通过驱动程序以软件方式进行其余包处理(如转发及缓冲管理)。换句话说,由于3G/3.5G移动通信网络通过通用串行总线主机通过通用串行总线主机接口110连接至网络处理器10,在转发该包至通用串行总线主机接口110之前,主处理器102必须将该包由互联网访问数据转换为通用串行总线包,例如转换该包的报头以符合远端网络驱动程序接口规格(RNDIS),使得通用串行总线主机接口110可辨识该包,而该包的数据实质上仍可于类以太网传送。相似地,如数据路径P6所示,若包从通过通用串行总线主机接口110的3G/3.5G移动通信网络传送至通过以太网接口106的局域网领域,于转发该包至网络地址转换引擎114以进行包处理之前,主处理器102必须将该包由通用串行总线包转换为互联网访问数据。如此一来,网络地址转换引擎114卸载主处理器102的部分包处理,因此主处理器102的驱动程序仅需极小耗电,进而减少耗电并保留运算资源。 [0026] 在第六实施方式中,请参考图8,图8为本发明实施方式图1所示的网络地址转换引擎114加速从通过该异步传输模式分割与重组接口108的宽带互联网至通过PCIe接口112的无线局域网的包处理时,数据路径P7的示意图。如数据路径P7所示,若包从通过异步传输模式分割与重组接口108的宽带互联网传送至通过PCIe接口112的无线局域网,与图6所示的数据路径P5相似,网络地址转换引擎114以硬件方式进行大部分包处理(如分类、修改、寻找出口端口及服务质量统计),而主处理器102通过驱动程序以软件方式进行其余包处理(如转发及缓冲管理)。换句话说,由于无线局域网通过无线局域网卡通过PCIe接口112连接至网络处理器10,在转发该包至PCIe接口112之前,主处理器102需要将该包由互联网访问数据转换为PCIe包。如此一来,网络地址转换引擎114卸载主处理器102的部分包处理,因此主处理器102的驱动程序仅需极小耗电,进而减少耗电并保留运算资源。 [0027] 在第七实施方式中,请参考图9,图9为本发明实施方式图1所示的网络地址转换引擎114加速从通过PCIe接口112的无线局域网至通过异步传输模式分割与重组接口108的宽带互联网的包处理时,数据路径P8的示意图。如数据路径P8所示,若包从通过异步传输模式分割与重组接口108的宽带互联网传送至通过PCIe接口112的无线局域网,与图5所示的数据路径P4及图7所示的数据路径P6的结合相似,网络地址转换引擎114以硬件方式进行大部分包处理(如分类、修改、寻找出口端口及服务质量统计),而主处理器102通过驱动程序以软件方式进行其余包处理(如转发及缓冲管理)。换句话说,在转发该包至网络地址转换引擎114以进行包处理之前,主处理器102必须将该包由PCIe包转换至互联网访问数据。在网络地址转换引擎114进行大部分包处理之后,由于网络上传的访问远低于下传,且对应于异步传输模式分割与重组接口108的订阅数据速率远低于无线局域网的订阅数据速率,在交换结构118中的片上存储器不足以缓冲从无线局域网传入的峰值传入包,因此交换结构118将该包路由至低延迟直接存储器存取总线及仲裁器104以存储于系统动态随机存储器中,并通知主处理器102的驱动程序转发该包至异步传输模式分割与重组接口108。如此一来,网络地址转换引擎114卸载主处理器102的部分包处理,因此主处理器102的驱动程序仅需极小耗电,进而减少耗电并保留运算资源。 [0028] 在第八实施方式中,请参考图10,图10为本发明实施方式图1所示的网络地址转换引擎114加速从通过以太网接口106的局域网领域至通过以太网接口106的另一局域网领域的包处理时,数据路径P9以及密码引擎116进行加密处理的示意图。如数据路径P9所示,若包从通过以太网接口106的局域网领域传送至通过以太网接口106的另一局域网领域,在以太网接口106接收到该包之后,与图3所示的数据路径P2相似,网络地址转换引擎114以硬件方式对该包进行所有包处理(如缓冲管理、分类、修改、寻找出口端口、转发、服务质量、统计及操作系统相关的额外工作等)。接着,交换结构118以硬件方式转发处理过后的包至密码引擎116以进行加密处理,此密码引擎116与现有的通过低延迟直接存储器存取总线耦接至主处理器且由主处理器所控制的密码引擎不同。如此一来,密码引擎116卸载主处理器102的加密处理,进而减少耗电并保留运算资源。 [0029] 值得注意的是,本发明的主要精神在于当包从网络接口传送至另一网络接口时,以硬件方式卸载主处理器102的包处理,进而减少耗电并保留运算资源以用于其它网络应用程序。本领域技术人员可以进行修饰或变化,而不限于此。举例来说,在上述实施方式中,3G/3.5G移动通信网络通过通用串行总线主机通过通用串行总线主机接口110连接,且无线局域网通过无线局域网卡通过PCIe接口112连接,相较于在网络处理器10中内嵌这些模块,此方式更能节省成本,但网络处理器10亦可通过其它方式连接3G/3.5G移动通信网络及无线局域网。此外,由于交换结构118进行第二层包处理,若包在同一个局域网领域中传送(不通过路由器),网络处理器10可仅使用交换结构118来转发该包。再者,上述实施方式仅举例说明了数种从网络接口传送包至另一个网络接口的情况。在其它实施方式中,只要主处理器102的包处理/加密处理可被卸载且包处理可正确地进行,本领域技术人员可进行其它修饰或变化。举例来说,若输出接口为异步传输模式分割与重组接口108,在包输出之前,包可存储于系统动态随机存储器,以避免包漏失。 [0030] 在现有的技术中,网络处理器通过提高中央处理器的操作频率来提升性能并因此增加耗电,或是升级中央处理器的规格并因此增加成本。相较之下,当包从网络接口传送至另一网络接口时,本发明以硬件方式卸载主处理器的包处理,进而减少耗电并保留运算资源以用于其它网络应用程序。 |