GRE、MGRE知识点

GRE、MGRE

VPN --- 虚拟专用网络

依靠ISP或者其他公用网络基础设施上构建专用的安全数据通信网络。 -->只不过这个装用网络是逻辑而非物理的。

虚拟:用户不再需要拥有实际的长途数据线缆,而是使用佛南公共网络资源建立自己的网络。

专用:可以定制最符合自身需求的网络。

公用网络不可用私有网络

核心技术:封装技术

GRE -- 通用路由封装

通过点到点的通信方式实现私网的互通,其通过在date报文前封装gre协议报文再在这两个报文前添加IP报文头部形成完整报文,当私网源地数据经过路由时自动识别gre报文通过Tunnel接口转发到公网中,最后到达另一个私网目的地,最后实现网络的通信

配置:

[r1]interface Tunnel 0/0/0 ----创建隧道接口

[r1-Tunnel0/0/0]ip address 192.168.3.1 24 ---该IP地址必须为私网IP

[r1-Tunnel0/0/0]tunnel-protocol gre ----定义封装方式

[r1-Tunnel0/0/0]source 12.0.0.1 ----定义封装内容,该IP必须为真实的公网出口IP

[r1-Tunnel0/0/0]destination 23.0.0.3

配置完成后,需要在本地补上通往目的私网网段的路由信息

GRE报文协议:

GRE封装和解封装过程:

封装:
1. 设备从连接私网的接口接收到数据包后,检查报文头部中的目的IP地址字段,在路由表中查找出接口,如果发现出接口为隧道接口,则将报文发送给隧道模块进行处理。
2. 隧道模块接收到报文后,首先根据乘客协议的类型和当前GRE隧道配置的校验和参数,对报文进行GRE封装
3. 然后,设备给报文添加新的传输协议,该协议的源IP就是隧道源地址,目的IP为隧道目的地址。
4. 最后,设备根据新条件的IP报文头部中的目的地址,在路由表中查找对应的出接口并发送报文。
解封装:
5.接收端设备从连接公网的接口收到报文后,首先分析IP报文头部信息,如果发现协议字段类型值为47 (GRE协议号)表示数据部分由GRE模块进行处理。
    GRE模块去除掉IP报文头部和GRE报文头部,并根据GRE报文头部中的协议类型字段来判断乘客协议内容。从而交给对    应模块处理。
​

通过抓包发现数据此时数据的发送时通过gre协议封装来传输的,达到我们的目的

Keepalive检测机制

[r1-Tunnel0/0/0]keepalive period 2 retry-times 5

设置发送周期为2S;设置重传次数为5次

用keepalive检测机制保证数据不丢失,从而实现网络的稳定通信

抓包:

MGRE-- 多点GRE–NBMA⽹路类型

MGRE实质是通过GRE转变而来,其容易理解为点到多点的通信方式,但其实本身效果还是点到点的通信方式。通过建立中心(HUB)到节点(Spoke)建立mgre隧道动态转发数据信息,当节点与节点之间进行通信时,通过nhrp协议的映射动态学习到对方的路由信息,此时通过查看路由表可发现通信节点双方都学习到对方的路由信息。最后可实现网络的通信。

MGRE结构 --- Hub-spoke 结构 --中心到节点架构

常用:政府

NHRP --- 下一跳解析协议

MGRE结构 --- Hub-spoke 结构 --中心到节点架构

常用:政府

NHS --- 下一跳服务器

中心节点的IP地址必须固定

MGRE的shortcut配置:

Hub节点(中心节点)配置

[r1]interface Tunnel 0/0/0

[r1-Tunnel0/0/0]ip address 192.168.5.1 24

[r1-Tunnel0/0/0]tunnel-protocol gre p2mp ----修改接口封装协议为GRE,且为点到多点模式

[r1-Tunnel0/0/0]source 15.0.0.1

Spoke节点配置

[r2]interface Tunnel 0/0/0

[r2-Tunnel0/0/0]ip address 192.168.5.2 24

[r2-Tunnel0/0/0]tunnel-protocol gre p2mp

[r2-Tunnel0/0/0]source GigabitEthernet 0/0/0 --- 可写出接口(防止IP地址更换)也可写出接口的IP地址

[r2-Tunnel0/0/0]nhrp entry 192.168.5.1 15.0.0.1 register

