IPv6主机路由表项动态更新方法和以太网交换的制造方法

文档序号:7775496阅读:232来源:国知局
IPv6主机路由表项动态更新方法和以太网交换的制造方法
【专利摘要】本发明公开了一种IPv6主机路由表项动态更新方法和以太网交换机。所述IPv6主机路由表项动态更新方法包括:根据IPv6主机路由表中的IPv6主机路由表项监测邻居节点是否离线;当监测到邻居节点离线时,将离线邻居节点在IPv6主机路由表中对应的表项删除。本发明公开的IPv6主机路由表项动态更新方法和以太网交换机可以防止IPv6主机路由表被无效的IPv6主机路由表项占据,因而提高了以太网交换机的IPv6主机路由表的利用率。
【专利说明】IPv6主机路由表项动态更新方法和以太网交换机
【技术领域】
[0001]本发明涉及计算机网络【技术领域】,尤其涉及IPv6主机路由表项动态更新方法和以太网交换机。
【背景技术】
[0002]以太网交换机内部存储有IPv6主机路由表,其中含有IPv6主机路由表项和网段路由表项。IPv6主机路由表项指的是目的128位的路由表项(如2001::1下一跳),网段路由表项指的是前缀长度小于128位的路由表项(2001::/32下一跳)。在目前的大部分实现中,IPv6主机路由表项一般通过IPv6邻居表项生成并下发到以太网交换机的交换芯片中。
[0003]当节点获取到一个IPv6地址后,需要使用重复地址检测功能确定该地址是否已被其他节点使用。通过邻居请求消息(Neighbor Solicitation, NS)和邻居通告消息(Neighbor Advertisement,NA)可以实现重复地址检测。图1是现有技术提供的重复地址检测的网络结构示意图。参见图1,第一主机103发送邻居请求消息,邻居请求消息的目的地址是待检测的IPv6地址对应的被请求节点组播地址,消息内容中包含了待检测的IPv6地址。如果第二主机104已经使用这个IPv6地址,则会返回邻居通告消息,其中包含了自己的IPv6地址。第一主机103收到第二主机104发来的邻居通告消息,就知道该IPv6地址已被使用。反之,则说明该地址未被使用,第一主机103就可使用此IPv6地址。
[0004]但是,由于以太网交换机的IPv6主机路由表容量有限,因此,当IPv6邻居表项数目大于设备的IPv6主机路由表容量时,一些IPv6邻居表项无法下发,则跨VLAN到达这些IPv6邻居表项对应的IP主机流量将无法通过硬件转发。

