首页> 中国专利> 一种LISP域故障检测收敛的方法和设备

一种LISP域故障检测收敛的方法和设备

摘要

本发明公开了一种LISP域故障检测收敛的方法和设备,该方法包括:第一隧道路由器为第二隧道路由器启动第一定时器T1;第一隧道路由器接收来自第二隧道路由器的LISP监控报文;如果第一隧道路由器在所述第一定时器T1超时之前未收到来自第二隧道路由器的LISP监控报文,第一隧道路由器确认第二隧道路由器发生故障;所述第一隧道路由器确定所述第二隧道路由器的IP地址为本第一隧道路由器的IP地址,并向外发布携带所述第二隧道路由器的IP地址的路由。本发明实施例中,避免业务发生中断,并避免发生流量丢包情况。

著录项

  • 公开/公告号CN104579758A

    专利类型发明专利

  • 公开/公告日2015-04-29

    原文格式PDF

  • 申请/专利权人 杭州华三通信技术有限公司;

    申请/专利号CN201410804845.6

  • 发明设计人 孙策;顾雷雷;

    申请日2014-12-22

  • 分类号H04L12/24;H04L12/26;

  • 代理机构北京鑫媛睿博知识产权代理有限公司;

  • 代理人龚家骅

  • 地址 310052 浙江省杭州市滨江区长河路466号

  • 入库时间 2023-12-18 08:35:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-05-07

    授权

    授权

  • 2017-05-03

    著录事项变更 IPC(主分类):H04L12/24 变更前: 变更后: 申请日:20141222

    著录事项变更

  • 2015-08-12

    实质审查的生效 IPC(主分类):H04L12/24 申请日:20141222

    实质审查的生效

  • 2015-04-29

    公开

    公开

说明书

技术领域

本发明涉及通信技术领域,尤其是涉及一种LISP域故障检测收敛的方法 和设备。

背景技术

如图1所示,为LISP(Location/ID Separation Protocol,位置与身份分离协 议)网络的组网示意图,该LISP网络会将网络IP地址划分成EID(Endpoint ID, 末端标识)和RLOC(Routing Locator,路由定位)。其中,LISP网络中会引入 EID-to-RLOC的映射关系,该EID用于标识主机,不具备全局路由功能,且该 RLOC用于全网路由。在LISP网络中,IPv4或者IPv6主机仅标识其ID,其位置 由ITR(Ingress Tunnel Router,隧道入口路由器)/ETR(Egress Tunnel Router, 隧道出口路由器)来标识,ITR和ETR是相对的,依据报文方向决定ITR和ETR。 例如,主机1向主机2发送报文时,主机1所在LISP域内的是ITR,主机2所在LISP 域内的是ETR;主机2向主机1发送报文时,主机2所在LISP域内的是ITR,主 机1所在LISP域内的是ETR。LISP网络中包括数据平面和控制平面,数据平面 主要用于报文的封装/解封装和转发,控制平面主要完成EID和RLOC的映射。

在图1中,针对主机S与主机D之间的报文传输过程,ITR1/ITR2上维护的 EID-to-RLOC映射关系为:主机D的IP地址与ETR1的IP地址之间的对应关系, 主机D的IP地址与ETR2的IP地址之间的对应关系。主机S将发送给主机D的报 文发送给ITR1(或ITR2),该报文的源地址为主机S的EID(即主机S的IP地址), 该报文的目的地址为主机D的EID(即主机D的IP地址)。ITR1接收到报文后, 利用主机D的IP地址查询EID-to-RLOC映射关系,得到ETR1的IP地址(或ETR2 的IP地址)。ITR1对报文进行封装,在封装的外层报文头中,源RLOC地址为 ITR1的IP地址,目的RLOC地址为ETR1的IP地址。然后,该封装后的报文通 过Internet发送到ETR1上。ETR1解封装收到的报文,并基于解封装后的报文的 目的地址(主机D的EID),将报文发送给主机D,从而实现报文传输。

但是,当ETR1发生故障时,由于ITR1上维护的EID-to-RLOC映射关系中 将包括主机D的IP地址与ETR1的IP地址之间的对应关系,因此,针对主机S发 送给主机D的报文,ITR1可能会将该报文发送给ETR1,而由于此时ETR1已经 发生故障,因此导致ETR1无法将报文发送给主机D,业务发生中断,并且会 发生流量丢包情况。进一步的,业务中断的时间将一直持续到ITR1获知ETR1 发生故障,这一时间较长,即业务中断时间较长,从而会丢失大量的流量。

发明内容

本发明实施例提供一种位置与身份分离协议LISP域故障检测收敛的方 法,LISP域内包括第一隧道路由器和第二隧道路由器,所述方法包括:

所述第一隧道路由器为第二隧道路由器启动第一定时器T1;所述第一隧 道路由器接收第二隧道路由器周期性的向本第一隧道路由器发送的LISP监控 报文;其中,所述第一定时器T1的超时时间大于LISP监控报文的发送间隔;

如果第一隧道路由器在所述第一定时器T1超时之前未收到来自第二隧道 路由器的LISP监控报文,所述第一隧道路由器确认第二隧道路由器发生故障;

所述第一隧道路由器确定所述第二隧道路由器的IP地址为本第一隧道路 由器的IP地址,并向外发布携带所述第二隧道路由器的IP地址的路由。

所述第一隧道路由器确认所述第二隧道路由器发生故障之后,所述方法 进一步包括:所述第一隧道路由器向映射服务器发送故障通告报文,所述故 障通告报文中携带所述第二隧道路由器发生故障的信息;以使所述映射服务 器在接收到所述故障通告报文之后,为所述第二隧道路由器启动第二定时器 T2,如果在所述第二定时器T2超时之前未接收到来自所述第二隧道路由器的 报文,则确认所述第二隧道路由器发生故障,并在本地维护的末端标识EID, 路由定位RLOC映射表中将所述第二隧道路由器对应的记录标识为故障。

所述第一隧道路由器确认所述第二隧道路由器发生故障之后,所述方法 进一步包括:所述第一隧道路由器为所述第二隧道路由器启动第三定时器T3; 其中,所述第三定时器T3的超时时间大于所述第二定时器T2的超时时间;

如果第一隧道路由器在所述第三定时器T3超时之前收到来自第二隧道路 由器的LISP监控报文,所述第一隧道路由器确认第二隧道路由器故障恢复, 并确定所述第二隧道路由器的IP地址不是本第一隧道路由器的IP地址,并撤 销向外发布的携带所述第二隧道路由器的IP地址的路由;所述第一隧道路由 器向映射服务器发送故障恢复报文,所述故障恢复报文中携带所述第二隧道 路由器已经故障恢复的信息;以使所述映射服务器在接收到故障恢复报文之 后,清除EID,RLOC映射表中所述第二隧道路由器对应的故障标识;

如果第一隧道路由器在所述第三定时器T3超时之前未收到来自第二隧道 路由器的LISP监控报文,所述第一隧道路由器确认第二隧道路由器故障无法 恢复,并确定第二隧道路由器的IP地址不是本第一隧道路由器的IP地址,并 撤销向外发布的携带所述第二隧道路由器的IP地址的路由;所述第一隧道路 由器向映射服务器发送故障无法恢复报文,所述故障无法恢复报文中携带第 二隧道路由器故障无法恢复的信息;以使所述映射服务器在接收到故障无法 恢复报文之后,从EID,RLOC映射表中删除第二隧道路由器对应的记录。

本发明实施例提供一种位置与身份分离协议LISP域故障检测收敛的方 法,LISP域内包括第一隧道路由器和第二隧道路由器,所述方法包括:

映射服务器接收来自所述第一隧道路由器的故障通告报文,所述故障通 告报文中携带所述第二隧道路由器发生故障的信息;其中,所述故障通告报 文是所述第一隧道路由器利用第一定时器T1确认所述第二隧道路由器发生故 障,并确定所述第二隧道路由器的IP地址为所述第一隧道路由器的IP地址, 并向外发布携带所述第二隧道路由器的IP地址的路由之后发送的;

所述映射服务器为所述第二隧道路由器启动第二定时器T2;如果在所述 第二定时器T2超时之前未接收到来自所述第二隧道路由器的报文,则所述映 射服务器确认所述第二隧道路由器发生故障,并在本地维护的末端标识EID, 路由定位RLOC映射表中将所述第二隧道路由器对应的记录标识为故障;

所述映射服务器在向其它LISP域内的隧道路由器发送所述EID,RLOC 映射表中的记录时,将所述EID,RLOC映射表中没有标识为故障的所述第一 隧道路由器对应的记录发送给所述其它LISP域内的隧道路由器。

所述方法进一步包括:

所述映射服务器接收来自所述第一隧道路由器的故障恢复报文,所述故 障恢复报文中携带了所述第二隧道路由器已经故障恢复的信息;其中,所述 故障恢复报文是所述第一隧道路由器利用第三定时器T3确认所述第二隧道路 由器故障恢复,并确定所述第二隧道路由器的IP地址不是所述第一隧道路由 器的IP地址,并撤销向外发布的携带所述第二隧道路由器的IP地址的路由之 后发送的;所述映射服务器在接收到所述故障恢复报文之后,清除所述EID, RLOC映射表中所述第二隧道路由器对应的故障标识;或者,

