隧道环路检测方法及装置的制作方法

文档序号:7706736阅读:206来源:国知局
专利名称:隧道环路检测方法及装置的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种隧道环路检测方法及装置。
背景技术
隧道环路是通信网络中常见的技术问题。当出现隧道环路时,数据将在网络节点 间,形成环路的隧道内循环传输,这有可能严重地消耗网络资源,同时,影响网络节点,比如 家乡代理的处理性能,可能导致宕机情况的出现。现有的技术解决方案是在IPinIP隧道封装协议中,增加隧道封装选项,并在该选 项中设置跳数Hop变量。该隧道封装选项由隧道初始入节点(第一个进行隧道封装的网络 节点)插入,并设置初始的Hop值,然后由后续隧道入节点(也即收到该数据包,且还需要 进行IPinIP隧道封装的网络节点)拷贝到数据包外层头,同时将Hop值减1。当Hop值减 少到0的时候,则网络节点将该数据包丢失。从而可以防止隧道环路的出现。现有的技术解决方案虽然可以将在隧道环路中传输数据包丢失,但并不能检测并 删除存在环路的隧道路由条目,从而不能彻底消除隧道环路引起的网络带宽资源消耗和网 络节点处理的性能影响。

发明内容
本发明实施例提供一种隧道环路检测方法及装置,从而能够快速、准确的检测出 隧道路由是否存在隧道环路。本发明实施例提供了一种种隧道环路检测方法,包括检测接收的数据包中的隧道源路由选项是否包含网络节点本身的隧道源标识;若所述隧道源路由选项中包含网络节点本身的隧道源标识,则确定传输所述数据 包的隧道存在隧道环路。本发明实施例还提供一种隧道环路检测装置,包括第一检测模块,用于检测接收的数据包中的隧道源路由选项是否包含网络节点本 身的隧道源标识;环路确定模块,用于在所述第一检测模块检测到所述隧道源路由选项中,包含网 络节点本身的隧道源标识时,确定传输所述数据包的隧道存在隧道环路。由上述本发明实施例提供的技术方案可以看出,本发明实施例中,通过检测接收 的数据包中的隧道源路由选项是否包含网络节点本身的隧道源标识,并在所述隧道源路由 选项中包含网络节点本身的隧道源标识时,确定传输所述数据包的隧道存在隧道环路。从 而实现快速、准确的检测出隧道路由是否存在隧道环路。


