一种防止由于地址老化时间不一致导致网络中断的方法

文档序号:7627469阅读:182来源:国知局
专利名称:一种防止由于地址老化时间不一致导致网络中断的方法
技术领域
本发明涉及一种防止由于端口MAC(媒体访问层地址)地址和ARP老化时间不一致导致网络管理中断的方法,尤其涉及的是一种通讯领域中网络交换设备在级联组网时解决由于端口MAC地址和ARP老化时间不一致导致网络中断的方法。
背景技术
以下关于现有技术中的相关背景知识进行说明一、ARP缓存表和ARP老化时间ARP协议是“Address ResolutionProtocol”(地址解析协议)的缩写,所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的。
ARP缓存表采用了老化机制,在一段时间内如果表中的某一项没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,并加快查询速度。如果没有老化机制,则在ARP缓存表中的表项会越来越多,而ARP缓存表的容量是有限的。这样如果存在很多已经不处于激活状态的项,会导致后来学到的项无法保存在该表中,影响系统的正常运行。另外,ARP缓存表中无用项太多也会影响查询效率,因此一般的ARP老化时间为20分钟。
二、端口MAC地址的学习和老化时间网络设备中各端口具有自动学习MAC地址的功能,通过端口发送和接收的帧的源地址,包括源MAC地址、网络设备端口号,存储到MAC地址表中。
老化时间是一个影响网络设备学习进程的参数,从一个地址记录加入地址表以后开始计时,如果在老化时间内各端口未收到源地址为该MAC地址的帧,那么,这些地址将从动态转发地址表(即包括源MAC地址、目的MAC地址和它们相对应的网络设备的端口号)中被删除。该老化机制的形成和ARP缓存表老化机制的原因是相同的,都是为了能够使系统在功能和性能上得到提升。
三、二层交换的“未知单播包转发”功能当网络设备从某个端口收到一个数据包,它读取包头中的目的MAC地址,并在MAC地址表中查找相应的端口;如果表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上;如果表中找不到相应的端口,则把数据包广播到所有端口上,当目的机器对源机器回应时,网络设备又可以学习一目的MAC地址与哪个端口对应,并在下次传送数据时就不再需要对所有端口进行广播了。这就是“未知单播包转发(forward unknow)”功能。
该功能提高了网络设备转发数据包的能力,能够尽最大可能的转发数据包。但这个功能也带来了一个问题,如果网络设备所处的网络中出现环路,则会导致数据包的“洪泛”,会造成网络的阻塞和对网络设备造成冲击。因此在很多网络设备中,该功能是被关闭的。
四、当端口MAC地址和ARP老化时间不同时,就会存在以下问题在一个局域网中,典型的组网拓扑中可能会存在多个网络设备级联的组网情况,如图1所示。而在网络设备中,ARP老化时间和端口MAC地址老化时间并不相同,通常ARP老化时间会大于端口MAC地址的老化时间。PC机上ARP老化时间也会长于网络设备端口MAC地址老化时间。
由于ARP老化时间大于端口MAC地址老化时间,这样便出现了一个问题当PC机要向网络设备2发送一个单播包时,单播包中目的MAC地址填充的是网络设备2的MAC地址,当该单播包发送到网络设备1时,网络设备1如果学习的网络设备2的MAC地址老化了,并且网络设备1又没有打开“转发未知单播包”功能,则会将该单播包丢弃,从而该单播包就不会到达网络设备2。
这种情况的实际应用是在通讯业务提供者的网络管理人员在对网络设备进行管理时,在pc机运行网管软件,此时网络设备2是需要管理的网络设备。如果出现了上述的原因,直接的体现就是网管软件和网络设备的连接中断,无法管理该网络设备。
由于ARP老化时间会长于端口MAC地址的老化时间,因此会导致上述的问题。
目前的解决方法是将网络中的各种设备的ARP老化时间和端口MAC地址老化时间修改为相同值。但这种解决方法有以下几个缺点如果延长端口MAC地址的老化时间和ARP老化时间相同,则会导致网络设备交换性能的降低;而如果要把ARP老化时间减小到和端口MAC地址老化时间相同,则会导致网络中地址解析协议请求包ARP Req广播包太多,会影响整个网络的性能。很多网络设备并不允许把端口MAC地址老化时间设置太长时间;很多网络设备或者网络设备并不支持ARP老化时间的修改功能;或即使支持修改ARP老化时间,在网络中网络设备和计算机数量太多时,并且很多计算机是属于客户使用的计算机,也不能保证所有的网络设备和计算机都能进行修改,保证一致。
正由于这种方法存在现有的缺点,因此需要考虑采取一种更容易实现的方法来解决这个问题。

