OSPF也称为接口状态路由协议,通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表,OSPF会在网络上发送HELLO包,如果HELLO包里面有3个内容匹配的话,就会建立邻居关系,首先是HELLO包的死亡和更新时间,区域ID号,还有一个认证字段。
在点到点网络中,相邻的路由器通过发送HELLO包建立邻居,邻居建立后,才能发送LSA,LSR LSU DBD等更新数据包,在多路访问网络中 会通过HELLO包建立DR和BDR,路由器只与DR和BDR建立邻居关系,发送更新LSA,与其他路由器使维持发现的two-away状态。
一、在华为路由器组建的网络中配置建立OSPF,两台路由器华为A和华为B同处于一个区域内,华为A的IP地址为13.15.32.25/16,router-id为1.1.1.1,华为B的IP地址为13.15.32.35/24,router-id为2.2.2.2,与华为A处于同一网段,两者端口的OSPF进程都为1,配置完成之后发现OSPF邻居一直不能到达FULL状态。
二、下面们来进行故障的具体分析
1、分别对华为A和华为B的端口进行基本的配置,华为A和华为B采用相同的配置,只是router-id改为2.2.2.2。
2、在华为A上执行display ospf peer命令,检查华为A与华为B之间的邻居关系,发现OSPF邻居不能达到FULL状态。
3、在华为A上执行display current-configuration interface GigabitEthernet 1/0/1命令发现华为A接口的IP地址为13.15.32.25,掩码24位。
4、在华为A上执行display current-configuration configuration ospf命令发现OSPF发布的地址掩码为25位,在RFC描述中要求必须满足下面两个条件,接口上才能正常运行OSPF协议,一是接口的IP地址掩码长度≥network命令中的掩码长度,二是接口的主IP地址必须在network命令指定的网段范围内。
5、所以发现华为A的接口的IP地址掩码长度为24,而OSPF进程中发布的接口地址掩码长度为25,大于华为A的接口IP地址的掩码长度,因此配置完成之后发现OSPF邻居一直不能到达FULL状态。
三、这时我们只要分别进入两台路由器,在其OSPF的区域里配置区域所包含的网段,保存对配置的修改就可以了,完成操作后,OSPF达到FULL状态,故障排除。
经过上面的介绍,我们可以了解进行OSPF基础配置的时候,要注意RFC所要求的满足使用OSPF协议的要点。