网络设备中控制报文转发的方法

文档序号:7938067阅读:165来源:国知局
专利名称:网络设备中控制报文转发的方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种网络设备中控制报文转发的方法。
背景技术
RPR(RESILIENT PACKET RING,弹性分组环)网是一种新的环网,且为类似以太网的广播网络。运营商出于安全等考虑可以禁止某些节点被访问,所采用的方法是在RPR网的节点上应用一种属性叫源拒绝的属性,拒收源MAC(媒体接入控制)地址为特定值的报文。如图1所示,在节点C配置了对节点A的Source Reject(源拒绝)以后,对于源MAC地址是节点A的报文将在节点C接收到以后在物理层进行丢弃,即当路由器R1和R2分别挂在节点A和C上时,由路由器R1依次经节点A、C到达路由器R2的报文无法正常转发,而由路由器R2依次经节点C、A到达路由器R1的报文可以正常转发。
由于RPR是广播型网络,所以路由协议不能发现R1到R2的流量是不通的。此时A重启或者ARP表项(保存C的MAC地址的表项)被老化掉,由R1送给R2的报文将在节点A上产生大量ARP MISS(地址解析协议表查找失败)报文,ARP MISS报文将上送CPU,用于产生ARP请求。由于在节点C配置了源拒绝属性,节点C将丢弃来自节点A的所有报文,所以来自节点A的ARP请求报文将被节点C丢弃,并不会通知节点A,节点A将长时间无法学习到节点C的MAC地址,节点A上将继续产生大量ARPMISS报文上送CPU,并由CPU不断地发送出ARP请求报文。
大量ARP MISS报文上送CPU,将导致大量CPU资源被占用,同时对上送通道产生很大压力,进而影响其他正常业务的开展;对于流控措施不好的路由器,极易引起重启或者瘫机等灾难性故障。同时,由于CPU不断向外发送ARP请求报文,导致正常的少量ARP MISS报文可能淹没在大量A->C的ARP报文中,长时间无法学习到相应的MAC地址,导致正常报文丢包。
目前对于上述问题的解决方案一般采用以下形式如图2所示,通常是在转发引擎上,对所有的上送报文上增加分类和流控机制。分类模块一般只是简单的强报文按照种类进行分类,例如将路由协议报文和ARPMISS报文以及其他正常的控制报文区分出来;分别打不同的标签,用以区分流。流控模块中通常有两种方法1)通过对不同的流的速率监管CAR(Commited Access Rate),使用标准的漏桶算法,对各个流的速率进行限制。
2)通过将不同报文入不同优先级队列来进行控制,不同流队列之间有优先级,使用PQ(Priority Queue,优先级队列)算法来保证高优先级的报文能够得到保证,同时同一优先级之间通过RR(Round Robin,轮循算法)算法,来保证同一优先级可以得到平等地调度。
也可以综合使用上述两种方法,在ARP MISS报文流量特别大时,CAR将丢弃超过配置带宽的部分,不同优先级队列保证了其他业务报文的正常上送。
上述现有技术方案可以有效的防止大量流量对路由器CPU的冲击,避免上送报文影响重要的控制报文一一如心跳报文、路由协议报文等的上送,从而避免了瘫机事故的发生。然而,现有的技术方案不可能将ARPMISS报文再按IP地址进行分类,然后按照这个流再进行流控;因此,其他的ARP MISS报文夹杂在源拒绝引起的大量ARP MISS报文中,仍可能长时间无法上送。如果继续使用传统方法来解决该问题,只能在流分类时根据ARP MISS报文的IP地址进行详细的区分,并进行流控,这样会浪费大量的转发资源,影响到正常转发的流量。
除此之外,路由器如果没有对这种情况进行考虑,对于一般的千兆以太网(GE)端口或者百兆以太网端口(FE),也可能遭到黑客用不存在地IP地址的攻击,也会产生上述问题,从而导致路由器瘫痪等问题出现。

发明内容
本发明的目的是提供一种网络设备中控制报文转发的方法,防止网络攻击而可能出现的问题,并解决RPR网中可能出现的ARP MISS报文风暴的问题。
本发明的目的是这样实现的网络设备中控制报文转发的方法,包括
a、网络设备收到转发报文后,判断报文的目的地址是否存在于转发表中,如果存在,执行步骤c,否则,执行步骤b;b、向外发送学习该报文目的地址的请求报文,同时根据收到报文的目的地址生成一个假表项;c、判断该报文的目的地址是否为假表项中地址,如果是,则将该报文丢弃,否则,将报文进行正常转发。
所述的步骤b包括b1、网络设备产生该报文的ARP MISS(地址解析协议表查找失败)报文,并上报至网络设备CPU(中央处理器);b2、网络设备CPU向外发送学习该报文目的地址的请求报文,并生成一个针对该报文的假ARP表项。
所述的步骤b中根据收到的报文的目的地址生成一个假ARP表项后,还包括为该假ARP表项设置老化时间,并在到达老化时间时,将该假ARP表项删除。
所述的步骤b中根据收到的报文的目的地址生成一个假ARP表项后,还包括当网络设备收到ARP请求报文的响应报文后,该假ARP表项将被一个真实的ARP表项替换。
由上述技术方案可以看出,本发明采用了将网络设备收到的目的地址寻址失败的报文的生成假表项的方法,保证了同一目的地址的报文不会产生大量的目的地址寻址失败的报文上报给CPU;从而也避免了在网络中产生大量关于同一目的地址的学习目的地址请求报文。因此,本发明节省了网络设备中宝贵的硬件资源,同时,本发明的实现将不再会产生大量的学习目的地址请示报文占用过多的网络通信资源,即不会对正常转发报文产生影响。


