OSPF状态机的理解(工作过程)
1.down ---- 一旦本地发出hello包进入下一个状态机
2.init--------初始化 收到的hello包中若存在本地的RID 进行下一状态
3.twoway----双向通讯 邻居关系建立标志
----------------------------------------------------条件--------------------------------------------------
条件:点到点直接进入下一个状态 MA网络中非DR/BDR间 为邻居关系 不能进入下一状态
直线为以太网网线 闪电是串线
三个交换机在一台交换机连着 而且是直线 所以是以太网网线
两个接口之间也会选DR/BDR 一个老大一个老二 状态 FULL 老大老二邻接关系
4.extart--------预启动 使用不含目录信息的DBD包进行主从关系选举 RID数值大为主
优先进入下一个状态机
5.exchange------准交换 使用携带目录的DBD来共享目录 需要ACK确认
6.loading--------加载 查看完其他邻接发送过来的DBD后 基于本地位置的LSA信息,使用LSR进行请求
对端使用LSU来进行回复 需要ACK确认------获取未知的LSA信息
7.full 转发 邻接关系建立的标志
前三个状态机 为邻居准备
后四个状态机 为邻接准备
最开始的状态 Down State 你不认识我 我不认识你
OSPF 协议启动了 发了个Hello包 我是172.16.5.1我谁都不认识
B收到hello了 一旦B回了hello 现在进入一个新的阶段 Init State 初始化阶段
B回复的Hello包 我叫172.16.5.2 并且我认识172.16.5.1的人
A收到了以后 现在的关系就变成了 Two-Way State
正式定性为A B是邻居
向下一个状态进发
A开始发DBD了 DBD发出来进入新的状态 Exstart State 预启动状态
A发的DBD: 因为我叫5.1 所以我要进入Exchange状态
B回复:滚 我要去Exchange 因为我的RID 5.2比你大
问题 要比RID hello包就已经比出来了 那为什么还要拿DBD比 DBD不是传拓扑目录的吗?
这里的DBD没有目录 下面的Exchange状态 双方才开始带目录
主要是因为两边同时发目录两边会很卡 在Exstart选择一个主从关系
主先下去 从再跟着发
避免同时发DBD造成网络堵塞
为什么用DBD选?
邻居之间 不许交换拓扑 不许交换信息 只能由hello包
而邻接可以
Exchange 互发目录
DBD有很多信息 你能收到多少个 对方不一定可以确定
所以还是得确认LSAck
目录有了 看了 就该开始问了
LSR登场: A:兄弟 6.0没见过啊
B:这就是6.0的拓扑
A:再发一个 LSack 收到!
进入最后一个状态 FULL 转发