CN107682267A - Linux设备的网络数据转发方法及系统 - Google Patents

Linux设备的网络数据转发方法及系统 Download PDF

Info

Publication number
CN107682267A
CN107682267A CN201710860767.5A CN201710860767A CN107682267A CN 107682267 A CN107682267 A CN 107682267A CN 201710860767 A CN201710860767 A CN 201710860767A CN 107682267 A CN107682267 A CN 107682267A
Authority
CN
China
Prior art keywords
packet
received data
data packet
hash table
linux
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
Application number
CN201710860767.5A
Other languages
English (en)
Other versions
CN107682267B (zh
Inventor
赵伟
刘启林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN201710860767.5A priority Critical patent/CN107682267B/zh
Publication of CN107682267A publication Critical patent/CN107682267A/zh
Application granted granted Critical
Publication of CN107682267B publication Critical patent/CN107682267B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种Linux设备的网络数据转发方法及系统,涉及Linux网络数据转发技术领域。该方法的步骤为:判断哈希链表中是否存在与接收数据包对应的哈希表项,若是,将接收数据包进行转发否则Linux设备在哈希链表中,根据接收数据包形成哈希表项;接收数据包经CPU处理形成发送数据包;若哈希链表中存在与数据包信息对应的哈希表项,将发送数据包的头部信息,与哈希表项中的数据包的头部信息进行比对,得到差异头部信息,将差异头部信息添加至哈希表项后,将发送数据包通过Linux的标准网络协议栈进行转发。本发明能够在不依赖硬件网络加速器转发数据包的基础上,降低数据包丢包的几率,缩短数据包的转发时间,提高数据包的转发效率。

Description

Linux设备的网络数据转发方法及系统
技术领域
本发明涉及Linux网络数据转发技术领域,具体涉及一种Linux设备的网络数据转发方法及系统。
背景技术
Linux系统是一种多任务,多线程及多CPU的开源操作系统,自1990年问世以来,衍生出多种版本,并广泛被用于各类硬件设备(即Linux设备)上,例如家庭网关、平板电脑、手机以及各种服务器等。
以家庭网关为例,运行Linux系统的家庭网关作为一款能够提供用户上网、视频及语音服务的终端产品,应用越来越广泛,客户的需求也越来越丰富,其中用户对于上网带宽提升需求尤为强烈,需求从以前的几兆上升到目前的几十兆甚至上百兆。第一代家庭网关采用linux系统自带的数据转发逻辑,依靠运行于CPU的软件对网络数据进行转发,第二代的家庭网关集成了硬件网络加速器,依靠硬件网络加速器将一些特定网络数据报文绕开linux系统进行快速转发。
第一代家庭网关(即依靠运行于CPU的软件对网络数据进行转发)的网络数据转发方法为:每个网络数据包都有可能会被处理,一旦被处理,数据包会完整的通过Linux的标准网络协议栈进行转发,Linux的标准网络协议栈由CPU控制。
第一代家庭网关的缺陷为:当数据包的数量过多、或者数据包的转发流量(所需的CPU载荷)较大时,会导致CPU的载荷过高,CPU载荷过高会使得数据包有可能被丢弃,进而降低网络速率,影响家庭网关的网络带宽;与此同时,通过Linux的标准网络协议栈进行转发数据包时,需要进行多层判断处理,进而延长了数据包转发时间,降低了数据包转发效率。
第二代家庭网关(即依靠硬件网络加速器转发网络数据报文)的网络数据转发方法为:将特定的网络数据报文通过硬件网络加速器转发,进而绕开CPU了,这样就不会影响CPU的载荷。
第二代家庭网关的缺陷为:
(1)硬件网络加速器只能转发特定类型的网络数据报文,而且硬件网络加速器需要依赖特定的CPU硬件;因此硬件网络加速器转发的报文类型和使用需求具有一定的限制,适用范围比较单一,通用性较差。
(2)CPU无法控制硬件网络加速器转发的网络数据报文,进而无法得知网络数据报文信息(例如网络数据报文的限速、网页内容限制等),网络数据报文的安全存在一定的隐患。
发明内容
针对现有技术中存在的缺陷,本发明解决的技术问题为:如何在不依赖硬件网络加速器转发数据包的基础上,降低数据包丢包的几率,缩短数据包的转发时间,提高数据包的转发效率。
为达到以上目的,本发明提供的Linux设备的网络数据转发方法,包括以下步骤:
步骤A:Linux设备获取接收数据包的数据包信息和数据包头部信息后,判断哈希链表中是否存在与接收数据包对应的哈希表项,若是,转到步骤E,否则转到步骤B;
步骤A中存在与接收数据包对应的哈希表项的标准为:哈希表项中存在与接收数据包相同的数据包信息、且存在接收数据包头部信息中的部分信息;
步骤B:Linux设备在哈希链表中,根据接收数据包的内容与数据包信息,形成哈希表项,转到步骤C;
步骤C:接收数据包经CPU处理形成发送数据包;Linux设备获取发送数据包的数据包信息后,判断哈希链表中是否存在与数据包信息对应的哈希表项,若不是,直接转到步骤D;若是,将发送数据包的头部信息,与哈希表项中的数据包的头部信息进行比对,得到差异头部信息,将差异头部信息添加至哈希表项,转到步骤D;
步骤D:Linux设备将发送数据包通过Linux的标准网络协议栈进行转发,结束;
步骤E:Linux设备将接收数据包进行转发,结束。
在上述技术方案的基础上,步骤B中所述形成哈希表项之后,还包括以下步骤:为该哈希表项添加数据包转发计数器并置0,步骤E中所述Linux设备将接收数据包进行转发之后,还包括以下步骤:Linux设备将接收数据包对应的哈希表项的数据包转发计数器+1;
在此基础上,所述Linux设备的网络数据转发方法还包括以下步骤:Linux设备周期性对数据包转发计时器进行监测,当监测到存在数据包转发计时器的值在指定阈值以下的哈希表项时,删除该哈希表项。
在上述技术方案的基础上,步骤A之前还包括以下步骤:Linux设备收到接收数据包时,判断转发接收数据包所需的转发流量,是否大于预先设置的阈值,若是,直接将数据包进行转发,结束;否则转到步骤A。
本发明提供的Linux设备的网络数据转发系统,包括设置于Linux设备上的接收数据包比对模块、哈希表项创建模块、发送数据包比对模块、发送数据包转发模块和接收数据包转发模块;
接收数据包比对模块用于:获取接收数据包的数据包信息和数据包头部信息后,判断哈希链表中是否存在与接收数据包对应的哈希表项,若是,向接收数据包转发模块发送接收数据包转发信号,否则向哈希表项创建模块发送哈希表项创建信号;
接收数据包比对模块中存在与接收数据包对应的哈希表项的标准为:哈希表项中存在与接收数据包相同的数据包信息、且存在接收数据包头部信息中的部分信息;
哈希表项创建模块用于:收到哈希表项创建信号后,在哈希链表中,根据接收数据包的内容与数据包信息,形成哈希表项,向发送数据包比对模块发送数据包比对信号;
发送数据包比对模块用于:收到数据包比对信号后,获取经CPU处理后的发送数据包的数据包信息,判断哈希链表中是否存在与数据包信息对应的哈希表项,若不是,直接向发送数据包转发模块发送数据包转发信号;若是,将发送数据包的头部信息,与哈希表项中的数据包的头部信息进行比对,得到差异头部信息,将差异头部信息添加至哈希表项,向发送数据包转发模块发送数据包转发信号;
发送数据包转发模块用于:收到数据包转发信号后,将发送数据包通过Linux的标准网络协议栈进行转发;
接收数据包转发模块用于:收到接收数据包转发信号后,将接收数据包进行转发。
在上述技术方案的基础上,所述哈希表项创建模块形成哈希表项之后,还用于:为该哈希表项添加数据包转发计数器并置0;所述接收数据包转发模块将接收数据包进行转发之后,还用于:将接收数据包对应的哈希表项的数据包转发计数器+1;
在此基础上,该系统还包括数据包转发计时器监测模块,其用于:周期性对数据包转发计时器进行监测,当监测到存在数据包转发计时器的值在指定阈值以下的哈希表项时,删除该哈希表项。
在上述技术方案的基础上,该系统还包括接收数据包转发流量监测模块,其用于:在接收数据包比对模块工作之前,判断转发接收数据包所需的转发流量,是否大于预先设置的阈值,若是,直接将数据包进行转发,否则进行接收数据包比对模块的工作流程。
与现有技术相比,本发明的优点在于:
(1)参见本发明的步骤A至步骤E可知,本发明将接收和发送的网络数据包进行比对,根据比对信息在哈希链表中建立并生效数据加速规则(即哈希表项)。在此基础上,本发明收到数据包时,若哈希链表中存在与该数据包相应的加速规则(即哈希链表中存在与该数据包对应的哈希表项,该哈希表项根据之前的数据包生成),则绕开Linux的标准网络协议栈直接进行转发,进而不仅显著降低了CPU的载荷,大幅度减小了数据包丢包的几率,而且能够显著缩短数据包的转发时间,大幅度提高数据包的转发效率。
与此同时,参见本发明的步骤A可知,本发明在直接转发数据包之前,也获取了数据包信息,以此实现对数据包进行统计和控制。
(2)本发明在收到数据包后,会先监测数据包的转发流量,进而将转发时会占用CPU较多的载荷的数据包,绕开Linux的标准网络协议栈直接进行转发,进而进一步降低了CPU转发数据包的载荷,随之,也进一步减小了数据包丢包的几率。
(3)本发明若在一个周期内发现某哈希表项的数据包转发计时器在指定阈值以下,则说明当前哈希表项没有数据包命中或命中次数较少,当前哈希表项用处不大,此时删除该哈希表项,以释放哈希链表内存,进而提高了工作效率。
附图说明
图1为本发明实施例中Linux设备的网络数据转发方法的流程图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
本发明实施例的Linux设备为内核版本为Linux2.6.30、CPU为MIPS架构的家庭网关设备;在此基础上,参见图1所示,本发明实施例中的Linux设备的网络数据转发方法,包括以下步骤:
S1:初始Linux设备的化哈希链表(的表头)和用于哈希链表写入的全局自旋锁,哈希链表包括上行哈希链表(的表头)和下行哈希链表(的表头),哈希链表遍历时均以哈希表头为起始节点进行,转到S2。
S2:初始化Linux设备的网络数据包传输通道的钩子函数,Linux设备的数据包传输通道包括与上行哈希链表对应的上行数据包传输通道、以及与下行哈希链表对应的下行数据包传输通道,转到S3。
S2中的上行数据包传输通道的钩子函数,包括挂载于用户侧网络接口收取数据包处的上行网络入口钩子函数、以及挂载于网络侧发送数据包处的上行网络出口钩子函数。下行数据包传输通道的钩子函数,包括挂载于网络侧网络接口收取数据包处的下行网络入口钩子函数、以及挂载于用户侧发送数据包处的下行网络出口钩子函数。
在此基础上,后续步骤中的发送/接收数据包为上行数据包或下行数据包:
发送/接收数据包为上行数据包时,后续步骤中的数据包传输通道的入口处为用户侧网络接口收取数据包处;数据包传输通道的出口处为网络侧发送数据包处,哈希链表为上行哈希链表。
发送/接收数据包为下行数据包时,后续步骤中的数据包传输通道的入口处为网络侧网络接口收取数据包处;数据包传输通道的出口处为用户侧发送数据包处,哈希链表为下行哈希链表。
S3:Linux设备的数据包传输通道的入口处收到接收数据包时,判断转发接收数据包所需的转发流量(CPU载荷)是否大于预先设置的阈值,若是(即该数据包转发时会占用CPU较多的载荷),直接将数据包进行转发,结束;否则转到S4。
通过S3可知,本发明实施例在收到数据包后,会监测数据包的转发流量,进而将转发时会占用CPU较多的载荷的数据包,绕开CPU直接转发,以此实现降低CPU转发数据包的载荷,减小数据包丢包的几率。
S4:Linux设备获取接收数据包的数据包信息和数据包头部信息,判断哈希链表中是否存在与接收数据包对应的哈希表项、且状态为ready,若是,转到S9,否则转到S5。
S4中与接收数据包对应的哈希表项的标准为:哈希表项中存在与接收数据包相同的数据包信息、存在接收数据包头部信息中的部分信息。
S4中的数据包信息包括数据包的源MAC,目的MAC、源IP、目的IP、传输层(具体指L4)协议类型、传输层源端口、以及传输层目的端口。
S5:Linux设备在哈希链表中,根据接收数据包的内容与数据包信息形成哈希表项,为该表项添加数据包转发计数器并置0,置该表项状态为INIT(内核自行启动),转到S6。
S6:Linux设备在传输通道的出口处,获取经CPU处理后的发送数据包的数据包信息(即接收数据包经CPU处理形成发送数据包),判断哈希链表中是否存在与发送数据包信息对应(相同)的哈希表项,若是,转到S7,否则转到S8
S7:Linux设备将发送数据包的头部信息,与哈希表项中的数据包的头部信息进行比对,得到差异头部信息,将差异头部信息添加至哈希表项,转到S8。
S8:Linux设备将发送数据包通过Linux的标准网络协议栈进行转发,结束。
S9:Linux设备在传输通道的入口处,直接将接收数据包进行转发,即此时不经过CPU处理直接转发数据包,转到S10。
通过S4至S9可知,本发明实施例收到数据包时,若哈希链表中存在与该数据包相应的加速规则(即哈希链表中存在与该数据包对应的哈希表项,该哈希表项根据之前的数据包生成),则绕开CPU直接进行转发,进而显著降低了CPU的载荷,大幅度减小数据包丢包的几率。与此同时,参见S4可知,本发明实施例在直接转发数据包之前,也获取了数据包信息,以此实现对数据包进行统计和控制。
S10:Linux设备将接收数据包对应的哈希表项的数据包转发计数器+1。
S2之后(即在执行S3至S10的过程中)还包括以下步骤:
S11:Linux设备周期性对数据包转发计时器进行监测,当监测到存在数据包转发计时器的值在指定阈值以下的哈希表项时,则说明当前哈希表项没有数据包命中或命中次数较少,当前哈希表项用处不大,此时删除该哈希表项,以释放内存。
本发明实施例提供的Linux设备的网络数据转发系统,包括设置于Linux设备上的接收数据包转发流量监测模块、接收数据包比对模块、哈希表项创建模块、发送数据包比对模块、发送数据包转发模块和接收数据包转发模块和数据包转发计时器监测模块。
接收数据包转发流量监测模块用于:Linux设备获取接收数据包后,判断转发接收数据包所需的转发流量,是否大于预先设置的阈值,若是,直接将数据包进行转发,否则向接收数据包比对模块发送接收数据包比对信号。
接收数据包比对模块用于:收到接收数据包比对信号后,获取接收数据包的数据包信息和数据包头部信息后,判断哈希链表中是否存在与接收数据包对应的哈希表项,若是,向接收数据包转发模块发送接收数据包转发信号,否则向哈希表项创建模块发送哈希表项创建信号。
接收数据包比对模块中存在与接收数据包对应的哈希表项的标准为:哈希表项中存在与接收数据包相同的数据包信息、且存在接收数据包头部信息中的部分信息;数据包信息包括数据包的源MAC,目的MAC、源IP、目的IP、传输层协议类型、传输层源端口、以及传输层目的端口。
哈希表项创建模块用于:收到哈希表项创建信号后,在哈希链表中,根据接收数据包的内容与数据包信息,形成哈希表项,为该哈希表项添加数据包转发计数器并置0,向发送数据包比对模块发送数据包比对信号。
发送数据包比对模块用于:收到数据包比对信号后,获取经CPU处理后的发送数据包的数据包信息,判断哈希链表中是否存在与数据包信息对应的哈希表项,若不是,直接向发送数据包转发模块发送数据包转发信号;若是,将发送数据包的头部信息,与哈希表项中的数据包的头部信息进行比对,得到差异头部信息,将差异头部信息添加至哈希表项,向发送数据包转发模块发送数据包转发信号。
发送数据包转发模块用于:收到数据包转发信号后,将发送数据包通过Linux的标准网络协议栈进行转发。
接收数据包转发模块用于:收到接收数据包转发信号后,将接收数据包进行转发,将接收数据包对应的哈希表项的数据包转发计数器+1。
数据包转发计时器监测模块用于:周期性对数据包转发计时器进行监测,当监测到存在数据包转发计时器的值在指定阈值以下的哈希表项时,删除该哈希表项。
该系统中提到的发送数据包和接收数据包,均为上行数据包或者下行数据包:当发送数据包和接收数据包均为上行数据包时,所述哈希链表为上行哈希链表;当发送数据包和接收数据包均为下行数据包时,所述哈希链表为下行哈希链表。
需要说明的是:本发明实施例提供的系统在进行模块间通信时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
进一步,本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (10)

1.一种Linux设备的网络数据转发方法,其特征在于,该方法包括以下步骤:
步骤A:Linux设备获取接收数据包的数据包信息和数据包头部信息后,判断哈希链表中是否存在与接收数据包对应的哈希表项,若是,转到步骤E,否则转到步骤B;
步骤A中存在与接收数据包对应的哈希表项的标准为:哈希表项中存在与接收数据包相同的数据包信息、且存在接收数据包头部信息中的部分信息;
步骤B:Linux设备在哈希链表中,根据接收数据包的内容与数据包信息,形成哈希表项,转到步骤C;
步骤C:接收数据包经CPU处理形成发送数据包;Linux设备获取发送数据包的数据包信息后,判断哈希链表中是否存在与数据包信息对应的哈希表项,若不是,直接转到步骤D;若是,将发送数据包的头部信息,与哈希表项中的数据包的头部信息进行比对,得到差异头部信息,将差异头部信息添加至哈希表项,转到步骤D;
步骤D:Linux设备将发送数据包通过Linux的标准网络协议栈进行转发,结束;
步骤E:Linux设备将接收数据包进行转发,结束。
2.如权利要求1所述的Linux设备的网络数据转发方法,其特征在于:步骤B中所述形成哈希表项之后,还包括以下步骤:为该哈希表项添加数据包转发计数器并置0,步骤E中所述Linux设备将接收数据包进行转发之后,还包括以下步骤:Linux设备将接收数据包对应的哈希表项的数据包转发计数器+1;
在此基础上,所述Linux设备的网络数据转发方法还包括以下步骤:Linux设备周期性对数据包转发计时器进行监测,当监测到存在数据包转发计时器的值在指定阈值以下的哈希表项时,删除该哈希表项。
3.如权利要求1所述的Linux设备的网络数据转发方法,其特征在于:步骤A之前还包括以下步骤:Linux设备收到接收数据包时,判断转发接收数据包所需的转发流量,是否大于预先设置的阈值,若是,直接将数据包进行转发,结束;否则转到步骤A。
4.如权利要求1至3任一项所述的Linux设备的网络数据转发方法,其特征在于:步骤A中所述数据包信息包括数据包的源MAC,目的MAC、源IP、目的IP、传输层协议类型、传输层源端口、以及传输层目的端口。
5.如权利要求1至3任一项所述的Linux设备的网络数据转发方法,其特征在于:所述发送数据包和接收数据包,均为上行数据包或者下行数据包:当发送数据包和接收数据包均为上行数据包时,所述哈希链表为上行哈希链表;当发送数据包和接收数据包均为下行数据包时,所述哈希链表为下行哈希链表。
6.一种Linux设备的网络数据转发系统,其特征在于,该系统包括设置于Linux设备上的接收数据包比对模块、哈希表项创建模块、发送数据包比对模块、发送数据包转发模块和接收数据包转发模块;
接收数据包比对模块用于:获取接收数据包的数据包信息和数据包头部信息后,判断哈希链表中是否存在与接收数据包对应的哈希表项,若是,向接收数据包转发模块发送接收数据包转发信号,否则向哈希表项创建模块发送哈希表项创建信号;
接收数据包比对模块中存在与接收数据包对应的哈希表项的标准为:哈希表项中存在与接收数据包相同的数据包信息、且存在接收数据包头部信息中的部分信息;
哈希表项创建模块用于:收到哈希表项创建信号后,在哈希链表中,根据接收数据包的内容与数据包信息,形成哈希表项,向发送数据包比对模块发送数据包比对信号;
发送数据包比对模块用于:收到数据包比对信号后,获取经CPU处理后的发送数据包的数据包信息,判断哈希链表中是否存在与数据包信息对应的哈希表项,若不是,直接向发送数据包转发模块发送数据包转发信号;若是,将发送数据包的头部信息,与哈希表项中的数据包的头部信息进行比对,得到差异头部信息,将差异头部信息添加至哈希表项,向发送数据包转发模块发送数据包转发信号;
发送数据包转发模块用于:收到数据包转发信号后,将发送数据包通过Linux的标准网络协议栈进行转发;
接收数据包转发模块用于:收到接收数据包转发信号后,将接收数据包进行转发。
7.如权利要求6所述的Linux设备的网络数据转发系统,其特征在于:所述哈希表项创建模块形成哈希表项之后,还用于:为该哈希表项添加数据包转发计数器并置0;所述接收数据包转发模块将接收数据包进行转发之后,还用于:将接收数据包对应的哈希表项的数据包转发计数器+1;
在此基础上,该系统还包括数据包转发计时器监测模块,其用于:周期性对数据包转发计时器进行监测,当监测到存在数据包转发计时器的值在指定阈值以下的哈希表项时,删除该哈希表项。
8.如权利要求6所述的Linux设备的网络数据转发系统,其特征在于:该系统还包括接收数据包转发流量监测模块,其用于:在接收数据包比对模块工作之前,判断转发接收数据包所需的转发流量,是否大于预先设置的阈值,若是,直接将数据包进行转发,否则进行接收数据包比对模块的工作流程。
9.如权利要求6至8任一项所述的Linux设备的网络数据转发系统,其特征在于:所述接收数据包比对模块的数据包信息包括数据包的源MAC,目的MAC、源IP、目的IP、传输层协议类型、传输层源端口、以及传输层目的端口。
10.如权利要求6至8任一项所述的Linux设备的网络数据转发系统,其特征在于:所述发送数据包和接收数据包,均为上行数据包或者下行数据包:当发送数据包和接收数据包均为上行数据包时,所述哈希链表为上行哈希链表;当发送数据包和接收数据包均为下行数据包时,所述哈希链表为下行哈希链表。
CN201710860767.5A 2017-09-21 2017-09-21 Linux设备的网络数据转发方法及系统 Active CN107682267B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710860767.5A CN107682267B (zh) 2017-09-21 2017-09-21 Linux设备的网络数据转发方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710860767.5A CN107682267B (zh) 2017-09-21 2017-09-21 Linux设备的网络数据转发方法及系统

Publications (2)

Publication Number Publication Date
CN107682267A true CN107682267A (zh) 2018-02-09
CN107682267B CN107682267B (zh) 2020-04-28

Family

ID=61137695

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710860767.5A Active CN107682267B (zh) 2017-09-21 2017-09-21 Linux设备的网络数据转发方法及系统

Country Status (1)

Country Link
CN (1) CN107682267B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111355662A (zh) * 2018-12-24 2020-06-30 中移(杭州)信息技术有限公司 一种数据加速方法、装置、网关设备及可读存储介质
CN111651288A (zh) * 2020-06-02 2020-09-11 中电科航空电子有限公司 一种arinc628离散量实时传输方法及其应用
CN113453276A (zh) * 2021-05-18 2021-09-28 翱捷科技股份有限公司 一种提高lte终端上下行内存利用率的方法及装置
CN114338529A (zh) * 2021-12-29 2022-04-12 杭州迪普信息技术有限公司 五元组规则匹配方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102158419A (zh) * 2011-05-23 2011-08-17 深圳市共进电子有限公司 在家庭网关中实现数据包加速转发的方法
CN102624628A (zh) * 2012-03-22 2012-08-01 深圳市共进电子股份有限公司 一种家庭网关及其实现数据包快速转发的方法
CN103347014A (zh) * 2013-06-25 2013-10-09 深圳市共进电子股份有限公司 网络快速转发模块及网络快速转发实现方法
CN103647716A (zh) * 2013-11-22 2014-03-19 上海斐讯数据通信技术有限公司 一种数据包快速转发方法及装置
CN105227493A (zh) * 2015-10-15 2016-01-06 上海斐讯数据通信技术有限公司 多核平台下提高数据报文转发性能的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102158419A (zh) * 2011-05-23 2011-08-17 深圳市共进电子有限公司 在家庭网关中实现数据包加速转发的方法
CN102624628A (zh) * 2012-03-22 2012-08-01 深圳市共进电子股份有限公司 一种家庭网关及其实现数据包快速转发的方法
CN103347014A (zh) * 2013-06-25 2013-10-09 深圳市共进电子股份有限公司 网络快速转发模块及网络快速转发实现方法
CN103647716A (zh) * 2013-11-22 2014-03-19 上海斐讯数据通信技术有限公司 一种数据包快速转发方法及装置
CN105227493A (zh) * 2015-10-15 2016-01-06 上海斐讯数据通信技术有限公司 多核平台下提高数据报文转发性能的方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111355662A (zh) * 2018-12-24 2020-06-30 中移(杭州)信息技术有限公司 一种数据加速方法、装置、网关设备及可读存储介质
CN111355662B (zh) * 2018-12-24 2022-09-13 中移(杭州)信息技术有限公司 一种数据加速方法、装置、网关设备及可读存储介质
CN111651288A (zh) * 2020-06-02 2020-09-11 中电科航空电子有限公司 一种arinc628离散量实时传输方法及其应用
CN111651288B (zh) * 2020-06-02 2023-03-14 中电科航空电子有限公司 一种arinc628离散量实时传输方法及其应用
CN113453276A (zh) * 2021-05-18 2021-09-28 翱捷科技股份有限公司 一种提高lte终端上下行内存利用率的方法及装置
CN113453276B (zh) * 2021-05-18 2024-01-16 翱捷科技股份有限公司 一种提高lte终端上下行内存利用率的方法及装置
CN114338529A (zh) * 2021-12-29 2022-04-12 杭州迪普信息技术有限公司 五元组规则匹配方法及装置

Also Published As

Publication number Publication date
CN107682267B (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN107682267A (zh) Linux设备的网络数据转发方法及系统
CN102624584B (zh) 链路检测方法及装置
CN100382517C (zh) 网络服务质量测试方法及系统
CN105450552B (zh) 基于sdn网络对应用服务链的策略与计费控制方法与设备
CN101039254B (zh) 一种媒体数据重组方法以及组包服务器
CN107070613B (zh) 分布式网络环境下数据可靠传输方法
CN107426102A (zh) 基于路径质量的多路径并行传输动态决策方法
CN101309273B (zh) 一种生成安全联盟的方法和装置
CN105357137B (zh) 报文过滤方法及所适用的fpga、智能变电站
CN101523812A (zh) 用于收集网络性能信息的系统和方法
CN103227725B (zh) 一种防火墙双机备份的方法及装置
CN105308904B (zh) 一种oam报文处理方法、网络设备和网络系统
CN106550241B (zh) 视频业务识别系统及虚拟化部署方法
CN105939297A (zh) 一种tcp报文重组方法和装置
CN104243334B (zh) 防止链路拥塞的方法和设备
CN107547442A (zh) 数据传输缓存队列分配方法及装置
CN107547430A (zh) 一种报文发送方法及装置
CN108235379A (zh) 一种数据传输的方法及设备
CN106534048A (zh) 一种防范sdn拒绝服务攻击的方法、交换机和系统
CN106789728A (zh) 一种基于NetFPGA的VoIP流量实时识别方法
CN102158422B (zh) 一种用于二层环网中的报文转发的方法和设备
CN108377579A (zh) 无线资源控制连接的控制方法、装置、终端及存储介质
CN104160735A (zh) 发报文处理方法、转发器、报文处理设备、报文处理系统
CN110445657A (zh) 一种基于区块链的分布式组网管理系统
CN105657374B (zh) 一种自适应多网络链路实时视频传输控制系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant