×

【2022争霸赛*干货满满】网络技术原理详解分享之GRE(General Routing Encapsulation ,通用路由封装)解析分享
  

山东_朱文鑫 30591人觉得有帮助

{{ttag.title}}
大家好,我是大白,正所谓老骥伏枥,志在千里;烈士暮年,壮心不已。优质的帖子也在尽力中提供,也希望各位道友多多支持,让我引劫渡劫成功哈哈哈。

大白队口号就是:砸锅卖铁我最行,拼死拼活就要赢!!!!!!!!!!!!

本贴不做技术分享,今天要开始我们新的网络技术篇章GRE(General Routing Encapsulation ,通用路由封装)解析分享,之前我们也做过STP实验以及STP的原理,以及RSTP的实验与原理讲解。对于网络技术的讲解各位小伙伴的反馈还是相当的不错的,对于已毕业STP的小伙伴也是积极的私信我出新的技术讲解,鉴于之前在跨区桌面云项目的分享上还提到过GRE的使用,今天我就分享一下GRE的技术解析。

传统的GRE隧道是一个点到点的连接。GRE应用企业网时,需要在企业中心节点和各个分支机构之间建立多条点到点GRE隧道。当企业分支机构众多时,配置工作量巨大;而且,如果新增分支机构,则需要在中心节点上增加配置,增加了网络维护的负担;此外,分支机构采用ADSL等方式拨号上网时,分支机构公网地址的不确定性也增加了中心节点配置的复杂度。

虽然动态VPN技术,如DVPN(Dynamic Virtual Private Network,动态虚拟私有网络),可以学习公网地址和私网地址的对应关系,并动态地在中心节点和分支机构、不同分支机构之间建立隧道,但是目前动态VPN技术没有统一的规范,各个厂商都采用私有协议实现动态VPN,无法互通。

点到多点GRE隧道很好地解决了上述问题,非常适用于分支机构众多的企业网络。点到多点GRE隧道组网中,需要在中心节点上配置点到多点GRE模式的隧道接口(以下简称为点到多点GRE隧道接口)、分支机构上配置传统的点到点GRE over IPv4模式的隧道接口(以下简称为点到点GRE隧道接口),这样就可以实现在中心节点和多个分支机构之间动态建立隧道

首先我们要知道GRE隧道是什么?

通用路由封装协议GRE(Generic Routing Encapsulation)可以对某些网络层协议是对某些网络层协议如IP和IPX的数据报文进行封装,使这些被封装的数据报文能够在Tunnel(隧道)中传输。Tunnel是一个虚拟的点对点的连接,提供了一条通路使封装的数据报文能够在这个通路上传输,并且在一个Tunnel的两端分别对数据报文进行封装及解封装。

GRE提供了将一种协议的报文封装在另一种协议报文中的机制,是一种三层隧道封装技术,使报文可以通过GRE隧道透明的传输,解决异种网络的传输问题。


GRE原理:

报文在GRE隧道中传输包括封装和解封装两个过程。如果X协议报文从Ingress PE向Egress PE传输,则封装在Ingress PE上完成,而解封装在Egress PE上进行。封装后的数据报文在网络中传输的路径,称为GRE隧道。

Ingress PE【Mpls的入口路由器】

Egress PE 【Mpls的出口路由器】

通过GRE隧道实现X协议互通

封装:

      Ingress PE从连接X协议的接口接收到X协议报文后,首先交由X协议处理。

      X协议根据报文头中的目的地址在路由表或转发表中查找出接口,确定如何转发此报文。如果发现出接口是GRE Tunnel接口,则对报文进行GRE封装,即添加GRE头。

      根据骨干网传输协议为IP,给报文加上IP头。IP头的源地址就是隧道源地址,目的地址就是隧道目的地址。

      根据该IP头的目的地址(即隧道目的地址),在骨干网路由表中查找相应的出接口并发送报文。之后,封装后的报文将在该骨干网中传输。

解封装:

解封装过程和封装过程相反。

       Egress PE从GRE Tunnel接口收到该报文,分析IP头发现报文的目的地址为本设备,则Egress PE去掉IP头后交给GRE协议处理。

       GRE协议剥掉GRE报头,获取X协议,再交由X协议对此数据报文进行后续的转发处理。

报文格式:


乘客协议(Passenger Protocol):封装前的报文称为净荷,封装前的报文协议称为乘客协议。

封装协议(Encapsulation Protocol):GRE Header是由封装协议完成并填充的,封装协议也称为运载协议(Carrier Protocol)。