所述映射服务器接收来自所述第一隧道路由器的故障无法恢复报文,所 述故障无法恢复报文中携带所述第二隧道路由器故障无法恢复的信息;其中, 所述故障无法恢复报文是所述第一隧道路由器利用第三定时器T3确认所述第 二隧道路由器故障无法恢复,并确定所述第二隧道路由器的IP地址不是所述 第一隧道路由器的IP地址,并撤销向外发布的携带所述第二隧道路由器的IP 地址的路由之后发送的;所述映射服务器在接收到所述故障无法恢复报文之 后,从所述EID,RLOC映射表中删除第二隧道路由器对应的记录。

本发明实施例提供一种网络设备,位置与身份分离协议LISP域内包括第 一隧道路由器和第二隧道路由器,所述网络设备作为所述LISP域内的所述第 一隧道路由器,所述第一隧道路由器具体包括:

启动模块,用于为所述第二隧道路由器启动第一定时器T1,并接收所述 第二隧道路由器周期性的向所述第一隧道路由器发送的LISP监控报文;其中, 所述第一定时器T1的超时时间大于LISP监控报文的发送间隔;

确定模块,用于当第一隧道路由器在所述第一定时器T1超时之前未收到 来自第二隧道路由器的LISP监控报文时,确认第二隧道路由器发生故障;

发送模块,用于确定所述第二隧道路由器的IP地址为所述第一隧道路由 器的IP地址,并向外发布携带所述第二隧道路由器的IP地址的路由。

所述发送模块,进一步用于在所述确定模块确认所述第二隧道路由器发 生故障之后,向映射服务器发送故障通告报文,所述故障通告报文中携带了 所述第二隧道路由器发生故障的信息;以使所述映射服务器在接收到所述故 障通告报文之后,为所述第二隧道路由器启动第二定时器T2,如果在所述第 二定时器T2超时之前未接收到来自所述第二隧道路由器的报文,则确认所述 第二隧道路由器发生故障,并在映射服务器本地维护的末端标识EID,路由 定位RLOC映射表中将所述第二隧道路由器对应的记录标识为故障。

所述启动模块,还用于在所述确定模块确认所述第二隧道路由器发生故 障之后,为所述第二隧道路由器启动第三定时器T3;其中,所述第三定时器 T3的超时时间大于所述第二定时器T2的超时时间;

所述确定模块,还用于当第一隧道路由器在所述第三定时器T3超时之前 收到来自第二隧道路由器的LISP监控报文时,确认第二隧道路由器故障恢复; 所述发送模块,还用于确定所述第二隧道路由器的IP地址不是所述第一隧道 路由器的IP地址,并撤销向外发布的携带所述第二隧道路由器的IP地址的路 由;向映射服务器发送故障恢复报文,所述故障恢复报文中携带所述第二隧 道路由器已经故障恢复的信息;以使所述映射服务器在接收到故障恢复报文 之后,清除EID,RLOC映射表中所述第二隧道路由器对应的故障标识;

所述确定模块,还用于当第一隧道路由器在所述第三定时器T3超时之前 未收到来自第二隧道路由器的LISP监控报文时,确认第二隧道路由器故障无 法恢复;所述发送模块,还用于确定第二隧道路由器的IP地址不是所述第一 隧道路由器的IP地址,并撤销向外发布的携带所述第二隧道路由器的IP地址 的路由;向映射服务器发送故障无法恢复报文,所述故障无法恢复报文中携 带第二隧道路由器故障无法恢复的信息;以使映射服务器在接收到故障无法 恢复报文之后,从EID,RLOC映射表中删除第二隧道路由器对应的记录。

本发明实施例提供一种映射服务器,位置与身份分离协议LISP域内包括 第一隧道路由器和第二隧道路由器,所述映射服务器具体包括:

接收模块,用于接收来自所述第一隧道路由器的故障通告报文,所述故 障通告报文中携带所述第二隧道路由器发生故障的信息;其中,所述故障通 告报文是所述第一隧道路由器利用第一定时器T1确认所述第二隧道路由器发 生故障,并确定所述第二隧道路由器的IP地址为所述第一隧道路由器的IP地 址,并向外发布携带所述第二隧道路由器的IP地址的路由之后发送的;

处理模块,用于为所述第二隧道路由器启动第二定时器T2;如果在所述 第二定时器T2超时之前未接收到来自所述第二隧道路由器的报文,则确认所 述第二隧道路由器发生故障,并在所述映射服务器本地维护的末端标识EID, 路由定位RLOC映射表中将所述第二隧道路由器对应的记录标识为故障;

发送模块,用于在向其它LISP域内的隧道路由器发送所述EID,RLOC 映射表中的记录时,将所述EID,RLOC映射表中没有标识为故障的所述第一 隧道路由器对应的记录发送给所述其它LISP域内的隧道路由器。

