20-OSPF,邻居建立条件

OSPF的工作流程都是基于邻居的发现;也就是说没有邻居,后面什么都没得玩;
邻居成功的建立需要满足一些条件;
当因为邻居建立失败导致错误时,也就是发现邻居没有时,可查看这些条件是否都满足来排错;
 
 
1.建立邻居需要检验的字段
  • RID不能冲突
  • 发送Hello包和邻居失效时间一致
  • 区域ID一致
  • 认证一致
  • 链路MTU大小一致(华为默认不开启,思科默认开启)
  • 子网掩码一致、网络地址一致 (以太网组网环境)
  • 末梢区域设置一致 (Option字段)
 
 
邻居基于hello包来建立;
hello包报文字段:
0
 
1)RID不能冲突
每个ospf路由器都有自己的Router ID;
Router ID用来唯一标识一台OSPF路由器(不能重复);
在hello包前面会有一个ospf Header包,Router ID保存在ospf包头的 Source OSPF Router字段中;
 
当两个路由器的RouterID一样时,建立邻居失败
例如:将两个路由器的RouterID都设置成1.1.1.1时重启ospf会报RouterID冲突的错误
 
2)发送Hello包和邻居失效时间一致
hello包中有两个字段:
    Hello Interval    ->间隔时间,每多少秒发一次hello包,用来维持邻居关系
    Router Dead Interval    ->邻居失效时间,超过多少秒还没收到hello包,表示邻居已经挂了
 
间隔时间默认10s,失效时间默认是间隔时间的4倍;
例如:
    两个路由器R1和R2运行ospf
    把R2的间隔时间改为9s时,R2的失效时间变成36s
    
    导致的结果是:
        两个路由器的间隔时间和失效时间不一致,导致R1和R2建立邻居失败;
        R1的失效时间还是40s,等40s后由于收不到R2的hello包,导致状态由Full变成Down;
 
3)区域ID一致
也就是说路由器的接口在同一个区域时,才能建立邻居;
 
 
4)认证一致
当开启认证时,认证不一致时无法建立邻居;
认证信息在ospf包头中;
如图:当没有开启认证时两个字段都为0;
 
5)链路MTU大小一致
以太网接口的默认MTU为1500,也就是默认一次最大发送1500个字节;
华为设备的MTU检查默认不开启,思科设备的MTU检查默认开启;
当MTU检查开启时,如果两个路由器接口的MTU不一致则不能建立邻居;
如果MTU检查失败,会卡在Ex-start 和EXchange之间;
 
MTU检查开启时,MTU的值保存在DD包中:
 
 
6)子网掩码一致、网络地址一致
如果是以太网:要求网络地址和子网掩码都一致;
非以太网:网络地址一致(例如点对点不要求子网掩码一致)
 
子网掩码保存在hello包的字段中;
如图:
    路由器R2的掩码是24
    路由器R2的网络地址是12.0.0.2,路由器R1的网络地址是12.0.0.1;网络地址都是12.0.0.0,也就是网络地址一致;
    
将R2的掩码从24改成25后,导致路由器R2和其它路由器的掩码不一致,导致邻居状态变成Down
        
 
7)末梢区域设置一致
末梢区域在hello包的options字段中;
有8位二进制,每一位表示特定的含义;
必须options的值相同才能建立邻居;
 
 
 
 
 
 
 
 
 
 
posted @ 2021-01-13 14:46  L丶银甲闪闪  阅读(629)  评论(0编辑  收藏  举报