# 什么是状态机呢 ?
状态机 : 就是 OSPF 路由间的邻居关系所在的不同阶段
不同的关系 就是 不同的状态机
# 我们用 思科 的PPT 来介绍 OSPF 的状态机
# 里面所有黄颜色方框里 标定的就是 状态机
有 : Down State, Init State Two-Way State
# 有两台路由器 A,B 。
最一开始,就谁还不认识谁,互相不认识( 此时的状态就是 Down State )
A 先发了消息( 可以看到,是以组播的形式--- 224.0.0.5 ) 发了一个 Hello 包
包里的内容是 我是 172.16.5.1 ( RID )并且 我谁都不认识 !!
目的就是,当别人收到自己的 Hello 包,能和自己联系下,交个朋友 !!
A,一发完 Hello 包后,它的状态就不一样了,就发生变化了 :
从 Down State变为了 Init State
接着, B 给 A 回了个 Hello 包,包里是 : 我是 172.16.5.2 并且我见过 172.16.5.1
这几说明,B 之前认识我( A ),
那 A 收到了 B 的 Hello 包,A 就知道了 B 是谁了 ( 是 172.16.5.2 )
那意味着什么呢 ??
===>>>
意味着 A 认识了 B , B 也认识了 A ( 即 相互认识了 )
这时,互相认识了,状态就又变化了,从陌生人变为了 相互认识
互相认识的状态就为 Two-Way State ( 双向通讯 )
双向通讯就 标志着 邻居关系的建立
注 : 我们当时在学习 RIP 协议时,也提过 邻居关系,是说 只要是相邻的两个路
由器,并且能够正常通讯就能被称为 邻居关系 !
而在 OSPF 里,所谓的邻居关系是不太一样的不是仅仅相邻正常通讯就可
以的,是需要建立的,两个都需要相互收到对方的 Hello 包达到 Two-Way
状态才可以被称为 邻居关系的建立!!
所以,这也是前面在介绍 数据包类型的时候 说 HELLO 包的作用 : 发现和
建立邻居关系!!!
整个建立 邻居关系的过程就是 使用 HELLO 包,建立方法也很简单就是 发
送自己的 RID , 对方收到后,也会发送给你它自己的RID ,只要你发现
对方发的 HELLO 包里有自己的 RID 这不就说明它收到过你的RID ,这不就
相互认识达到 Two-Way State 状态!!
# 那现在邻居关系已经建立了,那关系(状态机)想要更进一步的发展,肯定也是不容易的
是需要经过筛选的,是需要经过 条件匹配的!!
那条件匹配肯定也就意味着 要么成功要么失败,
若成功就进入下一个状态!
要失败,就维持邻居关系( 依靠 HELLO 包 进行 10 S 一次的周期保活!! )
具体的 条