所述接收模块,还用于接收来自所述第一隧道路由器的故障恢复报文, 所述故障恢复报文中携带了所述第二隧道路由器已经故障恢复的信息;其中, 所述故障恢复报文是所述第一隧道路由器利用第三定时器T3确认所述第二隧 道路由器故障恢复,并确定所述第二隧道路由器的IP地址不是所述第一隧道 路由器的IP地址,并撤销向外发布的携带所述第二隧道路由器的IP地址的路 由之后发送的;所述处理模块,还用于在接收到所述故障恢复报文之后,清 除所述EID,RLOC映射表中所述第二隧道路由器对应的故障标识;或者,

所述接收模块,还用于接收来自所述第一隧道路由器的故障无法恢复报 文,所述故障无法恢复报文中携带第二隧道路由器故障无法恢复的信息;其 中,所述故障无法恢复报文是所述第一隧道路由器利用第三定时器T3确认所 述第二隧道路由器故障无法恢复,并确定第二隧道路由器的IP地址不是所述 第一隧道路由器的IP地址,并撤销向外发布的携带所述第二隧道路由器的IP 地址的路由之后发送的;所述处理模块,还用于在接收到所述故障无法恢复 报文之后,从所述EID,RLOC映射表中删除第二隧道路由器对应的记录。

基于上述技术方案,本发明实施例中,当LISP域内的第二隧道路由器发 生故障时,该LISP域内的第一隧道路由器能够及时感知第二隧道路由器发生 故障,即快速检测到故障的隧道路由器,并接管第二隧道路由器的IP地址, 向外发布携带第二隧道路由器的IP地址的路由,从而使得其它LISP域内的 隧道路由器发送的报文均发送给第一隧道路由器,避免将报文发送给第二隧 道路由器,从而避免业务发生中断,并避免发生流量丢包情况。进一步的, 其它LISP域内的隧道路由器不感知故障发生,减少丢包和表项切换。

附图说明

图1是LISP网络的组网示意图;

图2是本发明实施例中提出的一种LISP域故障检测收敛的方法流程图;

图3是本发明实施例中提出的LISP监控报文的格式示意图;

图4是本发明实施例中提出的故障通告报文的格式示意图;

图5是本发明实施例中提出的一种网络设备的结构示意图;

图6是本发明实施例中提出的一种映射服务器的结构示意图。

具体实施方式

针对现有技术中存在的问题,本发明实施例提出了一种LISP域故障检测 收敛的方法,应用于包括多个LISP域的LISP网络中,LISP域内包括至少两 个隧道路由器,两个隧道路由器分别为第一隧道路由器和第二隧道路由器。 以图1为本发明实施例的应用场景示意图,该LISP网络包括LISP域1和LISP 域2,LISP域1内包括两个隧道路由器,LISP域2内包括两个隧道路由器。 在LISP域1内的主机S向LISP域2内的主机D发送报文时,LISP域1内的 两个隧道路由器为ITR(即ITR1和ITR2),LISP域2内的两个隧道路由器为 ETR(即ETR1和ETR2);在LISP域2内的主机D向LISP域1内的主机S 发送报文时,LISP域1内的两个隧道路由器为ETR(即ETR1和ETR2),LISP 域2内的两个隧道路由器为ITR(即ITR1和ITR2)。为方便描述,本发明实 施例中,以在LISP域1内的主机S向LISP域2内的主机D发送报文时,LISP 域2内的两个隧道路由器(第一隧道路由器和第二隧道路由器)的处理为例, 此时,LISP域2内的两个隧道路由器为ETR,分别为ETR1和ETR2,即第 一隧道路由器为LISP域2内的ETR1,第二隧道路由器为LISP域2内的ETR2。

本发明实施例中,该LISP网络中还包括MS(Map Server,映射服务器), 该映射服务器用于维护EID,RLOC映射表,并将EID,RLOC映射表中的记 录通知给相应的隧道路由器。例如,映射服务器维护的EID,RLOC映射表中 包括:主机D的IP地址与ETR1的IP地址之间的对应关系、主机D的IP地 址与ETR2的IP地址之间的对应关系、主机S的IP地址与ITR1的IP地址之 间的对应关系、主机S的IP地址与ITR2的IP地址之间的对应关系。基于此, 基于ITR1或ITR2的请求,映射服务器可以将主机D的IP地址与ETR1的IP 地址之间的对应关系、主机D的IP地址与ETR2的IP地址之间的对应关系通 知给ITR1或ITR2,以使ITR1或ITR2上维护的EID-to-RLOC映射关系为: 主机D的IP地址与ETR1的IP地址之间的对应关系、主机D的IP地址与ETR2 的IP地址之间的对应关系。基于ETR1或ETR2的请求,映射服务器可以将 主机S的IP地址与ITR1的IP地址之间的对应关系、主机S的IP地址与ITR2 的IP地址之间的对应关系通知给ETR1或ETR2,以使得在ETR1或ETR2上 维护的EID-to-RLOC映射关系为:主机S的IP地址与ITR1的IP地址之间的 对应关系、主机S的IP地址与ITR2的IP地址之间的对应关系。