传输协议(Transport Protocol或者Delivery Protocol):负责对封装后的报文进行转发的协议称为传输协议。

GRE头字段

字段解释

C   【校验和验证位。•该位置1,表示GRE头插入了校验和(Checksum)字段。•该位置0,表示GRE头不包含校验和字段。】

K   【关键字位。•该位置1,表示GRE头插入了关键字(Key)字段。•该位置0,表示GRE头不包含关键字字段。】

Recursion     【表示GRE报文被封装的层数。完成一次GRE封装后将该字段加1。如果封装层数大于3,则丢弃该报文。该字段的作用是防止报文被无限次的封装。】

说明:

       •RFC1701规定该字段默认值为0。

       •RFC2784规定当发送和接收端该字段不一致时不会引起异常,且接收端必须忽略该字段。

       •设备实现时该字段仅在加封装报文时用作标记隧道嵌套层数,GRE解封装报文时不感知该字段,不会影响报文的处理。

Flags    【预留字段。当前必须置为0。】

Version     【版本字段。必须置为0。】

Protocol Type     【标识乘客协议的协议类型。常见的乘客协议为IPv4协议,协议代码为0800。Ethernet over GRE协议的协议代码为0x6558。】

Checksum     【对GRE头及其负载的校验和字段。】

Key     【关键字字段,隧道接收端用于对收到的报文进行验证。】

GRE的组网案例:


分支与总部的网络都是以太网络,分支与总部之间通过IP骨干网相连,如果用户希望分支与总部之间能够互通,可以部署Ethernet over GRE功能,实现以太报文通过GRE隧道进行透传。

Ethernet over GRE是将以太网协议的报文通过GRE封装后,在另一个网络层协议(如IPv4)的网络中传输,具体工作原理如下:

       1.在设备LAN侧的物理以太网接口GE2/0/0上绑定二层VE接口VE0/0/2,在设备WAN侧的Tunnel接口Tunnel0/0/1上绑定二层VE接口VE0/0/1。

       2.Router_1的LAN侧物理以太网接口GE2/0/0收到分支网络的以太报文,以太报文中携带了VLAN Tag信息

       3.GE2/0/0收到的以太报文转发到VE0/0/2后,在VE0/0/2上进行入接口VLAN处理,然后在设备内基于MAC和VLAN进行二层转发,找到出接口VE0/0/1。

       4.以太报文在VE0/0/1上进行出接口VLAN处理后,将转发到VE0/0/1绑定的Tunnel0/0/1接口,经过GRE封装(协议代码为0x6558)后,进行后续的GRE转发处理。

       5.Router_2的Tunnel0/0/1接口上对收到的报文进行GRE解封装,检查到协议代码为0x6558后,将以太报文转发给入接口VE0/0/1。

       6.在VE0/0/1上进行入接口VLAN处理后,二层转发给VE0/0/2进行出接口VLAN处理

       7.以太报文中携带新的VLAN Tag信息从出接口GE2/0/0发往总部网络。

GRE的安全选项:

为了提高GRE隧道的安全性,GRE还支持由用户选择设置Tunnel接口的识别关键字(或称密钥),以及对隧道封装的报文进行端到端校验(校验和)。

在RFC 1701中规定:

       若GRE报文头中的Key标识位置1,则收发双方将进行通道识别关键字的验证,只有Tunnel两端设置的识别关键字完全一致时才能通过验证,否则将报文丢弃

       若GRE报文头中的Checksum标识位置1,则校验和有效。发送方将根据GRE头及Payload信息计算校验和,并将包含校验和的报文发送给对端。接收方对接收到的报文计算校验和,并与报文中的校验和比较,如果一致则对报文进行进一步处理,否则丢弃。

点到多点GRE隧道:


       与点到点GRE隧道接口不同的是,点到多点GRE隧道接口上不需要手工配置隧道目的地址,而是根据接收到的GRE报文动态学习隧道目的地址

     如上图所示:

     配置了点到多点GRE隧道接口的设备(Router A)接收到对端设备(Router B)发送的GRE报文后,从该报文中获取传输协议(IPv4)报文头的源地址和乘客协议(IPv4)报文头的源地址,分别作为隧道的目的地址和报文的目的地址(即分支网络的私网地址),建立一条隧道表项

     通过点到多点GRE隧道转发报文时,设备根据报文的目的地址,在隧道表项中查找对应的隧道目的地址,使用此地址作为GRE封装传输协议(IPv4)报文头的目的地址。最初是没有目的地址表项的,必须先学到以后才可以双方通信,之前只能单方通信。

点到多点GRE隧道优缺点

