CN102594626A - 一种IPv6隧道故障检测方法及装置 - Google Patents
一种IPv6隧道故障检测方法及装置 Download PDFInfo
- Publication number
- CN102594626A CN102594626A CN2012100609684A CN201210060968A CN102594626A CN 102594626 A CN102594626 A CN 102594626A CN 2012100609684 A CN2012100609684 A CN 2012100609684A CN 201210060968 A CN201210060968 A CN 201210060968A CN 102594626 A CN102594626 A CN 102594626A
- Authority
- CN
- China
- Prior art keywords
- ipv6
- message
- self
- ipv4
- ipv4 message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种IPv6隧道故障检测方法及装置,用以解决现有技术故障检测的效率较低的问题。该方法IPv6隧道中的第一边缘路由器接收IPv6报文并将其封装为IPv4报文后,判断自身的防火墙是否对该IPv4报文进行拦截,若是,则确定该IPv6隧道出现故障,生成携带自身的标识信息的故障告警信息,并返回发送该IPv6报文的发送端。由于本发明实施例中边缘路由器根据防火墙是否拦截封装有IPv6报文的IPv4报文,判断IPv6隧道是否出现故障,并在确定出现故障时,返回携带自身标识信息的故障告警信息,使发送端根据故障告警信息中的标识信息,可以即时定位IPv6隧道中出现故障的设备,提高了故障检测的效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种IPv6隧道故障检测方法及装置。
背景技术
隧道技术是指将一种协议的报文封装到另一种协议的报文中进行传输的技术,隧道技术要求隧道两端的设备,也即边缘设备支持这两种协议。互联网协议第6版本(Internet Protocol Version 6,IPv6)隧道技术实现了利用现有互联网协议第4版本(Internet Protocol Version 4,IPv4)网络为孤立的IPv6网络提供连通性,将IPv6报文封装在IPv4报文中穿越IPv4网络,使两个IPv6网络可以通过之间的IPv4网络实现信息交互,从而实现IPv6报文的透明传输。
图1A为现有技术中IPv6隧道的结构示意图。如图1A所示,IPv6网络1和IPv6网络2并未直接相连,而是通过之间的IPv4网络相连。连接IPv6网络1和IPv4网络的路由器1,以及,连接IPv6网络2和IPv4网络的路由器2即为IPv6隧道两端的设备,也即边缘设备,或称为边缘路由器。图1A中的IPv6隧道由边缘路由器1、IPv4网络、边缘路由器2构成,边缘路由器1和边缘路由器2为该IPv6隧道的两个端点。
基于图1A所示的IPv6隧道的结构,当IPv6网络1要将IPv6报文传输到IPv6网络2时,其具体过程如图1B所示。图1B为现有技术中基于图1A的IPv6隧道实现两个IPv6网络进行信息交互的过程,具体包括以下步骤:
S101:IPv6网络1中的发送端将IPv6报文发送到边缘路由器1。
其中,发送端发送的IPv6报文的格式如表1所示。
IPv6报文头 | IPv6数据 |
表1
如表1所示,IPv6报文由IPv6报文头和IPv6数据组成。
S102:边缘路由器1将接收到该IPv6报文封装在IPv4报文中。
其中,封装后的IPv4报文的格式如表2所示。
IPv4报文头 | IPv6报文头 | IPv6数据 |
表2
如表2所示,边缘路由器1将IPv6报文封装在IPv4报文中,实际上就是基于如表1所示的IPv6报文,在该IPv6报文中再增加一个IPv4报文头。封装的该IPv4报文中的IPv6报文头和IPv6数据可以作为该IPv4报文的数据。也即,封装的该IPv4报文由IPv4报文头和IPv4数据构成,其中,IPv4数据由IPv6报文头和IPv6数据构成。
S103:边缘路由器1将封装的IPv4报文通过IPv4网络发送到边缘路由器2。
S104:边缘路由器2将接收到的IPv4报文解封装,恢复为IPv6报文。
其中,边缘路由器2将IPv4报文解封装的过程就是将如表2所示的IPv4报文的IPv4报文头去掉,重新恢复为如表1所示的IPv6报文。
S105:边缘路由器2将恢复的IPv6报文发送给IPv6网络2中的接收端。
由上述过程可以看出,IPv6隧道技术不需要所有的设备都支持IPv6和IPv4两种协议,只要求边缘设备支持这两种协议即可,在IPv4向IPv6的过渡时期,IPv6技术扮演着重要角色。
在图1B所示的IPv6网络1通过IPv6隧道将IPv6报文传输给IPv6网络2过程中,任何一个环节出现故障,都会导致IPv6报文不能正常的传输给IPv6网络2。当出现故障时,其直观表现为位于IPv6网络1中的发送端将IPv6报文发送出去后,在设定的时间内没有接收到IPv6网络2的任何响应,此时则说明IPv6隧道可能出现故障。
在现有技术中,对于IPv6隧道的故障检测方法为人工手动的排查出现故障的位置,以及出现故障的原因。显然,现有技术中的故障检测的效率较低,不能及时排除IPv6隧道的故障。
发明内容
本发明实施例提供一种IPv6隧道故障检测方法及装置,用以解决现有技术故障检测的效率较低,不能及时排除IPv6隧道的故障的问题。
本发明实施例提供的一种IPv6隧道故障检测方法,包括:
互联网协议第6版本IPv6隧道中的第一边缘路由器接收IPv6报文,将所述IPv6报文封装为互联网协议第4版本IPv4报文;并
判断自身的防火墙是否对封装的所述IPv4报文进行拦截;以及
当确定自身的防火墙对所述IPv4报文进行拦截时,所述第一边缘路由器确定所述IPv6隧道出现故障,生成携带自身的标识信息的故障告警信息,将生成的所述故障告警信息返回发送所述IPv6报文的发送端。
本发明实施例提供的一种IPv6隧道故障检测方法,包括:
互联网协议第6版本IPv6隧道中的第二边缘路由器接收所述IPv6隧道中的第一边缘路由器发送的封装有IPv6报文的互联网协议第4版本IPv4报文;并
判断自身的防火墙是否对封装有IPv6报文的所述IPv4报文进行拦截;以及
当确定自身的防火墙对所述IPv4报文进行拦截时,所述第二边缘路由器确定所述IPv6隧道出现故障,生成携带自身的标识信息的故障告警信息,将生成的所述故障告警信息返回发送所述IPv4报文中封装的IPv6报文的发送端。
本发明实施例提供的一种IPv6隧道故障检测装置,位于互联网协议第6版本IPv6隧道中,包括:
接收封装模块,用于接收IPv6报文,将所述IPv6报文封装为互联网协议第4版本IPv4报文;
第一判断模块,用于判断自身的防火墙是否对封装的所述IPv4报文进行拦截;
故障告警模块,用于当所述第一判断模块确定自身的防火墙对所述IPv4报文进行拦截时,确定所述IPv6隧道出现故障,生成携带自身的标识信息的故障告警信息,将生成的所述故障告警信息返回发送所述IPv6报文的发送端。
本发明实施例提供的一种IPv6隧道故障检测装置,位于互联网协议第6版本IPv6隧道中,包括:
接收模块,用于接收所述IPv6隧道中的第一边缘路由器发送的封装有IPv6报文的互联网协议第4版本IPv4报文;
判断模块,用于判断自身的防火墙是否对封装有IPv6报文的所述IPv4报文进行拦截;
故障告警模块,用于当所述判断模块确定自身的防火墙对所述IPv4报文进行拦截时,确定所述IPv6隧道出现故障,生成携带自身的标识信息的故障告警信息,将生成的所述故障告警信息返回发送所述IPv4报文中封装的IPv6报文的发送端。
本发明实施例提供的一种IPv6隧道故障检测系统,包括:
如上所述的第一种IPv6故障检测装置;或者
如上所述的第二种IPv6故障检测装置;或者
如上所述的第一种IPv6故障检测装置,以及如上所述的第二种IPv6故障检测装置。
本发明实施例提供一种IPv6隧道故障检测方法及装置,该方法IPv6隧道中的第一边缘路由器接收IPv6报文并将其封装为IPv4报文后,判断自身的防火墙是否对封装的该IPv4报文进行拦截,若是,则确定该IPv6隧道出现故障,生成携带自身的标识信息的故障告警信息,将该故障告警信息返回发送该IPv6报文的发送端。由于本发明实施例中边缘路由器根据自身的防火墙是否拦截封装有IPv6报文的IPv4报文,判断IPv6隧道是否出现故障,并在确定出现故障时,返回携带自身标识信息的故障告警信息,使发送端根据故障告警信息中的标识信息,可以即时定位IPv6隧道中出现故障的设备,而无需人工手动排查,提高了故障检测的效率,从而可以及时排除IPv6隧道的故障。
附图说明
图1A为现有技术中IPv6隧道的结构示意图;
图1B为现有技术中基于图1A的IPv6隧道实现两个IPv6网络进行信息交互的过程;
图2为本发明实施例提供的IPv6隧道故障检测过程;
图3为本发明实施例中第一边缘路由器接收到IPv6报文后的处理过程;
图4为本发明实施例提供的IPv6隧道故障检测的详细过程;
图5为本发明实施例提供的另一种IPv6隧道故障检测过程;
图6为本发明实施例中第二边缘路由器接收到封装有IPv6报文的IPv4报文后的处理过程;
图7为本发明实施例提供的IPv6隧道故障检测装置结构示意图;
图8为本发明实施例提供的基于图7的IPv6隧道故障检测装置具体实现结构示意图;
图9为本发明实施例提供的另一种IPv6隧道故障检测装置结构示意图。
具体实施方式
在目前IPv6隧道的应用场景中,会导致IPv6隧道出现故障的一个主要原因是:位于IPv6隧道两端的边缘路由器内部的防火墙设置了对封装有IPv6报文的IPv4报文进行拦截的策略。当防火墙对封装有IPv6报文的IPv4报文进行拦截时,就会导致边缘路由器将IPv6报文封装为IPv4报文后,防火墙直接将该IPv4报文拦截并丢弃,该IPv4报文并未被发送出去,或者,边缘路由器接收到封装有IPv6报文的IPv4报文后,防火墙直接将该IPv4报文丢弃,该IPv4报文并未被解封装并恢复为IPv6报文。因此,本发明实施例中,边缘路由器将接收到的IPv6报文封装为IPv4报文后,判断自身的防火墙是否对该IPv4报文进行拦截,若是,则确定该IPv6隧道出现故障,生成携带自身的标识信息的故障告警信息,并返回发送该IPv6报文的发送端,使发送端根据故障告警信息中的标识信息,可以即时定位IPv6隧道中出现故障的设备,以提高故障检测的效率。
下面结合说明书附图,以连接发送IPv6报文的发送端所在的IPv6网络以及IPv4网络的边缘路由器为例,对本发明实施例进行详细描述。
图2为本发明实施例提供的IPv6隧道故障检测过程,具体包括以下步骤:
S201:IPv6隧道中的第一边缘路由器接收IPv6报文,将该IPv6报文封装为IPv4报文。
其中,第一边缘路由器为IPv6隧道中用于连接发送该IPv6报文的发送端所在的IPv6网络与IPv4网络的边缘路由器,以图1A所示的IPv6隧道结构图为例,边缘路由器1即为本发明实施例中的第一边缘路由器。第一边缘路由器接收到IPv6网络中的发送端发送的IPv6报文后,按照正常的流程将该IPv6报文封装为IPv4报文。
S202:判断自身的防火墙是否对封装的该IPv4报文进行拦截,若是,则进行步骤S203,否则进行步骤S204。
在本发明实施例中,第一边缘路由器将IPv6报文封装为IPv4报文后,判断自身的防火墙是否拦截该IPv4报文,若拦截,则说明该IPv6隧道出现故障,封装的该IPv4报文不能被正常的发送到隧道另一端的边缘路由器,若不拦截,则说明该IPv6隧道未出现故障,执行正常的发送流程。
S203:第一边缘路由器确定该IPv6隧道出现故障,生成携带自身的标识信息的故障告警信息,将生成的故障告警信息返回发送该IPv6报文的发送端。
在本发明实施例中,当第一边缘路由器确定该IPv6隧道出现故障时,向发送该IPv6报文的发送端发出故障告警信息,该故障告警信息中携带该第一边缘路由器的标识信息,使得发送端可以根据故障告警信息中的标识信息,即时定位IPv6隧道中出现故障的设备。其中,第一边缘路由器的标识信息可以为该第一边缘路由器自身的IP地址信息,也可以是其他能够唯一标识该第一边缘路由器的标识信息。
S204:将该IPv4报文发送给IPv6隧道中的第二边缘路由器。
其中,第二边缘路由器为该IPv6隧道中用于连接接收该IPv6报文的接收端所在的IPv6网络与IPv4网络的边缘路由器,以图1A所示的IPv6隧道结构图为例,边缘路由器2即为本发明实施例中的第二边缘路由器。第二边缘路由器接收到该IPv4报文后,进行正常的转发流程,即将该IPv4报文解封装,恢复其中的IPv6报文,将恢复的IPv6报文转发到相应的接收端。
在上述过程中,第一边缘路由器根据自身的防火墙是否拦截封装有IPv6报文的IPv4报文,判断自身所在的IPv6隧道是否出现故障,若确定出现故障,则向发送端返回故障告警信息,该故障告警信息中携带自身的标识信息,使发送端可以根据故障告警信息中的标识信息,即时定位IPv6隧道中出现故障的设备,无需人工手动的IPv6隧道中出现故障的设备,因此提高了故障检测的效率,可以及时排除IPv6隧道的故障。
由于采用IPv6隧道技术实现两个IPv6网络时,如果边缘路由器连接的IPv4网络是公网,也即边缘路由器用来发送封装有IPv6报文的IPv4报文的接口的IP地址是公有地址,而封装的该IPv4报文的目的地址是私有地址,也即非公有地址,则也会导致该IPv4报文不能被正常的发送到隧道另一端的边缘路由器。从而,会导致IPv6隧道出现故障的另一个主要原因是:边缘路由器用来发送封装有IPv6报文的IPv4报文的接口的IP地址是公有地址,而封装的该IPv4报文的目的地址是非公有地址。因此,本发明实施例为了提高故障检测的准确性,在图2所示的故障检测过程中,第一边缘路由器确定该IPv6隧道出现故障之前,还要在确定自身发送封装的该IPv4报文所采用的接口的IP地址为公有地址时,判断该IPv4报文的目的地址是否为非公有地址,当确定该IPv4报文的目的地址为非公有地址时,确定该IPv6隧道出现故障。
其中,由于基于现有IPv4的规定,IPv4的私有地址有3种,分别为:A类IPv4地址中的10.0.0.0~10.255.255.255、B类IPv4地址中的172.16.0.0~172.31.255.255、C类IPv4地址中的192.168.0.0~192.168.255.255,因此判断该IPv4报文的目的地址是否为非公有地址的方法可以为:判断该IPv4报文的目的地址是否处于上述3种私有IP网段中,若是,则确定该IPv4报文的目的地址为非公有地址,否则确定该IPv4报文的目的地址为公有地址。当然,第一边缘路由器确定自身发送该IPv4报文所采用的接口的IP地址是否为公有地址的方法,也可以是判断该接口的IP地址是否处于上述3种私有IP网段中,若未处于上述3种私有IP网段,则确定该接口的IP地址是公有地址,若处于上述3种私有IP网段,则确定该接口的IP地址是非公有地址。
当第一边缘路由器根据自身的防火墙是否对封装的IPv4报文进行拦截,以及封装的IPv4报文的目的地址是否为非公有地址,判断该IPv6隧道是否出现故障时,若上述至少一个判断结果为是,则确定该IPv6隧道出现故障,当确定自身的防火墙未对封装的该IPv4报文进行拦截,且,确定封装的该IPv4报文的目的地址为公有地址时,确定该IPv6隧道未出现故障,执行正常的发送流程,将该IPv4报文发送给该IPv6隧道中的第二边缘路由器。
另外,为了进一步提高故障检测的效率,第一边缘路由器在确定IPv6隧道出现故障,并生成故障告警信息时,除了将自身的标识信息携带在故障告警信息中,还可以将指示出现故障原因的故障原因指示信息也携带在故障告警信息中,使得发送端不仅可以根据故障告警信息中的标识信息即时定位IPv6隧道中出现故障的设备,还可以根据故障告警信息中的故障原因指示信息,确定出现故障的具体原因,以便更加快速的排除故障。具体过程如下:
当第一边缘设备确定自身的防火墙对封装的该IPv4报文进行拦截时,生成故障告警信息,并将自身的标识信息、第一故障原因指示信息携带在生成的故障告警信息中,其中,第一故障原因指示信息为:指示该IPv6隧道出现故障的原因为防火墙对该IPv4报文进行拦截的指示信息;或者,当确定该IPv4报文的目的地址为非公有地址时,生成故障告警信息,并将自身的标识信息、第二故障原因指示信息携带在生成的故障告警信息中,其中,第二故障原因指示信息为:指示该IPv6隧道出现故障的原因为封装的该IPv4报文的目的地址为非公有地址的指示信息。
并且,第一边缘路由器生成的故障告警信息可以为包含目的选项首部的IPv6报文。其中,目的选项首部是IPv6报文的报文头的一种扩展形式,其具体格式可以如表3所示。
选项类型 | 选项长度 | 选项值 |
表3
在表3中,选项类型表示向发送端返回该故障告警信息时,途经的各个设备处理该故障告警信息的处理方式,例如可以定义选项类型为00100102,表示各个设备如果不能识别该选项类型,则丢弃该故障告警信息,因此此时要求各个设备均能识别该选项类型。当然,也可以定义为无论是否可以识别该选项类型,均正常转发该故障告警信息的选项类型。选项长度表示选项值的长度,例如可以定义为2字节。选项值包括该第一边缘路由器的标识信息(例如该第一边缘路由器的IP地址信息),以及第一故障原因指示信息或第二故障原因指示信息。例如,第一故障原因指示信息可以定义为0x0001,第二故障原因指示信息可以定义为0x0002。
在本发明实施例中,由于第一边缘路由器接收到IPv6报文后,要经过一系列的处理后,才能发送到隧道对端的第二边缘路由器,如图3所示。图3为本发明实施例中第一边缘路由器接收到IPv6报文后的处理过程,在图3中,第一边缘路由器接收到IPv6报文后,要经过IPv4的封装处理、IPv4入口处理、IPv4路由处理、IPv4出口处理,然后才能驱动发包及链路封装,将该IPv4报文发送到IPv6隧道对端的第二边缘路由器。而第一边缘路由器的防火墙设置拦截策略时,一般就会在IPv4入口处理和IPv4出口处理这两个步骤中设置拦截策略,也即入口拦截和出口拦截。因此,第一边缘路由器在判断自身的防火墙是否对封装的IPv4报文进行拦截时,可以判断防火墙是否设置了对该IPv4报文进行入口拦截的策略以及出口拦截的策略,只要确定设置了其中的一个策略,则确定防火墙对封装的IPv4报文进行拦截。
并且,由于现有的IPv6隧道技术中规定了封装有IPv6报文的IPv4报文的协议类型为41,因此,在判断防火墙是否设置了对该IPv4报文进行入口拦截的策略以及出口拦截的策略时,可以判断防火墙设置的入口拦截的策略和出口拦截的策略中,是否包含对协议类型为41的报文进行拦截的策略。当然,基于图3所示的第一边缘路由器的处理过程,还要在IPv4的封装处理过程中判断封装的IPv4报文的目的地址是否为非公有地址,此处就不再一一赘述。
由于在判断防火墙设置的拦截策略中是否包含对协议类型为41的报文进行拦截的策略时,需要深入到防火墙策略的内部进行查找,其效率较低,而如果防火墙设置了对协议类型为41的报文进行拦截的策略,则会直接丢弃封装有IPv6报文的IPv4报文。因此,本发明实施例中为了进一步提高故障检测的效率,在判断防火墙是否对封装有IPv6报文的IPv4报文进行拦截时,可以直接监测防火墙是否将封装的该IPv4报文进行了丢弃处理,若丢弃了该IPv4报文,则确定防火墙对封装的该IPv4报文进行拦截,否则确定自身的防火墙未对封装的该IPv4报文进行拦截。具体的,可以分别监测防火墙在IPv4入口处理和出口处理时是否丢弃该IPv4报文,只要有一处丢弃,就说明防火墙拦截了该IPv4报文。
相应的,由于第一故障原因指示信息为:指示IPv6隧道出现故障的原因为防火墙对该IPv4报文进行拦截的指示信息,而防火墙拦截该IPv4报文时可能是入口拦截,也可能是出口拦截,因此,生成如表3所示的故障原因指示信息时,第一故障原因指示信息还可以根据拦截位置的不同而分别定义为两种子信息,分别指示入口拦截和出口拦截,以便可以更加快速的定位故障原因,及时排除故障。
图4为本发明实施例提供的IPv6隧道故障检测的详细过程,具体包括以下步骤:
S401:IPv6隧道中的第一边缘路由器接收IPv6报文,将该IPv6报文封装为IPv4报文。
S402:判断自身发送该IPv4报文所采用的接口的IP地址是否为公有地址,若是,则进行步骤S403,否则进行步骤S405。
S403:判断封装的该IPv4报文的目的地址是否为非公有地址,若是,则进行步骤S404,否则进行步骤S405。
S404:确定该IPv6隧道出现故障,生成故障告警信息,将自身的标识信息、第二故障原因指示信息携带在生成的故障告警信息中,并返回给发送该IPv6报文的发送端。
其中,第二故障原因指示信息为:指示IPv6隧道出现故障的原因为封装的该IPv4报文的目的地址为非公有地址的指示信息。
S405:监测自身的防火墙是否将封装的该IPv4报文进行了丢弃处理,若是,则进行步骤S406,否则进行步骤S407。
S406:确定该IPv6隧道出现故障,生成故障告警信息,将自身的标识信息、第一故障原因指示信息携带在生成的故障告警信息中,并返回给发送该IPv6报文的发送端。
其中,第一故障原因指示信息为:指示IPv6隧道出现故障的原因为防火墙对该IPv4报文进行拦截的指示信息。
S407:将该IPv4报文发送该IPv6隧道中的第二边缘路由器。
另外,在本发明实施例中,如果用于连接IPv4网络以及接收IPv6报文的接收端所在的IPv6网络的第二边缘路由器也对封装有IPv6报文的IPv4报文进行拦截,则该IPv4报文也不能够被正常的接收和解封装,此时也说明IPv6隧道出现故障。因此,第二边缘路由器同样也要根据自身的防火墙是否拦截封装有IPv6报文的IPv4报文,来判断该IPv6隧道是否出现故障,并在出现故障时返回故障告警信息。
下面以连接IPv4网络以及接收IPv6报文的接收端所在的IPv6网络的第二边缘路由器为例进行说明。
图5为本发明实施例提供的另一种IPv6隧道故障检测过程,具体包括以下步骤:
S501:IPv6隧道中的第二边缘路由器接收IPv6隧道中的第一边缘路由器发送的封装有IPv6报文的IPv4报文。
其中,第一边缘路由器为IPv6隧道中用于连接发送该IPv6报文的发送端所在的IPv6网络与IPv4网络的边缘路由器,第二边缘路由器为该IPv6隧道中用于连接接收该IPv6报文的接收端所在的IPv6网络与IPv4网络的边缘路由器。以图1A所示的IPv6隧道结构图为例,边缘路由器1即为本发明实施例中的第一边缘路由器,边缘路由器2即为本发明实施例中的第二边缘路由器。
S502:判断自身的防火墙是否对封装有IPv6报文的该IPv4报文进行拦截,若是,则进行步骤S503,否则进行步骤S504。
在本发明实施例中,与第一边缘路由器类似的,第二边缘路由器接收到封装有IPv6报文的IPv4报文后,也要判断自身的防火墙是否拦截该IPv4报文,若拦截,则说明该IPv6隧道出现故障,该IPv4报文不能被正常接收和解封装,若不拦截,则说明该IPv6隧道未出现故障,执行正常接收、解封装和转发流程。
S503:第二边缘路由器确定该IPv6隧道出现故障,生成携带自身的标识信息的故障告警信息,将生成的故障告警信息返回发送该IPv4报文中封装的IPv6报文的发送端。
与第一边缘路由器类似的,第二边缘路由器确定IPv6隧道出现故障时,也要向发送该IPv4报文中的IPv6报文的发送端发出告警信息,具体可以通过第一边缘路由器向发送端返回故障告警信息。该故障告警信息中携带该第二边缘路由器的标识信息,使得发送端可以根据故障告警信息中的标识信息,即时定位IPv6隧道中出现故障的设备。其中,第二边缘路由器的标识信息可以为该第二边缘路由器自身的IP地址信息,也可以是其他能够唯一标识该第二边缘路由器的标识信息。
S504:确定该IPv6隧道未出现故障,对该IPv4报文进行解封装,恢复该IPv4报文中封装的IPv6报文,并将恢复的IPv6报文转发到相应的接收端。
在上述过程中,第二边缘路由器根据自身的防火墙是否拦截封装有IPv6报文的IPv4报文,判断自身所在的IPv6隧道是否出现故障,若确定出现故障,则向发送端返回故障告警信息,该故障告警信息中携带自身的标识信息,使发送端可以根据故障告警信息中的标识信息,即时定位IPv6隧道中出现故障的设备,无需人工手动的IPv6隧道中出现故障的设备,因此提高了故障检测的效率,可以及时排除IPv6隧道的故障。
并且,在本发明实施例中,由于第二边缘路由器已经接收到了封装有IPv6报文的该IPv4报文,说明该IPv4报文的目的地址为公有地址,因此无需再次判断该IPv4报文的目的地址是否为非公有地址。
为了进一步提高故障检测的效率,第二边缘路由器在确定IPv6隧道出现故障,并生成故障告警信息时,除了将自身的标识信息携带在故障告警信息中,还可以将指示出现故障原因的故障原因指示信息也携带在故障告警信息中,使得发送端不仅可以根据故障告警信息中的标识信息即时定位IPv6隧道中出现故障的设备,还可以根据故障告警信息中的故障原因指示信息,确定出现故障的具体原因,以便更加快速的排除故障。具体为:当第二边缘设备确定自身的防火墙对该IPv4报文进行拦截时,生成故障告警信息,并将自身的标识信息、第一故障原因指示信息携带在生成的故障告警信息中,其中,第一故障原因指示信息为:指示IPv6隧道出现故障的原因为防火墙对所述IPv4报文进行拦截的指示信息。
并且,该故障告警信息也可以为包含目的选项首部的IPv6报文,该目的选项首部的具体格式与表3基本相同,这里就不再一一赘述。
同样的,由于第二边缘路由器接收到封装有IPv6报文的IPv4报文后,也要经过一系列的处理后,才能将其中的IPv6报文发送到相应的接收端,如图6所示。图6为本发明实施例中第二边缘路由器接收到封装有IPv6报文的IPv4报文后的处理过程,在图6中,第二边缘路由器经过链路解析和驱动收包,接收到封装有IPv6报文的IPv4报文后,要经过IPv4入口处理、IPv4路由处理、IPv4出口处理,然后才能进行IPv4的解封装处理,恢复出其中的IPv6报文,最后发送给相应的接收端。而第二边缘路由器的防火墙设置拦截策略时,一般也会在IPv4入口处理和IPv4出口处理这两个步骤中设置拦截策略,也即入口拦截和出口拦截。因此,第二边缘路由器在判断自身的防火墙是否对封装由IPv6报文的IPv4报文进行拦截时,可以判断防火墙是否设置了对该IPv4报文进行了入口拦截的策略以及出口拦截的策略,只要确定设置了其中的一个策略,则确定防火墙对封装的IPv4报文进行拦截。
类似的,由于现有的IPv6隧道技术中规定了封装有IPv6报文的IPv4报文的协议类型为41,因此,在判断防火墙是否设置了对该IPv4报文进行入口拦截的策略以及出口拦截的策略时,可以判断防火墙设置的入口拦截的策略和出口拦截的策略中,是否包含对协议类型为41的报文进行拦截的策略。
本发明实施例中为了进一步提高故障检测的效率,第二边缘路由器在判断防火墙是否对封装有IPv6报文的IPv4报文进行拦截时,也可以直接监测防火墙是否将封装有IPv6报文的该IPv4报文进行了丢弃处理,若丢弃了该IPv4报文,则确定防火墙对封装有IPv6报文的该IPv4报文进行拦截,否则确定自身的防火墙未对封装有IPv6报文的该IPv4报文进行拦截。具体的,可以分别监测防火墙在IPv4入口处理和出口处理时是否丢弃该IPv4报文,只要有一处丢弃,就说明防火墙拦截了该IPv4报文。
相应的,第二边缘路由器也可以根据拦截位置的不同而将第一故障原因指示信息分别定为两种子信息,分别指示入口拦截和出口拦截,以便可以更加快速的定位故障原因,及时排除故障,这里就不再一一赘述。
图7为本发明实施例提供的IPv6隧道故障检测装置结构示意图,该装置位于IPv6隧道中,具体包括:
接收封装模块701,用于接收IPv6报文,将所述IPv6报文封装为互联网协议第4版本IPv4报文;
第一判断模块702,用于判断自身的防火墙是否对封装的所述IPv4报文进行拦截;
故障告警模块703,用于当所述第一判断模块702确定自身的防火墙对所述IPv4报文进行拦截时,确定所述IPv6隧道出现故障,生成携带自身的标识信息的故障告警信息,将生成的所述故障告警信息返回发送所述IPv6报文的发送端。
所述装置还包括:
第二判断模块704,用于在确定自身发送所述IPv4报文所采用的接口的IP地址为公有地址时,判断所述IPv4报文的目的地址是否为非公有地址;
所述故障告警模块703还用于,当所述第二判断模块704确定所述IPv4报文的目的地址为非公有地址时,确定所述IPv6隧道出现故障。
所述故障告警模块703具体用于,当所述第一判断模块702确定自身的防火墙对所述IPv4报文进行拦截时,生成故障告警信息,并将自身的标识信息、第一故障原因指示信息携带在生成的所述故障告警信息中,其中,所述第一故障原因指示信息为:指示所述IPv6隧道出现故障的原因为防火墙对所述IPv4报文进行拦截的指示信息;或者,当所述第二判断模块704确定所述IPv4报文的目的地址为非公有地址时,生成故障告警信息,并将自身的标识信息、第二故障原因指示信息携带在生成的所述故障告警信息中,其中,所述第二故障原因指示信息为:指示所述IPv6隧道出现故障的原因为封装的所述IPv4报文的目的地址为非公有地址的指示信息。
所述装置还包括:
发送模块705,用于当所述第一判断模块702确定自身的防火墙未对封装的所述IPv4报文进行拦截,且,所述第二判断模块704确定封装的所述IPv4报文的目的地址为公有地址时,确定所述IPv6隧道未出现故障,将所述IPv4报文发送给所述IPv6隧道中的第二边缘路由器。
所述第一判断模块702具体用于,监测自身的防火墙是否将封装的所述IPv4报文进行了丢弃处理,若丢弃了所述IPv4报文,则确定自身的防火墙对封装的所述IPv4报文进行拦截,否则确定自身的防火墙未对封装的所述IPv4报文进行拦截。
图8为本发明实施例提供的基于图7的IPv6隧道故障检测装置具体实现结构示意图,如图8所示,IPv6隧道模块包括图7中的接收封装模块701以及发送模块705,用于完成第一边缘路由器正常的IPv6隧道功能,防火墙模块用于在IPv6隧道模块中设置拦截策略,检测模块包括图7中的第一判断模块702、第二判断模块704,以及故障告警模块703,用于检测IPv6隧道是否出现故障,并在出现故障时向发送端发出故障告警信息。
图9为本发明实施例提供的另一种IPv6隧道故障检测装置结构示意图,该装置位于IPv6隧道中,具体包括:
接收模块901,用于接收所述IPv6隧道中的第一边缘路由器发送的封装有IPv6报文的互联网协议第4版本IPv4报文;
判断模块902,用于判断自身的防火墙是否对封装有IPv6报文的所述IPv4报文进行拦截;
故障告警模块903,用于当所述判断模块902确定自身的防火墙对所述IPv4报文进行拦截时,确定所述IPv6隧道出现故障,生成携带自身的标识信息的故障告警信息,将生成的所述故障告警信息返回发送所述IPv4报文中封装的IPv6报文的发送端。
所述故障告警模块903具体用于,生成故障告警信息,并将自身的标识信息、第一故障原因指示信息携带在生成的所述故障告警信息中,其中,所述第一故障原因指示信息为:指示所述IPv6隧道出现故障的原因为防火墙对所述IPv4报文进行拦截的指示信息。
所述装置还包括:
解封装模块904,用于在所述判断模块902确定自身的防火墙未对所述IPv4报文进行拦截时,确定所述IPv6隧道未出现故障,对所述IPv4报文进行解封装,恢复所述IPv4报文中封装的IPv6报文;
发送模块905,用于将恢复的所述IPv6报文转发到相应的接收端。
所述判断模块902具体用于,监测自身的防火墙是否将所述IPv4报文进行了丢弃处理,若丢弃了所述IPv4报文,则确定自身的防火墙对封装有IPv6报文的所述IPV4报文进行拦截,否则确定自身的防火墙未对封装有IPv6报文的所述IPv4报文进行拦截。
另外,本发明实施例还提供一种IPv6故障检测系统。该系统可以只包括如图7所示的IPv6隧道故障检测装置,此时,该如图7所示的IPv6隧道故障检测装置为连接发送IPv6报文的发送端所在的IPv6网络与IPv4网络的第一边缘路由器,也即,由第一边缘路由器检测IPv6隧道是否出现故障,并进行相应的操作。
该系统也可以只包括如图9所示的另一种IPv6隧道故障检测装置,此时,该如图9所示的另一种IPv6隧道故障检测装置为连接接收IPv6报文的接收端所在的IPv6网络与IPv4网络的第二边缘路由器,也即,由第二边缘路由器检测IPv6隧道是否出现故障,并进行相应的操作。
该系统还可以同时包括如图7所示的IPv6隧道故障检测装置以及如图9所示的另一种IPv6隧道故障检测装置。此时,该如图7所示的IPv6隧道故障检测装置为第一边缘路由器,该如图9所示的另一种IPv6隧道故障检测装置为第二边缘路由器,也即,由第一边缘路由器和第二边缘路由器共同检测IPv6隧道是否出现故障,并进行相应的操作。
本发明实施例提供一种IPv6隧道故障检测方法及装置,该方法IPv6隧道中的第一边缘路由器接收IPv6报文并将其封装为IPv4报文后,判断自身的防火墙是否对封装的该IPv4报文进行拦截,若是,则确定该IPv6隧道出现故障,生成携带自身的标识信息的故障告警信息,将该故障告警信息返回发送该IPv6报文的发送端。由于本发明实施例中边缘路由器根据自身的防火墙是否拦截封装有IPv6报文的IPv4报文,判断IPv6隧道是否出现故障,并在确定出现故障时,返回携带自身标识信息的故障告警信息,使发送端根据故障告警信息中的标识信息,可以即时定位IPv6隧道中出现故障的设备,而无需人工手动排查,提高了故障检测的效率,从而可以及时排除IPv6隧道的故障。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (15)
1.一种IPv6隧道故障检测方法,其特征在于,包括:
互联网协议第6版本IPv6隧道中的第一边缘路由器接收IPv6报文,将所述IPv6报文封装为互联网协议第4版本IPv4报文;并
判断自身的防火墙是否对封装的所述IPv4报文进行拦截;以及
当确定自身的防火墙对所述IPv4报文进行拦截时,所述第一边缘路由器确定所述IPv6隧道出现故障,生成携带自身的标识信息的故障告警信息,将生成的所述故障告警信息返回发送所述IPv6报文的发送端。
2.如权利要求1所述的方法,其特征在于,所述第一边缘路由器确定所述IPv6隧道出现故障之前,所述方法还包括:
所述第一边缘路由器在确定自身发送所述IPv4报文所采用的接口的IP地址为公有地址时,判断所述IPv4报文的目的地址是否为非公有地址;
当所述第一边缘路由器确定所述IPv4报文的目的地址为非公有地址时,确定所述IPv6隧道出现故障。
3.如权利要求2所述的方法,其特征在于,生成携带自身的标识信息的故障告警信息,具体包括:
当确定自身的防火墙对所述IPv4报文进行拦截时,生成故障告警信息,并将自身的标识信息、第一故障原因指示信息携带在生成的所述故障告警信息中,其中,所述第一故障原因指示信息为:指示所述IPv6隧道出现故障的原因为防火墙对所述IPv4报文进行拦截的指示信息;或者
当确定所述IPv4报文的目的地址为非公有地址时,生成故障告警信息,并将自身的标识信息、第二故障原因指示信息携带在生成的所述故障告警信息中,其中,所述第二故障原因指示信息为:指示所述IPv6隧道出现故障的原因为封装的所述IPv4报文的目的地址为非公有地址的指示信息。
4.如权利要求1所述的方法,其特征在于,判断自身的防火墙是否对封装的所述IPv4报文进行拦截,具体包括:
监测自身的防火墙是否将封装的所述IPv4报文进行了丢弃处理,若丢弃了所述IPv4报文,则确定自身的防火墙对封装的所述IPv4报文进行拦截,否则确定自身的防火墙未对封装的所述IPv4报文进行拦截。
5.一种IPv6隧道故障检测方法,其特征在于,包括:
互联网协议第6版本IPv6隧道中的第二边缘路由器接收所述IPv6隧道中的第一边缘路由器发送的封装有IPv6报文的互联网协议第4版本IPv4报文;并
判断自身的防火墙是否对封装有IPv6报文的所述IPv4报文进行拦截;以及
当确定自身的防火墙对所述IPv4报文进行拦截时,所述第二边缘路由器确定所述IPv6隧道出现故障,生成携带自身的标识信息的故障告警信息,将生成的所述故障告警信息返回发送所述IPv4报文中封装的IPv6报文的发送端。
6.如权利要求5所述的方法,其特征在于,生成携带自身的标识信息的故障告警信息,具体包括:
生成故障告警信息,并将自身的标识信息、第一故障原因指示信息携带在生成的所述故障告警信息中,其中,所述第一故障原因指示信息为:指示所述IPv6隧道出现故障的原因为防火墙对所述IPv4报文进行拦截的指示信息。
7.如权利要求5所述的方法,其特征在于,判断自身的防火墙是否对封装有IPv6报文的所述IPv4报文进行拦截,具体包括:
监测自身的防火墙是否将所述IPv4报文进行了丢弃处理,若丢弃了所述IPv4报文,则确定自身的防火墙对封装有IPv6报文的所述IPv4进行拦截,否则确定自身的防火墙未对封装有IPv6报文的所述IPv4报文进行拦截。
8.一种IPv6隧道故障检测装置,其特征在于,位于互联网协议第6版本IPv6隧道中,包括:
接收封装模块,用于接收IPv6报文,将所述IPv6报文封装为互联网协议第4版本IPv4报文;
第一判断模块,用于判断自身的防火墙是否对封装的所述IPv4报文进行拦截;
故障告警模块,用于当所述第一判断模块确定自身的防火墙对所述IPv4报文进行拦截时,确定所述IPv6隧道出现故障,生成携带自身的标识信息的故障告警信息,将生成的所述故障告警信息返回发送所述IPv6报文的发送端。
9.如权利要求8所述的装置,其特征在于,所述装置还包括:
第二判断模块,用于在确定自身发送所述IPv4报文所采用的接口的IP地址为公有地址时,判断所述IPv4报文的目的地址是否为非公有地址;
所述故障告警模块还用于,当所述第二判断模块确定所述IPv4报文的目的地址为非公有地址时,确定所述IPv6隧道出现故障。
10.如权利要求9所述的装置,其特征在于,所述故障告警模块具体用于,当所述第一判断模块确定自身的防火墙对所述IPv4报文进行拦截时,生成故障告警信息,并将自身的标识信息、第一故障原因指示信息携带在生成的所述故障告警信息中,其中,所述第一故障原因指示信息为:指示所述IPv6隧道出现故障的原因为防火墙对所述IPv4报文进行拦截的指示信息;或者,当所述第二判断模块确定所述IPv4报文的目的地址为非公有地址时,生成故障告警信息,并将自身的标识信息、第二故障原因指示信息携带在生成的所述故障告警信息中,其中,所述第二故障原因指示信息为:指示所述IPv6隧道出现故障的原因为封装的所述IPv4报文的目的地址为非公有地址的指示信息。
11.如权利要求8所述的装置,其特征在于,所述第一判断模块具体用于,监测自身的防火墙是否将封装的所述IPv4报文进行了丢弃处理,若丢弃了所述IPv4报文,则确定自身的防火墙对封装的所述IPv4报文进行拦截,否则确定自身的防火墙未对封装的所述IPv4报文进行拦截。
12.一种IPv6隧道故障检测装置,其特征在于,位于互联网协议第6版本IPv6隧道中,包括:
接收模块,用于接收所述IPv6隧道中的第一边缘路由器发送的封装有IPv6报文的互联网协议第4版本IPv4报文;
判断模块,用于判断自身的防火墙是否对封装有IPv6报文的所述IPv4报文进行拦截;
故障告警模块,用于当所述判断模块确定自身的防火墙对所述IPv4报文进行拦截时,确定所述IPv6隧道出现故障,生成携带自身的标识信息的故障告警信息,将生成的所述故障告警信息返回发送所述IPv4报文中封装的IPv6报文的发送端。
13.如权利要求12所述的装置,其特征在于,所述故障告警模块具体用于,生成故障告警信息,并将自身的标识信息、第一故障原因指示信息携带在生成的所述故障告警信息中,其中,所述第一故障原因指示信息为:指示所述IPv6隧道出现故障的原因为防火墙对所述IPv4报文进行拦截的指示信息。
14.如权利要求12所述的装置,其特征在于,所述判断模块具体用于,监测自身的防火墙是否将所述IPv4报文进行了丢弃处理,若丢弃了所述IPv4报文,则确定自身的防火墙对封装有IPv6报文的所述IPV4报文进行拦截,否则确定自身的防火墙未对封装有IPv6报文的所述IPv4报文进行拦截。
15.一种IPv6隧道故障检测系统,其特征在于,包括:
如权利要求8~11任一所述的IPv6故障检测装置;或者
如权利要求12~14任一所述的IPv6故障检测装置;或者
如权利要求8~11任一所述的IPv6故障检测装置,以及如权利要求12~14任一所述的IPv6故障检测装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210060968.4A CN102594626B (zh) | 2012-03-08 | 2012-03-08 | 一种IPv6隧道故障检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210060968.4A CN102594626B (zh) | 2012-03-08 | 2012-03-08 | 一种IPv6隧道故障检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102594626A true CN102594626A (zh) | 2012-07-18 |
CN102594626B CN102594626B (zh) | 2014-08-27 |
Family
ID=46482846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210060968.4A Active CN102594626B (zh) | 2012-03-08 | 2012-03-08 | 一种IPv6隧道故障检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102594626B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022121638A1 (zh) * | 2020-12-11 | 2022-06-16 | 华为技术有限公司 | 一种报文处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101155115A (zh) * | 2007-07-26 | 2008-04-02 | 杭州华三通信技术有限公司 | 一种自动隧道的实现方法及设备 |
CN101188530A (zh) * | 2007-12-26 | 2008-05-28 | 清华大学 | IPv4和IPv6网络故障检测及定位的方法和装置 |
CN101572665A (zh) * | 2009-06-01 | 2009-11-04 | 杭州华三通信技术有限公司 | IPv6 over IPv4隧道切换方法及设备 |
US20110023105A1 (en) * | 2005-08-29 | 2011-01-27 | Junaid Islam | IPv6-over-IPv4 Architecture |
-
2012
- 2012-03-08 CN CN201210060968.4A patent/CN102594626B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110023105A1 (en) * | 2005-08-29 | 2011-01-27 | Junaid Islam | IPv6-over-IPv4 Architecture |
CN101155115A (zh) * | 2007-07-26 | 2008-04-02 | 杭州华三通信技术有限公司 | 一种自动隧道的实现方法及设备 |
CN101188530A (zh) * | 2007-12-26 | 2008-05-28 | 清华大学 | IPv4和IPv6网络故障检测及定位的方法和装置 |
CN101572665A (zh) * | 2009-06-01 | 2009-11-04 | 杭州华三通信技术有限公司 | IPv6 over IPv4隧道切换方法及设备 |
Non-Patent Citations (1)
Title |
---|
M.BLANCHET 等: "IPv6 Tunnel Broker with the Tunnel Setup Protocol (TSP)", 《IETF NETWORK WORKING GROUP INTERNET-DRAFT》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022121638A1 (zh) * | 2020-12-11 | 2022-06-16 | 华为技术有限公司 | 一种报文处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102594626B (zh) | 2014-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10412008B2 (en) | Packet processing method, apparatus, and system | |
CN105337785A (zh) | 一种路径连通性检测方法及装置 | |
CN102082801B (zh) | 一种防止IPv6地址重复检测攻击的方法及系统 | |
CN102273177B (zh) | 用于邻居发现协议调解的方法 | |
CN109586959B (zh) | 一种故障检测的方法及装置 | |
CN101459594A (zh) | Bfd报文的发送方法、链路故障的探测方法及装置 | |
CN104270309A (zh) | 一种ip ran设备下实现多跳bfd的方法 | |
CN103716172B (zh) | 一种基于多协议标签交换的oam方法及装置 | |
US8792350B2 (en) | Network relay system, network relay device, and congested state notifying method | |
CN105515816B (zh) | 检测层次信息的处理方法及装置 | |
CN103368849A (zh) | Oam报文的处理方法和装置 | |
CN101977156A (zh) | 一种最大传输单元的学习方法、装置及路由设备 | |
CN102340451A (zh) | 一种跟踪路由测试方法、系统、装置及设备 | |
CN105338535A (zh) | 一种使用移动终端进行无线组网的方法 | |
CN105591834A (zh) | Vxlan中的流量监控方法和装置 | |
WO2017128901A1 (zh) | 一种转发控制方法及设备 | |
CN104639433A (zh) | 一种基于Echo报文的多跳检测实现方法 | |
CN101640635A (zh) | 一种6over4隧道中避免报文重组的方法及系统 | |
CN102739462B (zh) | 一种测试报文的发送方法以及装置 | |
CN101674239B (zh) | 提供网络服务的方法及其装置 | |
US20070115838A1 (en) | Method and system for loop-back and continue in packet-based network | |
CN102916883B (zh) | Link检测方法和路由转发设备 | |
CN102594626A (zh) | 一种IPv6隧道故障检测方法及装置 | |
CN104579758B (zh) | 一种lisp域故障检测收敛的方法和设备 | |
CN101997751B (zh) | 一种以太网中保护倒换的实现方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP01 | Change in the name or title of a patent holder |
Address after: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park building 19# Patentee after: RUIJIE NETWORKS CO., LTD. Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park building 19# Patentee before: Fujian Xingwangruijie Network Co., Ltd. |