【发明内容】
`
[0005]有鉴于此,本发明提出一种IPv6主机路由表项动态更新方法和以太网交换机,以提高以太网交换机的IPv6主机路由表的利用率。
[0006]第一方面,本发明实施例提供了一种IPv6主机路由表项动态更新方法,所述方法包括:
[0007]根据IPv6主机路由表中的IPv6主机路由表项监测邻居节点是否离线;
[0008]当监测到邻居节点离线时,将离线邻居节点在IPv6主机路由表中对应的表项删除。
[0009]第二方面,本发明实施例提供了一种以太网交换机,所述以太网交换机包括:
[0010]邻居节点离线监测模块,用于根据IPv6主机路由表中的IPv6主机路由表项监测邻居节点是否离线;
[0011]IPv6主机路由表项删除模块,用于当监测到邻居节点离线时,将离线邻居节点在IPv6主机路由表中对应的表项删除。
[0012]本发明实施例提供的IPv6主机路由表项动态更新方法和以太网交换机,通过根据IPv6主机路由表中的IPv6主机路由表项监测邻居节点是否离线,以及当监测到邻居节点离线时,将离线邻居节点在IPv6主机路由表中对应的表项删除,可防止IPv6主机路由表被无效的IPv6主机路由表项占据,提高了以太网交换机的IPv6主机路由表的利用率。
【专利附图】

【附图说明】
[0013]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0014]图1是现有技术提供的重复地址检测的网络结构示意图;
[0015]图2是本发明第一实施例提供的IPv6主机路由表项动态更新方法的流程示意图;
[0016]图3是本发明第二实施例提供的IPv6主机路由表项动态更新方法中的邻居节点离线监测的流程示意图;
[0017]图4是本发明第二实施例提供的IPv6主机路由表项动态更新方法中的邻居请求消息监听的流程示意图;
[0018]图5是本发明第二实施例提供的IPv6主机路由表项动态更新方法中的离线确定的流程示意图;
[0019]图6是本发明第三实施例提供的以太网交换机的结构示意图。
【具体实施方式】
[0020]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
[0021]图2示出了本发明的第一实施例。
[0022]图2是本发明第一实施例提供的IPv6主机路由表项动态更新方法的流程示意图。该方法可以由配置在任意以太网交换机中的表项动态更新装置来实现。参见图2,所述IPv6主机路由表项动态更新方法包括:
[0023]步骤S210,根据IPv6主机路由表中的IPv6主机路由表项监测邻居节点是否离线。
[0024]所述IPv6主机路由表是以太网交换机根据自身存储的IPv6邻居表生成的,用来存储路由信息的表。所述IPv6主机路由表由至少一个IPv6主机路由表项组成,并且每一个IPv6主机路由表项与一个IPv6的主机地址相对应。每一个IPv6主机路由表项包括与之对应的IPv6的主机地址,以及所述IPv6的主机地址的下一跳信息。具体的,所述下一跳信息包括:下一跳的目的MAC地址、出端口以及出端口对应的虚拟局域网(Virtual localarea network, VLAN)。
[0025]在以太网交换机中,由专门的存储器来存储所述IPv6主机路由表,因此,所述IPv6主机路由表占用的存储空间有限。当有过多的邻居节点向所述以太网交换机发送邻居请求消息时,所述IPv6主机路由表会因为存储空间有限而溢出。
[0026]但是,由于以太网交换机的邻居节点并不是在向所述以太网交换机发送了邻居请求消息后就一定在线。示例的,如果一个邻居节点上线一次后,经过一段时间后又离线,再经过一段时间后再次上线,则该邻居节点第一次上线时向所述以太网交换机发送了一次邻居请求消息,所述以太网交换机在自身存储的IPv6主机路由表中建立与所述第一次上线对应的一个IPv6主机路由表项,而该邻居节点第二次上线时又向所述以太网交换机发送了一次邻居请求消息,相应的,所述以太网交换机在自身存储的IPv6主机路由表又建立了一个与所述第二次上线对应的一个IPv6主机路由表项。这样一来,所述IPv6主机路由表中就出现了无效的IPv6主机路由表项,即与所述第一次上线对应的IPv6主机路由表项。
[0027]在本实施例中,以太网交换机实时监测所述IPv6主机路由表中的IPv6主机路由表项对应的邻居节点是否离线。实现离线监测的方式可以是定时的数据包探测,也可以是预定的信号量指示。
[0028]步骤S220,当监测到邻居节点离线时,将离线邻居节点在IPv6主机路由表中对应的表项删除。
[0029]当以太网交换机监测到它的邻居节点离线时,以太网交换机将所述IPv6主机路由表中对应的表项删除。示例的,以太网交换机将所述IPv6主机路由表项删除的操作包括:对所述IPv6主机路由表项对应的存储空间内存储的数据进行擦除,并将所述IPv6主机路由表项对应的存储空间进行回收。
[0030]本实施例通过实时监测邻居节点是否离线,并在邻居节点离线时将离线邻居节点在IPv6主机路由表中对应的表项删除,有效提高了以太网交换机的IPv6主机路由表的利用率,防止IPv6主机路由表被无效的IPv6主机路由表项占据。
[0031]图3至图5示出了本发明的第二实施例。
[0032]在本实施例中,所述IPv6主机路由表项动态更新方法以上述实施例为基础,进一步的,通过定时发送邻居请求消息,同时监测邻居节点反馈的邻居公告消息来实现对邻居节点的离线监测。
[0033]图3是本发明第二实施例提供的IPv6主机路由表项动态更新方法中的邻居节点离线监测的流程示意图。参见图3,所述IPv6主机路由表项动态更新方法中的邻居节点离线监测包括:
[0034]子步骤S211,根据IPv6主机路由表中的IPv6主机路由表项,定时向邻居节点发送邻居请求消息,并在预定时间内监听邻居节点反馈的与所述邻居请求消息对应的邻居公告消息。
[0035]所述邻居请求消息是以太网内邻居节点之间进行数据交换使用的一种消息。所述邻居请求消息由以太网内的源节点向其邻居节点发送。邻居节点在接收到所述源节点发送的邻居请求消息后,向所述源节点反馈与所述邻居请求消息对应的邻居公告消息。
[0036]在本实施例中,所述以太网交换机通过向其邻居节点定时发送所述邻居请求消息,并在预定时间内监听所述邻居节点反馈的与所述邻居请求消息对应的邻居公告消息来探测其邻居节点是否已经离线。具体的,所述以太网交换机可以以固定的时间间隔向其邻居节点发送所述邻居请求消息,并在向其邻居节点发送邻居请求消息后的预定时间段内监听所述邻居节点反馈的与所述邻居请求消息对应的邻居公告消息。
[0037]需要说明的是,当所述以太网交换机具有多个邻居节点时,所述以太网交换机分别针对不同的邻居节点发送邻居请求消息,并监听所述邻居请求消息对应的邻居公告消息。针对各个邻居节点的消息发送及监听过程各自独立,互不相关。具体的,所述以太网交换机可以针对不同的邻居节点启动不同的消息发送及监听线程,实现对不同邻居节点的消息发送及监听。[0038]子步骤S212,如果在预定时间内没有收到邻居节点反馈的与所述邻居请求消息对应的邻居公告消息,确定所述邻居节点为离线。
[0039]所述预定时间是预先设置的间隔时间,用于定义所述以太网交换机接收邻居节点反馈的邻居公告消息的最长时间间隔。如果在所述预定时间内,所述以太网交换机没有收到所述邻居节点反馈的邻居公告消息,则所述以太网交换机确定所述邻居节点已经离线。
[0040]图4是本发明第二实施例提供的IPv6主机路由表项动态更新方法中的邻居请求消息监听的流程示意图。参见图4,在本实施例中,优选的,所述IPv6主机路由表项动态更新方法中的邻居请求消息监听,也就是根据IPv6主机路由表中的IPv6主机路由表项,定时向邻居节点发送邻居请求消息,并在预定时间内监听邻居节点反馈的与所述邻居请求消息对应的邻居公告消息的子步骤进一步包括:
[0041]步骤S41,根据IPv6主机路由表中的IPv6主机路由表项,为每个表项地址启动消息发送定时器。
[0042]步骤S42,在所述消息发送定时器定时截止之前,向邻居节点发送至少一个与IPv6主机路由表项对应的邻居请求消息。
[0043]步骤S43,如果在预定时间内收到邻居节点反馈的与至少一个所述邻居请求消息对应的邻居公告消息,重置所述消息发送定时器。
[0044]图5是本发明第二实施例提供的IPv6主机路由表项动态更新方法中的离线确定的流程示意图。参见图5,在本实施例中,优选的,所述IPv6主机路由表项动态更新方法中的离线确定,也就是如果在预定时间内没有收到邻居节点反馈的与所述邻居请求消息对应的邻居公告消息,确定所述邻居节点为离线的子步骤进一步包括:
[0045]步骤S51,如果在预定时间内没有收到邻居节点反馈的与所述邻居请求消息对应的邻居公告消息,重复执行离线检测操作。
[0046]步骤S52,当所述离线检测操作达到设定次数阈值,则确定所述邻居节点为离线。
[0047]本实施例通过向邻居节点定时发送邻居请求消息,根据在预定时间内是否接收到邻居节点反馈的邻居公告消息确定邻居节点是否离线,并在确定邻居节点离线后将所述邻居节点对应的IPv6主机路由表项删除,从而提高了以太网交换机的IPv6主机路由表的利用率,防止IPv6主机路由表被无效的IPv6主机路由表项占据。进一步的,本实施例对邻居节点的离线检测可进行多次,例如三次均检测邻居节点离线,再判定为离线,由此可提高对邻居节点状态检测的可靠性,以避免误删除。
[0048]图6示出了本发明的第三实施例。
[0049]图6是本发明第三实施例提供的以太网交换机的结构示意图。参见图6,所述以太网交换机包括:邻居节点离线监测模块610以及IPv6主机路由表项删除模块620。
[0050]所述邻居节点离线监测模块610用于根据IPv6主机路由表中的IPv6主机路由表项监测邻居节点是否离线。
[0051]所述IPv6主机路由表项删除模块620用于当监测到邻居节点离线时,将离线邻居节点在IPv6主机路由表中对应的表项删除。
[0052]优选的,所述邻居节点离线监测模块610包括:邻居请求消息监听子模块611以及离线确定子模块612。
[0053]所述邻居请求消息监听子模块611用于根据IPv6主机路由表中的IPv6主机路由表项,定时向邻居节点发送邻居请求消息,并在预定时间内监听邻居节点反馈的与所述邻居请求消息对应的邻居公告消息。
[0054]所述离线确定子模块612用于如果在预定时间内没有收到邻居节点反馈的与所述邻居请求消息对应的邻居公告消息,确定所述邻居节点为离线。
[0055]优选的,所述邻居请求消息监听子模块611具体用于根据IPv6主机路由表中的IPv6主机路由表项,为每个表项地址启动消息发送定时器;在所述消息发送定时器定时截止之前,向邻居节点发送至少一个与IPv6主机路由表项对应的邻居请求消息;如果在预定时间内收到邻居节点反馈的与至少一个所述邻居请求消息对应的邻居公告消息,重置所述消息发送定时器。
[0056]进一步优选的,所述离线决定子模块612具体用于如果在预定时间内没有收到邻居节点反馈的与所述邻居请求消息对应的邻居公告消息,重复执行离线检测操作;当所述离线检测操作达到设定次数阈值,则确定所述邻居节点为离线。
[0057]本实施例通过重复的对邻居节点执行离线监测操作,确定邻居节点是否离线,并在确定邻居节点离线时,将所述邻居节点对应的IPv6主机路由表项从IPv6主机路由表中删除,提高了以太网交换机的IPv6主机路由表的利用率,防止IPv6主机路由表被无效的IPv6主机路由表项占据。
[0058]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0059]本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
[0060]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间的相同相似的部分互相参见即可。
[0061]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0062]以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种IPv6主机路由表项动态更新方法,其特征在于,包括: 根据IPv6主机路由表中的IPv6主机路由表项监测邻居节点是否离线; 当监测到邻居节点离线时,将离线邻居节点在IPv6主机路由表中对应的表项删除。
2.根据权利要求1所述的方法,其特征在于,根据IPv6主机路由表中的IPv6主机路由表项监测邻居节点是否离线包括: 根据IPv6主机路由表中的IPv6主机路由表项,定时向邻居节点发送邻居请求消息,并在预定时间内监听邻居节点反馈的与所述邻居请求消息对应的邻居公告消息; 如果在预定时间内没有收到邻居节点反馈的与所述邻居请求消息对应的邻居公告消息,确定所述邻居节点为离线。
3.根据权利要求2所述的方法,其特征在于,所述根据IPv6主机路由表中的IPv6主机路由表项,定时向邻居节点发送邻居请求消息,并在预定时间内监听邻居节点反馈的与所述邻居请求消息对应的邻居公告消息包括: 根据IPv6主机路由表中的IPv6主机路由表项,为每个表项地址启动消息发送定时器; 在所述消息发送定时器定时截止之前,向邻居节点发送至少一个与IPv6主机路由表项对应的邻居请求消息; 如果在预定时间内收到邻居节点反馈的与至少一个所述邻居请求消息对应的邻居公告消息,重置所述消息发送定时器。
4.根据权利要求2所述的方法,其特征在于,如果在预定时间内没有收到邻居节点反馈的与所述邻居请求消息对应的邻`居公告消息,确定所述邻居节点为离线包括: 如果在预定时间内没有收到邻居节点反馈的与所述邻居请求消息对应的邻居公告消息,重复执行离线检测操作; 当所述离线检测操作达到设定次数阈值,则确定所述邻居节点为离线。
5.一种以太网交换机,其特征在于,包括: 邻居节点离线监测模块,用于根据IPv6主机路由表中的IPv6主机路由表项监测邻居节点是否离线; IPv6主机路由表项删除模块,用于当监测到邻居节点离线时,将离线邻居节点在IPv6主机路由表中对应的表项删除。
6.根据权利要求5所述的以太网交换机,其特征在于,所述邻居节点离线监测模块包括: 邻居请求消息监听子模块,用于根据IPv6主机路由表中的IPv6主机路由表项,定时向邻居节点发送邻居请求消息,并在预定时间内监听邻居节点反馈的与所述邻居请求消息对应的邻居公告消息; 离线确定子模块,用于如果在预定时间内没有收到邻居节点反馈的与所述邻居请求消息对应的邻居公告消息,确定所述邻居节点为离线。
7.根据权利要求6所述的以太网交换机,其特征在于,所述邻居请求消息监听子模块具体用于: 根据IPv6主机路由表中的IPv6主机路由表项,为每个表项地址启动消息发送定时器;在所述消息发送定时器定时截止之前,向邻居节点发送至少一个与IPv6主机路由表项对应的邻居请求消息; 如果在预定时间内收到邻居节点反馈的与至少一个所述邻居请求消息对应的邻居公告消息,重置所述消息发送定时器。
8.根据权利要求6所述的以太网交换机,其特征在于,所述离线确定子模块具体用于:如果在预定时间内没有收到邻居节点反馈的与所述邻居请求消息对应的邻居公告消息,重复执行离线检测操作; 当所述离线检测操作达到 设定次数阈值,则确定所述邻居节点为离线。
【文档编号】H04L12/931GK103560965SQ201310538367
【公开日】2014年2月5日 申请日期:2013年11月4日 优先权日:2013年11月4日
【发明者】梁小冰, 向阳朝, 陈翔 申请人:神州数码网络(北京)有限公司, 上海神州数码有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1