技术频道

GRE工作原理及其配置

【摘要】TSC
【正文】
1.GRE协议简介
GRE(Generic Routing Encapsulation,通用路由封装)协议是对某些网络层协议(如IP 和IPX)的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议(如IP)中传输。GRE 是VPN(Virtual Private Network)的第三层隧道协议,在协议层之间采用了一种被称之为Tunnel(隧道)的技术。Tunnel是一个虚拟的点对点的连接,在实际中可以看成仅支持点对点连接的虚拟接口,这个接口提供了一条通路使封装的数据报能够在这个通路上传输,并且在一个Tunnel的两端分别对数据报进行封装及解封装。
一个报文要想在Tunnel中传输,必须要经过加封装与解封装两个过程,下面以图1的网络为例说明这两个过程:
(1) 加封装过程
连接Novell Group1的接口收到IPX数据报后首先交由IPX 协议处理,IPX 协议检查IPX 报头中的目的地址域来确定如何路由此包。若报文的目的地址被发现要路由经过网号为1f 的网络(Tunnel 的虚拟网号),则将此报文发给网号为1f 的Tunnel端口。Tunnel 口收到此包后进行GRE 封装,封装完成后交给IP 模块处理,在封装IP 报文头后,根据此包的目的地址及路由表交由相应的网络接口处理。
(2) 解封装的过程
解封装过程和加封装的过程相反。从Tunnel 接口收到的IP 报文,通过检查目的地址,当发现目的地就是此路由器时,系统剥掉此报文的IP 报头,交给GRE 协议模块处理(进行检验密钥、检查校验和及报文的序列号等);GRE 协议模块完成相应的处理后,剥掉GRE 报头,再交由IPX 协议模块处理,IPX 协议模块象对待一般数据报一样对此数据报进行处理。
系统收到一个需要封装和路由的数据报,称之为净荷(payload),这个净荷首先被加上GRE 封装,成为GRE 报文;再被封装在IP 报文中,这样就可完全由IP 层负责此报文的向前传输(forwarded)。人们常把这个负责向前传输IP 协议称为传输协议(delivery protocol 或者transport protocol)。
封装好的报文的形式如下图所示:
2.应用范围
(1) 多协议的本地网通过单一协议的骨干网传输
(2) 扩大了步跳数受限协议(如rip)的网络的工作范围
(3) 将一些不能连续的子网连接起来,用于组建vpn
(4) 与IPSec 结合使用,常用的是GRE over IPSec
3.注意事项:
 只有在Tunnel两端都配置了校验才对进行校验
 Tunnel两端配置的识别关键字完全一致时才能正常通信

文章版权归西部工控xbgk所有,未经许可不得转载。

TSC