专利名称:接口地址的通告方法、装置和路由设备的制作方法
技术领域:
本发明涉及计算机网络通信技术领域,尤其涉及一种接口地址的通告方法、装置 和路由设备。
背景技术:
现有的标签分发协议(Multiprotocol Label Switching,LDP)协议的LDP地址管 理过程中,运行LDP协议的路由设备在接收本地接口地址添加通告的情况下,或者在本地 LDP接口由处于DOWN状态转为处于开启(UP)状态的情况下,需要向LDP邻居发送相应接口 地址的地址添加消息,LDP对等体在本地新创建的LDP会话处于UP状态时,需要将本地所 有处于UP状态的接口的所有IP地址都通过地址添加消息通告给所有的LDP邻居。
相应地,在接口由UP状态转为关闭(DOWN)状态的情况下,或在收到本地接口地址 删除通告的情况下,需要向其所有LDP邻居发送相应IP地址的地址撤销消息,通知其LDP 邻居删除对应的地址记录。
通常的情况下,同一个路由设备上的不同接口不会配置相同的IP地址,即在不同 的地址添加消息中,不会携带相同的IP地址,通过RFC3036中描述的地址添加消息和地址 撤销消息就能够实现LDP邻居之间的地址消息管理。
但现有技术中还存在借用接口地址的情况,例如无编号(unnumbered)接口,无编 号接口只启动IP协议,但不分配IP地址,无编号接口需要关联一个实际具有IP地址的接 口。无编号接口产生的IP数据包,该数据包的源IP地址为关联接口的IP地址,另外路由 协议进程也根据关联接口的IP地址,决定是否往无编号接口发送路由更新报文。
由于unnumbered接口可以借用其他接口的IP地址,那么对于支持unnumbered接 口的路由设备可能会存在一台设备上有多个接口具有相同IP地址的情形。如果多个接口 共用一个IP地址,按照现有的接口地址的通告方法,可能会出现多次发送携带相同IP地址 的地址添加消息造成地址冲突而导致运行LDP协议的路由器与其LDP邻居之间的LDP会话 出现异常情况。
另外,按照现有的接口地址的通告方法,如果多个接口共用一个IP地址,当其中 一个接口的IP地址由于该接口处于DOWN状态并发送地址撤销消息而LDP邻居删除了该共 用IP地址时,其他共用该地址的接口无法再使用该IP地址与LDP邻居进行通信。发明内容
本发明实施例提供了一种接口地址的通告方法、装置和路由设备,用以在支持接 口地址借用的路由设备上实现正确的接口地址的通告。
本发明实施例提供的接口地址的通告方法,包括
在需要向标签分发协议LDP邻居发送地址添加消息时,判断是否已针对该接口地 址向LDP邻居发送过地址添加消息;
在判断未针对该接口地址向LDP邻居发送过地址添加消息时,将该接口地址携带在地址添加消息中通告至LDP邻居。
本发明实施例提供的接口地址的通告装置,包括
判断单元,用于在需要向标签分发协议LDP邻居发送地址添加消息时,判断是否 已针对该接口地址向LDP邻居发送过地址添加消息;
通告单元,用于在判断单元判断未针对该接口地址向LDP邻居发送过地址添加消 息时,将该接口地址携带在地址添加消息中通告至LDP邻居。
本发明实施例提供一种路由设备,包括本发明实施例提供的上述接口地址的通告直ο
本发明实施例的有益效果包括
发明实施例提供的接口地址的通告方法、装置和路由设备,在需要向LDP邻居发 送地址添加消息时,判断是否已针对该接口地址向LDP邻居发送过地址添加消息,如果判 断未针对该接口地址向LDP邻居发送过地址添加消息时,将该接口地址携带在地址添加消 息中通告至LDP邻居,这样,在接口地址借用,也就是多个接口都使用同一个接口地址的情 况下,避免多次针对同一个接口地址向LDP邻居发送地址添加消息造成地址冲突使得LDP 会话出现异常情况的问题。
图1为本发明实施例提供的接口地址的通告方法的流程图2为本发明实施例提供的A情况下接口地址的通告方法的流程图
图3为本发明实施例提供的B情况下接口地址的通告方法的流程图
图4为本发明实施例提供的C情况下接口地址的通告方法的流程图
图5为本发明实施例提供的D情况下接口地址的通告方法的流程图
图6为本发明实施例提供的E情况下接口地址的通告方法的流程图
图7为本发明实施例提供的接口地址的通告装置的结构示意图。
具体实施方式
下面结合附图,对本发明实施例提供的一种接口地址的通告方法、装置和路由设 备的具体实施方式
进行详细地说明。
本发明实施例提供的接口地址的通告方法,如图1所示,该方法包括下述步骤
S101、在需要向LDP邻居发送地址添加消息时,判断是否已针对该接口地址向LDP 邻居发送过地址添加消息;若判断未针对该接口地址向LDP邻居发送过地址添加消息,则 执行下述步骤S102 ;否则转向步骤S103 ;
S102、将该接口地址携带在地址添加消息中通告至LDP邻居;
S103、结束流程;
在上述步骤SlOl中,通过判断该接口地址对应的通告标识是否已被设置为有效 来判断是否已针对该接口地址向LDP邻居发送过地址添加消息,在判断该接口地址对应的 通告标识已被设置为有效时,则确定已针对该接口地址向LDP邻居发送过地址添加消息, 否则确定未针对该接口地址向LDP邻居发送过地址添加消息。
在判断在判断该接口地址对应的通告标识已被设置为有效,并且将该接口地址携带在地址添加消息中通告至LDP邻居之后,还需要执行将该接口地址对应的通告标识设置 为有效的步骤。
本发明实施例中,通告标识是预先设置在接口地址的数据结构之中的,每个接口 地址都对应一个通告标识,该通告标识初始化时其值为假(非有效),在针对该接口地址发 送过地址添加消息之后,需要将该通告标识设置为一个特定的值(有效),该特定的值表征 已针对该接口地址发送过地址添加消息。
在本发明实施例中,需要向LDP邻居发送地址添加消息的情况包括
A、接收到本地接口地址添加通告的情况;本地接口地址添加通告通常是接口地址 发生变化等情况下在本地产生的通告。
B、本地接口由DOWN状态变为UP状态的情况;
C、本地新创建的LDP会话处于UP状态的情况。
下面分别针对上述三种情况,对本发明实施例提供的接口地址的通告方法进行详 细说明。
对于A情况
如图2所示,该情况下接口地址的通告方法,具体包括下述步骤
S201、接收到接口地址添加通告;
S202、查找是否存在对应的地址记录,若不存在执行步骤S203 ;若存在执行下述 步骤S204 ;
S203、记录该接口地址;然后执行步骤S204 ;
S204、判断该接口地址对应的接口是否处于UP状态;
若该接口地址对应有多个接口,需要逐个对各个接口的状态进行判断,只有对于 处于UP状态的接口才会执行下述步骤S205,否则,转向执行步骤S208 ;
S205、判断该接口地址的通告标识(SEND_FLAG)是否设置为有效,若否,则进一步 执行下述步骤S206 ;若是,则转向执行步骤S208 ;
S206、将该接口地址携带在地址添加消息中通告至所有的LDP邻居;
S207、将该接口地址对应的通告标识设置为有效,然后执行下述步骤S208 ;
S208、结束本流程。
对于B情况
如图3所示,该情况下接口地址的通告方法,具体包括下述步骤
S301、本地接口变为UP状态;
S302、针对该接口下的每个接口地址,判断该接口地址对应的通告标识是否设置 为有效;若否,执行下述步骤S303,否则,执行下述步骤S306 ;
S303、将该接口地址携带在地址添加消息中通告至所有的LDP邻居;然后执行步 骤 S304 ;
S304、将该接口地址对应的通告标识设置为有效,然后转向执行步骤S305 ;
S305、判断该接口是否对应有其他接口地址;若是,转向执行步骤S302 ;若否,执 行步骤S306 ;
S306、结束流程。
对于C情况
如图4所示,该情况下接口地址的通告方法,具体包括下述步骤
S401、新的LDP会话处于UP状态;
S402、取消当前所有接口地址的对应的通告标识;
S403、遍历每个接口对应的接口地址,判断该接口地址的通告标识是否设置为有 效;若是,执行下述步骤S406,否则,执行下述步骤S404 ;
S404、将该接口地址携带在地址添加消息中通告至所有的LDP邻居;然后执行步 骤 S405 ;
S405、将该接口地址对应的通告标识设置为有效,然后转向执行步骤S406 ;
S406、判断当前接口是否还存在其他对应的接口地址,若是,转向执行步骤S403, 否则,执行步骤S407;
S407,判断是否还存在其他接口未处理,若是,转向执行步骤S403,否则,执行步骤 S408 ;
S408、结束流程。
本发明实施例提供的接口地址的通告方法,在需要向LDP邻居发送地址撤销消息 时,判断该接口地址是否还关联其他处于UP状态的接口 ;在判断该接口地址未关联其他处 于UP状态的接口时,将该接口地址携带在地址撤销消息中通告至LDP邻居。
在讲该接口地址携带在地址撤销消息中通告至LDP邻居之后,还需执行取消该接 口地址对应的通告标识,以及删除该接口地址的步骤。
在本发明实施例中,需要向LDP邻居发送地址撤销消息的情况有下述两种
D、删除某接口地址;
E、某接口由UP转变为DOWN的状态;
下面分别针对上述两种情况进行详细的说明。
对于D情况,本发明实施例提供的接口地址的通告方法,如图5所示,包括下述步 骤
S501、判断需要删除的该接口地址是否关联其他处于UP状态的接口 ;若否,则执 行下述步骤S502,若是,转向执行下述步骤S505 ;
S502、将该接口地址携带在地址撤销消息中通告至所有LDP邻居;
S503、在本地取消记录的该接口地址对应的通告标识;
S504、在本地删除该接口地址;然后执行步骤S505 ;
S505、结束流程。
对于E情况,本发明实施例提供的接口地址的通告方法,如图6所示,包括下述步 骤
S601、遍历出现DOWN状态的接口对应的每个接口地址;对于每个接口地址,判断 该接口地址是否关联其他处于UP状态的接口 ;若否,则执行下述步骤S602,若是,转向执行 下述步骤S605 ;
S602、将该接口地址携带在地址撤销消息中通告至LDP邻居;
S603、在本地取消记录的该接口地址对应的通告标识;
S604、在本地删除该接口地址;然后执行下述步骤S605 ;
S605、判断该接口是否还对应有其他接口地址,若有,转向执行步骤S601 ;若没7有,执行下述步骤S606 ;
S606、结束流程。
基于同一发明构思,本发明实施例还提供了一种接口地址的通告装置及路由设 备,由于这些装置和设备解决问题的原理与前述一种接口地址的通告方法相似,因此这些 装置及设备的实施可以参见方法的实施,重复之处不再赘述。
本发明实施例提供的一种接口地址的通告装置,如图7所示,包括
判断单元701,用于在需要向LDP邻居发送地址添加消息时,判断是否已针对该接 口地址向LDP邻居发送过地址添加消息;
通告单元702,用于在判断单元701判断未针对该接口地址向LDP邻居发送过地址 添加消息时,将该接口地址携带在地址添加消息中通告至LDP邻居。
进一步地,上述判断单元701,用于通过判断该接口地址对应的通告标识是否已被 设置为有效;若是,则确定已针对该接口地址向LDP邻居发送过地址添加消息;若否,则确 定未针对该接口地址向LDP邻居发送过地址添加消息。
进一步地,本发明实施例提供的接口地址的通告装置,如图7所示,还可以包括 通告标识设置单元703,用于在通告单元702将该接口地址携带在地址消息中通告至LDP邻 居的步骤之后,将该接口地址的通告标识设置为有效。
进一步地,在本地新创建的LDP会话处于UP状态情况下,该判断单元701,进一步 用于遍历本地每个接口,针对每个接口对应的每个接口地址,判断该接口地址的通告标识 是否已被设置为有效;
所述通告标识设置单元703,还用于在判断单元701遍历本地每个接口之前,取消 本地存储的所有接口地址对应的通告标识。
进一步地,上述判断单元701,还用于在需要向LDP邻居发送地址撤销消息时,判 断该接口地址是否还关联其他处于UP状态的接口 ;
相应地,所述通告单元702,还用于在所述判断单元701判断该接口地址未关联其 他处于UP状态的接口时,将该接口地址携带在地址撤销消息中通告至LDP邻居。
进一步地,本发明实施例提供的接口地址的通告装置,如图7所示,还可以包括 地址删除单元704 ;
所述通告标识设置单元703,还用于在所述通告单元702将该接口携带在地址撤 销消息中通告至LDP邻居之后,在本地取消该接口地址对应的通告标识;
所述地址删除单元704,用于在所述通告标识设置单元703在本地取消该接口地 址对应的通告标识之后,删除该接口地址。
本发明实施例还提供了一种路由设备,该路由设备包括本发明实施例提供的上述 接口地址的通告装置。
较佳地,本发明实施例提供的路由设备为支持LDP协议的标签交换路由器(Label Switching Router,LSR)。
本发明实施例提供的接口地址的通告方法、装置和路由设备,在需要向LDP邻居 发送地址添加消息时,判断是否已针对该接口地址向LDP邻居发送过地址添加消息,如果 判断未针对该接口地址向LDP邻居发送过地址添加消息时,将该接口地址携带在地址添加 消息中通告至LDP邻居,这样,在接口地址借用,也就是多个接口都使用同一个接口地址的情况下,避免多次针对同一个接口地址向LDP邻居发送地址添加消息造成地址冲突使得 LDP会话出现DOWN的问题。
另外,本发明实施例提供的接口地址的通告方法、装置和路由设备,在需要向LDP 邻居发送地址撤销消息时,需要判断该接口地址是否关联有其他处于UP状态的接口,如果 没有,才将该接口地址携带在地址撤销消息中通告至LDP邻居,这样,可避免在接口地址借 用的情况下,共用同一个接口地址的多个接口中某一个接口出现DOWN状态,或者需要删除 该接口地址但该接口地址还关联着其他处于UP状态的接口时,提前删除该接口地址,导致 处于UP状态的接口无法再使用该接口地址进行正常的通信。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种接口地址的通告方法,其特征在于,包括在需要向标签分发协议LDP邻居发送地址添加消息时,判断是否已针对该接口地址向 LDP邻居发送过地址添加消息;在判断未针对该接口地址向LDP邻居发送过地址添加消息时,将该接口地址携带在地 址添加消息中通告至LDP邻居。
2.如权利要求1所述的方法,其特征在于,所述判断是否已针对该接口地址向LDP邻居 发送过地址添加消息,包括通过判断该接口地址对应的通告标识是否已被设置为有效; 若是,则确定已针对该接口地址向LDP邻居发送过地址添加消息; 若否,则确定未针对该接口地址向LDP邻居发送过地址添加消息。
3.如权利要求2所述的方法,其特征在于,将该接口地址携带在地址消息中通告至LDP 邻居的步骤之后,还包括将该接口地址的通告标识设置为有效。
4.如权利要求1-3任一项所述的方法,其特征在于,需要向LDP邻居发送地址添加消息 的情况包括接收到本地接口地址添加通告的情况、本地接口由关闭DOWN状态变为开启UP状态的 情况或者本地新创建的LDP会话处于UP状态的情况。
5.如权利要求4所述的方法,其特征在于,在本地新创建的LDP会话处于UP状态情况 下,所述判断是否已针对该接口地址向LDP邻居发送过地址添加消息,包括遍历本地每个接口,针对各接口对应的每个接口地址,分别判断该接口地址的通告标 识是否已被设置为有效;在遍历本地每个接口的步骤之前,还包括 取消本地存储的所有接口地址对应的通告标识。
6.如权利要求1-3任一项所述的方法,其特征在于,还包括在需要向LDP邻居发送地 址撤销消息时,判断该接口地址是否还关联其他处于UP状态的接口 ;并在判断该接口地址 未关联其他处于UP状态的接口时,将该接口地址携带在地址撤销消息中通告至LDP邻居。
7.如权利要求6所述的方法,其特征在于,将该接口地址携带在地址撤销消息中通告 至LDP邻居之后,还包括在本地取消该接口地址对应的通告标识; 删除该接口地址。
8.一种接口地址的通告装置,其特征在于,包括判断单元,用于在需要向标签分发协议LDP邻居发送地址添加消息时,判断是否已针 对该接口地址向LDP邻居发送过地址添加消息;通告单元,用于在判断单元判断未针对该接口地址向LDP邻居发送过地址添加消息 时,将该接口地址携带在地址添加消息中通告至LDP邻居。
9.如权利要求8所述的装置,其特征在于,所述判断单元,进一步用于通过判断该接口 地址对应的通告标识是否已被设置为有效;若是,则确定已针对该接口地址向LDP邻居发 送过地址添加消息;若否,则确定未针对该接口地址向LDP邻居发送过地址添加消息。
10.如权利要求9所述的装置,其特征在于,还包括通告标识设置单元,用于在通告单元将该接口地址携带在地址消息中通告至LDP邻居 的步骤之后,将该接口地址的通告标识设置为有效。
11.如权利要求10所述的装置,其特征在于,在本地新创建的LDP会话处于开启UP状 态情况下,所述判断单元,进一步用于遍历本地每个接口,针对每个接口对应的每个接口地 址,判断该接口地址的通告标识是否已被设置为有效;所述通告标识设置单元,还用于在判断单元遍历本地每个接口之前,取消本地存储的 所有接口地址对应的通告标识。
12.如权利要求9-11任一项所述的装置,其特征在于,所述判断单元,还用于在需要向 LDP邻居发送地址撤销消息时,判断该接口地址是否还关联其他处于UP状态的接口 ;所述通告单元,还用于在所述判断单元判断该接口地址未关联其他处于UP状态的接 口时,将该接口地址携带在地址撤销消息中通告至LDP邻居。
13.如权利要求12所述的装置,其特征在于,还包括地址删除单元;所述通告标识设置单元,还用于在所述通告单元将该接口携带在地址撤销消息中通告 至LDP邻居之后,在本地取消该接口地址对应的通告标识;所述地址删除单元,用于在所述通告标识设置单元在本地取消该接口地址对应的通告 标识之后,删除该接口地址。
14.一种路由设备,其特征在于,该路由设备包括如权利要求8-13任一项所述的装置。
全文摘要
本发明公开了一种接口地址的通告方法、装置和路由设备,其中方法包括在需要向LDP邻居发送地址添加消息时,判断是否已针对该接口地址向LDP邻居发送过地址添加消息;在判断未针对该接口地址向LDP邻居发送过地址添加消息时,将该接口地址携带在地址添加消息中通告至LDP邻居。在接口地址借用,也就是多个接口都使用同一个接口地址的情况下,避免多次针对同一个接口地址向LDP邻居发送地址添加消息造成地址冲突使得LDP会话出现异常情况的问题。
文档编号H04L29/12GK102035739SQ20101058818
公开日2011年4月27日 申请日期2010年12月14日 优先权日2010年12月14日
发明者丘允阳 申请人:北京星网锐捷网络技术有限公司