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

技术编号:7642562 阅读:248 留言:0更新日期:2012-08-04 20:42
本发明专利技术提供了一种家庭网关及其实现数据包快速转发的方法,所述方法包括步骤:启动第二CPU的数据包快速转发功能;在家庭网关接收到新的数据包时,将该数据包先发送给第二CPU;第二CPU对所接收到的数据包的类型进行识别并判断该数据类型是否已被编码,若已被编码,则获取所存储的对应路由规则,并据此直接转发当前的数据包至交换机;若未被编码,则将当前的数据包发送至第一CPU;第一CPU对所接收到的数据包进行编码排序,并将当前的数据包通过协议栈按序转发至交换机;同时,记录当前数据包的编码信息及该数据包在协议栈中的路由规则并交由第二CPU存储。本发明专利技术大大提高了数据包的转发速度,且实现成本较低。

【技术实现步骤摘要】
一种家庭网关及其实现数据包快速转发的方法
本专利技术涉及数据通信
,尤其涉及一种家庭网关及其实现数据包快速转发的方法。
技术介绍
随着网络技术的飞速发展,家庭网关设备的种类越来越多,而人们对家庭网关产品的性能要求也越来越高。传统的家庭网关中数据包的转发方式都是要通过家庭网关的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在数据包转发的开始阶段,所以匹配的规则不能太多,太多的话查找时间会很长,加大存储器的负荷,这样反而影响性能。以上所述仅为本专利技术的较佳实施例而已,并不用以限制本专利技术,凡在本专利技术的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本专利技术的保护范围之内。本文档来自技高网...
一种家庭网关及其实现数据包快速转发的方法

【技术保护点】

【技术特征摘要】
1.一种家庭网关,包括第一CPU,其特征在于,还包括第二CPU;所述第二CPU,用于首先接收来自网络的数据包,对该数据包的类型进行识别并判断该数据类型是否已被编码,若已被编码,则获取所存储的对应路由规则并据此直接将当前数据包转发至交换机;若未被编码,则将当前数据包发送至第一CPU;所述第一CPU,用于接收第二CPU发送来的数据包,对该数据包进行编码排序并通过协议栈转发至交换机;同时,记录当前数据包的编码信息及路由规则;所述第二CPU还用于采用延时删除方式来定时整理所存储的路由规则对应表;所述第一CPU,还用于对当前数据流量进行统计,在当前数据流量超过预设阈值时将所记录的编码信息及路由规则交由第二CPU存储。2.如权利要求1所述的家庭网关,其特征在于,所述第二CPU包括数据包输入接口、数据包输出接口及路由规则存储器;所述路由规则存储器用于存储数据...

【专利技术属性】
技术研发人员:胡一报王金桂
申请(专利权)人:深圳市共进电子股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术