HCNP學習筆記之OSPF協議原理及配置4-鄰接關系的建立和LSDB同步
本文轉自:https://blog.51cto.com/4625416/1678913
進入ExStart狀態后,廣播和NBMA型網絡要等待4倍的Hello時間,確定DR和BDR。然后建立鄰接關系,並交互鏈路狀態通告,以使用LSDB達到一致,進而完成路由表的計算和生成。
1 狀態的變化
ExStart:主從關系是在此狀態下形成的(router ID大的為主)。確定主從關系目的是確定DD交換過程中的序列號(LS Sequence Number,后面會有介紹),以保證DD包傳輸的可靠性,初始DD序列號是在此狀態下決定的。鄰居狀態變成此狀態以后,路由器開始向鄰居發送DD報文。在此狀態下發送的DD報文不包含鏈路狀態描述,只是確定主從關系。
Exchange:此狀態下路由器相互發送包含鏈路狀態信息摘要的DD報文,描述本地LSDB的內容。
Loading:相互發送LS Request報文請求LSA,發送LS Update通告LSA。
Full:兩路由器的LSDB已經同步。
即:確定主從關系->交互DD->相互發送LS R和LS U->達到同步,也就是說建立鄰接關系的最終目的是達到LSDB的同步。
下面重點說明兩個狀態的變換過程
從比主多發一個DD包,確認主的最后一個DD包,保證絕對可靠
I位:1是第一個DD包
M位: more bit 1指還有DD包,0表示最后一個DD包
MS位:表示主從 1為主,0為從
1. 鄰居狀態變為Loading之后,RTA開始向RTB發送LS request報文,請求那些在Exchange狀態下通過DD報文發現的,而且在本地LSDB中沒有的鏈路狀態信息。
2. RTB收到LS Request報文之后,向RTA發送LS Update報文,在LS Update報文中,包含了那些被請求的鏈路狀態的詳細信息。
3. RTA向RTB發送LS Ack報文,確保信息傳輸的可靠性。 LS Ack報文用於泛洪對已接收LSA的確認。 鄰居狀態變成Full,表示達到完全鄰接狀態。
通過抓包可知,實際包的傳遞是交叉進行