如图2所示,该LISP域故障检测收敛的方法具体包括以下步骤:

步骤201,第一隧道路由器为第二隧道路由器启动第一定时器T1,并周 期性的向第二隧道路由器发送LISP监控报文,并接收第二隧道路由器周期性 的向第一隧道路由器发送的LISP监控报文。第二隧道路由器为第一隧道路由 器启动第一定时器T1,并周期性的向第一隧道路由器发送LISP监控报文, 并接收第一隧道路由器周期性的向第二隧道路由器发送的LISP监控报文。

本发明实施例中,第一定时器T1的超时时间大于LISP监控报文的发送 间隔。例如,第一定时器T1的超时时间大于等于3个LISP监控报文的发送 间隔。其中,LISP监控报文的发送间隔可以根据实际需要设置,如设置为1 秒,第一隧道路由器每隔1秒向第二隧道路由器发送LISP监控报文,第二隧 道路由器每隔1秒向第一隧道路由器发送LISP监控报文。基于LISP监控报 文的发送间隔设置第一定时器T1的超时时间,使第一定时器T1的超时时间 大于LISP监控报文的发送间隔,如将第一定时器T1的超时时间设置为3秒。

在一种具体实现方式中,还可以进行LISP监控报文的发送间隔的协商, 以使第一隧道路由器向第二隧道路由器发送LISP监控报文的发送间隔与第二 隧道路由器向第一隧道路由器发送LISP监控报文的发送间隔相一致。例如, 第一隧道路由器向第二隧道路由器发送LISP监控报文的发送间隔为100毫 秒,第二隧道路由器向第一隧道路由器发送LISP监控报文的发送间隔为200 毫秒时,则:第一隧道路由器在第一次收到来自第二隧道路由器的LISP监控 报文时,从LISP监控报文中获取到发送间隔为200毫秒,并将第一隧道路由 器向第二隧道路由器发送LISP监控报文的发送间隔由100毫秒修改为200毫 秒;或者,第二隧道路由器在第一次收到来自第一隧道路由器的LISP监控报 文时,从LISP监控报文中获取到发送间隔为100毫秒,并将第二隧道路由器 向第一隧道路由器发送LISP监控报文的发送间隔由200毫秒修改为100毫秒。

如图3所示,为LISP监控报文的格式示意图,LISP监控报文为一种UDP (User Datagram Protocol,用户数据报协议)报文,该LISP监控报文包括IP 头、UDP头、LISP报文字段。针对第一隧道路由器向第二隧道路由器发送的 LISP监控报文,则:IP头部分,目的IP地址为第二隧道路由器的IP地址(如 ETR2的IP地址),源IP地址为第一隧道路由器的IP地址(如ETR1的IP地 址)。UDP头部分,Dest Port(目的端口)为固定的4342,Source Port(源端 口)可以任意指定。LISP报文字段包括64位,前4位为Type values(类型值) 字段,值为9,用于表示当前报文为LISP监控报文;之后12位为Interval time (间隔时间)字段,用来协商LISP监控报文的发送间隔;之后16位为保留 字段;最后32位为第一隧道路由器的IP地址(如ETR1的IP地址)。

为了方便描述,以第一隧道路由器(ETR1)的处理为例进行说明,第二 隧道路由器(ETR2)的处理与第一隧道路由器的处理类似,后续不再赘述。

步骤202,如果第一隧道路由器在第一定时器T1超时之前未收到来自第 二隧道路由器的LISP监控报文,则第一隧道路由器将确认第二隧道路由器发 生故障。进一步的,如果第一隧道路由器在第一定时器T1超时之前收到来自 第二隧道路由器的LISP监控报文,则第一隧道路由器将确认第二隧道路由器 未发生故障,并更新第一定时器T1的值,即将第一定时器T1的值清零。

步骤203,在第二隧道路由器发生故障时,第一隧道路由器确定第二隧道 路由器的IP地址为本第一隧道路由器的IP地址(即第一隧道路由器接管第二 隧道路由器的IP地址),并向外发布携带第二隧道路由器的IP地址的路由。

本发明实施例中,由于第一隧道路由器接管第二隧道路由器的IP地址, 并向外发布携带第二隧道路由器的IP地址的路由,因此,在其它隧道路由器 利用第一隧道路由器的IP地址或者第二隧道路由器的IP地址发送报文时,该 报文均被发送到第一隧道路由器上,而不会被发送到第二隧道路由器上。

