GRE概述
定义
对于IPv4 GRE和IPv6 GRE都支持的特性,正文中如果不做特殊说明,则表示二者实现无差异。IPv4 GRE和IPv6 GRE的实现差异,请参考附录。
GRE(Generic Routing Encapsulation)是通用路由封装协议,可以对某些网络层协议(如IPX、IPv6、AppleTalk等)的数据报进行封装,使这些被封装的数据报文能够在IPv4网络中传输。
GRE提供了将一种协议的报文封装在另一种协议报文中的机制,使报文能够在异种网路中传输,而异种报文传输的通道称为Tunnel。
一维Tunnel接口的GRE隧道,也可称为分布式GRE,GRE隧道报文直接在入接口板上进行封装和解封装处理,分布式GRE使用的是一维Tunnel接口。同时配置复杂流分类、car等业务时,可能会出现业务占用带宽翻倍的问题。
三维Tunnel接口的GRE隧道,也可称为集中式GRE,GRE隧道报文集中在一块业务处理板上进行封装和解封装处理,集中式GRE使用的是三维Tunnel接口。
目的
为了使某些网络层协议(如IPX、IPv6、AppleTalk等)的报文能够在IPv4网络中传输,可以将某些网络层协议的报文进行封装,以此解决了异种网络的传输问题。
GRE也可以作为VPN的第三层隧道协议,为VPN数据提供透明传输通道。目前,只有IPv4 L3VPN支持GRE隧道,IPv6 L3VPN暂不支持GRE隧道。
受益
GRE对设备的性能的要求较低,可以在不支持MPLS的设备间建立隧道。