4.1【OSPF】NP十二班第七天OSPF的SPF算法&外部路由選擇

SPF算法&外部路由選擇

 LSDB經過描述一個有向圖來描述網絡拓撲結構
 
幀中繼NBMA網絡(非廣播多路訪問)
R2到R1的距離:10
 R2到R3的距離:10
計算設備到網段的距離
(R一、R二、R3在同一個網段以內)
 

 
 
 
 
 
 SPF算法的步驟:
一、計算本身到達節點(路由器)的距離(transit、point-to-point、virtual-link)
二、計算到達葉子的距離(路由條目)的 距離(stubnet)
 
 1.首先計算R2到達R1的距離,10
2.計算R2到2的距離,節點的距離加上R1所通告的路由的距離,10+200=210,累加COST值
 
以RT1爲根節點
 
1.以RTA爲根節點
2.查看本身的Router LSA
分析與本身相鄰節點的網絡類型,生成候選列表
P-2-P:鏈接節點的鏈路
StubNet:路由
 
 
3.計算到根最短路徑的相鄰節點
一臺設備以本身爲根,首先去看本身發送的1類LSA,經過1類LSA去看有哪些鏈路信息是跟節點互聯的,將這些鏈路信息所有放到候選列表裏面,在候選列表中找出最短路徑;把最短路徑放到最優列表裏面,同時將這個鏈路信息從這個候選列表裏面刪除掉,最優的放到最短路徑樹裏面
 
4.RTA選擇了RTB,如今RTA會去看RTB所通告的Router LSA,看RTB上面有哪些鏈路信息,看RTB所通告的Router LSA;在點到點裏面,LinkID是鄰居的router ID,能夠經過這個去查鄰居,RTB通告的LSA。
 
 5.經過RTB,進行擴展
經過1類LSA只能知道到達這個網段N6的距離,但並不知道這個網段上是否還有其餘節點,經過DR通告的2類LSA,知道這個網絡上有哪些節點信息
 
 經過這個2類LSA,知道這個網絡上有哪些節點,下表的是網絡上節點的router-id,而後能夠把這些設備的router-id放到候選列表中
 
會保持COST值最小的 一個,3和4中隨便選一個,好比如今把3放到最短路徑樹列表裏面,能夠獲取一個LINK ID,根據這個LINK ID再去查,查到3多通告的一個router LSA,根據這個LSA再去看3所通告的一個鏈路信息
 
 
由於這個Transiet 10.3.1.1已經在最短路徑樹裏面,把4放到候選列表裏面,這樣候選列表爲空,再看4所通告的LSA,發現點到點(P-2-P)和TransNET(廣播網)已經在最短生成樹裏面不須要放。
 6.經過計算把全部的最短路徑樹列表裏面的LINK ID所有看完了,看完之後候選列表爲空,能夠畫出圖。經過第一輪計算,能夠計算出這個網絡上有哪些節點,能夠把本身到節點的距離算出來
 

7.第二步,須要看每個節點所經過的stubNet的鏈路類型,這些都是路由,累加就能夠了,根據stubNet擴展葉子
 
 
經過這兩輪計算,能夠計算出到達節點和到達葉子的距離
 
爲何2類LSA用的是DR接口的IP地址而不是DR設備的Router id?
由於每臺設備都會用Router id去表示一個Router LSA,若是用Router ID做爲LINK ID使用的話,在廣播網裏面可能只會找到DR設備所通告的Router LSA而找不到2類LSA, 爲了區分2類LSA才用的接口IP地址,它的目的是須要將DR所通告的Router LSA和2類LSA所區分開,用不一樣的地址來表示。
 
一邊是廣播網,一邊是點到點,爲何能夠創建鄰居傳遞LSA可是沒有路由?
由於他們兩個的SPF算法不同,算不出來路由
 
爲何2類LSA用的是DR接口IP地址?
這種作法是用於區分DR所通告的1類和2類LSA
 