例如,当主机S向主机D发送报文时,主机S将报文发送给ITR1(或者 ITR2),该报文的源地址为主机S的EID(即主机S的IP地址),该报文的目 的地址为主机D的EID(即主机D的IP地址)。ITR1接收到报文后,利用主 机D的IP地址查询EID-to-RLOC映射关系,得到ETR1的IP地址或者ETR2 的IP地址。ITR1对报文进行封装,在封装的外层报文头中,源RLOC地址 为ITR1的IP地址,目的RLOC地址为ETR1的IP地址或者ETR2的IP地址。 在ETR2发生故障时,ETR1的IP地址的路由和ETR2的IP地址的路由均由 ETR1发布,因此,无论报文的目的RLOC地址为ETR1的IP地址还是ETR2 的IP地址,报文均会通过Internet发送到ETR1上,而不会发送到已经发生故 障的ETR2上。进一步的,ETR1解封装收到的报文,并基于解封装后的报文 的目的地址(主机D的EID),将报文发送给主机D,从而实现报文传输。

本发明实施例中,第一隧道路由器在确认第二隧道路由器发生故障之后, 第一隧道路由器向映射服务器发送故障通告报文,该故障通告报文中携带第 二隧道路由器发生故障的信息。映射服务器在接收到故障通告报文之后,为 第二隧道路由器启动第二定时器T2。如果在第二定时器T2超时之前接收到 来自第二隧道路由器的报文,则映射服务器确认第二隧道路由器没有发生故 障。如果在第二定时器T2超时之前未接收到来自第二隧道路由器的报文,则 映射服务器确认第二隧道路由器发生故障,并在本地维护的EID,RLOC映射 表中将第二隧道路由器对应的记录标识为故障。进一步的,映射服务器在向 其它LISP域内的隧道路由器发送EID,RLOC映射表中的记录时,需要将EID, RLOC映射表中没有标识为故障的第一隧道路由器对应的记录发送给其它 LISP域内的隧道路由器,而不需要将EID,RLOC映射表中标识为故障的第 二隧道路由器对应的记录发送给其它LISP域内的隧道路由器。

例如,ETR1确认ETR2发生故障后,向映射服务器发送故障通告报文, 该故障通告报文中携带ETR2发生故障的信息。映射服务器在收到故障通告报 文后,为ETR2启动第二定时器T2(第二定时器T2的超时时间可以根据实际 经验任意设置,默认为1分钟)。如果在第二定时器T2超时之前接收到来自 ETR2的任何LISP报文,则映射服务器确认ETR2没有发生真实故障。如果 在第二定时器T2超时之前未接收到来自ETR2的任何LISP报文,则映射服 务器确认ETR2发生真实故障,并在EID,RLOC映射表中将ETR2对应的记 录(主机D的IP地址与ETR2的IP地址之间的对应关系)标识为故障。

进一步的,当其它LISP域内的隧道路由器(如LISP域1内的隧道路由 器、LISP域3内的隧道路由器)向映射服务器请求EID,RLOC映射表中的 记录时,映射服务器会向其它LISP域内的隧道路由器发送EID,RLOC映射 表中的记录,即将EID,RLOC映射表中没有标识为故障的ETR1对应的记录 (主机D的IP地址与ETR1的IP地址之间的对应关系)发送给其它LISP域 内的隧道路由器,而不将EID,RLOC映射表中标识为故障的ETR2对应的记 录(主机D的IP地址与ETR2的IP地址之间的对应关系)发送给其它LISP 域内的隧道路由器。也就是,此时,当其它LISP域内的隧道路由器向映射服 务器请求主机D的IP地址对应的EID,RLOC映射关系时,映射服务器将主 机D的IP地址与ETR1的IP地址的对应关系发送给其它LISP域内的隧道路 由器,而不将主机D的IP地址与ETR2的IP地址的对应关系发送给其它LISP 域内的隧道路由器。

如图4所示,为故障通告报文(fault-notify报文)的格式示意图,该故障 通告报文为一种UDP报文,且该故障通告报文包括IP头、UDP头、LISP报 文字段。其中,IP头部分,目的IP地址为映射服务器的IP地址,源IP地址 为第一隧道路由器的IP地址(如ETR1的IP地址)。UDP头部分,Dest Port 为固定的4342,Source Port可以任意指定。LISP报文字段包括64位,前4 位为Type values字段,值为10,用于表示当前报文为故障通告报文;之后28 位为保留字段;最后32位为Fault Routing Locator(故障路由位置)字段,用 来标识故障隧道路由器(即第二隧道路由器)的IP地址(如ETR2的IP地址)。

