GRE的问题 --- 因为GRE搭建的是一个点到点的隧道,所以,导致其扩展性较差(当存在多个私网需要相互连接时,需要彼此之间都搭建GRE隧道才行)
MGRE --- 多点通用路由封装技术
NHRP协议 --- 下一跳解析协议 自动学习隧道地址和物理地址的对应关系的一种方法。
原理:需要在私网中选出一个物理接口不会发生变化的作为NHRP的中心(NHS 下一跳服务器)。剩下的分支都需要知道中心的隧道IP和物理接口IP,他们需要将自己的物理接口IP和隧道IP发送给中心
(如果分支的物理接口的IP地址发生变化,则需要立即将对应关系重新发送)。这样,NHS将会收集所有分支的地址映射关系。之后需要通讯时,查看对应关系,封装对应的接口IP地址即可。分支之间需要进行通讯,则先将数据发给中心,由中心进行转发。
----- 这种中心站点到分支站点的架构 HUB-SPOKE架构
因为MAGRE搭建的逻辑拓扑是一个多节点的网络,但是,发送信息时依然是点到点的发送,无法使用广播或者组播行为,所以,这样的网络我们可以称为NBMA网络。(他属于逻辑上搭建出的NBMA网络,真正意义上物理设备搭建出的NBMA网络是帧中继。)
MGRE的配置过程
给中心站点进行配置(边界路由器出接口的公网IP地址不会发生变化的作为NHS,即中心站点)
[r1]int t 0/0/0 创建隧道接口
[r1-Tunnel0/0/0]ip address 192.168.5.1 24 配置隧道IP地
址
[r1-Tunnel0/0/0]tunnel-protocol gre p2mp 选择封装类
型 选择MGRE
[r1-Tunnel0/0/0]source 15.0.0.1 定义源IP地址
[r1-Tunnel0/0/0]nhrp network-id 100 创建NHRP域
给分支站点进行配置[r2]int t 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/1 以接口作为
封装源,以应对IP地址的变化
[r2-Tunnel0/0/0]nhrp network-id 100 --- 加入NHRP域,必须是和中心站点创建相同的域
[r2-Tunnel0/0/0]nhrp entry 192.168.5.1 15.0.0.1 register --- 找中心站点进行注册
隧道地址 物理接口地址
<r1>display nhrp peer all --- 可以查看NHRP信息收集情况
通过RIP获取路由信息
1,中心站点可以收到分支的数据包,但是,分支不能收到中心站点的数据报 --- MGRE环境下不支持广播或者组播行为 在中心站
点开启伪广播 分别给所有节点发送单播以达到广播的效果
[r1-Tunnel0/0/0]nhrp entry multicast dynamic 开启中心
站点伪广播
2,开启伪广播后,分支站点只能收到中心站点的路由信息,却不能收到其他分支站点的路由信息。
--- RIP水平分割导致
[r1-Tunnel0/0/0]undo rip split-horizon 关闭接口水平分割功能