OSPF - 影响OSPF邻居建立的因素

总结为这么10种

  1. routerID 冲突
  2. 区域id不一致
  3. 认证
  4. MA网络掩码需一致
  5. 区域类型(特殊区域)
  6. hello、dead时间
  7. MTU(如果开启检查)
  8. 静默接口
  9. 网络类型不匹配
  10. MA网络中路由器接口优先级全为0

如何建立邻居可以查看上一篇文章,可以直接专栏找(🤫挂链接会没流量🤫)

c 复制代码
使用命令查看ospf中出过什么错误
dis ospf error

(1)routerID 冲突

大致会有这几种请路况↓

第一种:两台路由器routerID一样挨着,当然无法建立邻居

第二种:两台路由器routerID一致且在一个区域但不挨着,他可以和相邻的路由器建立邻居,但因为区域中存在相同的routerID路由传递会有问题

第三种:两台路由器routerID一致但不在一个区域,这种在两台1.1.1.1不引入外部路由的情况下是完全正常的,但当引入外部路由要是用到5类LSA ,5类的adv router永远都是asbr的routerID(也就是引入者的routerID),当一个区域asbr的1.1.1.1遇到另一个区域中的1.1.1.1就会产生冲突

(2)区域ID不一致

 也就是把同一个网段宣告到不同区域了,就会引发区域ID不一致,比如一个路由器把12.1.1.0宣告到区域0,另一台把12.1.1.0宣告到区域1

(3)认证

首先认证类型要保持一致(无认证、密文、明文)

认证密码要一致

Key-ID保持一致

ospf的认证也是基于接口,每个接口都可以配置认证或不认证

c 复制代码
[接口下/路由器全局下/ospf区域下] 
ospf authentication-mode [加密模式] [Key-ID] [明文/加密显示] [密码]
举例:
ospf authentication-mode    md5       1        cipher      1234

 在接口下/路由器全局下/ospf区域下都可以配置,在路由器全局下配置代表这个路由器所有接口都开启认证、ospf区域同理

(4)MA网络掩码需一致

 如标题所说,掩码要一致,至于为什么会在后续文章说到LSA时详细说

(5)区域类型(特殊区域)

 比如路由器A把area 1设置为stub区域,路由器B把area 1配置为nssa区域那就不能邻居建立,也是通过前面一篇文章的hello报文中的E,N位来告诉对方我的区域类型,所以stub区域totally stub是可以建立的

 会在错误日志中显示在Extern Option mismatch

(6)hello、dead时间

c 复制代码
[接口下]  ospf timer hello [时间秒]  //修改hello时间,默认10秒
dis ospf int [接口号]   //查看ospf参数

当修改了hello时间,dead时间会自动变为hello的4倍

(7)MTU(如果开启检查)

 检查功能需要单独开启

 MTU 是在DD报文中发送的,两端都要开启检测,没开启的一段DD报文的MTU值是0,有一端没开启检测mtu检测都不会生效

 如果开启了检测并且已经建立了邻居,再修改mtu他不发DD报文不会影响邻居关系

 如果已经建立邻居后再开启检测功能,邻居会重新建立

mtu大的一方会被卡在EXchange状态,mtu小的一方会卡在EXstart状态

c 复制代码
[接口下]   ospf mtu-enable   //开启检查功能
[接口下]   ospf MTU [数值]  //调整接口mtu大小

(8)静默接口

 静默接口不收发任何ospf报文,当然无法建立邻居关系

c 复制代码
[ospf进程下]  silent-interface  [接口号]    //将某个接口设置为静默接口

(9)网络类型不匹配

 他针对不同的网络类型会根据网络特点有不同的处理方式

 可选的有broadcast、P2P、nbma、p2mp,前两个是常用的,修改网络类型相当于修改ospf的处理方式,并不代表当前网络的类型,比如我一个广播型网络只连了两个设备,为了让他快点建立邻居将ospf的处理方式改成了P2P也是可以的,因为点到点网络不选取DR\BDR所以更快。

 当然了也说了,修改网络类型相当于修改ospf的处理方式,两段处理方式都不一样,当然即使能建立邻居也会影响路由的传递

不同网络类型混搭会有多种情况

 broadcast、P2P、nbma、p2mp一共四种(倘若把hello时间修改为一致)

  broadcast--p2p:邻居OK,路由不传递

  P2P--p2mp:邻居OK,路由OK,都是点到点就可以,但记得修改Hello时间

  p2mp--broadcast:邻居ok,不传递路由

  NBMA--其他三种:全部无法组建邻居,他是使用单播进行邻居建立,和所有人都不一样

  ospf network-type 网络类型

(10)MA网络中路由器接口优先级全为0

 接口优先级为0代表不选举DR\BDR,所有人都不选举,但又必须选举DR\BDR,所有人都在等选举完成,一直卡在two-way

相关推荐
折哥的程序人生 · 物流技术专研4 小时前
Java面试85题图解版 · 特别篇:2026后端高频面试题复盘(算法底层逻辑+高并发架构设计全解析,附Java实战代码)
java·网络·数据库·算法·面试
AOwhisky4 小时前
Redis 学习笔记(第三期):持久化与主从复制
运维·数据库·redis·笔记·学习·云计算
专注VB编程开发20年4 小时前
c#Modbus上位机开发-一次读10个地址和100个地址速度一样
网络·网络协议·tcp/ip
Tbisnic5 小时前
AI大模型学习第十一天:技术选型、安全防护与金融实战
python·学习·ai·大模型·提示词工程
xmtxz7 小时前
计算机网络基础课程学习心得:从理论抽象到硬核实战的进阶之路
运维·学习
hz567897 小时前
国产化视频会议系统怎么做?鲲鹏+麒麟+国密的完整国产化路径
音视频·实时音视频·信息与通信
2601_961963387 小时前
技术解剖:哈希值、区块链与CA认证如何守护电子合同安全?
网络·人工智能·安全·区块链·智能合约·政务
2601_961963387 小时前
从“电子化”到“自动化”:2026年智能合约与电子合同融合的技术逻辑与法律适配
网络·人工智能·区块链·智能合约·政务
YM52e8 小时前
男孩子在外自我保护指南——用鸿蒙 ArkTS 构建交互式安全教育应用
学习·安全·华为·harmonyos·鸿蒙·鸿蒙系统
不吃土豆的马铃薯8 小时前
C++ 高性能网络缓冲区 Buffer 源码解析
linux·服务器·开发语言·网络·c++