首页 > 编程知识 正文

GRE数据包,gre隧道使用

时间:2023-05-05 09:04:12 阅读:162404 作者:3060

1. GRE协议概述http://www.Sina.com/(通用路由封装)是某些网络层协议(如IP或IPX )的数据消息另外,GRE协议也可以作为VPN的GRE连接到两个不同的网络中为数据传送提供透明的信道。

GRE主要具有以下特征:

结构简单,第三层隧道协议,隧道两端设备的CPU负担小;无需维持状态不提供流控制和QoS 2. GRE消息格式

其中:

本身不提供数据的加密(有效载荷) :需要封装和路由的系统接收到的原始数据报; 3358www.Sina.com/(乘客协议) :消息封装以前所属的协议为乘客协议Payload(乘客协议) )封装用于乘客协议的协议Passenger Protocol(传输协议),也称为运营商协议)负责传输封装的消息的协议称为传输协议; 与传输层协议不同。 GRE标头中每个字段的含义:

字段长度含义Encapsulation Protocol1bit校验和验证标志。 如果设置为1,将启用Transport Protocol字段。 0表示Checksum字段无效。C1bit关键字id。 设置为1表示头部的Checksum字段有效。 0表示Key字段对于表示封装消息的级别数无效。K3bits。 每封装一次,将1,http://www.Sina.com/http://www.Sina.com/5b its的保留添加到此值中。 3358 www.Sina.com/http://www.Sina.com/3 bits版本号。 3358 www.Sina.com/http://www.Sina.com/16bits乘客协议类型http://www.Sina.com/16 bits针对GRE头部和负载计算校验和。 仅当Key为1时,Recursion32bits关键字信息有效。 隧道接收方用于验证接收到的消息,仅当k为最多封装3次时有效; 它还用于Flags的GRE隧道。 其值以固定填充03. GRE消息传递和灰化下图为例,为:

3.1报文封装Router A连接到Group 1的接口收到x协议报文后,首先按值为0进行处理; x协议检查消息报头中的目的地址字段以确定如何路由这个分组; 如果消息的目的地是通过Tunnel到达,则设备将在收到相应的VersionTunnel接口之后再执行值为0,以发送IP报头设备根据该IP分组的目的地地址和3358www.Sina.com/表转发消息,从对应的网络接口发送。 3.2消息解封路由器b从Protocol Type接收IP消息并检查目的地; 如果发现目的地是该路由器,则Router B剥除该消息的IP报头,并将其传递给Checksum(例如,执行密钥校验、校验和以及消息序列号校验); 在GRE协议完成适当的处理之后,剥除GRE报头,C对该数据报进行后续的传输处理。 随着消息的封装、解封装,有效的数据传输效率下降,GRE数据传输速度下降。 4. GRE安全选项为了改进GRE隧道的安全性,GRE允许用户选择以设置Tunnel接口的标识3358www.Sina.com/或密钥,或封装在隧道中的消息(3358www.Sina.com/)。

RFC 1701规定:

对于GRE标题中的Key标记位置1,发送和接收双方验证信道标识密钥,只有在Tunnel两端设置的标识密钥完全匹配的情况下才通过验证,否则丢弃消息。 对于GRE标头中的1标记位置1,校验和有效。 发送方根据GRE报头和Payload消息计算校验和,将包含校验和的消息发送到对方。 接收方对接收到的信息计算校验和,与信息中的校验和进行比较,如果一致则进一步处理信息,如果不一致则废弃。 5 .应用范围http://www.Sina.com/(http://www.Sina.com/)主要应用于以下几个环境:

5.1多协议的局域网通过单协议的主干网络传输

上图: Group 1和Group 2为一对多

协议的本地网,Team 1和Team 2是运行IP协议的本地网。通过在Router A和Router B之间采用GRE协议封装的隧道,Group 1和Group 2、Team 1和Team 2可以互不影响地进行通信

5.2 扩大了跳数受限协议(如RIP)的工作范围


两台终端之间的跳数超过15(RIP路由协议),它们将无法通信。通过在网络中使用隧道可以隐藏一部分跳数,从而扩大网络的工作范围

5.3 将一些不能连续的子网连接起来,用于组建VPN


运行Novell IPX协议的两个子网Group 1和Group 2分别在不同的城市,通过使用隧道可以实现跨越广域网的VPN.

5.4 和IPsec结合使用


GRE可以和IPsec结合使用,即对于路由协议、语音、视频等数据先进行GRE封装,再对封装后的报文进行IPsec的加密处理,以提高数据在隧道中传输的安全性。

6 点到多点GRE隧道 6.1 点到多点GRE隧道产生背景