优点:

     配置简单。中心节点上只需配置点到多点GRE隧道,无需在中心节点上创建到达每个分支机构的点到点GRE隧道。

     维护代价小。增加分支机构时,中心节点会动态学习到新增分支机构的地址,并与其建立隧道,无需手工配置。

     分支机构接入方式灵活。中心节点动态学习隧道的目的地址,分支机构是否动态获取公网地址(如采用ADSL等拨号方式接入网络)对中心节点的配置没有影响。

     以标准的GRE协议为基础,不需要特殊的协议或者私有协议来配合使用,具有较好的互通性。

     对于分支机构使用的网关设备没有特殊要求,只要支持GRE协议即可,避免用户网络设备的重复投资。

     支持分支机构和中心节点的GRE隧道备份,提高网络的可靠性。

缺点:

     点到多点GRE隧道的传输协议和乘客协议只能是IPv4。

     点到多点GRE隧道组网中,中心网络不能主动向分支网络发送报文。只有中心网络接收到分支网络的报文,并在中心节点上建立隧道表项后,中心网络发往分支网络的报文才能转发成功

     点到多点GRE隧道组网中,分支网络之间无法建立隧道,不能通信。

GRE的应用场景:

1.多协议的本地网通过单一协议的骨干网传输:


如上图:Group 1和Group 2是运行Novell IPX协议的本地网,Team 1和Team 2是运行IP协议的本地网。通过在Router A和Router B之间采用GRE协议封装的隧道,Group 1和Group 2、Team 1和Team 2可以互不影响地进行通信

2.扩大了跳数受限协议(如RIP)的工作范围



两台终端之间的跳数超过15(RIP路由协议),它们将无法通信。通过在网络中使用隧道可以隐藏一部分跳数,从而扩大网络的工作范围。


3.将一些不能连续的子网连接起来,用于组建VPN




行Novell IPX协议的两个子网Group 1和Group 2分别在不同的城市,通过使用隧道可以实现跨越广域网的VPN.


4.和IPsec结合使用




GRE可以和IPsec结合使用,即对于路由协议、语音、视频等数据先进行GRE封装,再对封装后的报文进行IPsec的加密处理,以提高数据在隧道中传输的安全性。


以上就是本次的网络技术原理详解分享之GRE(General Routing Encapsulation ,通用路由封装)解析分享,后续会完成GER实验的分享配置以及效果验证等,感谢大佬们的参阅,此贴先到这里后续会带上更加实用的帖子,感谢大家!

励志分享超清壁纸语句~~:



必须永远朝着黎明青春和生命那方面看。——雨果


好的今天就到这里,老样子,感谢各位大神的参阅,孩子为了挣豆子不容易,孩子家里穷没豆子吃饭了!!!

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

打赏
14人已打赏

339015 发表于 2022-10-12 16:04
  
感谢楼主分享,文章介绍了GRE VPN相关原理与使用场景,整体介绍较为清晰,期待更多优秀分享
网泰王晓庆 发表于 2022-10-11 08:01
  
楼主的文章图文并茂,清晰易懂,看完这波操作可以轻松上手了,如遇到问题再向楼主请教~
飞翔的苹果 发表于 2022-10-12 08:06
  
感谢分享,有助于工资和学习!!!
奔走的公牛 发表于 2022-10-14 09:09
  
感谢分享有助于学习!!!
新手078326 发表于 2022-10-16 15:30
  

感谢分享,有助于工资和学习!!!
暗夜星空 发表于 2022-10-17 09:21
  
坚持每日学习打卡
新手741261 发表于 2022-10-17 19:45
  
感谢分享,有助于学习!!!
新手612152 发表于 2022-10-17 19:56
  
感谢分享,多多交流!
司马缸砸了光 发表于 2022-10-17 20:00
  
感谢分享,有助于工资和学习!!!
发表新帖
热门标签
全部标签>
西北区每日一问
技术盲盒
安全效果
每日一问
干货满满
【 社区to talk】
新版本体验
技术笔记
功能体验
产品连连看
技术咨询
GIF动图学习
标准化排查
2023技术争霸赛专题
每周精选
通用技术
信服课堂视频
秒懂零信任
自助服务平台操作指引
安装部署配置
排障笔记本
答题自测
原创分享
升级&主动服务
社区新周刊
POC测试案例
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
技术晨报
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
高手请过招
高频问题集锦
全能先锋系列
云化安全能力

本版版主

12
185
6

发帖

粉丝

关注

121
315
352

发帖

粉丝

关注

本版达人

LoveTec...

本周分享达人

新手24116...

本周提问达人