GRE------网络基础知识整理第三篇
 
GRE协议号为47
 
通用路由封装Generic Routing Encapsulation (GRE)  在一种协议上封装另一种协议 RFC1701  RFC1702   RFC2784
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

GRE提供了将一种协议的报文在另一种协议组成的网络中传输的能力:对某些网络层协议(如ip ipx)的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议(如ip)中传输。
 
以下内容源于:RFC 2784----通用路由封装(GRE
 
 
Checksum Present (bit 0)

如果Checksum Present位置为1,那么ChecksumReserved1域都出现并且Checksum域包含有效信息。注意一个compliant实现必须接受并处理该域。

Reserved0 (bits 1-12)
  接收者必须丢弃1-5比特中任一位为非0的数据包,除非接收者使用RFC 1701。比特6-12保留以备后用,这些比特位必须按0发送,并且在接收时必须忽略掉。

Version Number (bits 13-15)

Checksum Present (bit 0)

  
如果Checksum Present位置为1,那么ChecksumReserved1域都出现并且Checksum域包含有效信息。注意一个compliant实现必须接受并处理该域。

Reserved0 (bits 1-12)

  
接收者必须丢弃1-5比特中任一位为非0的数据包,除非接收者使用RFC 1701。比特6-12保留以备后用,这些比特位必须按0发送,并且在接收时必须忽略掉。

Version Number (bits 13-15)

   Version Number
域必须包含值0

Protocol Type (2 octets)

   Protocol Type
域包含净载数据包的协议类型。这些协议在RFC 1700中定义为“ETHERT TYPES”,可在参考文献[ETYPES]的网址上得到。应用程序如果接收到一个包含未列于RFC 1700中的协议类型的数据包应该丢弃该数据包。

Checksum (2 octets)

   Checksum
域包含了GRE头部和净载数据包所有的16位字(word)的IPone's complement)检验和。为了计算检验和,checksum域的值为0。该域仅在Checksum Present位为1时出现。

Reserved1 (2 octets)

   Reserved1
域保留以待将来使用。如果出现,传输时必须为0Reserved1域仅在Checksum域出现时出现(也就是说,Checksum Present为置为1)

IPv4
作为净载:当IPv4作为GRE的净载时,Protocol Type域必须置为0x800

 

封装后一个GRE数据包的格式如下:
 
来源于网络的图示