[发明专利]检测隧道两端GRE头配置的方法、源端、目的端和系统有效
申请号: | 201210104188.5 | 申请日: | 2012-04-10 |
公开(公告)号: | CN102624746A | 公开(公告)日: | 2012-08-01 |
发明(设计)人: | 李洪涛 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/56 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 李健;龙洪 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 检测 隧道 两端 gre 配置 方法 源端 目的 系统 | ||
技术领域
本发明涉及GRE隧道,由于涉及一种检测隧道两端GRE头配置的方法、源、目的端和系统。
背景技术
随着互联网技术的发展,网络结构越来越复杂,隧道技术得到了广泛的应用。隧道其实是一种封装技术,它利用一种网络协议来传输另外一种网络协议,实际上隧道可以看作是一个点对点的接口。
GRE隧道,将需要封装和传输的数据报文(也称为净荷Payload)在源端进行加封装处理,将经加封装处理后的GRE报文经IP传输到目的端。其中,加封装处理包括:在净荷Payload头部添加GRE头(GRE header),以GRE头的Protocol type字段标识Payload的类型值,一般情况下,该字段与以太网帧的类型字段值相同,如IP报文的Protocol type为0x0800;在GRE头之前再添加IP头(Delivery header),IP头的协议值置为47(GRE的协议号);将IP头的目的地址置为目的端地址,将IP头的源地址置为源端地址。经GER封装后的数据报文如图1所示。
目前关于GRE协议封装的RFC主要有两个,分别是RFC1701和RFC2784,这两个协议定义的GRE封装头部格式分别如附图2和附图3所示。对于一个GRE隧道,如果源端和目的端配置的GRE头不一致,比如一端配置了选项(option),另外一端没有配置选项(option),这种情况下,如果从源端到目的端的路由可达,GRE隧道接口的协议状态就是开启(UP)的,理论上可以发包。但实际上报文从源端发到目的端,目的端会检查GRE头,如果发现接收到的GRE头的配置与本端对GRE头的配置不一致,目的端丢弃该报文;同理目的端发的报文到了源端,也会出现这样问题。这样在用户看来,虽然源端和目的端可达,但该GRE隧道并不可用。
为避免数据报文因上述情况发生丢失,需要在GRE隧道传输数据报文之前,检测隧道两端GRE头配置是否一致。
目前针对GRE的链路检测主要有两种,一种是GRE的BFD(Bidirectional Forwarding Detection)链路检测,另外一种是GRE的保活检测。
GRE的BFD链路检测,利用BFD检测报文检测源端和目的端之间可达性,并不涉及GRE头的配置检测。
GRE保活检测,由源端发送一个双层嵌套的GRE报文,即该GRE报文的净荷是一个经过GRE封装的IP报文(以下称为内层IP报文),内层IP报文的Delivery header的源地址是目的端IP地址,目的地址是本端IP地址,内层IP报文的净荷Payload的源地址是本端IP地址,目的地址是目的端IP地址。当目的端收到该双层嵌套的GRE报文后,检测GRE头配置,如果GRE头配置不一致则丢掉该报文,如果GRE头配置一致,则去掉GER头,根据内层IP报文的Delivery header的源地址和目的地址可将内层IP报文环回回来。如果源端收到环回的内层IP报文,则说明该GRE隧道可用;否则,说明该GRE隧道不可用。但是实际造成源端无法收到环回的内层IP报文的因素很多,如源端和目的端不可达等,不限于源端和目的端GRE头配置不一致,因此该检测方法仅根据源端没有收到环回的内层IP报文就判断源端和目的端GRE头配置不一致,不够准确。另外,GRE保活检测采用定时发送检测报文的机制,如果通过该检测方法检测出GRE隧道可用后,隧道两端的GRE头配置发生变化,但是此时还未到下一次发送检测报文的时候,源端会依旧认为GRE隧道可用,向目的端发送数据报文,进而造成数据报文的丢失。
发明内容
本发明提供了一种检测隧道两端GRE头配置的方法、源端、目的端和系统,以解决如何实现准确检测隧道两端GRE头配置是否一致的技术问题。
为解决上述技术问题,本发明提供了一种源端检测隧道两端通用路由封装(GRE)头配置的方法,所述方法包括:
通过GRE隧道向目的端发送检测报文;
接收目的端发送的携带目的端GRE头配置信息的应答报文;
比较应答报文携带的目的端GRE头配置信息和本端GRE头配置信息是否一致,若二者不一致,则确定隧道两端GRE头配置不一致。
进一步地,所述通过GRE隧道向目的端发送检测报文包括:
检测到本端隧道接口配置了IP地址,通过GRE隧道向目的端发送检测报文;或检测到本端GRE头配置发生变化,通过GRE隧道向目的端发送检测报文。
进一步地,所述检测报文和应答报文为GRE头,该GRE头中的协议类型(Protocol Type)字段设置为非0x0800的值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210104188.5/2.html,转载请声明来源钻瓜专利网。