【實驗配置】:一邊是點到點,一邊是廣播網
 
53:40
把1改爲廣播網 ,2改爲點到點
 
在R2上有1發送的Router LSA
  以R2爲根,計算到達其餘節點的距離,須要看R2本身所發送的Router LSA
R2#show ip ospf database router self-originate       //查看本身所發送的Router LSA
 
 有兩條鏈路:第一條是 點到點的 類型,第二條是Stub Network
選點到點的類型,計算到達節點距離,須要將LINK ID和Metric放到候選列表裏面;
接下來利用LINK ID去查本地的LSDB,這個LINK ID是對端設備的Router ID;
 
show ip ospf database 12.1.1.1
 此時,有一個Stub Net,有一個Transit ;把Transit Network放進去,把12.1.1.2放進去,這個Metric是10,再去查12.1.1.2
 
show ip ospf database network 12.1.1.2
會發現並無LSA,因此會形成節點計算有問題
 
經過一步一步來查,會發現沒法執行SPF算法,兩邊能夠正常 創建鄰居有LSA但沒有路由條目。

若是在IOU2上把e0/0的點到點網絡類型改成NBMA非廣播網是否能夠創建鄰居關係是否能夠計算路由?
 調整Hello時間
 show ip route ospf
 會發現有路由,由於廣播網和非廣播的計算方法同樣的,在廣播網和非廣播網裏面都會選舉DR和BDR,可是一邊點到點,一邊非廣播不行。
***********************************************
5類LSA
AS  External  LSA
每一條外部路由都會生成一條5類LSA去表示
 show  ip ospf database external 1.1.1.0    看詳細信息 
 Metric Type :2  //表明2類的外部路由:OE1 或者OE2
Metric:20             //種子度量,無論重分發什麼路由Metric值都是20
 
Forwadr Address:轉發地址
External Route Tag:外部路由的標籤
4) AS external LSA:
 
R2#show ip ospf database external 1.1.1.0
 
            OSPF Router with ID (23.1.1.2) (Process ID 1)
 
                Type-5 AS External Link States
 
  Routing Bit Set on this LSA in topology Base with MTID 0
  LS age: 241
  Options: (No TOS-capability, DC, Upward)
  LS Type: AS External Link
  Link State ID: 1.1.1.0 (External Network Number )
  Advertising Router: 12.1.1.1
  LS Seq Number: 80000001
  Checksum: 0x424C
  Length: 36
  Network Mask: /24
        Metric Type: 2 (Larger than any link state path) \\有兩種metric type,分別是1和2。
        MTID: 0 
        Metric: 20  \\思科中全部引入的路由的默認metric值爲20,稱爲種子度量,能夠手工修改。
        Forward Address: 0.0.0.0 \\轉發地址,能夠避免次優路徑。
        External Route Tag: 0 \\爲外部路由增長TAG,便於路由控制。
 
 5類LSA中什麼狀況下才會填充FA地址? ( FA地址就是填充外部路由下一跳的地址,若是外部路由沒有下一跳則FA地址爲空)
 一、將到達外部路由下一跳的出接口宣告進OSPF
 二、接口的類型不能是點到點或者點到多點
 三、接口不能是一個PASSIVE接口
 
 注:若是5類LSA中填充了FA地址,那麼外部路由只計算到達FA的距離,不計算到達ASBR的距離。
 
 計算FA地址的前提條件:到達FA地址的路由必須是OSPF域內或者域間路由,其它類型的路由不能參與計算。這麼作的緣由是爲了不選路形成的環路問題。
 
 
默認狀況下重分發進OSPF的外部路由類型爲OE2,OE2不累加轉發鏈路COST,而OE1是累加轉發鏈路COST值。因此OE1比OE2更加精確。
 

 
OSPF中爲何會出現次優路徑?Forwarding Address怎麼填充?
相關文章
相關標籤/搜索