GRE
GRE (Generic Routing Encapsulation、通用路由封装) 是一种可以在虚拟点对点链路中封装多种网络层协议的隧道协议
- 优点:支持多种上层协议、支持组播、Qos
- 缺点:不能加密、较弱的身份认证、较弱的完整性校验
- C : 校验码标记位,标为 1 为代表启用校验码
- K : 键码标记位,标为1为代表启用键码
- S : 序列号标记位,标为1为代表启用序列号
- Reserved : 保留,默认为 0
- Version : 版本号,默认为 0
- Protocol Type : 负载的协议类型
- Checksum : 校验码,C 位启用时可用。为 GRE 头与负载的校验码
- Key : 键码,K 位启用时可用。特定用语所需的键值
- Sequence Number : 序列号,S 位启用时可用。为 GRE 数据包的发送序列号
净荷 (Payload):系统收到的需要封装和路由的数据报称为净荷
GRE 能够承载的乘客协议包括 IPv4、IPv6 和 MPLS 协议,GRE 所使用的传输协议是 IPv4 协议
乘客协议 (Passenger Protocol):封装前的报文协议称为乘客协议
封装协议 (Encapsulation Protocol):上述的 GRE 协议称为封装协议,也称为运载协议 (Carrier Protocol)
传输协议 (Transport Protocol / Delivery Protocol):负责对封装后的报文进行转发的协议称为传输协议
GRE 工作方式
- 系统收到需要进行封装的数据时交给乘客协议处理
- 在对应的隧道接口 (Tunnel) 加上 GRE 报文头
- 再根据配置信息,封装在 IP 包中发出
- 数据在公网中根据 IP 地址发送到对端
- 对端收到报文,拆除 IP 报头识别 GRE 报头交给对应的隧道接口
- 对端隧道接口拆除 GRE 报头将报文流入内网处理
隧道接口必须配置:封装类型、隧道接口地址、源地址、目的地址
GRE 应用场景
- GRE over IPSec
- IPv6 over IPv4
- 扩大条数受限的网络工作范围
- GRE VPN