找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2027|回复: 0

[GRE] 浅析GRE协议(通用路由封装协议)

[复制链接]

3万

主题

7

回帖

9万

积分

管理员

积分
91233
发表于 2021-4-29 14:40:05 | 显示全部楼层 |阅读模式
1、GRE的概念

1)全称:GRE(Generic Routing Encapsulation):通用路由封装协议。
2)功能:定义了在一种网络层协议上封装另一种协议(或同一种协议)。
3)举例:对某些网络层协议(如IP和IPX)的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议(如IP)中传输。
4)所在层次:GRE是VPN(Virtual Private Network)的第三层隧道协议,即在协议层之间采用了一种被称之为Tunnel(隧道)的技术。

2、Tunnel技术
1)定义:Tunnel是一个虚拟的点对点的连接,在实际中可以看成仅支持点对点连接的虚拟接口,这个接口提供了一条通路使封装的数据报能够在这个通路上传输,并且在一个Tunnel的两端分别对数据报进行封装及解封 。
2)封装过程:
20170516163722690.png
  
•经GRE模块处理后,原IP头部已经被封装在新IP头部和GRE头部之后
•新IP数据包的IP头部的协议号为47。
•新IP头部的长度为20字节

•GRE头部的长度为4~20字节(根据实际配置而定)。


3、GRE格式:
20170516163743412.png
  
GRE头部结构参照RFC1701定义
  • 前4 字节是必须出现的
  • 第5~20字节将根据第1字节的相关bit位信息,可选出现。
  • GRE头部的长度将影响Tunnel口的mtu值
•0bit  C:校验和标志位。
   如配置了checksun则该位置为1,同时校验和(可选)、偏离(可选)部分的共4 bytes出现在GRE头部。
   如不配置checksun则该位置为0,同时校验和(可选)、偏离(可选)部分不出现在GRE头部。

•1bit  R:路由标志位。
  如R为1,校验和(可选)、偏离(可选)、路由(可选)部分的共8 bytes出现在GRE头部。
如R为0, 校验和(可选)、偏离(可选)、路由(可选)部分不出现在GRE头部。

•2bit  K:密钥标志位。
     如配置了KEY则该位置为1,同时密钥(可选)部分的共4 bytes出现在GRE头部。
     如不配置KEY则该位置为0,同时密钥(可选)部分不出现在GRE头部。

•3bit  S:序列好同步标志位。
    如配置了sequence-datagrams则该位置为1,同时序列号(可选)部分的共4 bytes出    现在GRE头部。
  如不配置sequence-datagrams则该位置为0,同时序列号(可选)部分不出现在GRE头部。

•4bit  s:严格源路由标志位。
     除非所有的路由都符合严格源路由,该bit位为1。通常该bit为0。

•5~7bit:递归控制:该位置需为0

•8~12bit: 未定义,需为0

•13~15 版本:需为0

16~31 协议类型:常用的协议,例如IP协议为0800


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|番茄论坛

GMT+8, 2024-11-21 18:23 , Processed in 0.086580 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表