ospf邻居关系建立的条件
1、router-id 不一致
2、area 区域号一致
3、认证类型和认证数据一致
4、特殊区域标记一致
(特殊区域标识符分别为E、N、P。
E:是否支持外部路由即5类LSA N: NSSA位是否支持7类LSA P:是否支持7转5特性,该属性不在邻居关系建立条件内,与7类LSA引入位置有关)
5、hello,dead time 一致
6、网络掩码相同(MA网络中,无DR选举的情况下可以不一致)
7、建立邻接关系必须同为单播或者同为广播方式
OSPF 八个邻居状态机制
down 关闭状态,没有建立邻居关系
- 发送了hello报文,在一个dead时间之内没有收到对方发来的hello报文
- 在更高级状态出现了故障返回down状态
- 在down状态下使用poll interval 120 s 发送hello(轮训时间),若收到了hello报文,则使用正常的hello间隔发送hello包
attempt 尝试状态
- 在NBMA网络中,具有成为DR资格的路由器(优先级不为0),主动发送hello报文,可以接收hello报文。尝试状态下hello时间30 s代替pollinterval 120s
- NBMA网络中,手动指ospf邻居出错,则一直卡在attempt状态
init 初始化状态
- 接收到了hello报文,其中没有自己的router-id
two-way community双向通信状态
- 收到了包含自己router-id 的hello报文,建立邻居关系(发送的hello报文中会包含该接口已经验证通过的所有对端router-id)
exstart预启动状态
- 若为MA网络则进行主从选举,点到点网络不用
- 开始交互DBD(用于主从选举),协商mtu
- 主从选举DBD报文中不包含LSA目录信息
- 主从选举规则:先看优先级,再看router-id,选取最大的为DR,次大为BDR,其余为DRother
exchange
- 主从选举完成,发送LSA目录信息同时进行隐形确认 ,并且发送LSR信息等待对方回复LSU信息
loading
- 发送LSR、LSU信息,进行LSDB的同步(同一区域内)
- LSU确认LSR(隐式确认)
- LSAck确认LSU(显式确认)
full
- 邻接关系建立
- 产生的请求列表和重传列表都清空,意味着LSDB同步完成
DR/BDR的选举
MA网络中必须进行主从关系选举,在two-way状态下开始
- DR/BDR 的选举时非抢占的
- 选举时间默认在40 s之内完成(wait时间)
- 优先级priority,默认0-255,若为0意味着不参与选举
- DR/BDR是一个接口概念(hello报文中的DR、BDR字段包含的是DR的接口IP地址)
- 在MA网络中,所有路由器发送数据包(hello除外)到224.2.2.6,DR/BDR都接收,只有DR将LSA信息发送到224.0.0.5
其他知识点
LSA目录(如何标记一条LSA)
- Link-ID
- Adv router
- LSA Type
LSA新旧的比较
- 序列号(有符号的)
- 校验和(无符号的)
- LSAge(若时间差小于15min,900s,认为都是最新的都学;大于900s,时间小的更新;3600s老化时间,3600s的路由是最新的)
链路状态刷新
ospf采用周期更新+触发更新
其中以触发更新为主,周期更新指的是30min周期刷新
意义:清空序列号,避免新旧比较中序列号用完无法比较(棒棒糖序列空间)
LSA刷新
LSA周期链路刷新是基于LSA刷新的,并非基于路由
为了减少LSA泛洪占用大量链路和路由资源,由于基于单个LSA会造成不断的LSA刷新,所以设置了组部调计时器(默认4min)
组部调计时器
当一条LSA到达1800s+4min时进行更新,更新的是本路由器所有已经到达1800s的LSA
DBD的作用
1、 发送LSA目录信息进行交互
2、进行主从选举
主从选举的意义
选取一个master进行交互的控制,保证双方最多一个报文没有确认,LSDB同步过程中要接收到确认才能进行下一步
协商的MTU
此处的mtu是一个三层概念
**
邻居关系卡在各种状态下的故障排除
**
- 卡在attempt状态:NBMA网络中指了错误的邻居地址
- 卡在exstart状态:mtu不一致。
解决方案:在mtu小的一端配置ip ospf mtu-ignore解决方案:在mtu小的一端配置ip ospf mtu-ignore - 卡在loading状态:LSDB不能同步。有可能是因为两端路由器性能相差过大 解决方案:设置一个路由器收到的非自身LSA的数量(max-lsa)
- 卡在two-way状态:再MA网络不能生成DR,可能所有的优先级都为0了
- 卡在init状态:hello包协商失败,检查邻居建立的条件
OSPF存在的计时器
hello、dead、wait
默认为 10 40 40 或者 30 120 120 s
- 修改hello时间,dead时间跟着改变
- 修改dead,hello不变
- wait永远跟着dead time一起改变
- hello或者dead time都直接影响邻居关系的建立
重传时间
默认5s
修改:进接口=> ip ospf retransmit-interval
transmit delay
传输延时,默认1s,代表LSA通过接口传出去时增加的延时
意义:为了保证不同路由器上LSA age一致
修改:进接口=>ip ospf transmit-delay 单位是s
show ip ospf interface ____