FAQ-在OSPF进程中对非32位掩码的接口地址用0.0.0.0的反掩码发布,是否能与对端建立邻居并正常交互LSA?

发布时间:  2012-07-27 浏览次数:  128 下载次数:  0
问题描述
Q:在OSPF进程中对非32位掩码的接口地址用0.0.0.0的反掩码发布,是否能与对端建立邻居并正常交互LSA?
告警信息

处理过程
A:在OSPF进程中对非32位掩码的接口地址用0.0.0.0的反掩码发布,可以与对端正常建立邻居,并交互LSA信息。
原因如下:
因为OSPF实际是根据network的配置先查找接口,找到接口后才继续进行后续的协议流程!在OSPF进程中宣告完网段后,OSPF会按照配置的network地址和反掩码求与操作,如果操作结果和接口地址与反掩码求与的操作相等,那么就找到了接口。只要找到接口,OSPF就能继续进行正常的协议流程了。所以配置network时, 掩码全零和按照真实反掩码的方式发布效果是一样的。
举个例子:
接口1/0/0地址192.168.1.1/24
ospf做如下发布:network 192.168.1.1 0.0.0.0
首先ospf会将192.168.1.1 和反掩码0.0.0.0做与操作得到结果192.168.1.1
然后ospf又会将所有接口地址和反掩码0.0.0.0做与操作,发现接口1/0/0的计算结果和前者相等,那么OSPF就找到了接口。另外如果发布的时候用0.0.0.255的反掩码,那么效果是一样的,都唯一的指向1/0/0这一个接口。
根因

建议与总结
多数工程师对于OSPF的理解都存在误区,除了loopback地址以外,基本上不会用0.0.0.0的反掩码来宣告网段信息。其实,当了解以上信息之后,用全零的反掩码来发布接口地址在配置上显得更为清晰和简单,大家可以在以后的配置中尝试使用

END