传统的GRE隧道是一个点到点的连接。GRE应用于如上图所示的企业网时,需要在企业中心节点和各个分支机构之间建立多条点到点GRE隧道。当企业分支机构众多时,配置工作量巨大;而且,如果新增分支机构,则需要在中心节点上增加配置,增加了网络维护的负担;此外,分支机构采用ADSL等方式拨号上网时,分支机构公网地址的不确定性也增加了中心节点配置的复杂度。

虽然动态VPN技术,如DVPN(Dynamic Virtual Private Network,动态虚拟私有网络),可以学习公网地址和私网地址的对应关系,并动态地在中心节点和分支机构、不同分支机构之间建立隧道,但是目前动态VPN技术没有统一的规范,各个厂商都采用私有协议实现动态VPN,无法互通。

点到多点GRE隧道很好地解决了上述问题,非常适用于分支机构众多的企业网络。点到多点GRE隧道组网中,需要在中心节点上配置点到多点GRE模式的隧道接口(以下简称为点到多点GRE隧道接口)、分支机构上配置传统的点到点GRE over IPv4模式的隧道接口(以下简称为点到点GRE隧道接口),这样就可以实现在中心节点和多个分支机构之间动态建立隧道

6.2 点到多点GRE隧道工作原理


与点到点GRE隧道接口不同的是,点到多点GRE隧道接口上不需要手工配置隧道目的地址,而是根据接收到的GRE报文动态学习隧道目的地址。如图2-2所示,配置了点到多点GRE隧道接口的设备(Router A)接收到对端设备(Router B)发送的GRE报文后,从该报文中获取传输协议(IPv4)报文头的源地址和乘客协议(IPv4)报文头的源地址,分别作为隧道的目的地址和报文的目的地址(即分支网络的私网地址),建立一条隧道表项。

通过点到多点GRE隧道转发报文时,设备根据报文的目的地址,在隧道表项中查找对应的隧道目的地址,使用此地址作为GRE封装传输协议(IPv4)报文头的目的地址。最初是没有目的地址表项的,必须先学到以后才可以双方通信,之前只能单方通信

6.3 应用场景 6.3.1 分支机构的GRE隧道备份


为了提高网络的可靠性,分支机构可以部署多台网关设备,在中心节点和多个网关设备之间分别建立GRE隧道,形成备份。

在分支机构的网关设备上创建GRE隧道时,可以设置GRE Key。中心节点根据分支机构发送的GRE报文创建隧道表项时,从该GRE报文中获取GRE Key,记录在隧道表项中。中心节点根据GRE Key来判断隧道表项的优先级,并根据优先级最高的隧道表项转发报文,优先级低的隧道表项作为备份。未记录GRE Key的表项优先级最高;记录了GRE Key的表项,Key值越小优先级越高

只能在分支节点的点到点GRE隧道接口上配置GRE Key,中心节点的点到多点GRE隧道接口上不能配置GRE Key 6.3.2 中心节点的GRE隧道备份


为了提高网络的可靠性,中心网络可以部署多台网关设备,通过在主设备(Router A)上为点到多点GRE隧道指定备份接口(Tunnel1接口),实现中心网络设备和传输路径的备份。当主设备与分支机构之间的链路出现故障时,发送给分支机构的报文在主设备上查找不到匹配的隧道表项,主设备通过备份接口把该报文发送给备份设备(Router B),由备份设备将报文发送到分支机构。备份接口应配置为GRE over IPv4模式的隧道接口。

当主设备上存在隧道表项时,备份接口也可以参与转发隧道的选择,根据优先级决定是否采用备份接口转发报文。如果没有为备份接口配置GRE Key,则其优先级低于所有的点到多点隧道表项;如果为备份接口配置了GRE Key,则与点到多点隧道表项中记录的GRE Key比较,Key值小的优先级高

6.4 点到多点GRE隧道优缺点 6.4.1 优点: 配置简单。中心节点上只需配置点到多点GRE隧道,无需在中心节点上创建到达每个分支机构的点到点GRE隧道。 维护代价小。增加分支机构时,中心节点会动态学习到新增分支机构的地址,并与其建立隧道,无需手工配置。 分支机构接入方式灵活。中心节点动态学习隧道的目的地址,分支机构是否动态获取公网地址(如采用ADSL等拨号方式接入网络)对中心节点的配置没有影响。 以标准的GRE协议为基础,不需要特殊的协议或者私有协议来配合使用,具有较好的互通性。 对于分支机构使用的网关设备没有特殊要求,只要支持GRE协议即可,避免用户网络设备的重复投资。 支持分支机构和中心节点的GRE隧道备份,提高网络的可靠性。 6.4.2 缺点: 点到多点GRE隧道的传输协议和乘客协议只能是IPv4。 点到多点GRE隧道组网中,中心网络不能主动向分支网络发送报文。只有中心网络接收到分支网络的报文,并在中心节点上建立隧道表项后,中心网络发往分支网络的报文才能转发成功。 点到多点GRE隧道组网中,分支网络之间无法建立隧道,不能通信。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。