CN102624628A - 一种家庭网关及其实现数据包快速转发的方法 - Google Patents
一种家庭网关及其实现数据包快速转发的方法 Download PDFInfo
- Publication number
- CN102624628A CN102624628A CN2012100777533A CN201210077753A CN102624628A CN 102624628 A CN102624628 A CN 102624628A CN 2012100777533 A CN2012100777533 A CN 2012100777533A CN 201210077753 A CN201210077753 A CN 201210077753A CN 102624628 A CN102624628 A CN 102624628A
- Authority
- CN
- China
- Prior art keywords
- cpu
- packet
- routing rule
- data packet
- home gateway
- 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
本发明提供了一种家庭网关及其实现数据包快速转发的方法,所述方法包括步骤:启动第二CPU的数据包快速转发功能;在家庭网关接收到新的数据包时,将该数据包先发送给第二CPU;第二CPU对所接收到的数据包的类型进行识别并判断该数据类型是否已被编码,若已被编码,则获取所存储的对应路由规则,并据此直接转发当前的数据包至交换机;若未被编码,则将当前的数据包发送至第一CPU;第一CPU对所接收到的数据包进行编码排序,并将当前的数据包通过协议栈按序转发至交换机;同时,记录当前数据包的编码信息及该数据包在协议栈中的路由规则并交由第二CPU存储。本发明大大提高了数据包的转发速度,且实现成本较低。
Description
技术领域
本发明涉及数据通信技术领域,尤其涉及一种家庭网关及其实现数据包快速转发的方法。
背景技术
随着网络技术的飞速发展,家庭网关设备的种类越来越多,而人们对家庭网关产品的性能要求也越来越高。传统的家庭网关中数据包的转发方式都是要通过家庭网关的cpu,进入到linux的协议栈进行转发,数据包通过家庭网关时,要经过很多路径和相关的规则匹配,这样就会消耗大量的时间,尤其是一些类型相同的数据包短时间内需要多次转发的情况下,大量的数据包占用比较大的系统资源的同时,不必要的重复的匹配过程也会严重影响数据包转发的频率和网关的性能。如果能想到一个将这些类型相同的数据包快速的进行转发的方法,则提高了家庭网关设备的性能。现有技术中有采用软件进行加速的方式,但是占用cpu资源的问题还是解决不了,cpu占用率过高,反而会影响到数据转发的速度。有些也会在部分设备如交换机上增加加速功能,但现在网关对交换机要求也更高,需要千兆,交换机芯片自已的处理已不够用了,难以承受加速带来的压力。而且这种设计扩展性不大,往往处理能力有限,无法满足现有的网络发展需要。
发明内容
本发明的目的在于提供一种家庭网关及其实现数据包快速转发的方法,提高数据包的转发速度,提高家庭网关的工作性能。
本发明的目的是通过以下技术方案实现的。
一种家庭网关,包括第一CPU,还包括第二CPU;
所述第二CPU,用于首先接收来自网络的数据包,对该数据包的类型进行识别并判断该数据类型是否已被编码,若已被编码,则获取所存储的对应路由规则并据此直接将当前数据包转发至交换机;若未被编码,则将当前数据包发送至第一CPU;
所述第一CPU,用于接收第二CPU发送来的数据包,对该数据包进行编码排序并通过协议栈转发至交换机;同时,记录当前数据包的编码信息及路由规则并交由第二CPU存储。
其中,所述第一CPU,还用于对当前数据流量进行统计,在当前数据流量超过预设阈值时将所记录的编码信息及路由规则交由第二CPU存储。
其中,所述第二CPU还用于采用延时删除方式来定时整理所存储的路由规则对应表。
其中,所述第二CPU包括数据包输入接口、数据包输出接口及路由规则存储器;所述路由规则存储器用于存储数据包的编码信息及对应的路由规则。
一种如上所述家庭网关的实现数据包快速转发的方法,包括步骤:
在家庭网关接收到新的数据包时,将该数据包先发送给第二CPU;
第二CPU对所接收到的数据包的类型进行识别并判断该数据类型是否已被编码,若已被编码,则获取所存储的对应路由规则,并据此直接转发当前的数据包至交换机;若未被编码,则将当前的数据包发送至第一CPU;
第一CPU对所接收到的数据包进行编码排序,并将当前的数据包通过协议栈按序转发至交换机;同时,记录当前数据包的编码信息及该数据包在协议栈中的路由规则并交由第二CPU存储。
其中,第一CPU在将编码信息及路由规则交由第二CPU存储之前,先对当前数据流量进行统计,在当前数据流量超过预设阈值时再将当前记录的编码信息及路由规则交由第二CPU存储。
其中,还包括:第二CPU定时整理所存储的路由规则对应表。
其中,所述路由规则对应表中的表项采用延时删除方式整理。
与现有技术相比,本发明实施例具有以下有益效果。
与现有的家庭网关相比,本发明增加了一个低成本的CPU(称为第二CPU),专用于数据转发:家庭网关在接收到来自网络的数据包后,第二CPU对该数据包与本地存储的路由规则进行匹配,若匹配成功,则直接从交换机转发;若匹配不成功,则交由第一CPU,由CPU通过协议栈进行转发,同时记录下路由规则,这样下次再有相同类型的数据包通过时就可以直接通过第二CPU转发了。通过这种方式达到硬件加速的目的,在加速的过程中不占用主CPU的资源,大大提高了数据包的转发速度;且由于第二CPU仅用来实现数据转发功能,因而对其要求并不高,实现成本较低。
附图说明
图1是本发明实施例提供的家庭网关实现数据包快速转发的方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本实施例中,家庭网关中已有的CPU称为主CPU,增加的CPU称为加速CPU。如图1所示,实现数据包快速转发的方法,借助家庭网关中加速CPU对数据包进行路由规则匹配过程来实现,关键是:在家庭网关的加速CPU中增设数据包输入、输出接口以及路由规则存储器,在此基础上进行如下步骤。
101、家庭网关接收来自网络的数据包。
102、将数据包发送给加速CPU。
103、加速CPU对所接收到的数据包的类型进行识别,并判断该数据类型是否已被编码,若已被编码,则执行步骤104;若未被编码,则执行步骤105。
104、加速CPU依据编码序号从路由规则存储器中查找存储的对应的路由规则,匹配成功后直接由加速CPU输出接口输出当前数据包,之后执行步骤107。
105、加速CPU将当前数据包转发至主CPU,并执行步骤106。
106、主CPU对所接收到的数据包进行编码排序,并将数据包转发给协议栈,通过协议栈输出数据包;与此同时,记录此数据包的编码信息及其在协议栈中的路由规则并将记录信息交由加速CPU,加速CPU将信息存储在路由规则存储器中,用以下次相同类型数据包转发时用。
107、等待接收下一个数据包。
在上述流程中,主CPU在通过linux协议栈进行转发数据包的同时还可统计当前数据流量,如果当前数据流量超过预设阈值,则将记录的编码信息及路由规则交由加速CPU存储,这样之后可通过加速CPU 来转发相同类型的数据包,减轻主CPU的压力;如果当前数据流量未超过预设阈值,说明主CPU的数据包转发速度已满足使用需求,则不必将路由规则等信息发送给加速CPU,而一直通过主CPU转发数据包即可。
本发明在具体实施时,数据包进来后就与路由规则存储器中存储的路由规则进行匹配,如果能够匹配成功,则直接从加速CPU中进行转发,如果匹配不成功,则将进入linux协议栈,通过linux协议栈进行转发,并将这个路由规则记录到路由规则存储器的规则表中,下次再有相同类型的数据包通过时,就可以直接通过加速CPU转发了。如果经过一段时间没有相关的数据包通过,相关的规则将会超时并从规则表中删除,由于加速CPU在数据包转发的开始阶段,所以匹配的规则不能太多,太多的话查找时间会很长,加大存储器的负荷,这样反而影响性能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种家庭网关,包括第一CPU,其特征在于,还包括第二CPU;
所述第二CPU,用于首先接收来自网络的数据包,对该数据包的类型进行识别并判断该数据类型是否已被编码,若已被编码,则获取所存储的对应路由规则并据此直接将当前数据包转发至交换机;若未被编码,则将当前数据包发送至第一CPU;
所述第一CPU,用于接收第二CPU发送来的数据包,对该数据包进行编码排序并通过协议栈转发至交换机;同时,记录当前数据包的编码信息及路由规则并交由第二CPU存储。
2.如权利要求1所述的家庭网关,其特征在于,所述第一CPU,还用于对当前数据流量进行统计,在当前数据流量超过预设阈值时将所记录的编码信息及路由规则交由第二CPU存储。
3.如权利要求1或2所述的家庭网关,其特征在于,所述第二CPU还用于采用延时删除方式来定时整理所存储的路由规则对应表。
4.如权利要求1所述的家庭网关,其特征在于,所述第二CPU包括数据包输入接口、数据包输出接口及路由规则存储器;所述路由规则存储器用于存储数据包的编码信息及对应的路由规则。
5.一种家庭网关实现数据包快速转发的方法,其特征在于,该方法包括步骤:
在家庭网关接收到新的数据包时,将该数据包先发送给第二CPU;
第二CPU对所接收到的数据包的类型进行识别并判断该数据类型是否已被编码,若已被编码,则获取所存储的对应路由规则,并据此直接转发当前的数据包至交换机;若未被编码,则将当前的数据包发送至第一CPU;
第一CPU对所接收到的数据包进行编码排序,并将当前的数据包通过协议栈按序转发至交换机;同时,记录当前数据包的编码信息及该数据包在协议栈中的路由规则并交由第二CPU存储。
6.如权利要求5所述的实现数据包快速转发的方法,其特征在于,该方法中,第一CPU在将编码信息及路由规则交由第二CPU存储之前,先对当前数据流量进行统计,在当前数据流量超过预设阈值时再将当前记录的编码信息及路由规则交由第二CPU存储。
7.如权利要求5或6所述的实现数据包快速转发的方法,其特征在于,该方法还包括:第二CPU定时整理所存储的路由规则对应表。
8.如权利要求7所述的实现数据包快速转发的方法,其特征在于,所述路由规则对应表中的表项采用延时删除方式整理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210077753.3A CN102624628B (zh) | 2012-03-22 | 2012-03-22 | 一种家庭网关及其实现数据包快速转发的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210077753.3A CN102624628B (zh) | 2012-03-22 | 2012-03-22 | 一种家庭网关及其实现数据包快速转发的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102624628A true CN102624628A (zh) | 2012-08-01 |
CN102624628B CN102624628B (zh) | 2016-12-14 |
Family
ID=46564319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210077753.3A Active CN102624628B (zh) | 2012-03-22 | 2012-03-22 | 一种家庭网关及其实现数据包快速转发的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102624628B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104683228A (zh) * | 2015-02-10 | 2015-06-03 | 海南宝通实业公司 | 一种基于fpga的数字交换机媒体网关实现方法 |
CN107515813A (zh) * | 2017-09-07 | 2017-12-26 | 杭州安恒信息技术有限公司 | 一种基于分布式的模块化日志处理方法、装置及系统 |
CN107682267A (zh) * | 2017-09-21 | 2018-02-09 | 烽火通信科技股份有限公司 | Linux设备的网络数据转发方法及系统 |
CN111555973A (zh) * | 2020-04-28 | 2020-08-18 | 深圳震有科技股份有限公司 | 一种基于5g数据转发平面的数据包转发方法及装置 |
CN114024887A (zh) * | 2021-11-10 | 2022-02-08 | 北京天融信网络安全技术有限公司 | 转发表项的处理方法、装置、设备及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110224932B (zh) * | 2019-05-06 | 2021-06-15 | 烽火通信科技股份有限公司 | 一种数据快速转发的方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158419A (zh) * | 2011-05-23 | 2011-08-17 | 深圳市共进电子有限公司 | 在家庭网关中实现数据包加速转发的方法 |
-
2012
- 2012-03-22 CN CN201210077753.3A patent/CN102624628B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158419A (zh) * | 2011-05-23 | 2011-08-17 | 深圳市共进电子有限公司 | 在家庭网关中实现数据包加速转发的方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104683228A (zh) * | 2015-02-10 | 2015-06-03 | 海南宝通实业公司 | 一种基于fpga的数字交换机媒体网关实现方法 |
CN104683228B (zh) * | 2015-02-10 | 2018-07-24 | 海南宝通实业公司 | 一种基于fpga的数字交换机媒体网关实现方法 |
CN107515813A (zh) * | 2017-09-07 | 2017-12-26 | 杭州安恒信息技术有限公司 | 一种基于分布式的模块化日志处理方法、装置及系统 |
CN107515813B (zh) * | 2017-09-07 | 2021-04-09 | 杭州安恒信息技术股份有限公司 | 一种基于分布式的模块化日志处理方法、装置及系统 |
CN107682267A (zh) * | 2017-09-21 | 2018-02-09 | 烽火通信科技股份有限公司 | Linux设备的网络数据转发方法及系统 |
CN107682267B (zh) * | 2017-09-21 | 2020-04-28 | 烽火通信科技股份有限公司 | Linux设备的网络数据转发方法及系统 |
CN111555973A (zh) * | 2020-04-28 | 2020-08-18 | 深圳震有科技股份有限公司 | 一种基于5g数据转发平面的数据包转发方法及装置 |
CN114024887A (zh) * | 2021-11-10 | 2022-02-08 | 北京天融信网络安全技术有限公司 | 转发表项的处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102624628B (zh) | 2016-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102624628A (zh) | 一种家庭网关及其实现数据包快速转发的方法 | |
CN101009516B (zh) | 一种进行数据同步的方法、系统及装置 | |
CN102144369A (zh) | 在无线通信系统中产生媒体访问控制协议数据单元的装置及方法 | |
CN104052667A (zh) | 报文处理方法及设备 | |
CN102158419B (zh) | 在家庭网关中实现数据包加速转发的方法 | |
CN103532784A (zh) | 一种发送心跳消息的方法、系统、终端及网络设备 | |
CN102196591A (zh) | 移动终端并行传输数据的方法和移动终端 | |
CN103024008A (zh) | 物联网中数据传输的方法、设备和系统 | |
CN101796779A (zh) | 聚合数据帧的生成 | |
CN102123471A (zh) | 一种物联网的末端网络及其渗流数传方法 | |
KR101092478B1 (ko) | 이종 링크 상에서의 패킷 전송 방법 및 그 시스템 | |
CN103685028A (zh) | 多类型端口相互通信的方法及装置 | |
CN102811338A (zh) | 一种视频会议系统中多级回传视频信号的控制方法及装置 | |
CN110971533B (zh) | 用于数据通信的方法、服务器装置、客户端装置和介质 | |
CN103391230A (zh) | 通讯接口转换装置、系统及方法 | |
JP5509802B2 (ja) | 無線通信システム、無線通信装置、無線通信方法、およびプログラム | |
CN100576787C (zh) | 一种在维护终端与后台设备之间进行大数据量安全传送的方法 | |
CN102868775A (zh) | 地址解析协议表容量的扩展方法、报文转发方法和装置 | |
CN106027409B (zh) | 一种交换机负载均衡输出方法和装置 | |
CN102137086A (zh) | 数据传输处理方法、装置及系统 | |
CN106900024A (zh) | 用于数传电台自组网超远程数据传输的战术通信方法 | |
CN102694727A (zh) | 实现网络数据包转发加速的方法及装置 | |
CN102497306A (zh) | 一种配网子站实现数据传输的方法和系统 | |
CN109450810A (zh) | 识别冗余消息的方法及装置 | |
CN104348835B (zh) | 一种报文传输方法、自助设备及报文传输系统 |
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 |