图1为RPR网结构示意图;图2为现有RPR网中报文转发控制方案的原理示意图;图3为本发明的具体实施方式
流程图;图4为假表项存活时间处理流程图。
具体实施例方式
现结合本发明在RPR网中的应用对本发明的具体实施方式
作进一步说明,本发明的核心是在网络设备CPU(中央处理器)中的ARP模块收到一个ARP MISS报文并发送出一个AR请求以后,先生成一个假ARP表项增加至转发表中,从而使网络设备没有学习到该报文的目的MAC地址的时间段内,接收到与该ARP MISS报文目的地址相同的转发报文直接丢弃,而不再产生ARP MISS报文上送网络设备的CPU;本发明的具体实施方式
如图3所示步骤1网络设备收到转发报文后,根据转发报文的目的地址查找ARP表,并判断ARP表中是否存在与该目的地址相匹配的ARP表项,如果不存在,执行步骤2,否则,执行步骤3;
步骤2根据该报文产生ARP MISS报文上报给网络设备的CPU,并由网络设备的CPU产生一个ARP请求报文向外发送,同时根据该报文的目的地址生成一个假ARP表项;这样在网络设备中便生成了该报文的目的地址的假ARP表项,在该假ARP表项存在的时间段内,网络设备接收的与该目的地址相同的转发报文将被丢弃,而不再产生ARP MISS报文上报给网络设备的CPU;正常情况下,ARP请求报文下发给转发引擎以后,被送给对端网络设备,对端网络设备收到ARP请求报文以后会立即回送一个ARP响应报文,该ARP响应报文携带了对端网络设备端口的MAC地址信息,网络设备将根据该ARP响应报文生成一个真实的ARP表项将假ARP表项替换掉,从而保证该报文及以后收到的与该目的地址相同的报文的可以正常进行转发;为了保证在异常情况下,网络通信的正常进行,在网络设备生成假ARP表项的同时,启动一个该假ARP表项的老化定时器,设置了假ARP表项的存活时间;这样,在AR请求发送以后,即使没有ARP响应回来,该假ARP表项仍然会在经过一段时间(存活时间)后被删除,重新允许ARPMISS报文的产生和上送给CPU,又可以产生ARP请求报文,该设定时间段可以根据实际经验设置,如可以设置为几秒钟;定时器的设备原理上类似于给ARP MISS报文加了一个开关,当异常情况出现时,在设定的时间段内仅允许产生并上送一次ARP MISS报文;具体过程如图4所示,生成假ARP表项后包括
步骤21开始计时,并判断是否满足设定的存活时间,如果是,则执行步骤22,否则,执行步骤23;步骤22删除该假ARP表项;步骤23判断是否收到ARP请求报文的响应报文,如果收到,执行步骤24,否则,执行步骤21;步骤24下发正式表项(即一个真实的ARP表项)替换该假表项,并停止计时;步骤3判断与其匹配的ARP表项是否为假ARP表项,如果是,则执行步骤4,否则,执行步骤5;步骤4直接丢弃新收的转发报文,并且不产生ARP MISS报文上报网络设备的CPU;步骤5将报文进行正常转发。
本发明还可以应用于其他的防火墙等产品中,也可以进行扩展,利用插入临时表项或者标志位的方法(即生成假表项的方法)对特定的风暴攻击报文进行防护。
权利要求
1.一种网络设备中控制报文转发的方法,其特征在于包括a、网络设备收到转发报文后,判断报文的目的地址是否存在于转发表中,如果存在,执行步骤c,否则,执行步骤b;b、向外发送学习该报文目的地址的请求报文,同时根据收到报文的目的地址生成一个假表项;c、判断该报文的目的地址是否为假表项中地址,如果是,则将该报文丢弃,否则,将报文进行正常转发。
2.根据权利要求1所述的网络设备中控制报文转发的方法,其特征在于所述的步骤b包括b1、网络设备产生该报文的ARP MISS(地址解析协议表查找失败)报文,并上报至网络设备CPU(中央处理器);b2、网络设备CPU向外发送学习该报文目的地址的请求报文,并生成一个针对该报文的假ARP表项。
3.根据权利要求2所述的网络设备中控制报文转发的方法,其特征在于所述的步骤b中根据收到的报文的目的地址生成一个假ARP表项后,还包括为该假ARP表项设置老化时间,并在到达老化时间时,将该假ARP表项删除。
4.根据权利要求2所述的网络设备中控制报文转发的方法,其特征在于所述的步骤b中根据收到的报文的目的地址生成一个假ARP表项后,还包括当网络设备收到ARP请求报文的响应报文后,该假ARP表项将被一个真实的ARP表项替换。
全文摘要
本发明涉及一种网络设备中控制报文转发的方法。该方法为当网络设备收到目的地址寻址失败的报文后,向外发送学习目的地址的请求报文,并根据收到报文的目的地址生成一个假表项;然后,对于收到的目的地址寻址成功的报文的目的地址如果与该假表项中的地址匹配,则直接将该转发报文丢弃,而不作任何处理,直至该假表项被删除。本发明保证了同一目的地址的报文不会产生大量的目的地址寻址失败的报文上报给CPU,节省了网络设备中宝贵的硬件资源;同时避免了在网络中产生大量关于同一目的地址的学习目的地址请求报文,占用过多的网络通信资源,而影响正常报文的转发。
文档编号H04L12/24GK1494280SQ02150119
公开日2004年5月5日 申请日期2002年11月2日 优先权日2002年11月2日
发明者刘少伟 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1