動態路由協議--鏈路狀態

   如果說距離矢量路由協議像是公路上的路標,那麼鏈路狀態路由協議就像是一張地圖----它擁有整個網絡的情況。鏈路狀態路由協議又叫做:shortest path first 或者 distributed database 協議。常見的包括OSPF和IS-I S。  

   ###距離矢量路由協議分享其知道的所有信息,但只對其鄰居分享;鏈路狀態路由協議只分享與其直連的連接,但會將此信息共享給路由區域內的所有路由器。距離矢量路由協議容易產生環路和無限循環包,所以採用水平分割、路由毒化、保持時間來避免此類事件發生;鏈路狀態路由協議更容易避免此類情況。更重要的是,距離矢量路由協議是發佈路由,如果一條重要鏈路有所更改,意味着發佈許多條路由;鏈路狀態路由協議在遇到鏈路更改時,僅僅發佈鏈路更改通知,而不是傳播所有相關路由。一句話,兩者的區別是是否自己獨立計算路由。

   鏈路狀態路由協議有以下特點

  1. 每個路由器與其鄰居建立鄰接關係;
  2. 每個路由器發送link state advertisement (LSA),一個LSA從路由器的每個接口發出,表明鏈路,鏈路的狀態,路由器接口到這個鏈路的metric和所有可能與這條鏈路相連的鄰居。每個接收到LSA的鄰居又將這些LSA轉發給他們自己的鄰居。
  3. 每個路由器將其收到的所有LSA存放在其database中。如果一切正常,所有路由器的數據庫應該是相同的。
  4. 完成了的topological database 或者叫 link state database,描述了從某個路由器出發到各個網絡的一棵樹,然後形成路由表。
  5. 形成鄰居關係,以hello包維持。
  6. 使用Router ID表明路由器在網絡內的唯一身份。

   鏈路狀態泛洪 Link state flooding:

  1. 鄰接關係建立以後,路由器開始發送LSA泛洪。每一個收到的LSA會直接從其他出口發出給鄰居,使得鏈路狀態路由協議收斂非常快。而距離矢量路由協議,對收到的update需要先自己處理,然後在定期發送,所以收斂很慢。在泛洪過程中,最重要的兩個過程是sequencing和aging。
  2.   Sequence Numbers. 路由器在其發出的LSA中包含順序號,當路由器收到包含相同路由的LSA時,它會檢查順序號的大小,如果大於其topological database內路由的順序號,就以大的爲準,如果收到的LSA順序號小於等於database內順序號,則丟棄。這樣防止LSA的無限循環擴散。
  3. sequence number space,分爲linear sequence number space (IS-IS), circular sequence number 和 Lollipop-shaped sequence number space (前兩者的結合)。
  4. Aging。當LSA生成時,路由器設定aging爲零,LSA發佈出去過後,每個路由器都增加age。
  5. MaxAgeDiff。當路由器收到多個擁有相同sequence number不同的aging的同一LSA時,如果aging的差別不超過MaxAgeDiff,則路由器認爲這些差別是正常網絡延遲產生的,將保留原來的LSA;如果aging超過MaxAgeDiff,則路由器選用最新的LSA,並且將這個LSA分發出去。一個典型的MaxAgeDiff是15分鐘(OSPF)。
  6. Maximum age。LSA的age在link state database中是持續增加的,當增加到Maximum age時,此LSA的age設定成Maximum age並分發出去,然後從database內刪除。OSPF的maximum age爲1小時。
  7. Link state refresh time。必須有一種機制使得LSA在到達Maximum age之前重設,否則所有LSA終究會被刪除掉。當Link state refresh time到達時,路由器會分發出新的LSA給所有鄰居,使得鄰居重設Maximum age。OSPF設定爲30分鐘。

Link state database 鏈路狀態數據庫:

  1. Link state database又叫topological database,用於存儲LSA。
  2. sequence number 和 age主要用於管理LSA的分發;路由器ID、與其相連的網段和鄰居則是用於最短路徑計算。
  3. LSA主要包含兩種類型的信息:Router link information 和 Stub network information。 路由鏈路信息描述了一個路由器的鄰居(Router ID,Neighbor ID, cost), 其中cost 是到鄰居的鏈路的cost;末端網絡信息描述了一個路由器連接的末端網絡(不與鄰居相連的網絡)(Router ID,Network ID, cost)。
  4. SPF算法先計算出到各個路由器的最短路徑,然後再將末端網絡添加到這些路由器上。
  5. cost是以路由器出口方向的接口cost爲準。

Area 區域:

    區域是一組路由器組成的內部網絡,使用區域主要基於以下考慮:

  1. 跟距離矢量協議比較,路由器需要更大內存;
  2. 複雜的算法需要更多CPU處理時間;
  3. 傳播LSA需要更多帶寬,特別是在不穩定網絡裏。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章