CN102624628B - 一种家庭网关及其实现数据包快速转发的方法 - Google Patents

一种家庭网关及其实现数据包快速转发的方法 Download PDF

Info

Publication number
CN102624628B
CN102624628B CN201210077753.3A CN201210077753A CN102624628B CN 102624628 B CN102624628 B CN 102624628B CN 201210077753 A CN201210077753 A CN 201210077753A CN 102624628 B CN102624628 B CN 102624628B
Authority
CN
China
Prior art keywords
packet
cpu
routing rule
encoded
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.)
Active
Application number
CN201210077753.3A
Other languages
English (en)
Other versions
CN102624628A (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.)
Shenzhen Gongjin Electronics Co Ltd
Original Assignee
Shenzhen Gongjin Electronics 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 Shenzhen Gongjin Electronics Co Ltd filed Critical Shenzhen Gongjin Electronics Co Ltd
Priority to CN201210077753.3A priority Critical patent/CN102624628B/zh
Publication of CN102624628A publication Critical patent/CN102624628A/zh
Application granted granted Critical
Publication of CN102624628B publication Critical patent/CN102624628B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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 (3)

1.一种家庭网关,包括第一CPU,其特征在于,还包括第二CPU;
所述第二CPU,用于首先接收来自网络的数据包,对该数据包的类型进行识别并判断该数据类型是否已被编码,若已被编码,则获取所存储的对应路由规则并据此直接将当前数据包转发至交换机;若未被编码,则将当前数据包发送至第一CPU;
所述第一CPU,用于接收第二CPU发送来的数据包,对该数据包进行编码排序并通过协议栈转发至交换机;同时,记录当前数据包的编码信息及路由规则;
所述第二CPU还用于采用延时删除方式来定时整理所存储的路由规则对应表;
所述第一CPU,还用于对当前数据流量进行统计,在当前数据流量超过预设阈值时将所记录的编码信息及路由规则交由第二CPU存储。
2.如权利要求1所述的家庭网关,其特征在于,所述第二CPU包括数据包输入接口、数据包输出接口及路由规则存储器;所述路由规则存储器用于存储数据包的编码信息及对应的路由规则。
3.一种家庭网关实现数据包快速转发的方法,其特征在于,该方法包括步骤:
在家庭网关接收到新的数据包时,将该数据包先发送给第二CPU;
第二CPU对所接收到的数据包的类型进行识别并判断该数据类型是否已被编码,若已被编码,则获取所存储的对应路由规则,并据此直接转发当前的数据包至交换机;若未被编码,则将当前的数据包发送至第一CPU;
第一CPU对所接收到的数据包进行编码排序,并将当前的数据包通过协议栈按序转发至交换机;同时,记录当前数据包的编码信息及该数据包在协议栈中的路由规则;
第二CPU定时整理所存储的路由规则对应表;
所述路由规则对应表中的表项采用延时删除方式整理;
第一CPU在将编码信息及路由规则交由第二CPU存储之前,先对当前数据流量进行统计,在当前数据流量超过预设阈值时再将当前记录的编码信息及路由规则交由第二CPU存储。
CN201210077753.3A 2012-03-22 2012-03-22 一种家庭网关及其实现数据包快速转发的方法 Active CN102624628B (zh)

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 CN102624628A (zh) 2012-08-01
CN102624628B true 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110224932A (zh) * 2019-05-06 2019-09-10 烽火通信科技股份有限公司 一种数据快速转发的方法及系统

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104683228B (zh) * 2015-02-10 2018-07-24 海南宝通实业公司 一种基于fpga的数字交换机媒体网关实现方法
CN107515813B (zh) * 2017-09-07 2021-04-09 杭州安恒信息技术股份有限公司 一种基于分布式的模块化日志处理方法、装置及系统
CN107682267B (zh) * 2017-09-21 2020-04-28 烽火通信科技股份有限公司 Linux设备的网络数据转发方法及系统
CN111555973B (zh) * 2020-04-28 2022-11-15 深圳震有科技股份有限公司 一种基于5g数据转发平面的数据包转发方法及装置
CN114024887B (zh) * 2021-11-10 2024-06-14 北京天融信网络安全技术有限公司 转发表项的处理方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102158419A (zh) * 2011-05-23 2011-08-17 深圳市共进电子有限公司 在家庭网关中实现数据包加速转发的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102158419A (zh) * 2011-05-23 2011-08-17 深圳市共进电子有限公司 在家庭网关中实现数据包加速转发的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110224932A (zh) * 2019-05-06 2019-09-10 烽火通信科技股份有限公司 一种数据快速转发的方法及系统
CN110224932B (zh) * 2019-05-06 2021-06-15 烽火通信科技股份有限公司 一种数据快速转发的方法及系统

Also Published As

Publication number Publication date
CN102624628A (zh) 2012-08-01

Similar Documents

Publication Publication Date Title
CN102624628B (zh) 一种家庭网关及其实现数据包快速转发的方法
CN101009516B (zh) 一种进行数据同步的方法、系统及装置
CN102946356B (zh) 一种基于cb-pe网络的组播报文传输方法和设备
RU2486677C2 (ru) Многоуровневая фильтрация сообщений
CN103647869B (zh) 一种终端的配对方法、终端及系统
CN102158419B (zh) 在家庭网关中实现数据包加速转发的方法
CN106953909B (zh) 一种物联网卡智能充值监控系统和控制方法
CN103002415A (zh) 一种通过短信发送验证码的方法和装置
CN101789905A (zh) 防止未知组播攻击cpu的方法和设备
EP3160190B1 (en) Access authentication method and system
US20150088995A1 (en) Method and apparatus for sharing contents using information of group change in content oriented network environment
CN105939297A (zh) 一种tcp报文重组方法和装置
CN109379764B (zh) 报文发送方法及装置
CN107870982A (zh) 数据处理方法、系统和计算机可读存储介质
CN102811338A (zh) 一种视频会议系统中多级回传视频信号的控制方法及装置
US9350606B2 (en) System and method for assigning server to terminal and efficiently delivering messages to the terminal
CN108259348B (zh) 一种报文传输方法和装置
CN113992654A (zh) 一种高速的文件传输方法、系统、设备及介质
JP6929946B2 (ja) データ伝送方法、装置、送信端、受信端及びシステム
CN102377688B (zh) 一种文件的传输方法和设备
CN104079623A (zh) 多级云存储同步控制方法及系统
CN104363171A (zh) 一种用户报文的转发控制方法以及处理节点
CN100359891C (zh) 一种通过缓存提高多媒体消息中心业务处理性能的方法
KR101744317B1 (ko) 서버 장치 및 위치 변화를 관리하는 방법
US10009265B2 (en) Communication control apparatus, communication control method, communication system, and recording medium

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