CN101494605A - 一种基于以太网驱动的数据转发方法和装置 - Google Patents
一种基于以太网驱动的数据转发方法和装置 Download PDFInfo
- Publication number
- CN101494605A CN101494605A CNA2009100792546A CN200910079254A CN101494605A CN 101494605 A CN101494605 A CN 101494605A CN A2009100792546 A CNA2009100792546 A CN A2009100792546A CN 200910079254 A CN200910079254 A CN 200910079254A CN 101494605 A CN101494605 A CN 101494605A
- Authority
- CN
- China
- Prior art keywords
- packet
- current data
- php
- message
- forwarding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于以太网驱动的数据转发方法,该方法包括:包头处理器(PHP)确认当前数据包需进行快速转发时,查找到当前数据包在快速转发表中匹配的快速转发入口;驱动接收端在当前数据包为传输控制协议(TCP)控制报文之外的TCP报文,或者当前数据包为没有超时的用户数据报协议(UDP)报文时,将当前数据包通过快速转发入口发送到驱动发送端;驱动发送端转发数据包。本发明还公开了一种基于以太网驱动的数据转发装置,基于本发明的方法和装置,可以节约数据报文在LINUX协议栈中的处理时间。
Description
技术领域
本发明涉及数据传输技术,特别是指一种基于以太网驱动的数据转发方法和装置。
背景技术
随着网络技术的飞速发展,网络中语音电话数据、实时视频数据、因特网浏览数据等各种业务类型的数据量急剧增加;同时,普通家庭用户对网络传输质量和网络带宽的要求也越来越高。显然,基于以太网路由器的数据传输势必将会成为今后发展的一个重要方向。
目前,基于LINUX的以太网上行路由器与基于非对称数字用户线路(ADSL,Asymmetric Digital Subscriber Line)的上行路由器相比,虽然其性能有了较大的提高,但其在网络报文的转发方面仍然存在着瓶颈,所谓瓶颈集中体现在基于LINUX的以太网路由器网络驱动的收包处理上。从LINUX系统的网络驱动层来看,以太网上行路由器对接收到的每一帧网络报文的处理流程为:介质访问控制层(MAC,Media Access Control)收到一帧->引发硬件中断->中央处理单元(CPU,Central Process Unit)调用相应的中断处理函数进行硬件中断的处理->CPU调用网络接口接收函数:netif_rx函数,将此网络报文发送到LINUX协议栈->标记软中断->中断完成。
可以看出,上述处理过程中每一帧网络报文都需向LINUX协议栈发送一遍,但是在实际应用中,某些报文是不需要进入LINUX协议栈中处理的。这样,将每一帧网络报文都发送给LINUX协议栈处理,会增加网络报文在LINUX协议栈中的处理时间,使网络报文的传输效率和速率受到了很大程度的限制,从而限制了网络的吞吐量。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于以太网驱动的数据转发方法和装置,可以减少数据报文在LINUX协议栈中的处理时间,提高数据的传输速度和效率。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种基于以太网驱动的数据转发方法,该方法包括:
包头处理器PHP确认当前数据包需进行快速转发时,查找到当前数据包在快速转发表中匹配的快速转发入口;
驱动接收端在当前数据包为传输控制协议TCP控制报文之外的TCP报文,或者当前数据包为没有超时的用户数据报协议UDP报文时,将当前数据包通过所述快速转发入口发送到驱动发送端;
驱动发送端转发所述数据包。
其中,在确认当前数据包需进行快速转发之前,该方法还包括:
依据报文类型,将数据包按照预设的优先级置入PHP中,并将所述数据包包头的描述符存储在PHP的分组包头结构描述符中;驱动接收端依据所述优先级将包头描述符从PHP中取出,并存储。
在所述分组包头结构描述符中设置状态位,则所述确认当前数据包需进行快速转发为:
依据当前数据包包头描述符对应的分组包头结构描述符中的状态位,如果所述状态位置位,则确认当前数据包需进行快速转发;否则,将当前数据包发送给LINUX协议栈。
所述查找数据包在快速转发表中匹配的快速转发入口为:
依据当前数据包的包头描述符对应的分组包头结构描述符,计算该数据包的PHP哈希HASH值,并依据所述PHP HASH值在所述快速转发表中查找匹配的快速转发入口。
该方法还包括:
当数据包第一次经过LINUX协议栈时,通过LINUX协议栈学习该数据包的路由信息,并得到该数据包在驱动接收端的目的端口;计算该数据包的PHP
HASH值,将所述目的端口作为快速转发入口与该所述PHP HASH值进行匹配,存入快速转发表中,并为其设置老化时间;在所述老化时间到时后,将所述快速转发入口删除。
该方法还包括:
在快速转发表中没有查找到与当前数据包匹配的快速转发入口时,将该数据包发送给LINUX协议栈。
该方法还包括:
当前数据包报文为TCP控制报文,或者为超时的UDP报文时,将该数据包发送给LINUX协议栈。
所述驱动发送端转发当前数据包为:
所述驱动发送端将所述数据包的包头描述符添加到硬件发送队列中,通过所述硬件发送队列将数据包转发出去。
本发明还提供了一种基于以太网驱动的数据转发装置,该装置包括:PHP、驱动接收端和驱动发送端,其中,
所述PHP,用于在确认当前数据包需进行快速转发时,查找到当前数据包在快速转发表中匹配的快速转发入口;还用于判断当前数据包是否为TCP控制报文之外的TCP报文,或者是否为没有超时的UDP报文;
所述驱动接收端,用于存储需转发的数据包,并将确认为除TCP控制报文外的TCP报文,或者为没有超时的UDP报文,通过快速转发入口发送给驱动发送端;
所述驱动发送端,用于接收所述驱动接收端发送的报文数据包,并将所述数据包转发出去。
其中,所述PHP,还用于将数据包的包头描述符存储在PHP的分组包头结构描述符中;
所述驱动接收端,还用于在PHP确认当前数据包不需进行快速转发时;或者PHP在快速转发表中没有查找到与当前数据包匹配的快速转发入口时;或者PHP确认当前数据包为TCP控制报文,或为超时的UDP报文时,将数据包发送给LINUX协议栈。
本发明基于以太网驱动的数据转发方法,在现有基于以太网驱动的路由器中结合使用了包头处理器(PHP,Packet Header Processor),并在路由器对数据进行处理时,通过PHP来协助CPU对当前需要处理的数据进行转发条件的判断,将一些不需要经过LINUX协议栈处理的数据报文直接转发出去,从而减少了报文在LINUX协议栈处理的时间;同时,由于PHP的使用,分担了CPU的工作负担,提高了系统的工作效率,从而提高了数据在以太网路由器中的处理速度,提高了传输的速度和效率、以及网络吞吐量。
附图说明
图1为本发明数据转发方法中驱动接收端对网络报文的处理流程示意图;
图2为本发明数据转发方法中驱动发送端对网络报文的处理流程示意图;
图3为本发明数据转发装置的组成结构关系示意图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
本发明基于以太网驱动的数据转发方法,结合使用PHP和基于以太网驱动的路由器对传输数据进行处理,调整了基于LINUX的以太网驱动对数据的收发流程,跳过正常的和多余的以太网驱动的数据处理流程,从而减少了数据在LINUX协议栈中的处理时间。
本发明中,将网络报文不经过LINUX协议栈处理的转发称为快速转发。
网络报文在本发明的数据处理流程中以数据包的形式存在,驱动接收端对网络报文的处理基于数据包包头的描述符,该描述符是包头中的一个字段,用于描述数据包的包头信息,唯一标识数据包并确定数据包在内存中的存储位置。以太网路由器通二层的逻辑接口接收到网络报文后,将网络报文数据包存放在内存中;将包头描述符作为内存中数据包的索引存放在高速缓存区中预先划分的分组缓存中,则依据分组缓存中的包头描述符,可以查找到该包头描述符在内存中对应的数据包。图1为本发明基于以太网驱动的数据转发方法中驱动接收端对网络报文的处理流程,如图1所示,该流程包括:
步骤101,依据包头描述符中的报文类型,将包头描述符按照预设的优先级置入PHP的结果队列中。
较佳地,可以依据包头描述符中的报文类型,将包头描述符按照不同的优先级置入PHP中相应的结果队列。如:可以预先设置报文类型和优先级的对应关系,将报文分为高、中、低三个优先级,则PHP的结果队列可以分为高优先级队列、中优先级队列和低优先级队列。具体的,可以将语音报文等对实时性要求相对较高的报文的优先级设置为高,则将该报文数据包的包头描述符置入PHP结果队列中的高优先级队列中。
在PHP将包头描述符置入其结果队列之前,以太网路由器的精简指令计算机(RISC,reduced instruction set computer)将任务指针放在PHP的请求(Request)队列中,以控制PHP执行以下任务:PHP将包头描述符从分组缓存中取出,存储到PHP的分组包头结构描述符中,则包头描述符在PHP中的表现形式为分组包头结构描述符;然后PHP依据分组包头结构描述符验证该数据包的校验和、即验证其有效性,如果无效,则将该数据包丢弃;如果有效,则将该包头描述符添加到RISC的硬件接收队列中。
然后,PHP将包头描述符从RISC的硬件接收队列中取出,置入PHP的结果队列中。
步骤102,以太网驱动从PHP的结果队列中取出包头描述符,并按照预设的优先级存储。
以太网驱动的接收端将包头描述符依次从PHP的结果队列中取出,并按优先级存入分组缓存中。
然后,PHP按照预设的优先级对分组缓存中的包头描述符依次进行分析,以决定包头描述符对应的数据包是否需要进行快速转发。
步骤103,判断当前包头描述符对应的数据包是否可以进行快速转发,如果是,则执行步骤104;如果不是,则执行步骤108,将包头描述符直接发送给LINUX协议栈,进行正常的处理。
较佳地,可以在当前包头描述符对应的分组包头结构描述符中设置一个状态位,假设状态位为1时,表示当前包头描述符对应的数据包需要进行快速转发;如果为0,则将该包头描述符直接发送给LINUX协议栈。
根据报文类型可知,网络报文中有一些必须要送往LINUX协议栈进行处理,如以太网点到点连接协议(PPPOE)报文和各种类型的控制报文,本发明将这些报文的包头描述符对应的分组包头结构描述符的状态位设为0;将其他报文的包头描述符对应的分组包头结构描述符的状态位设置为1,即表示这些报文可以进行快速转发,然后执行步骤104。
步骤104,判断当前包头描述符对应的数据包是否有匹配的快速转发入口,如果有,则执行步骤105;如果没有,则执行步骤108。
PHP依据当前包头描述符在分组包头结构描述符中对应的内容,如协议类型、源IP地址、目的IP地址、源端口号及目的端口号等,计算该数据包的PHP哈希(HASH)值,此处可以通过现有技术实现,不再赘述。根据计算得到的PHP HASH值在快速转发表中查找与该PHP HASH值匹配的快速转发入口。其中,快速转发表存放在高速缓存区的快速转发缓存中,快速转发表中保存了PHPHASH值与快速转发入口的匹配关系。
当一个数据包第一次通过LINUX协议栈时,LINUX协议栈会通过包头描述符学习到该数据包的路由信息,由此可以得到该数据包在驱动接收端的目的端口,然后将该目的端口设为该数据包对应的快速转发入口;将该数据包的PHPHASH值与该快速转发入口进行匹配,并存放在快速转发表中。同时,可根据需要为该快速转发入口设置一个老化时间,当超过该设定的老化时间后,在快速转发表中将该快速转发入口删除,以避免快速转发表溢出。
如果当前包头描述符对应的数据包没有匹配的快速转发入口,则执行步骤108,将该包头描述符发送给LINUX协议栈,学习该数据包的路由信息,得到对应的快速转发入口。
如果当前包头对应的数据包有匹配的快速转发入口,则执行步骤105。
步骤105,判断当前包头描述符对应的报文是否为传输控制协议(TCP,Transmission Control Protocol)报文或用户数据报协议(UDP,User DatagramProtocol)报文,如果是,则执行步骤106;否则,执行步骤108。
较佳地,可以在包头描述符中设置相应的标志位来表示该报文的类型,通过读取该标志位即可判断出报文的类型。如果当前包头描述符对应的数据包报文不是TCP或UDP报文,则将该包头描述符直接发送给LINUX协议栈,进行正常的处理流程;如果是,则执行步骤106。
步骤106~107,判断TCP报文是否为TCP控制报文、或UDP报文是否超时,如果否,则将包头描述符通过快速转发入口发送给驱动发送端,当前流程结束;如果是,则执行步骤108。
对于TCP报文,可以在其包头描述符中设置相应的标志位来表示其是否为TCP控制报文,如该标志位为1表示该TCP报文为TCP控制报文;该标志位为0时表示该TCP报文不为TCP控制报文。
对于UDP报文,可以在系统中设置一个时间值,驱动接收端将前后两次接收到的UDP报文的时间间隔与预设的时间值相比较,如果时间间隔大于预设的时间值,则当前接收到的UDP报文超时;反之,则没有超时。
当TCP报文为TCP控制报文,或者UDP报文超时时,将包头描述符发送给LINUX协议栈进行处理;如果TCP报文不是TCP控制报文,或者UDP报文没有超时,则将包头描述符通过快速转发入口发送给驱动发送端。
通过图1的流程可知,驱动接收端发送给驱动发送端的报文经过两个途径:一是驱动接收端将报文发送给LINUX协议栈,LINUX协议栈处理后下发给驱动发送端;一是驱动接收端通过快速转发入口发送给驱动发送端。
图2为本发明中驱动发送端对网络报文的处理流程,驱动发送端对报文的处理也是基于包头标识符。
对于LINUX协议栈下发的报文,按照步骤201~步骤204的流程来处理;对于驱动接收端通过快速转发入口发送过来的报文,执行步骤202~204的流程。从图2所示的流程可知,对于LINUX协议栈处理后下发给驱动发送端的数据需要对其包头进行相应的调整;而对于驱动接收端通过快速转发入口发送给驱动发送端数包则不需要,具体处理包括:
步骤201,对包头进行调整。
对于LINUX协议栈下发给驱动发送端的数据,需要对其包头进行调整:当包头描述符通过LINUX协议栈进行处理时,可以得知当前包头描述符对应的数据包所使用的路由转发协议,驱动发送端根据数据包使用的路由转发协议的类型在包头中加上相应的协议类型字段,同时需在PHP的微码中增加对此新增协议字段的识别程序。
步骤202,判断当前包头描述符对应的报文是否为TCP或UDP报文,如果是,则执行步骤203;如果否,则执行步骤204。
该步骤的判断与步骤105相同,此处不再赘述。
步骤203,为当前包头描述符对应的数据包设置快速转发出口。
如果驱动发送端接收到的数据包报文为TCP或UDP报文,则PHP为该数据包设置快速转发出口:向高速缓存区申请一个快速转发缓存,然后依据该包头描述符到内存中查找其对应的数据包,并将该数据包存储到申请的快速转发缓存中。
步骤204,将包头描述符添加到硬件发送队列中,并将数据包转发出去。
当驱动发送端接收到的数据包报文不是TCP或UDP报文时,则PHP直接将包头描述符依据预设的优先级添加到RISC中相应的硬件发送队列中,如高优先级硬件发送队列、中优先级硬件发送队列和低优先级硬件发送队列;然后驱动发送端依据RISC硬件发送队列的优先级,将包头描述符在内存中对应的数据包发送出去。
当驱动发送端接收到的数据包报文为TCP或UDP报文时,PHP为其设置快速转发出口;再将该数据包的包头描述符依据预设的优先级添加到RISC中相应的硬件发送队列中;然后驱动发送端依据RISC硬件发送队列的优先级,将包头描述符在快速转发出口中对应的数据包发送出去。
综上所述,本发明在现有的以太网路由器中结合使用了PHP,通过PHP来分担RISC的工作负担。其中,路由器接收到网络报文后将数据包存储在内存中,将包头描述符存在在高速缓存中;RISC控制PHP将包头描述符进行排序,驱动接收端将排序后的包头描述符从PHP中取出并存储;然后,RISC控制PHP对驱动接收端的包头描述符进行分析处理,驱动接收端再将处理后的包头描述通过快速转发入口发送给驱动发送端;在驱动发送端,RISC控制PHP为数据包设置快速转发出口,并将包头描述符按照优先级存入RISC相应的硬件发送队列中,最后驱动发送端依据RISC硬件队列的优先级,将包头描述符在快速转发出口中对应的数据进行转发。
为了实现本发明基于以太网驱动的数据转发方法,本发明提供了一种数据转发装置,如图3所示,该装置包括:PHP10、驱动接收端20和驱动发送端30,其中,
PHP10,用于在确认驱动接收端20中当前数据包可以进行快速转发时,查找到该数据包在快速转发表中匹配的快速转发入口;还用于判断当前数据包是否为除TCP控制报文外的TCP报文,或者判断是否为没有超时的UDP报文;
驱动接收端20,用于存储需要转发的数据包,并将确认为除TCP控制报文外的TCP报文,或者确认为没有超时的UDP报文,通过快速转发入口发送给驱动发送端30;
驱动发送端30,用于接收驱动接收端20发送的报文数据包,并将报文转发出去。
另外,PHP10,还用于将数据包的包头描述符存入PHP的分组包头结构描述符中;
驱动接收端20,还用于在PHP10确认当前数据包不进行快速转发时;或者PHP10在快速转发表中没有查找到与当前数据包匹配的快速转发入口时;或者PHP10确认当前数据包为TCP控制报文,或为超时的UDP报文时,将数据包发送给LINUX协议栈。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (10)
1、一种基于以太网驱动的数据转发方法,其特征在于,该方法包括:
包头处理器PHP确认当前数据包需进行快速转发时,查找到当前数据包在快速转发表中匹配的快速转发入口;
驱动接收端在当前数据包为传输控制协议TCP控制报文之外的TCP报文,或者当前数据包为没有超时的用户数据报协议UDP报文时,将当前数据包通过所述快速转发入口发送到驱动发送端;
驱动发送端转发所述数据包。
2、根据权利要求1所述基于以太网驱动的数据转发方法,其特征在于,在确认当前数据包需进行快速转发之前,该方法还包括:
依据报文类型,将数据包按照预设的优先级置入PHP中,并将所述数据包包头的描述符存储在PHP的分组包头结构描述符中;驱动接收端依据所述优先级将包头描述符从PHP中取出,并存储。
3、根据权利要求2所述基于以太网驱动的数据转发方法,其特征在于,在所述分组包头结构描述符中设置状态位,则所述确认当前数据包需进行快速转发为:
依据当前数据包包头描述符对应的分组包头结构描述符中的状态位,如果所述状态位置位,则确认当前数据包需进行快速转发;否则,将当前数据包发送给LINUX协议栈。
4、根据权利要求2所述基于以太网驱动的数据转发方法,其特征在于,所述查找数据包在快速转发表中匹配的快速转发入口为:
依据当前数据包的包头描述符对应的分组包头结构描述符,计算该数据包的PHP哈希HASH值,并依据所述PHP HASH值在所述快速转发表中查找匹配的快速转发入口。
5、根据权利要求4所述基于以太网驱动的数据转发方法,其特征在于,该方法还包括:
当数据包第一次经过LINUX协议栈时,通过LINUX协议栈学习该数据包的路由信息,并得到该数据包在驱动接收端的目的端口;计算该数据包的PHPHASH值,将所述目的端口作为快速转发入口与该所述PHP HASH值进行匹配,存入快速转发表中,并为其设置老化时间;在所述老化时间到时后,将所述快速转发入口删除。
6、根据权利要求1至4中任一项所述基于以太网驱动的数据转发方法,其特征在于,该方法还包括:
在快速转发表中没有查找到与当前数据包匹配的快速转发入口时,将该数据包发送给LINUX协议栈。
7、根据权利要求1至4中任一项所述基于以太网驱动的数据转发方法,其特征在于,该方法还包括:
当前数据包报文为TCP控制报文,或者为超时的UDP报文时,将该数据包发送给LINUX协议栈。
8、根据权利要求1至4中任一项所述基于以太网驱动的数据转发方法,其特征在于,所述驱动发送端转发当前数据包为:
所述驱动发送端将所述数据包的包头描述符添加到硬件发送队列中,通过所述硬件发送队列将数据包转发出去。
9、一种基于以太网驱动的数据转发装置,其特征在于,该装置包括:PHP、驱动接收端和驱动发送端,其中,
所述PHP,用于在确认当前数据包需进行快速转发时,查找到当前数据包在快速转发表中匹配的快速转发入口;还用于判断当前数据包是否为TCP控制报文之外的TCP报文,或者是否为没有超时的UDP报文;
所述驱动接收端,用于存储需转发的数据包,并将确认为除TCP控制报文外的TCP报文,或者为没有超时的UDP报文,通过快速转发入口发送给驱动发送端;
所述驱动发送端,用于接收所述驱动接收端发送的报文数据包,并将所述数据包转发出去。
10、根据权利要求9所述基于以太网驱动的数据转发装置,其特征在于,
所述PHP,还用于将数据包的包头描述符存储在PHP的分组包头结构描述符中;
所述驱动接收端,还用于在PHP确认当前数据包不需进行快速转发时;或者PHP在快速转发表中没有查找到与当前数据包匹配的快速转发入口时;或者PHP确认当前数据包为TCP控制报文,或为超时的UDP报文时,将数据包发送给LINUX协议栈。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100792546A CN101494605B (zh) | 2009-03-05 | 2009-03-05 | 一种基于以太网驱动的数据转发方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100792546A CN101494605B (zh) | 2009-03-05 | 2009-03-05 | 一种基于以太网驱动的数据转发方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101494605A true CN101494605A (zh) | 2009-07-29 |
CN101494605B CN101494605B (zh) | 2011-08-24 |
Family
ID=40925020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100792546A Expired - Fee Related CN101494605B (zh) | 2009-03-05 | 2009-03-05 | 一种基于以太网驱动的数据转发方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101494605B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014064A (zh) * | 2010-12-07 | 2011-04-13 | 中兴通讯股份有限公司 | 基于Linux系统的报文转发方法和装置 |
CN102333026A (zh) * | 2011-06-13 | 2012-01-25 | 中兴通讯股份有限公司 | 报文转发方法及装置 |
CN102694727A (zh) * | 2012-05-21 | 2012-09-26 | 太仓市同维电子有限公司 | 实现网络数据包转发加速的方法及装置 |
WO2012151904A1 (zh) * | 2011-08-19 | 2012-11-15 | 中兴通讯股份有限公司 | 一种数据报文转发方法及装置 |
CN102938733A (zh) * | 2012-11-22 | 2013-02-20 | 华为技术有限公司 | 报文的转发方法及其路由设备、识别设备 |
CN102946347A (zh) * | 2012-12-07 | 2013-02-27 | 烽火通信科技股份有限公司 | 一种加速Linux系统本地数据包处理的方法及装置 |
CN103347014A (zh) * | 2013-06-25 | 2013-10-09 | 深圳市共进电子股份有限公司 | 网络快速转发模块及网络快速转发实现方法 |
CN103391244A (zh) * | 2013-07-30 | 2013-11-13 | 上海斐讯数据通信技术有限公司 | 一种大流量数据包的转发方法 |
CN103716185A (zh) * | 2013-12-17 | 2014-04-09 | 上海斐讯数据通信技术有限公司 | 无源光纤网络协议栈加速处理方法 |
CN105245466A (zh) * | 2015-10-14 | 2016-01-13 | 北京锐安科技有限公司 | 流量控制方法、装置及设备 |
CN106302234A (zh) * | 2015-06-24 | 2017-01-04 | 龙芯中科技术有限公司 | 网络包传送方法、以太网控制器、高速缓存及系统 |
CN106533980A (zh) * | 2016-11-30 | 2017-03-22 | 浙江宇视科技有限公司 | 一种网络数据包处理方法及装置 |
CN111669318A (zh) * | 2020-05-06 | 2020-09-15 | 深圳震有科技股份有限公司 | 一种Linux系统下数据包转发的方法及装置 |
-
2009
- 2009-03-05 CN CN2009100792546A patent/CN101494605B/zh not_active Expired - Fee Related
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014064A (zh) * | 2010-12-07 | 2011-04-13 | 中兴通讯股份有限公司 | 基于Linux系统的报文转发方法和装置 |
CN102014064B (zh) * | 2010-12-07 | 2015-01-28 | 中兴通讯股份有限公司 | 基于Linux系统的报文转发方法和装置 |
CN102333026A (zh) * | 2011-06-13 | 2012-01-25 | 中兴通讯股份有限公司 | 报文转发方法及装置 |
WO2012171461A1 (zh) * | 2011-06-13 | 2012-12-20 | 中兴通讯股份有限公司 | 报文转发方法及装置 |
WO2012151904A1 (zh) * | 2011-08-19 | 2012-11-15 | 中兴通讯股份有限公司 | 一种数据报文转发方法及装置 |
CN102957600A (zh) * | 2011-08-19 | 2013-03-06 | 中兴通讯股份有限公司 | 一种数据报文转发方法及装置 |
CN102957600B (zh) * | 2011-08-19 | 2017-11-10 | 中兴通讯股份有限公司 | 一种数据报文转发方法及装置 |
CN102694727A (zh) * | 2012-05-21 | 2012-09-26 | 太仓市同维电子有限公司 | 实现网络数据包转发加速的方法及装置 |
CN102938733A (zh) * | 2012-11-22 | 2013-02-20 | 华为技术有限公司 | 报文的转发方法及其路由设备、识别设备 |
CN102938733B (zh) * | 2012-11-22 | 2016-01-13 | 华为技术有限公司 | 报文的转发方法及其路由设备、识别设备 |
CN102946347A (zh) * | 2012-12-07 | 2013-02-27 | 烽火通信科技股份有限公司 | 一种加速Linux系统本地数据包处理的方法及装置 |
CN102946347B (zh) * | 2012-12-07 | 2015-07-01 | 烽火通信科技股份有限公司 | 一种加速Linux系统本地数据包处理的方法及装置 |
CN103347014A (zh) * | 2013-06-25 | 2013-10-09 | 深圳市共进电子股份有限公司 | 网络快速转发模块及网络快速转发实现方法 |
CN103391244A (zh) * | 2013-07-30 | 2013-11-13 | 上海斐讯数据通信技术有限公司 | 一种大流量数据包的转发方法 |
CN103716185A (zh) * | 2013-12-17 | 2014-04-09 | 上海斐讯数据通信技术有限公司 | 无源光纤网络协议栈加速处理方法 |
CN106302234A (zh) * | 2015-06-24 | 2017-01-04 | 龙芯中科技术有限公司 | 网络包传送方法、以太网控制器、高速缓存及系统 |
CN106302234B (zh) * | 2015-06-24 | 2019-03-19 | 龙芯中科技术有限公司 | 网络包传送方法、以太网控制器、高速缓存及系统 |
CN105245466A (zh) * | 2015-10-14 | 2016-01-13 | 北京锐安科技有限公司 | 流量控制方法、装置及设备 |
CN106533980A (zh) * | 2016-11-30 | 2017-03-22 | 浙江宇视科技有限公司 | 一种网络数据包处理方法及装置 |
CN106533980B (zh) * | 2016-11-30 | 2019-07-12 | 浙江宇视科技有限公司 | 一种网络数据包处理方法及装置 |
CN111669318A (zh) * | 2020-05-06 | 2020-09-15 | 深圳震有科技股份有限公司 | 一种Linux系统下数据包转发的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101494605B (zh) | 2011-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101494605B (zh) | 一种基于以太网驱动的数据转发方法和装置 | |
US20240121179A1 (en) | System and method for facilitating fine-grain flow control in a network interface controller (nic) | |
US10652147B2 (en) | Packet coalescing | |
US9313140B2 (en) | Packet preemption for low latency | |
US6577596B1 (en) | Method and apparatus for packet delay reduction using scheduling and header compression | |
US10432556B1 (en) | Enhanced audio video bridging (AVB) methods and apparatus | |
US7292530B2 (en) | Method and apparatus to manage packet fragmentation | |
US6845105B1 (en) | Method and apparatus for maintaining sequence numbering in header compressed packets | |
US8929372B2 (en) | Grid router | |
CN111404817B (zh) | 一种提升网络通信设备分片数据包转发性能的方法及系统 | |
US20110019685A1 (en) | Method and system for packet preemption for low latency | |
CN110995507B (zh) | 一种网络加速控制器及方法 | |
US20110019668A1 (en) | Method And System For Packet Preemption Via Packet Rescheduling | |
WO2012083654A1 (zh) | Ip报文分片的处理方法和分布式系统 | |
CN103166912A (zh) | 一种数据包的传输方法、系统 | |
JP2006304349A (ja) | 通信システムおよび通信方法 | |
JP2005278215A (ja) | 通信システムおよび通信方法 | |
JP3944515B2 (ja) | 通信システムおよび通信方法 | |
JP2000341333A (ja) | ネットワークパケット送受信方法およびネットワークアダプタ | |
JP2004363681A (ja) | パケットシェーピング方法、この方法を実施するパケットシェーピング装置及びコンピュータプログラム、並びにコンピュータプログラム記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110824 Termination date: 20180305 |