通用路由封装协议
  

李龙超 7261人觉得有帮助

{{ttag.title}}
本帖最后由 李龙超 于 2023-9-4 16:27 编辑

通用路由封装协议GRE 提供了将一种协议报文封装在另一种协议报文中的机制,是一种三层隧道封装技术;可以对IPv4协议的数据报文进行再封装,使这些被封装的数据报文能够在另一个网络层协议(如IPv4)中传输;报文通过GRE隧道透明的传输,可以解决外网主动访问内网的问题;GRE可以封装组播数据和路由选择协议,结合IP Sec使用,从而保证语音、视频等组播业务的安全。
GRE实现机制简单,对隧道两端的设备负担小;GRE隧道可以有效利用了原有的网络架构,降低成本;GRE隧道扩展了跳数受限网络协议的工作范围,支持企业灵活设计网络拓扑;GRE隧道支持MPLS LDP,使用GRE隧道承载MPLS LDP报文,建立LDP LSP,实现MPLS骨干网的互通;GRE隧道将不连续的子网连接起来,用于组建VPN,实现企业总部和分支间安全的连接。

GRE的工作原理:


GRE是VPN的三层隧道协议,即在协议层之间采用了一种被称之为Tunnel(隧道)的技术。Tunnel是一个虚拟的点对点的连接,在实际中可以看成仅支持点对点连接的虚拟接口,这个接口提供了一条通道使封装的数据报能够在这个通路上传输,并在一个Tunnel的两端分别对数据报进行封装及解封装 。

GRE报头封装:Ethernet2/IPv4(公网地址)/GRE/IPv4(私网地址)/Payload/FCS
GRE报文载荷:


1、C--校验和标志位;如配置了checksun则该位置为1,同时校验和(可选)、偏离(可选)部分的共4 bytes出现在GRE头部;如不配置checksun则该位置为0,同时校验和(可选)、偏离(可选)部分不出现在GRE头部。
2、R--路由标志位;如R为1,校验和(可选)、偏离(可选)、路由(可选)部分的共8 bytes出现在GRE头部;如R为0, 校验和(可选)、偏离(可选)、路由(可选)部分不出现在GRE头部。
3、K--密钥标志位;如配置了KEY则该位置为1,密钥(可选)部分出现在GRE头部;如不配置KEY则该位置为0,密钥(可选)部分不出现在GRE头部。
4、S--序列好同步标志位;如配置了sequence-datagrams则该位置为1,同时序列号(可选)部分的共4 bytes出现在GRE头部。如不配置sequence-datagrams则该位置为0,同时序列号(可选)部分不出现在GRE头部。
5、s:严格源路由标志位。所有的路由都符合严格源路由,该位为1。通常为0。
6、递归控制:该位置需为0
7、标志位:未定义,需为0
8、版本:需为0
9、协议类型:常用的协议,例如IP协议为0800

▶报文封装和解封装过程:
GRE封装报文时,封装前的报文称为净荷,封装前的报文协议称为乘客协议,然后先封装GRE头部,GRE成为封装协议,也叫运载协议,最后负责对封装后的报文进行转发的协议称为传输协议。
1)路由器从连接私网的接口接收到报文后,检查报文头中的目的IP地址字段,在路由表查找出接口,发现出接口是隧道接口,将报文发送给隧道模块进行处理。
2)隧道模块接收到报文后首先根据乘客协议的类型和当前GRE隧道配置的校验和参数,对报文进行GRE封装,添加GRE报头。
3)路由器给报文添加传输协议报头即IP报头(公网地址);该IP报头的源地址就是隧道源地址,目的地址就是隧道目的地址。
4)路由器根据新添加的IP报头目的地址,在路由表中查找相应的出接口并发送报文,封装后的报文将在公网中传输。
5、接收端路由器从连接公网的接口收到报文后,首先分析IP报文头,如果发现协议类型字段的值为47,表示协议为GRE,于是出接口将报文交给GRE模块处理。GRE模块去掉IP报文头和GRE报文头,并根据GRE报文头的协议类型字段,发现此报文的乘客协议为私网中运行的协议,于是将报文交给该协议处理。

▶Keepalive检测:
1)Keepalive检测功能用于在任意时刻检测隧道链路是否处于Keepalive状态,即检测隧道对端是否可达。如果对端不可达,隧道连接就会及时关闭,避免形成数据空洞;Keepalive检测功能开启后,GRE隧道本端会定期(默认值为5秒,deadtime为15秒)向对端发送Keepalive探测报文;若对端可达,则本端会收到对端的回应报文;若对端不可达,则收不到对端的回应报文。
2)如果在隧道一端配置了Keepalive功能,无论对端是否配置Keepalive,配置的Keepalive功能在该端都生效;隧道对端收到Keepalive探测报文,无论是否配置Keepalive,都会给源端发送一个回应报文。
3)Keepalive检测功能开启后,源端会创建一个计数器并周期性地发送Keepalive探测报文同时进行计数;每发送一个探测报文,不可达计数加1。
4)如果源端在计数器值达到预先设置的值之前收到回应报文,则表明对端可达。如果计数器值达到预先设置的重试次数,源端还是没有收到回应报文,则认为对端不可达。此时,源端将关闭隧道连接。

▶GRE over IPsec
1)GRE本身并不支持加密,因而通过GRE隧道传输的流量是不加密的。将IPSec技术与GRE相结合,可以先建立GRE隧道对报文进行GRE封装,然后再建立IPSec隧道对报文进行加密,以保证报文传输的完整性和私密性。
2)IPSec VPN技术可以创建一条跨越共享公网的隧道,从而实现私网互联;IPSec VPN能够安全传输IP报文,但无法在隧道的两个端点之间运行RIP和OSPF等路由协议;而GRE可以将路由协议信息封装在另一种协议报文(IPv4)中进行传输。3)使用GRE可以克服IGP协议的一些局限性。例如,RIP路由协议是一种距离矢量路由协议,最大跳数为15。如果网络直径超过15,设备将无法通信。这种情况下,可以使用GRE技术在两个网络节点之间搭建隧道,隐藏它们之间的跳数,扩大网络的工作范围。

打赏鼓励作者,期待更多好文!

打赏
1人已打赏

一个无趣的人 发表于 2023-7-31 22:09
  
楼主的文章图文并茂,清晰易懂,看完这波操作可以轻松上手了,如遇到问题再向楼主请教~
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
干货满满
技术咨询
功能体验
产品连连看
新版本体验
GIF动图学习
自助服务平台操作指引
标准化排查
运维工具
2023技术争霸赛专题
通用技术
秒懂零信任
技术晨报
信服课堂视频
用户认证
安装部署配置
安全攻防
SDP百科
设备维护
深信服技术支持平台
社区帮助指南
答题自测
每日一记
玩转零信任
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
云计算知识
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版版主

12
185
6

发帖

粉丝

关注

本版达人

LoveTec...

本周分享达人

新手24116...

本周提问达人