一、 隧道概念
二、 GRE定义
通用路由封装(GRE: Generic Routing Encapsulation),可以对某些网络层协议的数据报进行封装,使这些被封装的数据报能够在IPv4网络中传输
三、 报文格式
3.1 GRE封装后的报文格式
Delivery Header | GRE Header | Payload packet |
---|
Delivery Header:隧道所处网络的协议数据头,是实现一种协议报文穿越另一种协议网络的传输协议。
GRE Header:封装协议,包含GRE协议本身以及和负载协议相关的信息。
Payload Packet:进入隧道前的网络层数据报文,该报文的协议号会作为GRE头部字段中的ProtocolType字段。
3.2 GRE Header格式
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |C|R|K|S|s|Recur| Flags | Ver | Protocol Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Checksum (optional) | Offset (optional) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Key (optional) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number (optional) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Routing (optional) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- C:校验和标志位
若该位为1,则16位的校验和字段会出现在GRE头部。若该位或路由标志位被置为1,则16位的校验和字段和16位的偏移字段都会出现在GRE头部。 - R:路由标志位
若该位为1,则16位的偏移字段和32位的路由字段都会出现在GRE头部。 - K:密钥标志位
若该位为1,则32位的密钥字段会出现在GRE头部。 - S:序列号标志位
若该位为1,则32位的序列号字段会出现在GRE头部。 - s:严格源路由标志位
只有当所有的路由都符合严格源路由(IP数据报经过路径上的每一个路由器,相邻路由器之间无中间路由器,并且所经过路由器的顺序不可更改)时该位才会为1,通常为0. - Recur:递归控制字段(3bit)
表示被允许额外封装的数目,应该全部置为0. - Flags:未定义,5位全部置为0
- Ver:版本号(3bit)
全部置为0 - Protocol Type:协议类型字段(16bit)
即进入隧道前的网络层数据报文(Payload Packet)的协议号,常用协议号如下:
四、封装过程
系统接收到一个需要封装和路由的数据报文,我们称之为有效负载(Payload)。这个有效负载首先被GRE封装然后被称之为GRE报文,这个报文接着被封装在IP报文中,然后完全由IP层负责此报文的转发(Forwarding)。我们也称这个负责向前传输的IP 协议为传递(Delivery)协议或传输(Transport)协议。
GRE实际上是第三层隧道的一种运载协议(Carrier Protocol)。GRE的协议号47。
五、解封装过程
当IP层接收到GRE报文,检查到外层IP报文头部中的协议号是47时(UDP为17,TCP为6,ICMP为1),那么,IP层输入入口函数会根据协议开关表,直接调用GRE的解封装处理函数,对GRE解封装。解封装完成后,再将原始数据报文送入IP输入队列中,以便进行进一步的传输。
六、参考
GRE封装解封装过程
GRE VPN技术简介及其封装过程
GRE 协议rfc总结
通用路由封装协议(GRE)-rfc1701中文翻译
GRE协议
GRE协议介绍
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/92291.html