BSCI—4:詳解OSPF包類型

一:OSPF包的類型:

 

1、 HELLO包:用來建立和維持鄰居關係;

2、 DATEBASE DESCRIPTION (DBD):用來檢驗路由器之間的數據庫並進行同步的;

3、 Link state request LSR):鏈路狀態請求;

4、 Link state updateLSU):特定鏈路之間的請求記錄;

5、 Link state acknowledgement LSAck):確認包;
 
 

 

二:解釋爲何需要ACK

 

OSPF包也是包含在IP數據分組中的,使用的協議號是89,而不是運用的傳輸層的TCP或者UDP,所以沒有一定的可靠性,但是OSPF又要求使用可靠的傳輸,所以就有了LSAck包的出現。【這些與EIGRP非常的相似。EIGRP也是直接封裝在IP分組中的,使用的協議號是88。沒有使用TCP或者UDP,也就隨之有了ACK包。】
 
 

 

三:OSPF鄰接過程

 

1初始化狀態:其中一個路由器A發送一個HELLO,我是A,有人嗎?這個時候B收到後,就將這個信息保存在一個鄰居列表【而不是鄰接關係數據庫】中。然後迴應,我是路由器B,我能看的到你路由器A。這個時候呢,A接收到B的迴應信息以後呢,也將這個信息保存着在自己的一個鄰居列表中。這個過程是一個瞬時狀態.

 

2Two-way state:而雙方都知道對方的存在的時候,他們就算是進入了另外一種狀態:Two-way state。【這是一個持久的狀態】

 

3Exstart state(交換初始化狀態):這是一個雙方都爭取DR的一個過程。A說他夠格,B說他夠格。其實就是一個DRBDR的選舉過程:先是比較它們的優先級【默認的優先級都是1】,如果優先級相同的話,就開始比較它們的RIDRID大的那個就是DR;如果存在環回接口的話,那環回接口的IP地址就是RID。如果沒有的話,那就是接口中IP地址最大的那個IP就是RID】。這也是一個瞬間的狀態。

 

4Exchange state (交換狀態):雙方向對方發送一個DBD(數據庫狀態描述),裏面包含的是自己本身的鏈路狀態數據庫的摘要信息。並且雙方正確收到以後,給對方返回一個LSAck進行確認!這也是一個瞬間狀態!

 

5Loading state (加載狀態):通過對方發送來的那個DBD,與自己的LSDB進行比較。如果是缺少什麼條目的話,就用LSR(鏈路狀態請求)向對方索要,然後對方發送一個LSU,其中包含我們所需要的條目。正確收到LSU後,再發送一個LSAck進行確認!【這是一個瞬間狀態】

 

6Full state(完全鄰接狀態):經過加載狀態,將所需要的條目都補充完全了後,就到了完全鄰接的狀態了。鄰居關係正式成立,並投入使用!【持久狀態】

 

注:在這些過程中,只有【雙向狀態】與【完全鄰接狀態】是持久狀態,其他的都是瞬間狀態!
 

 

 

四:路由信息的維持

 

當網絡穩定的時候,突然一個鏈路出現了故障,那麼發現這個故障的路由器就會生成一個LSA,這個LSA不是發送給他的所有的鄰居,而是發送給DR,然後用DR來管理“LSA的洪泛,由DR來發送給其他的鄰居路由器,鄰居路由器接受了以後,更新自己的LSDB,然後複製出一個拷貝,發送給下面的鄰居。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章