我愛學習網-上傳
當前位置: 主頁 > 文庫 > 認證考試 >

CCNA--鏈路狀態路由協議

時間:2018-11-28 19:38來源:未知 作者:布丁點兒 點擊:

一、概述

  如果把距離矢量路由選擇協議比作是由路標提供的信息,那么鏈路狀態路由選擇協議就是一張交通線路圖;因為它有一張完整的網絡圖,所以它是不容易被欺騙而作出錯誤的路由決策的;鏈路狀態不同于距離矢量依照傳聞進行路由選擇的工作方式,每臺路由器都會產生一些關于自己、本地直連鏈路以及這些鏈路的狀態(以此而得名)和所有直接相連鄰居的信息。這些信息從一臺路由器傳送到另一臺路由器,每臺路由器都做一份信息拷貝,但是決不改動這些信息,最終每臺路由器都有一個相同的有關網絡的信息,并且每臺路由器可以獨立地計算各自的最優路徑;

  鏈路狀態協議,有時也叫最短路徑優先協議或分布式數據庫協議,是圍繞著圖論中的一個著名算法-E.W.Dijkstra的最短路徑算法設計的;鏈路狀態協議有以下幾種:

  IP開放式最短路徑優先OSPF;

  CLNS或IP ISO的中間系統到中間系統IS-IS;

  DEC的DNA階段5;

  Novell的NetWare鏈路服務協議NLSP.

  鏈路狀態路由選擇協議的基本步驟如下:

  1、每臺路由器與它的鄰居之間建立聯系,這種聯系稱為鄰接關系;

  2、每臺路由器向每個鄰居發送鏈路狀態通告LSA。對每臺路由器鏈路都會生成一個LSA,LSA用于標識這條鏈路、鏈路狀態、路由器接口到鏈路的代價度量值以及鏈路所連接的所有鄰居。每個鄰居在收到通告后將依次向它的鄰居轉發(泛洪)這些通告;

  3、每臺路由器要在數據庫中保存一份它所收到的LSA的備份,如果所有路由器工作正常,那么它們的鏈路狀態數據庫應該相同;

  4、完整的拓撲數據庫,也叫做鏈路狀態數據庫,Dijkstra算法使用它對網絡圖進行計算得出到每臺路由器的最短路徑;接著鏈路狀態協議對鏈路狀態數據庫進行查詢找到每臺路由器所連接的子網,并把這些信息輸入到路由表中.

  二、鄰居

  鄰居發現是建立鏈路狀態環境并運轉的第一步,它將使用Hello協議(Hello Protocol)。Hello協議定義了一個Hello數據包的格式和交換數據包并處理數據包信息的過程;Hello數據包至少應包含一個路由器ID CRID和發送數據包的網絡地址。路由器ID可以將發送該數據包的路由器與其他路由器惟一地區分開,例如,路由器ID可以是路由器一個接口的IP地址。數據包的其他字段可以攜帶子網掩碼、Hello間隔、線路類型描述符和幫助建立鄰居關系的標記,其中Hello間隔是路由器在宣布鄰居死亡之前等待的最大周期;

  當兩臺路由器已經互相發現并將對方視為鄰居時,它們要進行數據庫同步過程,即交換和確認數據庫信息,直到數據庫相同為至;為了執行數據庫同步,鄰居之間必須建立鄰接關系,即這們必須就某些特定的協議參數,如計時器和對可選擇能力的支持,達成一致意見。通過使用 Hello數據包建立鄰接關系,鏈路狀態協議就可以在受控的方式下交換信息,與距離矢量相比,這種方式僅在配置了路由選擇協議的接口上廣播更新信息(組播)!

  除建立鄰接關系外,Hello數據包還可作為監視鄰接關系的握手信號。如果在特定的時間內沒有從鄰接路由器收到Hello數據包,那么就認為鄰居路由器不可達,隨即鄰接關系被解除。典型的Hello數據包交換間隔為10s,典型的死亡周期是交換間隔的4倍.

  三、鏈路狀態泛洪擴散(Flooding)

  在建立了鄰接關系之后,路由器開始發送LSA給每個鄰居,同時,每個鄰居保存接收到的LSA并依次向它的每個鄰居轉發,除了發送該LSA的鄰居之外,在這里優于距離矢量的一個特點是:LSA幾乎是立即被轉發的!因此,當網絡拓撲發生變化時,鏈路狀態協議的收斂速度要遠遠快于距離矢量協議;

  泛洪擴散過程是鏈路狀態協議中最復雜的一部分,有幾種方式可以使泛洪擴散更高效和更可靠,如使用單播和多播地址、校驗和以及主動確認,其中有兩個過程是極其重要的:排序和老化;

  1、序列號

  假設這樣一種情況:路由器C先從B收到了A發出的一個LSA并保存到自己的拓撲數據庫中,接著又通過路由器F收到了同樣的這個由A發出的LSA,路由器C發現數據庫中已經存在了該LSA(知道是從B收到的),那么路由器C從路由器F接收到的這個LSA是否應該向路由器B轉發?答案是不轉發!因為路由器B已經收到了這個LSA,由于路由器C從路由器F接收到的LSA的序列號與早先從路由器B接受的LSA序列號相同,所以路由器C也知道這一情況,于是將該LSA丟棄;

  當路由器A發送LSA時,在每個拷貝中的序列號都是相同的,此序列號和LSA的其他部分一起被保存在路由器的拓撲數據庫中,當路由器收到數據庫中已存在的LSA且序列號相同時,路由器將丟棄這些信息;如果信息相同但序列號更大,那么接收的信息和新序列號被保存到數據庫中,并且泛洪擴散該LSA;

  因為序列號被攜帶在LSA中的一個固定字段內,所以序列號一定有上限,那么當序列號到達上限時會發生什么呢?

  1)線性序列號空間

  一種辦法是使用一個非常大的線性序列號以至于根本不可能到達上限,如使用32位長字段(IS-IS就是這樣);如果一個鏈路狀態路由選擇進程用完了所有序列號,那么它在重新使用最低序列號之前必須停止(重新啟動),并等待它所發出的LSA在所有數據庫中都不再使用。假如最大的時間是1個小時或者更長,那么這種方法是不可行的;

  在路由器啟動期間會出現一種更常見的困難。如果路由器A重啟之后,它無法記得上次使用的序列號,必須重新使用1.但是如果路由器A的鄰居仍然在數據庫中保留了路由器A上次的序列號,那么越小的序列號也就是越舊的序列號,因而會被忽略;

  更好的解決辦法是在泛洪擴散行為中添加新的規則:如果一臺重新啟動的路由器向鄰居發送LSA的序列號比鄰居保存的序列號還要老,那么鄰居會發回自己保存的LSA和序列號,這樣就臺路由器將知道啟動前自己使用的序列號并作出相應的調整;

  然而仍需要小心,最近使用過的序列號不能接近上限,否則,重新啟動的路由器將不得不再次重新啟動。必須設定規則限制路由器“跳躍”地使用序列號。例如,規則指明一次序列號增加不能超過整個序列號空間的二分之一(實際公式要復雜,因為要考慮年齡的限制);

 

  2)循環序列號空間

  這種方法數字是循環使用的,在32位空間內緊跟在4 294 967 295后面的是0;它在重新啟動路由器后也可能會遇到同線性序列號一樣的問題!其結構如下:

  循環序列號建立了一個不合邏輯的奇特位。如果X是1到4 294 967 295之間的一個數,那么0<X<0!在運行正常的網絡中通過聲明兩條規則可以維持這種條件,其中聲明的規則來確定什么時候一個序列號大于或小于另一個序列號。假設序列號空間為n,則兩個序列號a和b,如果滿足以下任意一種條件,則認為a更新(數量更大):

  a<b,且(a-b)<=n/2

  a<b,且(b-a)>n/2

  假設這樣一種情況:在一個網絡中使用6位序列號空間。現在其中的一臺路由器決定離線,當它在離線之間,突然發送了3個相同且序列號為44(101100)的LSA。不幸的是,一個鄰居也發生了故障,丟掉了幾位數據,丟失的數據位是第2個LSA和第3個LSA序列號中的1位,隨即該鄰居路由器向外泛洪了這3個LSA,結果造成3個LSA序列號各不相同:

  應用循環規則可得:44比40更新,40比8更新,8又比40更新!這個結論使3個LSA都持續擴散下去,數據庫也不斷地被最新的LSA更新,直到數據庫緩存被塞滿,CPU超載為止,最終整個網絡崩潰!

  3)棒棒糖序列號空間

  這種方法是線性序列號空間和循環序列號空間的綜合,它有一個線性組件和一個圓形組件;性線空間的缺點是不能循環使用序列號,即序列號是有限的,而圓形空間的缺點是不存在一個數小于其他所有的數;其結構如下:

  當路由器重啟時,它將從小于其他所有數的a開始,鄰居將會識別出這個數,這時如果鄰居數據庫中還保留有上次序列號為b的LSA,那么它們會發送b給路由器A,則路由器A將跳至該序列號。在知道自己重啟前使用的序列號之前,路由器A可能會發送不止一個LSA,因此,在鄰居通知路由器A上次使用的序列號或上次使用的序列號從所有數據庫中消失之前,必須準備充足的啟動數以便路由器A不會用光所有重啟序列號;

 

