GRE报文格式

报文格式

系统收到需要进行封装和路由的某网络层协议(如IPX)数据时,将首先对其加上GRE报文头,使之成为GRE报文,再将其封装在另一协议(如IP)中。这样,此报文的转发就可以完全由IP协议负责。封装后的报文的格式如下图所示:

图1 GRE报文格式

其中:

GRE首部各字段解释如下:

字段 长度 描述
C 1 bit 校验和验证位。如果该位置1,表示GRE头插入了校验和(Checksum)字段;该位为0表示GRE头不包含校验和字段。
K 1 bit 关键字位。如果该位置1,表示GRE头插入了关键字(Key)字段;该位为0表示GRE头不包含关键字字段。
Recursion 3 bits 用来表示GRE报文被封装的层数。完成一次GRE封装后将该字段加1。如果封装层数大于3,则丢弃该报文。该字段的作用是防止报文被无限次的封装。
Flags 5 bits 预留字段。当前必须设为0。
Version 3 bits 版本字段,必须置为0。Version为1是使用在RFC2637的PPTP中。
Protocol Type 16 bits 乘客协议的协议类型。
Checksum 16 bits 对GRE头及其负载的校验和字段。
Key 31 bits 关键字字段,隧道接收端用于对收到的报文进行验证。

因为VRP中的GRE头不包含源路由字段,因此Bit 1、Bit 3和Bit 4都置为0。

报文示例

参考标准

标准 描述
RFC 1701 Generic Routing Encapsulation (GRE)
RFC 2784 Generic Routing Encapsulation (GRE)

本资料收集于互联网
2016 ©