图1为本发明实施例提供的所述方法流程示意图一;图2为本发明实施例提供的所述方法流程示意图二
图3为本发明实施例提供的所述方法隧道源路由选项示意图一;图4为本发明实施例提供的所述方法隧道源路由选项示意图二 ;图5为本发明实施例提供的所述方法流程示意图三;图6为本发明实施例提供的所述方法隧道源路由选项示意图三;图7为本发明实施例提供的所述方法隧道源路由选项示意图四;图8为本发明实施例提供的所述方法隧道源路由选项示意图五;图9为本发明实施例提供的所述方法流程示意图四;图10为本发明实施例提供的所述方法流程示意图五;图11为本发明实施例提供的所述装置结构示意图一;图12为本发明实施例提供的所述装置结构示意图二 ;图13为本发明实施例提供的所述装置结构示意图三;图14为本发明实施例提供的所述装置结构示意图四。
具体实施例方式本发明实施例提供了一种隧道环路检测方法,如附图1所示,该方法通过检测接收的数据包中的隧道源路由选项是否包含网络节点本身的隧道源标识,并在确定若隧道源 路由选项中包含网络节点本身的隧道源标识时,则确定传输所述数据包的隧道存在隧道环 路。从而实现快速、准确的检测出隧道路由是否存在隧道环路。本发明实施例提供隧道环路检测方法中,当网络节点接收到数据包之后,需要执 行如附图2所示的处理流程,具体可以包括步骤21,检测数据包中是否包含隧道源路由选项。如果数据包中包含隧道源路由选项,则执行步骤23,否则执行步骤22。需要说明的是,本发明实施例中所涉及的网络节点,可以为隧道入节点或隧道出 节点,更具体的可以为家乡代理等网络节点。另外,本发明实施例所涉及的隧道源路由选项,具体可如附图3、附图4所示,其 中1)类型,用于标识该选项为隧道源路由选项。2)长度1,用于标识隧道源路由选项的长度。通常情况下,长度1不包括类型、长度1字段本身的长度。3)长度2,用于当不同网络节点生成的隧道源标识长度不一样时,标识不同隧道 源标识的长度(如图4所示)。需要说明的是,当不同网络节点生成的隧道源标识长度一样时,则不需要该指示 字段(如图3所示)。4)隧道源标识,是网络节点中的隧道入节点分配的标识,用于网络节点检查本网 络节点是否在隧道环路中。需要说明的是,当网络节点在执行步骤23后,没有检测到数据包中隧道源路由选 项包含网络节点本身的隧道源标识,说明该网络节点没有发送过该数据包,隧道上不存在 隧道环路;如果网络节点在执行步骤23后,检测到数据包中隧道源路由选项包含网络节点 本身的隧道源标识,说明该网络节点已经发送过该数据包,但由于存在隧道环路,该数据包又回到了该网络节点,证明该网络节点置于隧道环路中,即隧道中存在隧道环路。步骤22,生成数据包的隧道源路由选项。如果数据包中不包含隧道源路由选项,则生成该数据包的隧道源路由选项,后续 可执行步骤25,生成网络节点本身的隧道源标识。需要说明的是,步骤22与步骤25在执行顺序上也可先执行步骤25,后执行步骤22,即生成数据包隧道源路由选项,与生成网络节点本身隧道源标识在执行时间上可根据 需要进行调整。步骤23,检测是否包含网络节点本身的隧道源标识。如上所述,如果该数据包中,包含网络节点本身的隧道源标识,则说明该网络节点 置于隧道环路中,隧道存在隧道环路,则后续执行步骤24 ;如果该数据包中,没有包含网络节点本身的隧道源标识,则说明该网络节点没在 隧道环路中,隧道不存在隧道环路,后续执行步骤25。步骤24,删除传输数据包的隧道对应的绑定缓存条目。具体网络节点可以直接删除传输数据包的隧道对应的绑定缓存条目(BCE Banding Cache Entry)。后续再收到该绑定缓存条目对应的数据包时,由于已经没有对应 的绑定缓存条目,因此直接删除数据包。另外,网络节点进一步还可以通知隧道上所有的网络节点,该隧道存在隧道环路, 其他相关网络节点同样可以删除上述绑定缓存条目,后续不再转发该绑定缓存条目对应的 数据包。可以理解的是,本发明实施例也可以采用其他方式删除或屏蔽绑定缓存条目,不 再为其进行数据包转发。步骤25,生成网络节点本身的隧道源标识。生成隧道源标识的方法有许多中,基本特点是包括本网络节点的一些属性,需避 免与其他隧道入节点产生的隧道源标识冲突。为了防止各个隧道入节点生成相同的隧道源标识,本发明实施例推荐使用下面几 种方式生成隧道源标识,包括方式1,将隧道源标识设置为其自身特性相关的参数,例如,隧道源标识为隧道入 节点本身的介质访问控制(MAC =Media Access Control)地址或IP地址;方式2,将隧道源标识设置为隧道入节点与隧道出节点之间共有的唯一参数,例如 安全参数索引(SPI Security Parameter Index)、通用路由封装协议(GRE :GeneraI Route Encapsulation)隧道标识(GRE key)等。方式3,将隧道源标识设置为方式1与方式2的组合,包括进行异、或操作等。例 如,隧道源标识设置为MAC地址与GRE key进行异、或后的值。可以理解的是,上述方式仅为举例说明,对本发明实施例的保护范围不构成任何 实质影响。步骤26,将生成的网络节点本身的隧道源标识插入隧道源路由选项中。在生成网络节点本身的隧道源标识后,可将生成的隧道源标识插入接收的数据包 中的隧道源路由选项中,或者插入执行步骤12后生成的隧道源路由选项中。步骤27,将插入网络节点本身隧道源标识的隧道源路由选项插入数据包包头中。
网络节点在接收到数据包后,需要在该数据包的包头中,重新插入该网络节点的 相关信息,比如插入网络节点本身隧道源标识的隧道源路由选项,以及源地址和目的地址等信息。步骤28,发送插入网络节点本身隧道源标识的数据包。在完成步骤27的操作后,将数据包发送至下一个网络节点。为了便于理解,下面以隧道环路已经形成的情况下,三个网络节点(家乡代理)将 对端节点(CN)的数据包发送移动节点(MN)的具体实现过程为例,对本发明实施例提供的 隧道环路检测方法进行详细地说明。其中,3个家乡代理(HA)上的BCE,包括家乡地址(HoA)、转交地址(CoA),分别设 置为 HAl-BCE (HoAl、HoA2),HA2-BCE (HoA2、HoAl),HA3-BCE (HoA3、HoA2),即 HA2 与 HAl 之 间存在隧道环路。该过程具体可以如附图5所示,包括步骤51,对CN向丽发送数据包。此时,数据包的目的地址为HoA3,源地址为CN地址。步骤52,HA3接收到发向MN_HoA3的数据包后,检测是否存在隧道环路。HA3具体可以采用如附图2所示的流程,检测是否存在隧道环路。由于此时收到的数据包中的隧道源路由选项中不包含HA3自身生成的隧道源标 识,即不存在环路,所以HA3将继续转发MN-HoA3的数据包。根据绑定HA3-BCE(HoA3,HoA2),HA3向转交地址HoA2转发数据包,也即在收到的 数据包新增一个数据包头(包括目的地址为HoA2,源地址为HA3地址),同时,复制接收到 的数据包中的隧道源路由选项到新增的数据包头中,并增加一个隧道源路由选项,插入HA3 生成的隧道源标识(HA3-TSID),向下一跳转发。隧道源路由选项具体可如附图6所示。由于目的地址为HoA2,数据包将会路由到HA2。步骤53,HA2接收到发向MN_HoA2的数据包后,检测是否存在隧道环路。同样,HA2具体可以采用如附图2所示的流程,检测是否存在隧道环路。由于此时收到的数据包中的隧道源路由选项中不包含HA2自身生成的隧道源标 识,即不存在环路。所以HA2将继续转发MN-HoA2的数据包。根据绑定HA2-BCE(HoA2,HoAl),HA2向转交地址HoAl转发数据包,也即在收到的 数据包新增一个数据包头(包括目的地址为HoA2,源地址为HA3地址),同时,复制接收到 的数据包中的隧道源路由选项到新增的数据包头,并增加一个隧道源路由选项,插入HA2 生成的隧道源标识(HA2-TSID),向下一跳转发。隧道源路由选项具体可如附图7所示。由于目的地址为HoAl,数据包将会路由到HAl。步骤54,HAl接收到发向MN-HoAl的数据包后,检测是否存在隧道环路。同样,HAl具体可以采用如附图2所示的流程,检测是否存在隧道环路。由于此时收到的数据包中的隧道源路由选项中不包含HAl自身生成的隧道源标 识,即不存在环路。所以HAl将继续转发MN-HoAl的数据包。根据绑定HAl-BCE (HoAl,HoA2),HAl向转交地址HoA2转发数据包,也即在收到的数据包新增一个数据包头(包括目的地址为HoA2,源地址为HAl地址),同时,复制接收到的数据包中的隧道源路由选项到新增的数据包头,并增加一个隧道源路由选项,插入HAl 生成的隧道源标识(HAl-TSID),向下一跳转发。隧道源路由选项具体可如附图8所示。由于目的地址为HoA2,数据包将会路由到HA2。步骤55,HA2接收到发向MN_HoA2的数据包后,检测是否存在隧道环路。同样,HAl具体可以采用如附图2所示的流程,检测是否存在隧道环路。由于此时收到的数据包中的隧道源路由选项中包含HA2自身生成的隧道源标识, 即HA2-TSID,这说明HA2已经发送过该数据包,因此可以证明,存在环路。所以HA2将终止数据包的转发。另外,HA2删除存在隧道环路的绑定MN-BCE。这样后续收到MN_HoA2的数据包,由 于没有MN的绑定BCE,数据将会被直接丢失。进一步的,HA2还可以根据接收到的MN-HoA2相关数据包的源地址向HA1、HA3发生 错误报告,并带有原因值为隧道环路。这样HA1、HA3也将分别删除MN的HAl-BCE、HA3_BCE, 不再转发MN-HoAl,MN-HoA3的数据包。通过上述操作,传输链路上的网络节点(HA3、HA2、HA1)不在传输存在隧道环路的 BCE对应的数据包,因此,节省了宝贵的网络带宽资源,避免了对网络节点处理性能的影响。本发明实施例提供的隧道环路检测方法的另一个具体实施例中,为了进一步节省 网络资源,还可以对是否启用隧道环路检测功能进行判断,或根据指示启动隧道环路检测 功能。本发明实施例具体实现过程可以包括但不限于以下方式方式1,在丽向网络节点(家乡代理,即隧道入节点)进行绑定更新时,或在MN启 动接入网络的过程中,家乡代理(HA),即隧道入节点从MN的策略服务器获取是否启动隧道 环路检测功能的指示信息。其中策略服务器是MN的签约服务器或AAA服务器。该方式的实现过程具体可以如附图9所示,包括步骤91,丽接入到网络,进行接入认证,完成自举过程,获取HA地址、HoA等信息。步骤92,MN向家乡代理发送绑定更新,请求建立转交地址(CoA)与家乡地址(HoA) 的绑定关系和建立双向隧道。步骤93,家乡代理向AAA服务器发送接入请求消息,对MN进行认证。步骤94,AAA服务器向家乡代理返回接入相应消息,并带有是否启动隧道环路检 测功能的标志。如果标志位表示需要启动隧道环路检测功能,则家乡代理作为隧道入节点,与MN 建立的双向隧道需要进行隧道环路检测。步骤95,家乡代理向MN返回绑定确认消息,建立双向隧道。方式2,家乡代理(隧道入节点)根据发送数据包的MN是否具有支持多家乡代理 或多接口能力,来判断是否启动隧道环路检测功能。若发送数据包的丽具有支持多家乡代理或多接口能力,则启动隧道环路检测功 能。
家乡代理可以通过发送数据包的MN在绑定更新消息中携带的信息来获取MN是否 具有支持多家乡代理或多接口能力,也可以通过MN在自举过程中或MN绑定更新时从策略 服务器获取MN是否支持多家乡或多接口。方式3,在家乡代理(隧道入节点)上进行配置启动隧道环路检测功能标识。当家乡代理启动时,根据事先设置的启动隧道环路检测标识,决定是否启动隧道 环路检测。需要说明的是,上述判断是否启用隧道环路检测功能的判断方式,除适用于本发 明实施例提供的 隧道环路检测方法之外,还可以适用于包括现有技术在内的其他隧道环路 处理或检测功能是否启动的方法。本发明实施例提供的隧道环路检测方法的另一个具体实施例中,还可以在网络节 点(隧道入节点)建立双向隧道后,对隧道进行初始检测,防止生成隧道环路。该检测过程具体可如图10所示,包括步骤1001,MN初始接入网络或移动切换到另一个接入网络时,获取一个新的转交 地址(CoA)。步骤1002,丽向家乡代理(HAl)发送绑定更新请求,请求建立家乡地址(HoA)与 转交地址(CoA)的BCE,及与HAl之间的双向隧道。其中CoA为隧道地址,是绑定更新请求的源地址,或请求中携带的隧道地址选项。步骤1003,HA1向MN的隧道地址(CoA)发送初始隧道检测请求消息(如回声请求 或心跳请求)。其中源地址为HAl地址,目的地址为转交地址CoA。如果一切正常,隧道上的其他HA向MN转发初始隧道检测请求消息。步骤1004,如果HAl收到初始隧道检测响应消息,则说明传输链路一切正常,不存 在隧道环路。如果HAl收到的是本身发送的初始隧道检测请求消息,则说明隧道上存在隧道环 路,MN没有收到HAl发送的尝试隧道检测请求消息,进一步可以判定传输链路出现问题。通过上述描述可以看出,本发明实施例提供的基于隧道源路由选项的隧道环路测 试方法,通过检测接收的数据包中的隧道源路由选项是否包含网络节点本身的隧道源标 识,并在确定隧道源路由选项中包含网络节点本身的隧道源标识时,确定传输数据包的隧 道存在隧道环路。从而快速、准确的确定隧道环路的存在,并且,本发明实施例还可以在确 定存在隧道环路后,及时删除存在隧道环路的隧道所对应的绑定缓存条目,从而消除环路 隧道对网络带宽资源消耗以及对网络节点处理性能的影响,维护了网络的稳定与业务的开 展。本发明实另一施例提供了一种隧道环路检测装置,如附图11所示,该装置具体可 以由第一检测模块1101,以及环路确定模块1102组成。其中第一检测模块1101,用于检测接收的数据包中的隧道源路由选项是否包含网络节 点本身的隧道源标识。环路确定模块1102,用于在第一检测模块1101检测到接收的数据包中隧道源路 由选项中,包含网络节点本身的隧道源标识时,确定传输该数据包的隧道存在隧道环路。在本发明实施例提供的隧道环路检测装置的一个具体实施例中,该装置除了包括第一检测模块1101以及环路确定模块1102之外,如附图12所示,进一步还可以包括接收 模块1103,第二检测模块1104,第一生成模块1105,第二生成模块1106,插入模块1107,发 送模块1108以及删除模块1109,组成,其中接收模块1103,用于在接收数据包。
第二检测模块1104,用于检测接收模块1103接收的数据包中,是否包含隧道源路 由选项。如果接收模块1103接收的数据包中,包含隧道源路由选项,则第一检测模块1104 触发第一检测模块1101 ;否则,触发第一生成模块1105以及第二生成模块1107。第一生成模块1105,用于在第二检测模块1104检测确定接收模块1103接收的数 据包中没有隧道源路由选项时,生成该数据包的隧道源路由选项。第一生成模块1105生成的隧道源路由选项具体可附图3、4所示。第二生成模块1106,用于在第一检测模块1101或者第二检测模块的触发下,生成 网络节点本身的隧道源标识。第二生成模块1106生成隧道源标识具体可以包括以下方式方式1,将隧道源标识设置为其自身特性相关的参数,例如,隧道源标识为隧道入 节点本身的介质访问控制(MAC =Media Access Control)地址或IP地址;方式2,将隧道源标识设置为隧道入节点与隧道出节点之间共有的唯一参数,例如 安全参数索引(SPI Security Parameter Index)、通用路由封装协议(GRE :General Route Encapsulation)隧道标识(GRE key)等。方式3,将隧道源标识设置为方式1与方式2的组合,包括进行异、或操作等。例 如,隧道源标识设置为MAC地址与GRE key进行异、或后的值。插入模块1107,用于将第二生成模块1106生成的网络节点本身的隧道源标识,插 入第一生成模块1004生成的隧道源路由选项,或者插入接收模块1103接收的数据包中的 隧道源路由选项中。插入模块1107还用于将插入了第二生成模块1106生成的网络节点本身隧道源标 识的隧道源路由选项,插入接收模块1103接收的数据包的包头中。发送模块1108,用于将插入模块1010完成操作的数据包发送至其他网络节点。删除模块1109,用于在环路确定模块1102确定传输数据包的隧道存在环路时,删 除网络节点内,该隧道对应的绑定缓存条目。同时,删除模块1109还可以通知隧道上所有的网络节点,删除对应的绑定缓存条 目,并通知删除原因为存在隧道环路。需要说明的是,本发明实施例中所涉及的第一检测模块与第二检测模块可以分别 设置存在,也可以同时设置在一个功能模块内存在,即一个功能模块可以具备第一检测模 块和第二检测模块的两个功能。可以理解的是,本发明实施例所涉及的第一生成模块与第 二生成模块的情况与此类似。本发明实施例提供的隧道环路检测装置的另一个具体实施例中,如附图13所示, 为了进一步节省网络资源,还可以设置有判断模块1110,用于根据接收到指示信息、或者发 送数据包的移动节点的能力、或者根据事先设置的启动标识,判断是否启动所述装置的检 测功能。
判断模块1110的判断方式具体可以包括以下几种方式方式1,在移动节点(MN)向家乡代理(隧道入节点)进行绑定更新时,或在丽启 动接入网络的过程中,判断模块1110从MN的策略服务器获取是否启动隧道环路检测功能 的指示信息。方式2,判断模块1110根据发送数据包的MN是否具有支持多家乡代理或多接口能 力,来判 断是否启动隧道环路检测功能。且若MN具有支持多家乡代理或多接口能力,则启动隧道环路检测功能。方式3,判断模块1110根据事先配置的启动隧道环路检测功能标识,决定是否启 动隧道环路检测。另外,本发明实施例提供的隧道环路检测装置的另一个具体实施例中,进一步可 如附图14所示,还可以包括隧道检测模块1111,用于在隧道建立之初,通过发送初始隧道 检测请求消息,并根据接收的消息类型,确定隧道是否存在隧道环路。具体的,如果隧道检测模块1111在通过建立的隧道向移动节点发送初始隧道检 测请求消息之后,收到移动节点返回的初始隧道检测响应消息,则说明隧道一切正常,不存 在隧道环路。如果隧道检测模块1111收到的是本身发送的初始隧道检测请求消息,则说明隧 道存在隧道环路。通过上述描述可以看出,本发明实施例提供了的基于隧道源路由选项的隧道环路 测试装置,通过检测接收的数据包中的隧道源路由选项是否包含网络节点本身的隧道源标 识,并在确定隧道源路由选项中,包含网络节点本身的隧道源标识时,确定传输数据包的隧 道存在隧道环路。从而快速、准确的确定隧道环路的存在,并且,本发明实施例还可以在确 定存在隧道环路后,及时删除存在隧道环路的隧道所对应的绑定缓存条目,从而消除环路 隧道对网络带宽资源消耗以及对网络节点处理性能的影响,维护了网络的稳定与业务的开 展。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借 助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下 前者是更佳的实施方式。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部 或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如 ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务 器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围 为准。
权利要求
一种隧道环路检测方法,其特征在于,包括检测接收的数据包中的隧道源路由选项是否包含网络节点本身的隧道源标识;若所述隧道源路由选项中包含网络节点本身的隧道源标识,则确定传输所述数据包的隧道存在隧道环路。
2.根据权利要求1所述的方法,其特征在于,所述方法在所述检测接收的数据包中的 隧道源路由选项是否包含网络节点本身的隧道源标识之前还包括检测所述数据包中是否有隧道源路由选项,若所述数据包中没有隧道源路由选项,则 生成所述数据包的隧道源路由选项。
3.根据权利要求1或2所述的方法,其特征在于,若确定所述隧道源路由选项中不包含 网络节点本身的隧道源标识,则所述方法还包括生成所述网络节点本身的隧道源标识,并插入所述隧道源路由选项;将所述插入了所述网络节点本身隧道源标识的隧道源路由选项,插入所述数据包的包 头中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括发送所述插入了所述网 络节点本身隧道源标识的数据包。
5.根据权利要求1、2或4所述的方法,其特征在于,所述方法在确定传输所述数据包的 隧道存在隧道环路之后还包括删除所述隧道对应的绑定缓存条目。
6.根据权利要求5所述的方法,其特征在于,所述删除所述隧道对应的绑定缓存条目 还包括通知所述隧道上的所有网络节点删除所述隧道对应的绑定缓存条目,并通知删除原因 为存在隧道环路。
7.根据权利要求1、2、或4所述的方法,其特征在于,所述方法在检测接收的数据包中 的隧道源路由选项是否包含网络节点本身的隧道源标识之前还包括接收AAA服务器返回的接入响应消息,并根据所述接入响应消息中携带的隧道环路检 测功能标志,确定是否进行检测操作;或根据发送所述数据包的移动节点是否具有支持多家乡代理或多接口的能力,确定是否 进行检测操作;或根据事先设置的启动标识,确定是否进行检测操作。
8.根据权利要求1所述的方法,其特征在于,在所述隧道建立之后,所述方法还包括所述网络节点通过建立的隧道向移动节点发送初始隧道检测请求消息;若网络节点收到所述初始隧道检测请求消息,则确定所述隧道存在隧道环路。
9.一种隧道环路检测装置,其特征在于,包括第一检测模块,用于检测接收的数据包中的隧道源路由选项是否包含网络节点本身的 隧道源标识;环路确定模块,用于在所述第一检测模块检测到所述隧道源路由选项中包含网络节点 本身的隧道源标识时,确定传输所述数据包的隧道存在隧道环路。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括接收模块,用于接收数据包;第二检测模块,用于检测所述接收模块接收的数据包中,是否包含隧道源路由选项,若所述数据包中包含隧道源路由选项,则触发所述第一检测模块,否则,触发第一生成模块;第一生成模块,用于在所述第二检测模块确定所述数据包中没有隧道源路由选项时, 生成该数据包的隧道源路由选项。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括第二生成模块,用于在所述第一生成模块或第一检测模块的触发下,生成网络节点本 身的隧道源标识;插入模块,用于将所述第二生成模块生成的网络节点本身的隧道源标识,插入之所述 数据包中的隧道源路由选项或者插入所述第一生成模块生成的隧道源路由选项中,并将插 入了所述网络节点本身隧道源标识的所述隧道源路由选项,插入所述数据包的包头中;发送模块,用于将所述插入模块完成操作的数据包发送至其他网络节点。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括判断模块,用于根据接收到指示信息、或者发送数据包的移动节点的能力、或者根据事 先设置的启动标识,判断是否启动所述装置的检测功能。
13.根据权利要求9、10、11或12所述的装置,其特征在于,所属装置还包括删除模块,用于在所述环路确定模块确定传输所述数据包的隧道存在隧道环路时,删 除所述隧道对应的绑定缓存条目。
14.根据权利要求9所述的装置,其特征在于,所属装置还包括隧道路由检测模块,用于在所述隧道建立后,通过发送初始隧道检测请求消息,并根据 接收的消息类型,确定所述隧道是否存在隧道环路。
全文摘要
本发明实施例涉及一种隧道环路检测方法及装置,通过检测接收的数据包中的隧道源路由选项是否包含网络节点本身的隧道源标识,并在所述隧道源路由选项中包含网络节点本身的隧道源标识时,确定传输所述数据包的隧道存在隧道环路。通过实施本发明,能够快速、准确的检测出隧道路由是否存在隧道环路。
文档编号H04L12/26GK101848112SQ20091013232
公开日2010年9月29日 申请日期2009年3月25日 优先权日2009年3月25日
发明者吴钦, 夏晋伟, 宫小玉, 李洪广, 王云贵 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1