本发明实施例中,第一隧道路由器在确认第二隧道路由器发生故障之后, 第一隧道路由器还可以为第二隧道路由器启动第三定时器T3。其中,第三定 时器T3的超时时间大于第二定时器T2的超时时间。在具体实现方式中,第 三定时器T3的超时时间大于等于EID-to-RLOC映射表老化时间的2倍时间。

如果第一隧道路由器在第三定时器T3超时之前收到来自第二隧道路由器 的LISP监控报文,则第一隧道路由器确认第二隧道路由器故障恢复,并确定 第二隧道路由器的IP地址不是本第一隧道路由器的IP地址,并撤销向外发布 的携带第二隧道路由器的IP地址的路由。进一步的,第一隧道路由器向映射 服务器发送故障恢复报文,该故障恢复报文中携带第二隧道路由器已经故障 恢复的信息。映射服务器在接收到故障恢复报文之后,清除EID,RLOC映射 表中第二隧道路由器对应的故障标识。基于此,映射服务器在向其它LISP域 内的隧道路由器发送EID,RLOC映射表中的记录时,需要将EID,RLOC映 射表中没有标识为故障的第一隧道路由器对应的记录、没有标识为故障的第 二隧道路由器对应的记录发送给其它LISP域内的隧道路由器。

如果第一隧道路由器在第三定时器T3超时之前未接收到来自第二隧道路 由器的LISP监控报文,则第一隧道路由器确认第二隧道路由器故障无法恢复, 并确定第二隧道路由器的IP地址不是本第一隧道路由器的IP地址,并撤销向 外发布的携带第二隧道路由器的IP地址的路由。进一步的,第一隧道路由器 向映射服务器发送故障无法恢复报文,该故障无法恢复报文中携带第二隧道 路由器故障无法恢复的信息。映射服务器在接收到故障无法恢复报文之后, 从EID,RLOC映射表中删除第二隧道路由器对应的记录。基于此,映射服务 器在向其它LISP域内的隧道路由器发送EID,RLOC映射表中的记录时,由 于EID,RLOC映射表中只存在第一隧道路由器对应的记录,而不存在第二隧 道路由器对应的记录,因此,映射服务器直接将EID,RLOC映射表中的第一 隧道路由器对应的记录发送给其它LISP域内的隧道路由器。

本发明实施例中,映射服务器在EID,RLOC映射表中将第二隧道路由器 对应的记录标识为故障之后,并在映射服务器从EID,RLOC映射表中删除第 二隧道路由器对应的记录之前,如果映射服务器接收到来自第二隧道路由器 的任何报文,则映射服务器均确认该第二隧道路由器故障恢复,并需要清除 EID,RLOC映射表中第二隧道路由器对应的故障标识。

本发明实施例中,在第一隧道路由器确定第二隧道路由器的IP地址不是 本第一隧道路由器的IP地址,并撤销之前向外发布的携带第二隧道路由器的 IP地址的路由之后,第一隧道路由器还需要删除第三定时器T3。

基于上述技术方案,本发明实施例中,当LISP域内的第二隧道路由器发 生故障时,该LISP域内的第一隧道路由器能够及时感知第二隧道路由器发生 故障,即快速检测到故障的隧道路由器,并接管第二隧道路由器的IP地址, 向外发布携带第二隧道路由器的IP地址的路由,从而使得其它LISP域内的 隧道路由器发送的报文均发送给第一隧道路由器,避免将报文发送给第二隧 道路由器,从而避免业务发生中断,并避免发生流量丢包情况。进一步的, 其它LISP域内的隧道路由器不感知故障发生,减少丢包和表项切换。

基于与上述方法同样的发明构思,本发明实施例中还提供了一种网络设 备,LISP域内包括第一隧道路由器和第二隧道路由器,所述网络设备作为LISP 域内的所述第一隧道路由器,如图5所示,所述第一隧道路由器具体包括:

启动模块11,用于为所述第二隧道路由器启动第一定时器T1,并接收所 述第二隧道路由器周期性的向所述第一隧道路由器发送的LISP监控报文;其 中,所述第一定时器T1的超时时间大于LISP监控报文的发送间隔;

确定模块12,用于当第一隧道路由器在所述第一定时器T1超时之前未收 到来自第二隧道路由器的LISP监控报文时,确认第二隧道路由器发生故障;

发送模块13,用于确定所述第二隧道路由器的IP地址为所述第一隧道路 由器的IP地址,并向外发布携带所述第二隧道路由器的IP地址的路由。

