一、GRE
- GRE(Generic Routing Encapsulation)即通用路由封装协议,是对某些网络层协议(如IP和IPX)的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议(如IP)中传输。
- 最简单一种VPN技术; 属于点到点网络类型;使用的GRE技术–通用路由封装,在原有3层报头前方再封装一次3层报头;
- GRE是VPN(Virtual Private Network)的第三层隧道协议,即在协议层之间采用了一种被称之为Tunnel(隧道)的技术。
- GRE封装进去的数据不会发生变化,包括跳数TTL。点到点的GRE中,绝对不允许宣告公网地址。
- 邻居的翻滚现象:路由进入当隧道导致多次封装,数据包的封装大于366535时路由器会选择丢弃这个包,3倍hello时间一过就会丢弃
GRE的特点
- GRE是一个标准协议
- 支持多种协议和多播
- 能够用来创建弹性的VPN
- 支持多点隧道
- 能够实施QOS
GRE的缺点
- 缺乏加密机制
- 没有标准的控制协议来保持GRE隧道(通常使用协议和keeplive)
- 隧道很消耗CPU
- 出现问题要进行debug很困难
- MTU和IP分片是一个问题
封装与解封装
一个X协议的报文要想穿越IP网络在Tunnel中传输,必须要经过加封装与解封装两个过程,下面以图1的网络为例说明这两个过程: