OSPF MA和P2P网络类型的探究
问题1:为什么OSPF在MA网络建立邻居的时候会检查hello报文中的地址掩码,从而判断彼此是否处于相同网段?而在P2P网络建立邻居的时候不检查掩码,只要两端配置了IP地址并宣告进OSPF进程就能成功建立邻接关系?
实验拓扑:
先看第一个实验
一、不修改OSPF网络类型 AR1配置:
AR2配置:
此时邻居建立不起来!通过抓包查看,发现两端都在发OSPF hello报文。
二、修改OSPF网络类型 AR1:
AR2:
此时OSPF邻居马上建立起来了,路由学习也正常!
但是ping不通AR2的loopback0(10.1.2.2),为什么?
再看第二个实验
一、
AR3配置:
AR4配置:
OSPF邻居正常建立,路由学习也正常
Ping AR4的loopback0(10.1.4.4)能ping通!
思考:
1. AR1和AR2通过以太网连接的,默认的OSPF网络类型是BROADCAST,通过修改OSPF
网络类型为P2P,即使两端接口的IP地址处于不同网段也能正常建立邻居关系,而且路由学习也正常,但是AR1和AR2通信不正常!为什么?如何让AR1和AR2通信正常? 在AR1和AR2手工相互添加对端IP地址的ARP表: AR1:
AR2:
此时AR1和AR2的通信正常:
原理:当AR1 ping 10.1.2.2的时候查找路由表,发现下一跳地址是10.1.1.2,此时就回广播ARP请求10.1.1.2对应的MAC地址,去封装二层帧头;但是ARP请求会失败,因为AR2收到此ARP请求后会判断是否处于同一网段,发现处于不同网段,所以拒绝此ARP请求。
2.AR3和AR4通过串行线连接的,默认的OSPF网络类型是P2P,两端接口的IP地址处于不同网段也能正常建立邻居关系,路由学习也正常,AR3和AR4通信正常!为什么?