1. 程式人生 > 實用技巧 >路由協議OSPF學習筆記1

路由協議OSPF學習筆記1

1、OSPF五種報文

Hello
DD
LSR
LSU
LSAck
 注:
  hello-interval 10s(乙太網)   30s(NBMA)  
  dead-interval  40s (乙太網)  120s(NBMA)

2、OSPF的三張表

拓撲表(LSDB):同一區域內有相同的LSDB
鄰居表:也叫鄰居狀態資料庫
路由表:前往目標網路的最佳路徑

3、OSPF的特點

1、區域概念,有效減少路由條目對CPU和記憶體佔用,將拓撲變化侷限在本區域內,相信的LSA泛洪控制。
2、鄰接關係,OSPF協議定義了一些路由器型別和網路型別,鄰接關係的建立是交換Hello資訊的路由器型別和交換Hello資訊的網路型別決定的。
3、每臺收到從鄰居路由器發出的LSA的路由器都會把這些LSA記錄存在它的LSDB中,並且傳送一份LSA拷貝給這臺路由器其他所有鄰居。 4、當這些路由器LSDB完全相同時,各自路由器就以自身為根,使用SPF演算法算一條無環的最短路徑拓撲圖,從而構建自己的路由表。

4、OSPF的Hello機制

1、作用:發現鄰居,keepalive,協商引數,確保2-way,選擇DR。
2、如果在4倍的Hello間隔時間中沒有收到鄰居的hello包,這個鄰居就是會被宣告無效,這個時間就是dead-interval
3、hello包所包含的資訊如下:紅色不匹配可能無法建立鄰接關係
源路由器的router-id
源路由器的area
-id 源路由器介面地址和掩碼 源路由器介面的認證型別和相關資訊 源路由器介面的Hello,dead等時間間隔 路由器的優先順序 DR & BDR 五個標記位(可選) 源路由器所有有效鄰居的router-id 4、如果源路由器的RID在接受該hello資料包的介面鄰居表中列出,那麼dead-interval就會被重置,如果始發路由器的RID沒有在列表中,那麼就把這個RID加入到它的鄰居表中。 5、路由器傳送一個hello資料包時,就會在這個資料包中列出在傳送該資料包的鏈路上所有的鄰居路由器的RID。 6、鄰接關係的建立依賴鄰居路由器之間所連線的網路型別,網路型別影響OSPF資料包的傳送方式。

5、OSPF的網路型別

1、點到點:目的IP  224.0.0.5(即使設定neighbor也組播更新),一對路由器形成鄰接關係。無DR,每個子介面屬於不同的IP子網。
2、點到多點:目的IP  224.0.0.5(即使設定neighbor也組播更新),無DR,同一個IP子網。PTP和PTMP無法形成鄰接(PTMP中hello間隔30s,dead間隔120s)
3、點到多點非廣播:目的IP 單播,無DR,同一IP子網。
4、NBMA:目的IP 單播,選DR(DR和BDR必須與其他所有路由器直接相連),同一IP子網。全互聯或部分互聯。
5、廣播:選舉DR,所有路由器發信息到224.0.0.6(DR監聽這個地址),然後DR傳送更新到224.0.0.5(DRother監聽這個地址),DR和所有路由器建立鄰接關係,所有DRohter路由器之間收斂為2-way狀態(即使設定neighbor也組播更新)。同一IP子網,全互聯或部分互聯。

特點總結: 點家族都不用選舉DR和BDR 多路訪問都需要選舉DR和BDR 非廣播都要手動指定鄰居,非廣播都是單播更新 neighbor命令後指定的cost只有在非廣播下有效 OSPF只用介面的第一個IP地址建立鄰居和形成鄰接

6、DR和BDR

DR和BDR的選舉規則:
1、每個多路訪問介面都有一個優先順序(0-255),優先順序為0的路由器不具有選舉的權利,預設優先順序為1,優先順序越大越優先。
2、hello包裡包含優先順序欄位,還包含了可能成為DR/BDR相關介面的IP地址
3、當介面在多路訪問網路上初次啟動時候,它把DR/BDR設定為0.0.0.0,同時設定等待計時器,等待計時器等於dead-interval(更改hello時間間隔,dead時間也相應改變,更改dead時間間隔,hello間隔不變)

