听说

99%的 网工都来这里充电


ospf邻居状态一直是exsta ospf邻居状态为full_测试sftp通不通


1

情景一

ospf邻居状态一直是exsta ospf邻居状态为full_ospf邻居状态一直是exsta_02


配置说明: 1、两端修改OSPF网络类型:p2p 2、R1、R2配直连ip地址,分别为37.1.1.1/24 、38.1.1.1/24 3、直接接口均宣告到OSPF进程中。 现象:

ospf邻居状态一直是exsta ospf邻居状态为full_ubuntu ping不通网关_03

ospf邻居状态一直是exsta ospf邻居状态为full_ubuntu ping不通网关_04

ospf邻居状态一直是exsta ospf邻居状态为full_ubuntu ping不通网关_05

我在R1上去ping  38.1.1.1,在R2接口抓包,看到了R1的ARP广播报文。

ospf邻居状态一直是exsta ospf邻居状态为full_ping不通网关 抓包正常_06


我的理解: 1、R1 ping R2的38.1.1.1,要封装二层的时候,发现没有38.1.1.1对应的MAC地址,先把目的IP和本出接口IP与运算,发现不同网段,就去找路由表,发现有下一跳,刚好也是38.1.1.1。 2、于是R1就去找下一跳38.1.1.1的MAC地址,也没有MAC地址,就发送了ARP请求广播报文。 3、R2收到后,拆开ARP请求广播报文,里面的目的ip是我自己,就是在找我,但是看到源IP地址跟我不是同一个网段的(与运算),决定不进行ARP响应。(这点,是我在华为ensp模拟器上,没抓到响应报文,故这样理解。) 4、R1 连续发了5个ARP请求报文没收到响应,就没学习到38.1.1.1的MAC地址,于是无法完成二层封装,所以,R1 ping 不通 R2。 有网友很聪明,写了静态ARP,于是我试试:

[R1]arp static 38.1.1.1 00e0-fcfc-6898
[R1]
[R2]arp static  37.1.1.1 00e0-fc75-047c
[R2]

现在,我们在R1再来ping 一下:

ospf邻居状态一直是exsta ospf邻居状态为full_ospf邻居状态一直是exsta_07

ospf邻居状态一直是exsta ospf邻居状态为full_ping不通网关 抓包正常_08

哈哈,一下子就通了。


2

情景二

ospf邻居状态一直是exsta ospf邻居状态为full_ping不通网关 抓包正常_09


配置说明: 1、两端默认OSPF网络类型:broacast 2、R1、R2配直连ip地址,分别为37.1.1.1/24 、38.1.1.1/24 3、直接接口均宣告到OSPF进程中。 其实这两OSPF配置,是多余的。

ospf邻居状态一直是exsta ospf邻居状态为full_ubuntu ping不通网关_10


因为以太网直连,都不通,OSPF必然无法建立。 有人会问P2P类型,为啥OSPF可以建立邻居呢? 那是因为OSPF在P2P网络类型不检查掩码,在MA网络会检查掩码,因为有DR和2类LSA,不检查的话,拓扑会有问题,计算路由会有问题。 现在,在R3去ping R4必然是不通的:

ospf邻居状态一直是exsta ospf邻居状态为full_ping不通网关 抓包正常_11

ospf邻居状态一直是exsta ospf邻居状态为full_ubuntu ping不通网关_12


没有抓到ARP请求广播报文! 我的理解是: 1、R3 ping R4的38.1.1.1,要封装二层的时候,发现没有38.1.1.1对应的MAC地址,先把目的IP和本出接口IP与运算,发现不同网段,就去找路由表,发现路由表没有路由,于是直接丢弃!

ospf邻居状态一直是exsta ospf邻居状态为full_测试sftp通不通_13

好吧,那要不,我们写条静态路由:

[R3]ip route-static 0.0.0.0 0.0.0.0 GigabitEthernet 0/0/0
[R3]
[R4]IP route-static 0.0.0.0 0.0.0.0 GigabitEthernet 0/0/0
[R4]

现在在ping 看看:

ospf邻居状态一直是exsta ospf邻居状态为full_测试sftp通不通_14

ospf邻居状态一直是exsta ospf邻居状态为full_测试sftp通不通_15


现在广播报文有了,说明R3发ARP广播是先去找路由表的,没有就丢弃。有的话,就按路由表下一跳。 R4还是没有响应ARP请求报文,我的理解,跟上述一样,不同网段,不响应。 我们来写写静态arp,看看能不能通?

[R3]arp static 38.1.1.1  00e0-fc32-7532
[R3]
[R4]arp static  37.1.1.1 00e0-fc81-5be5
[R4]

ospf邻居状态一直是exsta ospf邻居状态为full_ping不通网关 抓包正常_16

ospf邻居状态一直是exsta ospf邻居状态为full_测试sftp通不通_17


3

情景三

ospf邻居状态一直是exsta ospf邻居状态为full_ubuntu ping不通网关_18

配置说明:

1、两端串行链路。

2、R1、R2配直连ip地址,分别为37.1.1.1/24 、38.1.1.1/24

3、直接接口均宣告到OSPF进程中。

ospf邻居状态一直是exsta ospf邻居状态为full_ubuntu ping不通网关_19

ospf邻居状态一直是exsta ospf邻居状态为full_测试sftp通不通_20

OSPF 邻居FULL,有路由。

现在,在R5 ping R6 38.1.1.1看看:

ospf邻居状态一直是exsta ospf邻居状态为full_测试sftp通不通_21

ospf邻居状态一直是exsta ospf邻居状态为full_测试sftp通不通_22

能ping通,是因为串行链路,不需要MAC地址,所以也不需要ARP。

串行链路,路由器就认为对端就只有一台设备,点对点,不是MA网络。


3

情景三

ospf邻居状态一直是exsta ospf邻居状态为full_ospf邻居状态一直是exsta_23

配置说明:

ospf邻居状态一直是exsta ospf邻居状态为full_ping不通网关 抓包有回包_24

ospf邻居状态一直是exsta ospf邻居状态为full_ping不通网关 抓包正常_25

PC1 去ping PC2 ,能通,ARP也有响应报文:

ospf邻居状态一直是exsta ospf邻居状态为full_ping不通网关 抓包有回包_26

ospf邻居状态一直是exsta ospf邻居状态为full_测试sftp通不通_27

ospf邻居状态一直是exsta ospf邻居状态为full_ubuntu ping不通网关_28



ospf邻居状态一直是exsta ospf邻居状态为full_ubuntu ping不通网关_29


1、PC1 ping PC2的38.1.1.1,要封装二层的时候,发现没有38.1.1.1对应的MAC地址,先把目的IP和本出接口IP与运算,发现不同网段,就去找网关。 2、PC1有设置网关,于是就找网关38.1.1.1,请求网关的MAC地址。 3、PC2收到会,发现38.1.1.1 是在找我,于是我就响应给PC1。 (所以,我感觉这里跟路由器处理机制不一样,PC的ARP响应,不检查源IP是否与我同网段,所以会有响应。)

现在,我把两边PC的网关取消掉,看看能不能ping通?

ospf邻居状态一直是exsta ospf邻居状态为full_测试sftp通不通_30

ospf邻居状态一直是exsta ospf邻居状态为full_ping不通网关 抓包有回包_31

ospf邻居状态一直是exsta ospf邻居状态为full_ubuntu ping不通网关_32

ARP广播报文,啥也没有。

因为PC1 去找网关,没找到,就直接丢弃报文了。

ospf邻居状态一直是exsta ospf邻居状态为full_测试sftp通不通_33

ospf邻居状态一直是exsta ospf邻居状态为full_ping不通网关 抓包有回包_34

总结