GRE协议
一、GRE(通用路由封装协议)协议简介
1.1 GRE协议特点
通用路由封装协议GRE(Generic Routing Encapsulation)可以对某些网络层协议(如IPX、IPv6、AppleTalk等)的数据报文进行封装,是一种隧道协议,由 Cisco 提出,用于在不同网络间传输数据包。
GRE 隧道通过在封装数据包的基础上增加一个新的 GRE 头部和一个新的 IP 头部,使得原始数据包可以通过不同网络传输。GRE 协议被广泛应用于 VPN(虚拟专用网络)和 MPLS(多协议标签交换)网络中。
二、GRE(通用路由封装协议)协议结构
2.1 GRE报文格式
RE头字段 字段解释 C 校验和验证位。 K 关键字位。 Recursion 表示GRE报文被封装的层数。完成一次GRE封装后将该字段加1。如果封装层数大于3,则丢弃该报文。 Flags 预留字段。当前必须置为0。 Version 版本字段。必须置为0。 Protocol Type 标识乘客协议的协议类型。常见的乘客协议为IPv4协议,协议代码为0800。 Checksum 对GRE头及其负载的校验和字段。 Key 关键字字段,隧道接收端用于对收到的报文进行验证
三、GRE(通用路由封装协议)协议机制
[!NOTE]
GRE是单向的隧道
3.1 GRE封装机制
- 隧道建立
- 两端路由器配置隧道接口,指定隧道源IP和目的IP(需路由可达)。
- 数据封装
- 原始数据包进入隧道接口(路由表查询到隧道接口)后,添加GRE头和乘客协议头。
- 数据传输
- 封装后的报文通过公网传输到对端隧道接口。
- 解封装
- 对端路由器剥离外层IP头和GRE头,还原原始数据包并转发。
3.2 GRE的Tunnel路由
对于GRE隧道的接口,需要指定其协议类型为GRE,同时配置源地址或源接口、目的地址。
ip route-static 10.2.1.0 255.255.255.0 tunnel1 #流量引入到隧道
#
interface Tunnel0/0/0
ip address 10.1.12.1 255.255.255.0
tunnel-protocol gre
# 在源端设备和目的端设备上都必须存在经过Tunnel转发的路由
source 1.1.1.1
destination 1.1.1.2




浙公网安备 33010602011771号