发明内容
本发明的目的是为了解决目前组网中由于ARP地址老化时间和端口地址老化时间不一致时,导致网管连接中断的问题,而提出的一种解决由于地址老化时间不一致导致网络中断的方法。
本发明的技术方案如下
一种解决由于地址老化时间不一致导致网络中断的方法,其包括步骤A、在网络设备中增加一个功能模块,周期性获取该网络设备中路由表中的所有下一跳网关的信息,并主动向这些下一跳网关发送地址解析协议请求包报文,这些报文中携带本网络设备的MAC地址;B、所述地址解析协议请求包报文发送给和该网络设备相连的其他网络设备,以使其他网络设备学习到本网络设备的MAC地址,所述发送地址解析协议请求包报文的时间间隔短于该网络设备端口MAC地址的老化时间。
所述的方法,其中,还具体包括步骤A1、获取本网络设备路由表中下一跳网关的地址列表;B1、判断是否获取到下一跳网关地址,如果没有获取到,则等待一预定时间后重复步骤A1;C1、如果获取到下一跳网关地址,则按照顺序对每一个地址进行下面的处理。
所述的方法,其中,所述步骤C1还包括C11、对下一跳网关的IP地址,创建地址解析协议请求包报文,目的IP地址填入该下一跳网关的IP地址;源IP地址和源MAC地址填入本系统的IP地址和MAC地址;目的MAC地址填入广播MAC地址;C12、将该地址解析协议请求包报文在本网络设备的物理端口发送到网络上。
所述的方法,其中,所述等待一预定时间的选择策略为预定时间×本系统中能够容纳的最多的下一跳网关个数<MAC地址老化时间。
本发明所提供的一种解决由于地址老化时间不一致导致网络中断的方法,由于采用能够使得网络设备避免和网管计算机连接中断故障的方案,并且不修改ARP老化时间,也不修改端口MAC地址老化时间,仅仅定期发送ARP Req(地址解析协议请求)数据包,通过选择合适的时间间隔,对网络的性能,功能等几乎没有影响,并使得网络设备在实际的组网应用中更加灵活,增加了网络设备的适应性和灵活性,降低了网络管理和故障处理的复杂性。


图1为现有技术的网络组网拓扑示意图;图2为本发明方法的处理流程图。
具体实施例方式
以下结合附图,将对本发明的各较佳实施例进行较为详细的说明。
在本发明方法中,使用的是网络设备路由表中包含的下一跳网关信息,以用来解决ARP老化时间和端口MAC地址老化时间不同时,导致的网管连接中断的问题。
本发明方法须在网络设备中增加一个功能模块,以能够周期性的获取网络设备中路由表中的所有下一跳网关的信息,并主动向这些下一跳网关发送ARP Req报文,这些报文中会携带本网络设备的MAC地址,发送给和网络设备相连的其他网络设备,从而可以使得其他网络设备学习到本网络设备的MAC地址。如果发送ARP Req的时间间隔短于端口MAC地址老化时间,则能够保证其他网络设备不会老化本网络设备的MAC地址,这样就可以保证其他的网络设备能够把应该发送给本网络设备的数据包正确的转发给本网络设备。
本发明方法的处理流程如图2所示的,具体描述如下首先,获取本网络设备路由表中下一跳网关的地址列表。定期获取是为了保证在网络设备更新了路由表信息后,能够采用新的信息。定期获取还为了防止频繁获取下一跳信息导致对系统性能的影响。
其次,判断是否获取到下一跳网关地址如果没有获取到,则说明本系统中尚未配置下一跳信息,获知动态路由协议尚未获取到动态的路由信息,等待一段时间,例如5秒,再次重复前一步骤。等待一段时间的目的是,防止在系统没有路由信息时,不停进行前一步骤,导致占用太多系统资源的问题。
再次,如果获取到下一跳网关地址,则按照顺序对每一个地址进行下面的处理。
对下一跳网关的IP地址,创建ARP Req数据包,目的IP地址填入下一跳网关的IP地址;源IP地址和源MAC地址填入本系统的IP地址和MAC地址;目的MAC地址填入广播MAC地址。
将ARP Req在本网络设备适当的物理端口发送到网络上,选择适当的物理端口是网络设备所固有的功能,也是网络设备的基本功能,此不在本方法描述之列,已为现有技术所公知。而创建ARP Req数据包在所有支持TCP/IP协议栈的系统中也都有现成的函数可以调用,实现方法也不在本方法的描述之列。
等待一段时间等待一段时间的目的是为了在每次发送ARP Req消息之间能够使系统处理其他的任务。也防止短时间大量发送ARPReq消息对网络造成冲击。该时间的选择策略为时间(t)×本系统中能够容纳的最多的下一跳网关个数<MAC地址老化时间。一般系统的老化时间为120秒左右。因此,如果系统中容纳的最大下一跳网关个数为20,则推荐的t为5秒。这样的时间,可以保证每一个下一跳网关都能够在最长100秒时间内收到本系统发送的ARP Req消息,从而更新这些设备的Mac地址表。
虽然上述描述了本发明方法的具体实施例,然而本领域的技术人员会理解,在不偏离本发明宗旨和范围的前提下可以进行各种形式和细节的修改和改进,而所有这些修改和改进都应属于本发明的专利保护范围。
权利要求
1.一种解决由于地址老化时间不一致导致网络中断的方法,其包括步骤A、在网络设备中增加一个功能模块,周期性获取该网络设备中路由表中的所有下一跳网关的信息,并主动向这些下一跳网关发送地址解析协议请求包报文,这些报文中携带本网络设备的媒体访问层地址;B、所述地址解析协议请求包报文发送给和该网络设备相连的其他网络设备,以使其他网络设备学习到本网络设备的媒体访问层地址,所述发送地址解析协议请求包报文的时间间隔短于该网络设备端口媒体访问层地址的老化时间。
2.根据权利要求1所述的方法,其特征在于,还具体包括步骤A1、获取本网络设备路由表中下一跳网关的地址列表;B1、判断是否获取到下一跳网关地址,如果没有获取到,则等待一预定时间后重复步骤A1;C1、如果获取到下一跳网关地址,则按照顺序对每一个地址进行下面的处理。
3.根据权利要求2所述的方法,其特征在于,所述步骤C1还包括C11、对下一跳网关的IP地址,创建地址解析协议请求包报文,目的IP地址填入该下一跳网关的IP地址;源IP地址和源媒体访问层地址填入本系统的IP地址和媒体访问层地址;目的媒体访问层地址填入广播媒体访问层地址;C12、将该地址解析协议请求包报文在本网络设备的物理端口发送到网络上。
4.根据权利要求3所述的方法,其特征在于,所述等待一预定时间的选择策略为预定时间×本系统中能够容纳的最多的下一跳网关个数<媒体访问层地址老化时间。
全文摘要
本发明公开了一种防止由于地址老化时间不一致导致网络中断的方法,其包括步骤在网络设备中增加一个功能模块,周期性获取该网络设备中路由表中的所有下一跳网关的信息,并主动向这些下一跳网关发送地址解析协议请求包报文,这些报文中携带本网络设备的MAC地址;所述地址解析协议请求包报文发送给和该网络设备相连的其他网络设备,以使其他网络设备学习到本网络设备的MAC地址,所述发送地址解析协议请求包报文的时间间隔短于该网络设备端口MAC地址的老化时间。本发明方法通过选择合适的时间间隔,对网络的性能,功能等几乎没有影响,并使得网络设备在实际的组网应用中更加灵活,降低了网络管理和故障处理的复杂性。
文档编号H04L29/06GK1992672SQ20051012137
公开日2007年7月4日 申请日期2005年12月27日 优先权日2005年12月27日
发明者王峰 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1