------分隔線----------------------------
    ?分享到??
精彩推薦
看看啦
主站蜘蛛池模板: 小泽玛丽无码视频一区| 精品一区狼人国产在线| 亚洲无码一区二区三区| 亚洲一区无码中文字幕| 无码人妻一区二区三区兔费 | 国产一区二区精品久久91| 少妇人妻精品一区二区三区| 久久99国产精一区二区三区| 久久婷婷色综合一区二区| 风流老熟女一区二区三区| 日韩视频在线观看一区二区| 一区二区在线观看视频| 国产福利电影一区二区三区久久老子无码午夜伦不 | 久久久一区二区三区| 亚洲AV综合色区无码一区| 久久精品无码一区二区日韩AV| 高清一区二区三区视频| 久久久无码精品人妻一区| 97久久精品无码一区二区天美| 亚洲欧洲日韩国产一区二区三区| 精品人妻少妇一区二区三区在线| 波多野结衣电影区一区二区三区 | 无码丰满熟妇浪潮一区二区AV| 国产精品久久久久久一区二区三区| 一区高清大胆人体| 水蜜桃av无码一区二区| 无码毛片视频一区二区本码| 亚洲国产一区二区a毛片| 久久国产精品视频一区| 亚洲香蕉久久一区二区| 亚洲中文字幕久久久一区| 亚洲一区二区三区深夜天堂 | 日本精品高清一区二区2021| 福利一区在线视频| 国产亚洲无线码一区二区| 国产一区二区福利| 日韩一区二区在线播放| 日韩精品一区二区三区老鸦窝| 国产伦精品一区二区三区免费迷| 国产一区二区三区在线观看影院| 卡通动漫中文字幕第一区|