hub的虚拟接口IP hub的物理接口IP 注册

[r1]display nhrp peer all ----查看nhrp映射表

DSVPN --- 动态智能VPN

传统的MGRE技术存在的问题。----分部之间无法直接通讯(源分支无法获取目的分支的公网地址,也就无法建立VPN隧道),导致所有的分支之间的通讯数据只能通过总部HUB设备进行中转。

NHRP映射表
  • 静态表项

    • 有网络管理员手工配置

    • spoke与hub建立静态的mgre隧道

  • 动态表项

    • 是由NHRP协议动态生成

    • hub节点被动获取到spoke节点发送来的注册信息

    • 各个spoke节点通过NHRP协议获取到对端的spoke节点的映射关系

    • 7200S

NHRP映射表的建立过程
1、建立spoke到hub之间的mgre隧道
  • spoke向hub注册请求

  • hub向spoke注册应答

2、分支链路学习

DSVPN支持两种分支间路由学习方式:

  • 分支间互相学习路由----非shortcut方式

    • 每个分支需要学习到所有对端的路由数据,且下一跳为分支本身。

  • 分支路由汇聚到总部----shortcut方式

    • 下一跳为hub设备。

3、建立spoke与spoke之间的mgre隧道

在shortcut方式下需要添加的配置

中心:

[r1-Tunnel0/0/0]nhrp redirect ----开启重定向功能。默认情况为未启动

分支:

[r4-Tunnel0/0/0]nhrp shortcut ----使用shortcut功能

MGRE的shorecut和非shorecut

非shorecut:每个分支需要学习到所有对端的路由数据,且下一跳为分支本身

中心节点hub与分支节点spoke1、spoke2建立了mgre隧道,添加路由信息后,两个分支节点可以与中心节点通信,此时中心节点也动态拿到了两个spoke分支节点相应的信息;建立spoke与spoke之间的mgre隧道需要两个spoke分支节点去通信时才会建立mgre隧道。

设spoke为1.0网段、spoke为2.0网段。当1.0网段想要去访问2.0网段,当信息来到spoke后,需要进行查询路由表进行转发,但此spoke1的下一跳spok2没有它的nhrp表象,只能将ICMP报文发送到中心节点hub,hub中含有两个分支节点spoke的信息,同时将nhrp的请求报文发送到中心节点hub,告诉中心节点获取到spoke2的映射关系,中心支点hub数据发送到spoke2处,发送请求的spoke1的数据到达spoke2处,随后进行回复,但此时spoke2中还没有学习到spoke1的表象,回复时ICMP报文还是通过hub回复到spoke,但收到开始时spoke1发送来的nhrp请求,随后发送回spoke1,spoke1学习到spoke2的表象;当回复ICMP报文到hub进行换发到spoke1时同时产生疑问nhrp请求报文请求学习spoke1的表象,同spoke1学习到spoke2的过程一致。最后spoke1和spoke2建立mgre隧道,两个spoke节点可以进行通信。

shortcut方式:下一跳为hub设备。

中心节点hub与分支节点spoke1、spoke2建立了mgre隧道,添加路由信息后,两个分支节点可以与中心节点通信,此时中心节点也动态拿到了两个spoke分支节点相应的信息;

spoke1想要与spoke2通信时,数据包转发时spoke1查看路由表后知道下一跳为HUB,随后查看本身的nhrp映射表,查询是否有hub相应的nhrp,hub中已经含有spoke1的nhrp表象,spoke正常发出ICMP报文,但不会产生疑问发送nhrp请求报文,此时HUB收到ICMP报文后也会正常转发ICMP报文spoke2中;但此时HUB产生疑问,在发送ICMP报文给spoke2时几乎同时发送重定向报文;spoke2收到ICMP报文后,也不会产生疑问回复ICMP报文,此时,spoke1收到hub发来的重定向报文发现问题后发送nhrp请求报文给hub,此时hub收到了来自spoke1的nhrp请求报文和spoke2回复的ICMP报文,同时正常转发,spoke2收到hub转发来的nhrp请求报文后,spoke2拿到spoke1发来的nhrp报文后将自己的信息发送给spoke1,随后hub又发现了问题,发送重定向报文到spoke2中,同像hub向spoke1的过程一致,最后两个spoke节点建立mgre隧道,最后两个spoke节点就可直接正常通信。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值