所述发送模块13,进一步用于在所述确定模块12确认所述第二隧道路由 器发生故障之后,向映射服务器发送故障通告报文,所述故障通告报文中携 带了所述第二隧道路由器发生故障的信息;以使所述映射服务器在接收到所 述故障通告报文之后,为所述第二隧道路由器启动第二定时器T2,如果在所 述第二定时器T2超时之前未接收到来自所述第二隧道路由器的报文,则确认 所述第二隧道路由器发生故障,并在映射服务器本地维护的末端标识EID, 路由定位RLOC映射表中将所述第二隧道路由器对应的记录标识为故障。

所述启动模块11,还用于在所述确定模块12确认所述第二隧道路由器发 生故障之后,为所述第二隧道路由器启动第三定时器T3;其中,所述第三定 时器T3的超时时间大于所述第二定时器T2的超时时间;

所述确定模块12,还用于当第一隧道路由器在所述第三定时器T3超时之 前收到来自第二隧道路由器的LISP监控报文时,确认第二隧道路由器故障恢 复;所述发送模块13,还用于确定第二隧道路由器的IP地址不是所述第一隧 道路由器的IP地址,并撤销向外发布的携带所述第二隧道路由器的IP地址的 路由;向映射服务器发送故障恢复报文,所述故障恢复报文中携带所述第二 隧道路由器已经故障恢复的信息;以使所述映射服务器在接收到故障恢复报 文之后,清除EID,RLOC映射表中所述第二隧道路由器对应的故障标识;

所述确定模块12,还用于当第一隧道路由器在所述第三定时器T3超时之 前未收到来自第二隧道路由器的LISP监控报文时,确认第二隧道路由器故障 无法恢复;所述发送模块13,还用于确定第二隧道路由器的IP地址不是所述 第一隧道路由器的IP地址,并撤销向外发布的携带第二隧道路由器的IP地址 的路由;向映射服务器发送故障无法恢复报文,所述故障无法恢复报文中携 带第二隧道路由器故障无法恢复的信息;以使映射服务器在接收到故障无法 恢复报文之后,从EID,RLOC映射表中删除第二隧道路由器对应的记录。

其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述 模块可以合并为一个模块,也可以进一步拆分成多个子模块。

基于与上述方法同样的发明构思,本发明实施例中还提供了一种映射服 务器,位置与身份分离协议LISP域内包括第一隧道路由器和第二隧道路由器, 如图6所示,所述映射服务器具体包括:

接收模块21,用于接收来自所述第一隧道路由器的故障通告报文,所述 故障通告报文中携带所述第二隧道路由器发生故障的信息;其中,所述故障 通告报文是所述第一隧道路由器利用第一定时器T1确认所述第二隧道路由器 发生故障,并确定所述第二隧道路由器的IP地址为所述第一隧道路由器的IP 地址,并向外发布携带所述第二隧道路由器的IP地址的路由之后发送的;

处理模块22,用于为第二隧道路由器启动第二定时器T2;如果在所述第 二定时器T2超时之前未接收到来自所述第二隧道路由器的报文,则确认所述 第二隧道路由器发生故障,并在所述映射服务器本地维护的末端标识EID, 路由定位RLOC映射表中将所述第二隧道路由器对应的记录标识为故障;

发送模块23,用于在向其它LISP域内的隧道路由器发送所述EID,RLOC 映射表中的记录时,将所述EID,RLOC映射表中没有标识为故障的第一隧道 路由器对应的记录发送给所述其它LISP域内的隧道路由器。

所述接收模块21,还用于接收来自所述第一隧道路由器的故障恢复报文, 所述故障恢复报文中携带了所述第二隧道路由器已经故障恢复的信息;其中, 所述故障恢复报文是所述第一隧道路由器利用第三定时器T3确认所述第二隧 道路由器故障恢复,并确定所述第二隧道路由器的IP地址不是所述第一隧道 路由器的IP地址,并撤销向外发布的携带所述第二隧道路由器的IP地址的路 由之后发送的;所述处理模块22,还用于在接收到所述故障恢复报文之后, 清除所述EID,RLOC映射表中第二隧道路由器对应的故障标识;或者,

所述接收模块21,还用于接收来自第一隧道路由器的故障无法恢复报文, 所述故障无法恢复报文中携带第二隧道路由器故障无法恢复的信息;其中, 所述故障无法恢复报文是所述第一隧道路由器利用第三定时器T3确认所述第 二隧道路由器故障无法恢复,并确定第二隧道路由器的IP地址不是所述第一 隧道路由器的IP地址,并撤销向外发布的携带所述第二隧道路由器的IP地址 的路由之后发送的;所述处理模块22,还用于在接收到所述故障无法恢复报 文之后,从所述EID,RLOC映射表中删除第二隧道路由器对应的记录。

其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述 模块可以合并为一个模块,也可以进一步拆分成多个子模块。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本 发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬 件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技 术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使 得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行 本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优 选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。 本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进 行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一 个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步 拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例 的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局 限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号