DR和BDR的選舉:
1、鄰居表中的2-way以後,檢查鄰居hello中的priority,DR/BDR欄位,列出所有可以參加DR/BDR選舉的鄰居,所有的鄰居都宣稱自己是DR/BDR(DR。BDR都是自己介面地址)
2、在這個列表中建立一個沒有宣稱自己是DR的子集,因此宣稱為DR的不能被選舉為BDR。
3、在子集中,先比優先順序然後比Routerid,高的成為BDR。
4、在所有宣稱自己的為DR的hello中選舉DR,先比優先順序再比router id,高的DR。
5、如果沒有人宣稱自己為DR那麼再步驟3中選舉的BDR成為DR。(穩定後DR/BDR不能搶佔)


DR和BDR選舉需要注意的事項:
1、多路訪問網路中每個路由器都會與DR和BDR同時形成鄰接關係,其他路由器之間只是2-way關係。DR和BDR之間也形成鄰接關係。
2、DR和BDR是路由器介面的特性,並不是整個路由器的特性。
3、DR和BDR資訊被存放在介面資料結構表中。
4、DR和BDR不能搶佔,也就是在一個多路訪問網路中先初始化啟動的路由器可能成為DR/BDR不能搶佔)
5、鄰居表2-way後,並不是馬上選舉DR/BDR而是等待一個定時器,超時後才進行選舉。在wait時間內等待其他鄰居給我通告DR/BDR資訊。wait時間內就收發hello。

7、OSPF的度量值

參考頻寬要在所有OSPF路由器修改,否則頻寬計算不一致。

COST(1-65535):從傳送端到目的地 出方向 的代價之和。IP ospf cost

思科計算度量方法:10^8/BW (不能為小於1的數,小於都是1)

例如:10^8/1544Kbit=64

修改參考頻寬:如果介面頻寬大於10的8次方,那麼都是1.為了避免這種情況。

auto-cost reference-bandwidth (1-4296967)預設為100(也就是10的8次方)

8、OSPF的介面

鏈路狀態協議的基本要點是它涉及到了路由器之間的鏈路和那些鏈路的狀態,路由器通過介面資訊來了瞭解鏈路資訊。在同一個區域內OSPF所實現的完整的SPF計算,區域間進行的是部分SPF計算,
因為ABR通告的3、4、5類LSA並沒有鏈路狀態資訊,路由器並無法計算完整的鏈路狀態資訊。所以OSPF區域內為鏈路狀態特性,區域間有距離向量特性。

9、OSPF的介面資料結構

process ID :可以在同一個路由器開啟多個路由程序(最大30個程序),
路由程序本地有效。如果一個介面在多個程序中宣告,隨機一個程序與鄰居建立關係。

router ID:因為OSPF要對其他OSPF路由器跟蹤,所以每個OSPF路由器需要一個Router id,router id在同一個區域內唯一的標誌一臺路由器。

router id配置:
1、可以使用router id來指定。
2、如果沒有指定,就選環回口IP最大的一個。
3、如果沒有配置環回口ip就在物理介面中選一個IP地址最大的。
4、如果路由器的物理介面down或刪除也繼續使用這個地址用作Router id。除非重啟程序。

InftransDelay:LSA從路由器的介面傳送後經歷的時間,預設1s。ip ospf transmit-delay
LSA傳播每經過一個介面就加1S傳播延遲,LSA的存活時間就減1S. 計算LSA存活時間用。

RxmtInterval:在沒有收到確認情況下,路由器重傳OSPF資料包將要等待的時間長度。預設為5s,可以更改 ip ospf retransmit-interval

Hello-timer:此值有hello-interval指定,比如為10,那麼這個計時器就從10遞減,為0的時候就發出一個hello包給鄰居。

Neighboring routers:和這個介面相連的有效鄰居(在dead間隔內可以收到hello包)的列表。neighbor count數為2-way的鄰居數,adjacent neighbor為full鄰接關係的數量。