HCIP-Datacom Core Technology V1.0_4 OSPF路由計算

ospf是如何計算生成這些路由呢,

區域內路由計算

LSA概述

?同一個區域內路由器去進行一個數據庫同步,形成一個LSDB,那么數據庫里面所存在的LSA,是如何利用它去進行計算和生成路由的呢,以及這些LSA分別包含了哪些信息,比如說查看R2的LSDB,里面包含了很多條LSA,這些LSA它分別有什么意義呢?

?LSA是鏈路狀態信息,包含路由器以及一些接口地址和開銷等其他參數,來看一下這些LSA分別有什么作用,首先LSA有一個報文頭,里面有一個LSA的類型,表明了LSA有很多種,不然也不可能有LS Type這個字段,接著看一下其他字節內容的介紹。

LS Age,?鏈路狀態老化時間,表明了該LSA在數據庫存活的時間,那么它的最大取值范圍0~3600s,也就是3600秒之后,該LSA就失效了。

Option,可選項包含了很多內容。

LS Type,LS類型表明了LSA屬于什么類型的,

Link State ID,LS ID,因為前面有不同類型的LSA,所以LS ID在不同類型的LSA中,它表明的意義是不一樣的,那么是你的Router ID,還是接口IP地址,還是DR等等。要根據他所存在的LSA類型所確定,

Adverting Router,是該LSA是由誰產生的,叫做通告路由器。

LS Type, LinkState ID,Adverting Router這三個參數表明確定了唯一一條LSA,它類似于三元組信息一樣,來確定一條LSA。

LS Sequence Number,鏈路狀態序列號,LS Checksum(校驗和),Length。

生存時間,序號號,校驗和,是判斷一條LSA的新舊的,那么這個新舊是如何通過這個參數來判斷呢,LSA的Squence Number,它其實也有一個取值范圍,它的最大范圍應該是0X7FFFFFFF,這個序列號越大,表明該LSA越新,比如說新產生一個LSA,它的序號號在原來的基礎上加1,肯定比原來的序號號更新,第二個是比較校驗和,那么校驗和越大表明該LSA更新,第二個才比較LS Age,LSA正常情況下,是每隔1800s更新一次,關于自己本路由的LSA。

?正常情況下,LSA類型的取值來稱呼該LSA,比如說,Router LSA,這的取值類型是1,一般稱它為1類LSA,在后續的章節中,會用取值來取代LSA和名稱。每一類LSA它是什么,它在OSPF的工作機制中起到怎么的作用,它是如何計算生成路由的。

Router-LSA

Router -LSA又叫做1類LSA,?顧名思義,和它的名字一樣,它是每一臺只要運行OSPF協議的路由器都會產生的,它的作用是描述該路由器接口信息,ASBR和ABR在1類LSA的報文里面可以表明它的身份。1類LSA只能在所屬區域內泛洪。

?1類LSA使用Link表明路由器直連接口信息,鏈路類型,鏈路ID以及度量值這幾個參數,其中最關鍵的是去理解1類LSA里面所包含的鏈接類型。這是1類LSA所支持的鏈接類型或者說你可以稱它為鏈路類型,和支持的網絡類型是不同的概念,不要混淆,因為很多人在學習過程中發現,這個鏈接類型第一個是點到點,在網絡類型中也有一個點到點,所以把很多概念弄混淆了,這是1類LSA所定義的或者說它所支持的鏈路類型。它實際上支持了4種鏈路類型,上圖中只列舉了3個,第4個鏈路類型是虛鏈接。虛鏈接是不參與區域內路由計算的的。

點到點鏈接類型,Link ID表明了鄰居的Router ID,Link Data表明了1類LSA該路由器接口的IP地址,要去該Link Type所表明的信息,是屬于拓撲信息還是路由信息?其中點到點是屬于拓撲信息,第二個Link ID,它表明的是鄰居路由器的Router ID,因為不同的鏈路類型,這的Link ID包含Link Data是不同的,在后續SPF算法中會用到它們,所以必須理解和掌握它們所代表的含義。同是Link Data表明的是什么呢?接口的IP地址。

TransNet鏈路類型,它描述MA或著NBMA的連接,也是屬于拓撲信息,但是它的Link?ID是DR的接口IP地址,不再是鄰居的Router ID。Link Data表明的是路由器的接口IP地址。

StubNet鏈路類型,屬于網段信息,就是路由信息,表明是從本地路由器到另一個Stub網段,Stub網段可以理解為是Loopback這樣的一個虛擬邏輯網段,該Link ID表明的是接口的IP地址,Link Data表明的是網段的子網掩碼。在這里比較抽象,不太理解它是干嘛用的。

如上圖,是一個點到點網絡,中間R1和R3之間是串行口去連接的,每臺路由器都會產生1類LSA,那么 R1會向R3通告自己的1類LSA,這個1類LSA都包含哪些內容呢?

?LSA的頭部,由三個元組信息來確定一條LSA,類型,Ls?id,Adv rtr,

LSA中的內容,第一個鏈接是描述拓撲信息,什么是拓撲,Link Type,點到點,表明我連接對端是10.0.3,3,是不是鄰居的Router ID,知道我連接了誰,誰是我的鄰居,這算不算是拓撲。第二個描述了網段信息,可以理解為路由信息,Link ID 10.0.13.0,表明了接口所在的一個網段,它的子網掩碼是255.255.255.0,從這里能夠推斷出什么呢?假設現在去查看R1路由器的1類LSA,沒有網絡拓撲,可以通過1類LSA去判斷網絡是怎么的,怎么去判斷,首先可以通過每一個拓撲信息能夠知道,我連接了一個路由器,是點到點的網絡,同是它的Router ID是10.0.3.3,那么我自己接口IP地址是10.0.13.1,再通過網段信息,能夠判斷我和這臺路由器之間所連的網段是不是10.0.13.0,掩碼是24位,也就是說哪怕沒有拓撲的情況下,通過OSPF的1類LSA,也能推斷出網絡連接以及它中間的網段,其實這也就是SPF算法的一外基本核心思想,通過LSA去計算和生成路由,以及如何知曉全網的拓撲情況。

Router LSA描述MA 網絡

1類LSA在描述占到點網絡里面,是即包含了拓撲信息,又包含了網段信息,那么1類LSA在描述MA網絡中又會產生怎么的問題呢?

LSA的頭部,在描述MA網絡里面,發現1類LSA只有拓撲信息,TransNet是一個廣播型網絡,那么網段信息在哪里,沒有,也就是說1類LSA在描述廣播型網絡里面有一個致命的缺點,沒有網段的子網掩碼,沒有辦法去判斷所連的網段信息,也就是沒有路由信息的概念。怎么知道是拓撲信息呢?

Network-LSA

Network LSA詳解

Network LSA又稱為二類LSA, 它是由DR產生的,DR只有在廣播型網絡以及NBMA網絡中才需要去選舉,也就是說在點到點的網絡類型中,是不是就沒有二類LSA。那么由DR產生是用來描述本網段的鏈路狀態,同是它也只能在所屬的區域內泛洪,也就是它和一類LSA一樣,只能在同一區域內泛洪,不能跨不同的區域,來看一下二類LSA它里面所重要的內容包含了哪些。

Link ID,二類LSA的Link?ID又變了,表明DR接口的IP地址.

Network Mask:MA網絡的子網掩碼,也就是說二類LSA在描述廣播型網絡里面因為有子網掩碼的存在,就可以判斷出它的網段信息,

Attached Router:表明連接該網絡路由器的Router-ID,也就是說表明了哪些網絡設備加入到這個MA網絡中,這是不是算作一種是屬于拓撲信息,而Network Mask是屬于路由信息,也就是說二類LSA在描述廣播型網絡中,既包含了拓撲信息,又包含了路由信息,彌補了一類LSA在描述廣播型網絡中的缺點,?同是要注意到,二類LSA只會存在在廣播型網絡里面,它因它是由DR產生的,點到點網絡是沒有DR的。

?Ls id在二類LSA里面表述的是DR接口ip地址,10.0.235.2,子網掩碼是255.255.255.0,在MA網絡里,知道DR的ip地址,又知道網段的掩碼,就能夠判斷廣播性網絡它所在的網段,做與運算不可以得出10.0.235.0/24。第二個通過Attached Router,可以判斷這個網絡里面誰連接了10.0.2.2,10.0.3.3,10.0.5.5這三臺設備共同組建的一個廣播性網絡是不是和圖中網絡拓撲架構是一樣的。

SPF計算過程

在區域內如何通過1類LSA和2類LSA進行一個路由計算,也就是SPF的計算過程。

?大體分為兩步驟,第一步是每臺路由器會以自己為根,通過1類和2類LSA里面的拓撲信息,計算去往目的的最短路徑。但是SPF算法,僅僅是在同一區域內使用它進行計算,然后中間經過這樣的一個路由器會添加到添加到SPF樹中,用路由器的Router ID或者DR去標識。如何去判斷哪些是屬于拓撲信息,那么就跟之前介紹過的,如果說是1類LSA,根據它的鏈路類型去區分,比如說是P2P或者是TransNet。是不是屬于拓撲信息,同時在2類LSA中有一個Attached Router,也表明了它的拓撲信息。

廣播網絡中DR和其所連接路由器的Cost值為0。以圖中的案例來看,R1和R2之間在同一個網絡里面有一個DR,DR的IP地址是10.0.12.2,t,已知DR是基于接口的,實際上它不是R1接口的IP地址就是R2接口的IP地址。但是我們把DR叫做虛擬偽節點,就是邏輯意義上把它看作是一臺路由器,所以會發現這臺Router和DR的開銷等于1,代表我該接口和DR的開銷等于1,如果再把這個DR和下面的?R2的接口開銷再計算出來等于1,是不是就會有問題。

比如說有兩臺路由器,現在是一個廣播型網絡要選舉DR,假設現在R1的接口為DR,那么兩臺設備之間到達DR的開銷是不是只有這一段等于1。但是現在邏輯意義上把這臺DR看作是一個虛擬路由器,所以R1和R2認為是和這臺路由器去連,所以在它們的眼中的邏輯拓撲是這個樣子的。

假設把DR的開銷和左邊這臺路由器計算出來等于1,那么右邊這臺開銷必須等于0了,如果右邊的開銷也等于1 ,是不是相當于中間這一段開銷計算了兩次,所以這就是為什么DR和其他連接的路由器的開銷為0。

也就是說DR為了避免在計算過程中,它的開銷取值連續重復,所在廣播網絡中DR和其連接的路由器開銷值為0.

?SPF只有單向的最短路徑樹,保證了在同一區域內不可能有環路的形成。這是第一步通過拓撲信息構建拓撲。

第二步是根據1類和2類LSA中的路由信息,以葉子節點的形式掛在樹干上,這樣就形成了一個完美的路由。即有拓撲又有路由。

當計算出全網拓撲之后,把相應的網段信息比如說10.0.13.0/24,10.0.12.0/24,這些路由信息,掛載在相應的節點上面,這樣就可以組成一條完善的路徑,既知道拓撲,又知道路由,能夠去實現路由的轉發。

SPF算法舉例,

假設全網拓撲如上圖構建而成的,現在在R1上,以R1為根節點去計算全網的路徑。

從圖中可以看出,R1去往任意節點是不是有多條路徑可以到達,但SPF它是形成了一個最短路徑避免了環路,R1它是如何計算去往其它目的的這樣的一條路徑。是否會有次優路徑的產生。

現在假設以R1為根節點,查看R1的1類LSA,R1的1類LSA如圖所示,一共有三條鏈路類型,其中SPF算法第一步是構建拓撲,所以StubNet屬于路由信息,路由信息的這條鏈接可以忽略,

首先看拓撲信息,拓撲信息一共有兩個,一個是描述點到點網絡,一個是描述MA網絡,然后對應的相應的開銷,把它放到候選列表中,在候選列表中能夠看到,以根節點10.0.1.1,以R1自己為根。去往目的的這樣的一個開銷,取最短的放到路徑樹中,會發現以10.0.1.1,去往10.0.12.2,它的開銷等于1,是最短路徑,所以把它添加到最短路徑樹上,并把它從候選列表中給它刪除,就可以看到,10.0.12.2代表著和R1相連,同是這里10.0.12.2,它是DR,去往10.0.12.2的它的這樣的一個鏈路類型是TransNet,那么TransNet中的Link ID代表DR接口的IP地址,R2是DR,是不是代表在一個MA網絡中,在一個MA網絡中是不是可以直接查看DR的2類LSA,因為2類LSA即包含了拓撲信息,又包含了路由信息,同時2類LSA通過Attached Router是不是可以非常清晰了然的表明哪些設備加入到這個拓撲中,所以下一步是不是要查看DR的二類LSA。其中Attached Router表明連接了哪些拓撲,同時Ls? id和子網掩碼結合在一起成為了第二個路由信息,但是路由信息一直是忽略的,因為第一步是不是構建拓撲,然后再添加路由信息,以葉子的形式添加在樹干上。

拓撲信息中DR連接著哪些設備,10.0.2.2和10.0.1.1, 那么問題來了,這個10.0.1.1是不是不是R1自己本身,這一條可以忽略,同是連接另一臺設備是10.0.2.2,把它放到候選列表中,和之前的10.0.3.3對比,開銷等于1,是最小的,所以去往10.0.2.2會添加到最短路徑樹上,同是它的開銷等于0,為什么?為了避免去計算去往DR的開銷等于兩次,在廣播型網絡中DR與其連接的設備的開銷等于0,因為實際上DR它是一個虛擬的邏輯路由器,它實際上是R1或者R2某一接口的IP地址,在是從路由器的角度去觀察,認為它是一臺路由器,為什么這段開銷等于0,然后將最短路徑樹上的這條候選條目已經使用了,給它刪除。

刪除之后,再往下是不是去查看R2的1類LSA去看它連接著哪些設備。緊接著去查看R2的1類LSA,首先忽略路由信息,然后3條拓撲信息,

?其中10.0.12.2是不是已經在拓撲中出現過,是DR接口的IP地址,可以忽略,然后再看一下,將100.0.235.2和10.0.4.4添加到候選列表中,然后根據假造總開銷進行一個對比,發現去往10.0.235.2的開銷值最小一共等于2,把它添加到最短路徑樹上,同是發現去往10.0.235.2鏈接類型又是一個MA網絡,TransNet,它是描述MA網絡的,所以這個10.0.235.2代表的又是一個DR的IP地址,那么這個將從候選列表中刪除,下一步是不是要接著去查看關于DR它的2類LSA,重復上面一個步驟,緊接著查看DR的2類LSA,會發現

?它連接了10.0.3.3和10.0.5.5,那么這個時候,就有一個問題產生了,去往10.0.3.3,這前以10.0.1.1為根節點添加到候選列表中是不是有一條它的開銷等于48,現在又算出一臺,R2連接著10.0.3.3,但是它去往R1的開銷加起來,一共等于2,那么根據最短路徑開銷的算法,首先是把10.0.3.3和10.0.5.5添加到樹干中,然后從候選列表中刪除,同是沒有用過的10.0.3.3開銷為40的這條候選列表也刪除了,為什么?因為R1通過這樣的一個SPF計算之后,它會發現實際上一開始就計算出R1連著R3有條線是這么直連的,但是它們之間的開銷是48,但是通過往后計算過程中發現R1能夠通往R3從另一條路徑計算出開銷等于2,那么秉著最優路徑這樣的一條算法去計算的話,會發現直連R3的這條路徑從算法上R1屏蔽了,就不再使用了,而選擇R1去訪問R3從R2再到R3這條路徑,那是不是就是最優路徑,所以會把去往10.0.3.3開銷為48的,這條列表也在候選列表中給它刪除。也就是說為什么把相應的條目添加到候選列表中,一開始不是直接添加到拓撲信息,而是把候選列表中最小的開銷添加到最短路徑樹上,因為在后面計算過程中會發現假設去往同一目的網段有多條路徑,它只保留最小的,而計算出去往同一目的網段,如果說沒有多條路徑,我才會去使用它,從這里可以看出,SPF算法,可以解決一個次優路徑的問題。

接著往下看,是不是去查看R3和R5的一類LSA,為什么,因為在把R3和R5添加到拓撲中,會發現它們的開銷是一樣的,所以要接著去查看R3和R5,去判斷它們是否有其它連接設備,所以緊接著去查看后面R3和R5的1類LSA,

?首先在查看R3的1類LSA中會發現,拓撲信息里面所出現的10.0.1.1和10.0.235.2,已經在拓撲中出現過,說明R3這條節點計算拓撲已經到達了盡頭,它沒有連接其它額外的設備了。

再看一下R5,

?會發現R5也連接著10.0.4.4,把它添加到候選列表中,會發現去往10.0.4.4的這條路由有兩條路徑,一條是以R2為根節點的,一條是以R5為根節點的,也就是說R4(10.0.4.4),實際上是不是和R5也有一跟線連接的,因為是以R1為根節點去計算去往10.0.4.4,它會發現如果從R2走, 它的開銷是49,如果通過R5去訪問10.0.4.4,它的開銷是50,明顯這里有一條次優路徑,通過算法得知,它通過兩條路徑都可以選擇去往R4,明顯會選擇開銷小的,所以會把R4和R2相連添加到拓撲中,最后在R1的眼中,它的整個網絡拓撲架構就是這樣子的,計算出R1通過R2去訪問10.0.4.4之后,是不是要接著去查看關于R4它是否還連接著其它的拓撲信息。

最后一步去查看R4的1類LSA,會發現它里面的拓撲信息已經全部出現在拓撲中,所以通過R4,這條路徑也是最終的終點,沒有其它設備,那么最終在R1眼中,最后網絡拓撲就是這樣的,那么來看一下實際的網絡拓撲是怎么連接的,首先R1是不是以自己為根節點計算,去連接了R2,這 個DR實際上是不是R1或者R2的一個接口IP地址,它是邏輯的虛擬的設備,所以R1實際直接和R2連接的,然后R2計算出去連接R3和R4,中間通過一個DR,實際上它們是處在一個MA網絡中,尋到三臺路由器在一個MA網絡中,中間是不是會通過一個交換機去連接,去連接R3和R5,同時在計過程中發現R1是不是和R3是連著的,只不過這一條開銷會比較大,選擇通過R2去訪問R3會最近,然后會出現什么問題呢,R2和R5是不是連接著一臺設備R4,只不過會發現R1去訪問R4通過R2走會最優,通過R5去往R4是次優路徑,通過算法屏蔽了這條路徑。所以實際上網絡拓撲是不是R1既和R2連又和R3連,R2和R5都和R4連,同時R2,R3,R5通過一個交換機組成一個廣播型網絡,只不過通過算法機制,把次優路徑全部給屏蔽掉,那么這個網絡拓撲晃是就是之前教材中的。

也就是說在一個OSPF網絡中,假設在同一個區域,如果我們去給公司做維護,如果該公司它沒有拓撲信息或者拓撲對我們進行保密,是不是通過SPF算法工程師可以自己推斷出該公司的網絡架構,當然了有個前提是它必須在同一個區域里面都使用了OSPF這個協議。

然后你會發現另一個什么問題呢?都是在R1上面去看不同路由的1類LSA和2類LSA,首先R1查看自己的1類lSA,然后查看10.0.12.2的2類LSA,再去查看10.0.2.2的1類LSA,為什么都可以在R1上面去查看,因為在同一個區域里面,它的數據庫要保持同步,所以去查看R2的1類LSA和2類LSA,去登錄到R2上面去查看和在R1上面去查看,關于R2的1類LSA和2類LSA是不是本質上沒有任何區別,因為兩臺設備的數據庫是同步的。

這樣的一個拓撲計算過程中它是如何進行的,它是不是通過1類LSA和2類LSA循環交替查詢的,一直去計算拓撲完成連接,但是這里有一個問題,第一個,是否一定要先查1類LSA,再查2類LSA,第二個是否一定需要查詢2類LSA呢。

為什么在SPF計算的過程中要先去查詢1類lSA,2類LSA是不是只在廣播型網絡中才會出現,而Router LSA只要路由器運行了OSPF,它是一定會生成的,所以先查詢1類LSA是不是一定會有一個結果,如果該網絡類型不是廣播型網絡,你查詢2類LSA是不是就沒有意義,是空的,這是為什么先查詢1類LSA的原因。因為必然會得出一個結果。第二點,是否真的需要1類LSA和2類LSA這樣的循環交替進行,答案是否定的,為什么,因為在計算過程中發了開銷最小的一個取值,它連接的一個鏈路類型是TransNet,代表描述了是一個MA網絡,所以去查詢它的2類LSA,更加方便的去知道廣播型網絡里面連接的其他哪些設備,如果開銷最小的是一個點到點的網絡類型,那么是不是就不需要去查詢它的2類LSA,只需要一直查詢1類LSA,就可以完成整個拓撲的這樣的一個組成。所以1類和2類LSA循環交替查詢也不是一個必然的過程,而是根據鏈路類型以及候選列表中開銷取值它所對應的這樣的一個鏈路類型來決定下一步所查詢的動作和執行的操作。完成了拓撲計算之后,來看一下SPF算法的第二個步驟。

查詢1類和2類LSA的時候,里面包含了各種路由信息和前綴。當整個拓撲完成之后,就將1類和2類LSA中的路由信息掛載到相應的樹干節點上面,然后組成了整個這樣的一個網絡架構,那么這樣就通過SPF算法,計算出來了每臺路由器以自己為根運往目的的最短路徑樹,同是也知道了全網的拓撲和路由信息,保證了從自己為根訪問目的的節點是一顆沒有環路同是最優的,那么這就是SPF的一個基本工作機制。通過SPF計算之后形成的OSPF這樣的一個路由會添加到本協議的路由表中,關于OSPF的路由表會出現,那么這里在查看IP路由表會發現在OSPF里面通過SPF算法算出來的最短最優的路由條目沒有全部添加到IP核心路由表中,那么問題是什么呢,關于本協議存在的最優路由是否要添加到IP核心路由表中,是需要條件的,因為在路由選擇過程中,是不是不同協議之間還需要根據優先級的大小進行一個選擇,所以出現在協議里在的最優路由未必會添加到全局的路由表中。

首先介紹了LSA的基本概念,同是學習了1類LSA和2類LSA,在不同的場景下有什么作用,哪些是描述拓撲信息,哪些是描述路由信息,最后介紹了區域內如何通過SPF算法,計算去往目的的最短路徑優先樹,其中SPF算法是一個比較復雜的機制,需要去理解。

區域間路由計算

區域間路由計算過程

?OSPF支持劃分區域的這樣的一個特點,OSPF定義了區域0為骨干區域,其它區域為非骨干區域,但是并沒有介紹為什么要劃分區域。OSPF有一個數據庫同步的一個概念,試想一下,如果所有的路由器都在OSPF的同一個區域中,保持數據庫同步,那么數據庫規模是不是非常的大,只要任意節點發生故障,全網數據庫的規模要保持同步的話,需要進行同一時間進行收斂,這樣所消耗的時間是不是十分龐大,同是SPF算法在同一個區域內去計算的,如果區域過大的話,SPF計算時間也會非常耗時耗力,同是呢還有一個比較關鍵的一點是如果要做一些路由匯總,單區域的設計是沒有辦法實現區域匯總的,所以OSPF定義了劃分區域,將區域0定義為骨干區域,其它區域為骨干區域,每個區域只需要維護自己本區域的數據庫,保持同步,相當于將一個龐大的數據庫把它切割成不同小的這樣的一個數據庫規模。不同區域之間互相維護自己獨立的數據庫,減輕了設備的壓力和CPU的負荷。

?劃分區域之后,因為1類LSA和二類LSAS只在同一區域泛洪,所以從某種程序上說,就降低了對于設備的內存消耗以及CPU的壓力。

劃分區域之后關于設備類型定義為兩種類型,第一種,如果說該設備的所有接口都在一個區域肉,以R4為例,就稱它為區域內部路由器。如果某個設備屬于兩個或者兩個以上不同的區域,同是一定有一個區域是屬于區域0,屬于骨干區域的,那么這樣的設備,我們稱它叫區域邊界路由器ABR,雖然劃分區域能夠解決計算壓力這個問題和做路由匯總的問題,但是不同區域之間又是如何進行路由的交互去學習路由。

那么區域間路由信息的傳遞需要使用另一個LSA叫做Network Summary LSA(3類LSA),又稱它叫做三類LSA,它是由ABR產生的,現在以192.18.1.0/24這條路由信息為例,首先在區域1里面去泛洪,通過一類和二類LSA去生成計算路由,然后將它通告給R2,R2想要將這條路由信息通告給骨干區域里面的其它路由器,和區域2里面的其它路由器,但是一類LA和二類LSA只能在本區域1里面泛洪,不能通告給其它區域,R2會生成一個新的LSA,叫做三類LSA,將192.168.1.0的路由信息轉換成三類LSA,通告給其它區域,那么別的區域的路由器就通過三類LSA去學習了如何去往192.168.1.0這個網段。簡單概述一下,就是一類LSA和二類LSA只能在同一區域內泛洪,會將1類LSA和二類LSA轉化成三類LSA在其他區域泛洪,去學習去往該目的的網段。

三類LSA它是由ABR產生的, 是用來向另一相區域通告自己區域的這樣的一個路由,它是由ABR向別的區域進行通告。

Link State ID:在3類它代表的是路由的目的網絡地址,

Advertising Router:通告路由器是生成該LSA的Router ID,也就是ABR的Router ID。

Network Mask:路由的網絡掩碼。

metric:到目的網絡的路由開銷。

當R4通過一類和二類LSA會給R2之后,R2學習了這條路由條目,現在他向其它區域去傳播的時候,要把它轉成三類LSA,第一個Ls id代表訪問目的網段是192.168.1.0,開銷是1,三類LSA里面所描述的開銷是ABR到達192.168.1.0的開銷,所以其它區域要去訪問192.168.1.0開銷是不是從R5到達192.168.1.0開銷的總和。

?R2傳給R1之后,R1再傳給R3,R3再傳給R5,但是他們的開銷取值是什么呢?

ABR所傳遞的三類LSA,LSA里面的開銷是指ABR去往目的網段192.168.1.0的開銷,所以R1去往目的網段的開銷是不是要加上這一段的開銷,R2也就是ABR它所傳遞的三類LSA的開銷,是自己本身去往目的網段的開銷等于1,但是R1去往目的網段開銷是不是還要去計算自己到ABR,也就是去往R2網段的開銷,所以開銷是一個累計和的概念。同理比如說R3還是R5去往192.168.1.0的開銷,首先他們要計算如何去往R2,然后再加上R2運往目的的網段的這段開銷,這是開銷的一個計算概念。

如何去判斷誰是ABR呢,如果給了網絡拓撲,其實可以比較簡單明了的知道哪個路由器ABR,因為只要它的一個接口屬于骨干區域,其它接口屬于別的區域,它就是區域邊界路由器ABR,如果沒有拓撲,怎么判斷。其中的B比特位就代表了誰是ABR,是不是一類LSA中的B(Border),代表了誰是ABR,一類LSA中能夠表明ABR的身份。也可以通過其它的命令的方式去查看誰是ABR,誰是ASBR,比如說可以通過display ospf abr-asbr。

R3作為ABR它向別的區域去泛洪的時候,它自己其實也能夠算出去往目的的網段,去往192.168.1.0的開銷,包含了自己本段的開銷值,然后通告給R5,R5的開銷只需要自己加上自己去往R3的開銷,那么R3去往目的網段的開銷,就可以去計算去往192.168.1.0開銷的總和等于1+3。這里有個問題,R3再向R5通告這條三類LSA的時候,它會有怎么的變化呢,三類LSA里面的通告路由器是不是代表ABR的Router ID,那么這里可能會發生一個非常小小的變化,R2是不是作為ABR,向區域0里面去通告三類LSA,所以該三類LSA的Advertise Router是ABR也就是R2的Router,但是R3再向R5通告的時候,還是這三條LSA,只不過會把他的通告都路由器改成了R3,不再是R2,因為R3它自己本身也是一個ABR,我向別的區域去傳播是由我來通告的,所以通告者路由器這樣一個字節會變成自己的Router ID。

通過計算驗證,查看R1的路由表,會發現它去往192.168.1.0的開銷等于2,然后R3,R5它的取值開銷會發生變化,也就是說這樣一上區間路由計算就是這樣的一個工作機制。

區域間路由防環機制

?假設網絡拓撲如圖所示,首先R2向區域0里面去通告192.168.1.0,這個區域間路由,三類LSA給R1,R1傳給R3,R3傳給R5,R5再傳給R4,R4又將這條路由傳回給始發的區域1中,那么這樣就會導致路由成環,所以區域間也要有一定的防環規則。

在OSPF中,非骨干區域之間進行路由信息交互的過程中定義了一個規則,假設區域1,區域3,區域2和骨干區域0相連,如果非骨干區域之間可以直接互相通信,同是它們又能夠和骨干區域互相通信,這樣是不是就形成了一個三角環路,為了避免這條環路形成,將中間某一條鏈路給它禁止通行,所以定義的規則非骨干區域不能直接通信。他們要經過骨干區域0進行通信,那么這樣就避免了一個環路的形成。邏輯上就形成了一個類似于新型的拓撲避免了環路的形成。

區域間路由成環的本質是因為傳遞三類LSA,按照剛才的拓撲是從始發的這樣一個區域,以過一系列的交互,最后三類LSA的路由信息又發回給始發區域,所以定義從某個區域傳遞過來的三類LSA,不會再重新傳回過過去,避免了三類LSA的環路。

第三類防環機制是比較重要的,也是去需要理解的,是ABR從非骨干區域收到的三類LSA不能夠用于路由計算,假設網絡拓撲如上圖所示,R1,R2,R3,R4組成了骨干區域0,R3,R4,R5,R6組成了區域1,現在R2上的Loopback0上面有個10.0.2.2這條路由信息,那么問題是什么呢?R2上面將這條路由以三類LSA的形式傳遞給R4,R4傳遞給R6,R6傳遞給R5,R5再傳遞給R3,現在R1和R2以及R3和R4之間鏈路中斷,鏈路中斷就會導致骨干區域不連續不完整,骨干區域不完整之后會造成怎么的問題呢?按照這條規則,R1和R3學習到的3類LSA,是從非骨干區域收到的,那么這是不能用于路由計算的,而R1、R2、R3、R4之間它們中間的網段斷開了,從非骨干傳回來的三類LSA又不能夠進行路由計算,導致R1和R3無法計算去往10.0.2.2的這條路由,所以就無法和R2進行一個通信。

所以區域間路由防環機制3雖然可以幫助我們解決環路問題,但是在特殊的應用場景下,會導致無法正常進行通信。那么如何解決如果骨干區域不連續的這樣的一個問題呢。

虛連接的作用及配置

?虛鏈接,在現網中一般是不推薦使用的,為什么又有這樣一個技術,因為在早期的時候,網絡組網并不是那么規范,會導致很多骨干區域并不能直接相連,如果為了要去使用OSPF這個協議進行整個網絡的改造,那么所花費的成本和精力會非常龐大,可以不太想去使用這個協議,有沒有辦法在不改變網絡架構的情況下,依然在原有的網絡基礎之上,能夠去實現不連續的骨干區域之間能夠互相通信。所以就衍生出了虛連接這個技術,這個技術要求在物理并不是直接連續的,通過這個技術能夠實現骨干區域在邏輯上進行一個連續。

如上圖,左邊是區域0,中間中區域1,右邊是區域2,明顯區域2和骨干區域不是直接相連的,也就是說他無法和骨干去直接進行互相通信,那么怎么辦,通過配置一個虛鏈接,邏輯上認為區域2穿越區域1,和骨干區域相連,類似于在區域0和區域2之間打通了一條隧道,把它們連接在一起,實現一個互相通信。在配置上的要求是這兩個ABR上面必須有一個接口,在同一個區域,比如說在區域1,它們互相指向了對端的Router ID。

課后實驗。

假設在區域2后面還有一個區域3,它是否能夠再接一條虛鏈接,去實現區域0之間進行互通。

三類LSA其實是比較簡單的,它是為了幫助去實現一類和二類LSA在區域間的傳遞,所以要把它轉換成三類LSA,去傳播,但是在傳遞的過程中,會有各種各樣的問題,比如開銷,以及路由如何去防環的。同是還要知道OSPF為什么要劃分區域,單區域過大會導致什么問題。至此是否可以反過來總結一下,關于OSPF這個協議它能夠給我們實現一個防環的這樣的機制,是如何幫助我們解決環路的問題,第一個,如歌是在同一個區域內,是否有SPF算法幫助我們去解決環路問題,第二個,區域間是否有它的這樣的一個連接規則,幫助我們去解決環路問題,哪三個連接規則,第一個,非骨干區域之間的信息交互是不是必須要經過骨干區域,第二個,三類LSA從某個始發區域傳過來之后,不會再重新注入回該區域,第三個,從非骨干區域傳遞過來的三類LSA ,不用于路由計算,那么這是區域間的防環機制。那么到此這兩個組合在一起,是不是就形成了完美的OSPF整個協議的一個防環機制。

外部路由計算

?OSPF能夠支持引入外部路由的能力,那么在什么應用場景下,需要引用外部路由呢?比如說在網絡企業設備的邊緣,路由器連接的通過靜態路由或者BGP這樣的網絡,第二種是服務器直連的網絡和內部的網絡沒有開啟OSPF協議,沒有辦法進行直接的路由學習,那么面對上面的場景,就需要將這些網絡引入到OSPF中,幫助去實現內部去訪問外部的網絡。

引入外部網絡之后會怎么呢??ASBR,自治系統邊界路由器,在OSPF中,只要某臺路由器它引入了外部網絡路由,它就可以稱為ASBR,比如圖中的R1,在OSPF協議里面執行import-route然后引用相應的路由協議,那么這臺路由器它就會成為ASBR,ASBR引用的外部信息會以AS-external,也就是5類LSA的形式,出現在數據庫中,5類LSA它會有什么特點,又如何通過5類LSA計算去往外部的路由信息。

在5類LSA的 LS ID里面,?它代表的是外部路由的目的地址,然后子網掩碼以及通告路由器,這里有一個E比特位,它代表開銷所使用的類型,是Type1,還是Type2,這兩個什么區別。最后一個有一個叫做Forwarding Address,也可以叫做FA,它表明了所通告目的地址的報文將衩轉發到這個地址上,正常情況下,這個FA的取值是0.0.0.0,它代表如果別的路由器收到了5類LSA之后去查看FA,如果想要去訪問外部網絡,發現這個FA是0.0.0.0,代表就要轉發給ASBR,實現路由的轉發,但是在一些特殊的應用場景下,這個FA的取值如果不為0的話,可以幫助我們去解決一個次優路徑的問題。

FA的應用場景。

?R1、R2、R3通過交換機互聯,它們是一個廣播型網絡,R1和R2之間運行的是OSPF協議,R2和R3之間運行了另一種協議,比如說是RIP協議,現在R3上面有一個直連網段是192.168.1.0/24,現在R2引入外部路由,充當ASBR,將192.168.1.0的網段引進到OSPF中,傳遞給R1,這個時候,R2充當ASBR它所產生的5類LSA里面的FA,正常情況下,取值是0.0.0.0,代表它本身,也就是說R1要去訪問外部網絡,就去找ASBR,傳給ASBR,由ASBR去訪問R3,好像沒有什么問題,但實際上,R1去訪問R3的192.168.1.0這個網段,因為R1、R2、R3在同一個MA網絡里面,所以R1直接訪問是不是更快,所以R2在傳給R1 5類LSA中,會將FA的地址由0.0.0.0改為R3的接口地址,那么R1學習到該5類?LSA地址之后,發現它的FA是R3接口的IP地址,所以R1去訪問192.168.1.0會直接訪問R3,而不從R2走,這樣就避免了一個次優路徑,這是一個FA地址簡單的應用。

?正常情況下,ASBR所傳遞的5類 LSA,? 它的FA都是0.0.0.0,代表自己本身,那么只要內部路由想要訪問外部路由,都要通過ASBR去幫助實現訪問。

5類LSA會在所有區域里面面泛洪,除了特殊區域。

?R1現在引入了一個直連路由,那么直連路由是和服務器連接的地址,這個5類LSA地址192.168.1.0代表的是目的網段,也就是服務器引用的外部路由這個地址,以及掩碼和開銷,同是在達里也能夠看到這個FA為0.0.0.0,

整個路由計算過程中會遇到怎樣的問題,

?R1會將一條外部路由引進到?OSPF中,外部路由是以葉子的形式掛在R1上面,然后R1會將5類LSA在區域0里面進行泛洪,R3收到之后,要經過R1才能訪問192.168.1.0網段,同是因為R3和R1都屬于骨干區域,所以在同一區域,通過SPF計算就能夠知道如何去往R1及R3去往192.168.1.0的開銷是多少,同理R2也是一樣。但是這個時候有一個問題,5類LSA會在所有區域里泛洪,R5和R1不在同一個區域,R5收到這5類LSA之后,是如何計算這條外部路由信息的呢?

這里就衍生出一個新的LSA類型,就是4類LSA,ASBR-Summary LSA,這個4類LSA又是ASBR產生的,它描述的是到達ASBR的路由。

LS ID代表的是ASBR的Router ID,然后開銷代表的是去往目的的路由開銷,那么這個目的是不是就是ASBR,也就是說R3所通知的4類LSA里面的開銷是自己如何去往ASBR的開銷,R5和R3在同一個區域,通過SPF算法能夠計算出開銷,同時R1所發布的5類LSA是不是描述了本身自己到達外部路由的開銷,這樣R5就能夠通過這樣的計算方式先到達ABR, 然后再到達ASBR。

現在ASBR去往外部的路由,這一段總的路程開銷總和計算出來路由信息,也就是說R3再向別的區域去傳遞5類LSA的時候,同是也會生成一條4類的LSA,表明ASBR是誰,去往ASBR的開銷是多少,指導其他區域的路由器訪問外部網絡,先通過我然后再通過ASBR,一步步到達、計算去往外部的路由信息。這就是4類LSA它的作用,這里注意的一點的是,在引入外部路由的本區域內并沒有4類LSA的泛洪的,

R5路由計算過程

R1引入關于192.168.1.0的外部路由,開成5類LSA,在整個區域里面進行泛洪,同時R3作為ABR向R5去泛洪5類LSA的時候,同時會生成一條4類LSA,告訴R5,ASBR是誰,ABR到達ASBR的開銷是多少,最后去計算路由,但是這里有個問題,看一下R3和R5的OSPF路由表,關于去往192.168.1.0/24的這條路由,會發現它們的開銷都是1,是不是有問題。為什么,如果說R3去往192.198.1.0的開銷這一段等于1,那么R5明顯比R3去往192.168.1.0的開銷大,因為R3和R5之間有一段開銷,同是開銷取值范圍最小是不是等于1,那么R3和R5之間如果說等于1的話,那么它的開銷應該最小應該等于2才對。那么為什么R3和R5去往同一目的網段的開銷都等于1呢?這就涉及到了開銷的計算方式。

OSPF外部路由,開銷的這樣的一個計算方式,分為兩種類型,一種是Type-1,另一種是Type-2.

Type1,如果外部開銷和內部開銷的路由開銷相當,這種情況下就會計算開銷的時候,將OSPF協議的內部開銷加上ASBR到達外部的路由開銷。也就是說,ASBR去往外部網絡的開銷它的數量級和OSPF內部開銷的這樣的一個數量級是處于同一個級別,比如說大概都在10左右。那么則認為在計算整個內部路由器到達外部網絡的時候,整個OSPF內部路由的開銷也要計算上。如果外部路由的開銷數量級遠遠大于內部開銷,就可以把內部開銷忽略不計,只算外部開銷。

默認開銷類型是2,只算外部開銷,不算內部開銷。R1引入外部路由之后,這一段的開銷等于1,那么默認的一個開銷類型是Type-2,只算外部,所以R1將這條外部路由引入之后傳遞給其他設備,其他設備學習去往這條192.168.1.0的開銷全部等于1,這里有個問題,外部路由的開銷和內部路由的開銷它的數量級別是相似的,都是大概1~5之間,R1和R3等于1,R3和R5之間也等于1,如果你忽略內部的話,這樣會有一些問題的產生,于是如果內部和外部開銷的數量級差別不大的情況下,可以把類型改為類型1,案例中這條命令就是在import-router direct引用直連路由的時候,把它的類型改成了1類型,同是設置了外部的開銷為1,那么這樣其他路由學習到外部路由之后,會同是加上自己的內部趾開銷,以R5為例,1+1+1=3,所以它的路由表里面關于192.168.1.0這條路由的開銷為3,類型等于1。

OSPF支持引用外部路由協議,引用外部路由協議之后,它又會衍生出兩種不同類型的LSA,一種是5類,一種是4類。5類所描述的是如何去往外部路由,它會在所有區域進行泛洪,那么4類LSA是為了描述ASBR是誰,ABR去往ASBR的開銷。同是在引入外部路由過程中會提出兩種度量值的概念,一種是Type1,一種是Type2,那么不同的度量值在不同的應用場景下是有所區別的。

本單內容主要學習了不同類型的LSA,以及這些LSA在OSPF路由計算的過程中會起到怎么的作用,那么我們所需要去理解的是什么呢?第一個,它些LSA分哪些類型,第二個它的作用是什么,第三個它的傳播范圍是什么,是在本區域內傳播還是在區域間傳播。

OSPF的鄰接關系和LSA實驗

在R1、R2、R3、R4這幾臺設備上是通過交換機互聯的,通過干預DR和BDR的選舉,通過設備,去控制選舉,使得R3作為DR,R2作為BDR,R3,R4為Drother的角色。本次實驗,了解多路訪問網絡中,如果有多臺路由器接入的時候,它們的鄰居是怎么建立起來的,然后通過怎么樣的方式去影響這幾臺路由器中關于DR、BDR的選舉,且這5種類型的LSA它的內容,以及在什么場景下起作用。

那么我們先來明確一下,本次實驗的配置步驟。

第一步,按照拓撲圖及數據規劃在每臺設備上的對應接口上配置正確的?IP地址。

第二步,根據規劃,配置OSPF的多區域,比如說R4這臺設備,它是某些接口在區域0,某些接口在區域1,在需要配置的時候,創建兩個區域,area0,area1。接著在對應的接口上去發布相應的網段。

第三步,檢查OSPF的配置結果。通過一些常見的display命令,去查看OSPF的狀態,比如說查看鄰居,查看路由表,或者查看?LSDB。

第四步,接著的話想要通過手動修改的方式去干預這4臺路由器也就是落在區域0中這幾臺路由器的選舉。

第五步,需要把R5的Loopback0接口路由引入進來,引入到?OSPF當中,看一看在R1這一側,觀察到學習到的5類的LSA,同時也可以單獨的看一下Type1、Type2、Type3、Type4p?這4類LSA,通過R1上的debug的功能,去查看LSU、LSAck、LSR的報文,方便后續在做故障處理或者運維的時候,能夠清晰的通過這些報文里面獲取到一些有用的信息。

?對于OSPF的R4路由器,它是有4個鄰居,但是只有三個到達了穩定的鄰接的狀態,其中有一臺設備處于2-way的狀態,為什么會處于2-way的狀態,是因為這幾臺設備R1、R2、R3、R4是處于一個廣播型的網絡當中,那么在廣播型網絡當中會產生一次關于OSPF的角色選舉,其中就涉及到DR、BDR和DRother的角色。其它的落選的設備就是會稱為是DRother的角色。所以像R4這臺設備,它是跟其它的DR的設備是沒法建立起穩定的full的一個狀態的鄰接關系的,我們可以觀察到,最后只是停留在了2-Way的一個狀態。沒有到達鄰接的關系。

查看一下R4這臺設備的路由表,

?10.0.4.0的網段,10.0.1.0,10.0.2.0,10.0.3.0.

在R5上這臺設備看一下display ospf lsdb.

?可以觀察到是有兩條1類的LSA,分別描述的是10.0.5.5和 10.0.4.4,剩余的話除了一條2類的,剩下的都是Type3類的LSA,是從R4向R5通告的域間的路由信息,接著看一下R2設備的一些狀態。

?有2類LSA以及1類的還有3類的一些LSA的信息,對于2類的LSA的話,通過他的AdvRouter,通告路由器,可以看到,生成這條2類的LSA的設備是10.0.4.4,也就是對應的設備是R4這臺設備,也就可以判斷出R4就是它個網段當中的DR。

下一步,試著去影響一下DR的選舉。比如想把R1?路由器的接口作為這個網段當中的DR,進入到R1的接口視圖下,去修改對應的ospf的DR優先級。

?R2改成254,

?R3改成0,當某個接口的DR優先級改成0了之后,他就不會再參與選舉了。

?因為ospf中dr的選舉是非搶占的模式,那么為了驗證DR選舉的影響,需要先把接口關閉,再次打開,去重新觸發本網段的DR選舉,

通過display ospf beer顯示鄰居詳細信息。

可以看到DR現在是 10.0.123.1,?BDR是10.0.123.2,符合我們的預期。因為它的優先級一個是255,一個是254,那么R3這臺設備,因為修改了它的優先級為0,所以它是不會參與選舉的,當查看了鄰居狀態信息之后,也可以得出幾個結論,即不是DR也不是BDR的路由器,那就是DrOther角色。它是會跟DR和BDR穩定的形成一個full的狀態,鄰接關系。會跟其它Drother進入到一個2-2way狀態,單純的鄰居的一個關系的狀態。可以通過display ospf peer brief簡單的查看一下鄰居的信息。

接著的話在R5這臺設備上,還有一些外部的路由需要引入,也就是Loopback 0這條網段,怎么進行引入,可以通過import的命令,把它引用進來,在R5的設備上,在OSPF的進程中,通過命令import route direct,

?把這條外部路由給它引入進來,接著查看一下OSPF的路由信息,

?在R1這臺設備上查看OSPF路由信息,是否有外部的路由信息,可以看到已經能這看到10.0.5.0/24這條路由信息,它是一個Type2的外部引入的一條路由信息,那么已經是以外部路由的形式存在了,可以通過display ospf lsdb ase來看到這一條外部的LSA信息。

?這條5類LSA存在兩條,分別的ls id是10.0.5.0,是通過10.0.5.5發布的,還有一條10.0.45.0,,也是10.0.5.5這臺路由器發布出來的,這兩條的話,可以看到,在R1的路由表中,外部路由只存在一條10.0.5.0,這是因為10.0.45.0,除了剛才這條5類LSA描述,它還存在區域間路由來進行描述。

對于10.0.45.0,它是要吧通過區域間的路由來進行描述,域間路由的優先級是高于外部路由的,所以最后在OSPF的路由表當中,10.0.45.0不是以外部路由的形式存放在OSPF的路由表里面。

接著看一下,在R1上面的三類LSA,

<R1>display ospf lsdb summary OSPF Process 1 with Router ID 10.0.1.1Area: 0.0.0.0Link State Database Type      : Sum-NetLs id     : 10.0.1.0Adv rtr   : 10.0.1.1  Ls age    : 409 Len       : 28 Options   :  E  seq#      : 8000000f chksum    : 0x5addNet mask  : 255.255.255.0Tos 0  metric: 0Priority  : LowType      : Sum-NetLs id     : 10.0.45.0Adv rtr   : 10.0.4.4  Ls age    : 411 Len       : 28 Options   :  E  seq#      : 8000000f chksum    : 0x57adNet mask  : 255.255.255.0Tos 0  metric: 1Priority  : LowArea: 0.0.0.2Link State Database Type      : Sum-NetLs id     : 10.0.3.0Adv rtr   : 10.0.1.1  Ls age    : 431 Len       : 28 Options   :  E  seq#      : 8000000d chksum    : 0x52e4Net mask  : 255.255.255.0Tos 0  metric: 1Priority  : LowType      : Sum-NetLs id     : 10.0.2.0Adv rtr   : 10.0.1.1  Ls age    : 436 Len       : 28 Options   :  E  seq#      : 8000000d chksum    : 0x5ddaNet mask  : 255.255.255.0Tos 0  metric: 1Priority  : LowType      : Sum-NetLs id     : 10.0.4.0Adv rtr   : 10.0.1.1  Ls age    : 294 Len       : 28 Options   :  E  seq#      : 8000000d chksum    : 0x47eeNet mask  : 255.255.255.0Tos 0  metric: 1Priority  : LowType      : Sum-NetLs id     : 10.0.45.0Adv rtr   : 10.0.1.1  Ls age    : 294 Len       : 28 Options   :  E  seq#      : 8000000d chksum    : 0x8c7fNet mask  : 255.255.255.0Tos 0  metric: 2Priority  : LowType      : Sum-NetLs id     : 10.0.123.0Adv rtr   : 10.0.1.1  Ls age    : 414 Len       : 28 Options   :  E  seq#      : 8000000f chksum    : 0x219bNet mask  : 255.255.255.0Tos 0  metric: 1Priority  : Low<R1>

同樣有10.0.45.0的描述,掩碼24位,

一類的LSA信息,可以看到,

<R1>display ospf lsdb router 10.0.1.1OSPF Process 1 with Router ID 10.0.1.1Area: 0.0.0.0Link State Database Type      : RouterLs id     : 10.0.1.1Adv rtr   : 10.0.1.1  Ls age    : 476 Len       : 36 Options   :  ABR  E  seq#      : 8000001c chksum    : 0x50dLink count: 1* Link ID: 10.0.123.1   Data   : 10.0.123.1   Link Type: TransNet     Metric : 1Area: 0.0.0.2Link State Database Type      : RouterLs id     : 10.0.1.1Adv rtr   : 10.0.1.1  Ls age    : 583 Len       : 36 Options   :  ABR  E  seq#      : 80000010 chksum    : 0xff20Link count: 1* Link ID: 10.0.1.0     Data   : 255.255.255.0 Link Type: StubNet      Metric : 0 Priority : Low<R1>

在1類的LSA當中,Ls id代表的是生成了這條LSA的路由ID號,那么同樣可以看到R1這邊的話生成了兩條一類LSA,一條在區域0當中泛洪,一條在區域2當中泛洪,那么這個區域0中,R1的話,它又會與另外一個Transit的網段來進行連接,可以看到它的link id是網段上的DR的接口地址,也就是10.0.123.1。在區域2當中的話,R1的Loopback 0地址屬于這個接口,LinkType類型是StubNet,Link ID?也是對應的網段IP地址10.0.1.0/24。

?假設在R2這臺設備上看一下二類LSA,可以看到,對應的二類LSA的信息,因為二類LSA信息的話是由DR產生的,所以它是由10.0.1.1的這臺路由器產生的,描述了R1,R2,R3,R4這4臺路由器分別接入在同一個廣播型的網段里面。

在R1上看一下三類LSA,可以看到,有兩條三類LSA,一條由10.0.4.4發布,一條由10.0.1.1發布的,那么三類LSA的話呢,他的ls-id,它的字段值表示的是表示的是網絡前綴10.0.45.0,掩碼表示的是網段。在R1上面,一條是在區域0發布,一條是在區域2里面發布,那么從Adv Router可以看出,一條是由R4產生的,一條是由R1產生的,因為這兩臺設備剛好在拓撲圖里面是處于ABR的一個位置,分別處于兩個不同的區域的。

在R1上查看一下4類LSA,可以觀察到,有兩條,同樣是由ABR所產生的,因為4類LSA是要來描述怎么去到達ASBR,那么從輸出信息上可能看到的話,一條是R4,一條是R1自己本身產生的,那么以上就是觀察到的一些常見的LSA的一個信息。

通過一些debug命令,查看一下報文的交互狀態。

在R1上開啟調試,在R4上取消發布網段10.0.4.4.

<R1>terminal debugging
Info: Current terminal debugging is on.
<R1>terminal monitor
Info: Current terminal monitor is on.
<R1>debugging ospf packet ack
<R1>debugging ospf packet update
<R1>
Jun 22 2025 10:23:20.97.1-08:00 R1 RM/6/RMDEBUG:FileID: 0xd0178024 Line: 2236 Level: 0x20OSPF 1: RECV Packet. Interface: GigabitEthernet0/0/1
<R1>
Jun 22 2025 10:23:20.97.2-08:00 R1 RM/6/RMDEBUG:  Source Address: 10.0.123.4
<R1>
Jun 22 2025 10:23:20.97.3-08:00 R1 RM/6/RMDEBUG:  Destination Address: 224.0.0.6<R1>
Jun 22 2025 10:23:20.97.4-08:00 R1 RM/6/RMDEBUG:  Ver# 2, Type: 4 (Link-State Up
date)
<R1>
Jun 22 2025 10:23:20.97.5-08:00 R1 RM/6/RMDEBUG:  Length: 64, Router: 10.0.4.4
<R1>
Jun 22 2025 10:23:20.97.6-08:00 R1 RM/6/RMDEBUG:  Area: 0.0.0.0, Chksum: 782d
<R1>
Jun 22 2025 10:23:20.97.7-08:00 R1 RM/6/RMDEBUG:  AuType: 00
<R1>
Jun 22 2025 10:23:20.97.8-08:00 R1 RM/6/RMDEBUG:  Key(ascii): * * * * * * * *
<R1>
Jun 22 2025 10:23:20.97.9-08:00 R1 RM/6/RMDEBUG:  # LSAS: 1
<R1>
Jun 22 2025 10:23:20.97.10-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:23:20.97.11-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.4.4
<R1>
Jun 22 2025 10:23:20.97.12-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:23:20.97.13-08:00 R1 RM/6/RMDEBUG:    LSA Age: 1
<R1>
Jun 22 2025 10:23:20.97.14-08:00 R1 RM/6/RMDEBUG:    Options: ExRouting:ON
<R1>
Jun 22 2025 10:23:20.97.15-08:00 R1 RM/6/RMDEBUG:    Length: 36, Seq# 8000001a
<R1>
Jun 22 2025 10:23:20.97.16-08:00 R1 RM/6/RMDEBUG:    CheckSum: cc38
<R1>
Jun 22 2025 10:23:20.97.17-08:00 R1 RM/6/RMDEBUG:    NtBit: 0  VBit: 0 EBit: 0 B
Bit: 1
<R1>
Jun 22 2025 10:23:20.97.18-08:00 R1 RM/6/RMDEBUG:    # Links: 1
<R1>
Jun 22 2025 10:23:20.97.19-08:00 R1 RM/6/RMDEBUG:    LinkID: 10.0.123.1
<R1>
Jun 22 2025 10:23:20.97.20-08:00 R1 RM/6/RMDEBUG:      LinkData: 10.0.123.4
<R1>
Jun 22 2025 10:23:20.97.21-08:00 R1 RM/6/RMDEBUG:      LinkType: 2
<R1>
Jun 22 2025 10:23:20.97.22-08:00 R1 RM/6/RMDEBUG:      TOS# 0 Metric 1
<R1>
Jun 22 2025 10:23:20.97.23-08:00 R1 RM/6/RMDEBUG:  
<R1>
Jun 22 2025 10:23:20.97.24-08:00 R1 RM/6/RMDEBUG:FileID: 0xd0178021 Line: 2450 Level: 0x20OSPF 1: SEND Packet. Interface: GigabitEthernet0/0/1
<R1>
Jun 22 2025 10:23:20.97.25-08:00 R1 RM/6/RMDEBUG:  Source Address: 10.0.123.1
<R1>
Jun 22 2025 10:23:20.97.26-08:00 R1 RM/6/RMDEBUG:  Destination Address: 224.0.0.
5
<R1>
Jun 22 2025 10:23:20.97.27-08:00 R1 RM/6/RMDEBUG:  Ver# 2, Type: 4 (Link-State U
pdate)
<R1>
Jun 22 2025 10:23:20.97.28-08:00 R1 RM/6/RMDEBUG:  Length: 64, Router: 10.0.1.1
<R1>
Jun 22 2025 10:23:20.97.29-08:00 R1 RM/6/RMDEBUG:  Area: 0.0.0.0, Chksum: 7b2f
<R1>
Jun 22 2025 10:23:20.97.30-08:00 R1 RM/6/RMDEBUG:  AuType: 00
<R1>
Jun 22 2025 10:23:20.97.31-08:00 R1 RM/6/RMDEBUG:  Key(ascii): * * * * * * * *
<R1>
Jun 22 2025 10:23:20.97.32-08:00 R1 RM/6/RMDEBUG:  # LSAS: 1
<R1>
Jun 22 2025 10:23:20.97.33-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:23:20.97.34-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.4.4
<R1>
Jun 22 2025 10:23:20.97.35-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:23:20.97.36-08:00 R1 RM/6/RMDEBUG:    LSA Age: 2
<R1>
Jun 22 2025 10:23:20.97.37-08:00 R1 RM/6/RMDEBUG:    Options: ExRouting:ON
<R1>
Jun 22 2025 10:23:20.97.38-08:00 R1 RM/6/RMDEBUG:    Length: 36, Seq# 8000001a
<R1>
Jun 22 2025 10:23:20.97.39-08:00 R1 RM/6/RMDEBUG:    CheckSum: cc38
<R1>
Jun 22 2025 10:23:20.97.40-08:00 R1 RM/6/RMDEBUG:    NtBit: 0  VBit: 0 EBit: 0 B
Bit: 1
<R1>
Jun 22 2025 10:23:20.97.41-08:00 R1 RM/6/RMDEBUG:    # Links: 1
<R1>
Jun 22 2025 10:23:20.97.42-08:00 R1 RM/6/RMDEBUG:    LinkID: 10.0.123.1
<R1>
Jun 22 2025 10:23:20.97.43-08:00 R1 RM/6/RMDEBUG:      LinkData: 10.0.123.4
<R1>
Jun 22 2025 10:23:20.97.44-08:00 R1 RM/6/RMDEBUG:      LinkType: 2
<R1>
Jun 22 2025 10:23:20.97.45-08:00 R1 RM/6/RMDEBUG:      TOS# 0 Metric 1
<R1>
Jun 22 2025 10:23:20.97.46-08:00 R1 RM/6/RMDEBUG:  
<R1>
Jun 22 2025 10:23:20.187.1-08:00 R1 RM/6/RMDEBUG:FileID: 0xd0178024 Line: 2236 Level: 0x20OSPF 1: RECV Packet. Interface: GigabitEthernet0/0/1
<R1>
Jun 22 2025 10:23:20.187.2-08:00 R1 RM/6/RMDEBUG:  Source Address: 10.0.123.2
<R1>
Jun 22 2025 10:23:20.187.3-08:00 R1 RM/6/RMDEBUG:  Destination Address: 224.0.0.
5
<R1>
Jun 22 2025 10:23:20.187.4-08:00 R1 RM/6/RMDEBUG:  Ver# 2, Type: 5 (Link-State A
ck)
<R1>
Jun 22 2025 10:23:20.187.5-08:00 R1 RM/6/RMDEBUG:  Length: 44, Router: 10.0.2.2
<R1>
Jun 22 2025 10:23:20.187.6-08:00 R1 RM/6/RMDEBUG:  Area: 0.0.0.0, Chksum: 874a
<R1>
Jun 22 2025 10:23:20.187.7-08:00 R1 RM/6/RMDEBUG:  AuType: 00
<R1>
Jun 22 2025 10:23:20.187.8-08:00 R1 RM/6/RMDEBUG:  Key(ascii): * * * * * * * *
<R1>
Jun 22 2025 10:23:20.187.9-08:00 R1 RM/6/RMDEBUG:  # LSA Headers: 1
<R1>
Jun 22 2025 10:23:20.187.10-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:23:20.187.11-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.4.4
<R1>
Jun 22 2025 10:23:20.187.12-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:23:20.187.13-08:00 R1 RM/6/RMDEBUG:    LSA Age: 2
<R1>
Jun 22 2025 10:23:20.187.14-08:00 R1 RM/6/RMDEBUG:    Options: ExRouting:ON
<R1>
Jun 22 2025 10:23:20.187.15-08:00 R1 RM/6/RMDEBUG:    Length: 36, Seq# 8000001a
<R1>
Jun 22 2025 10:23:20.187.16-08:00 R1 RM/6/RMDEBUG:    CheckSum: cc38
<R1>
Jun 22 2025 10:23:20.187.17-08:00 R1 RM/6/RMDEBUG:  
<R1>
Jun 22 2025 10:23:20.457.1-08:00 R1 RM/6/RMDEBUG:FileID: 0xd0178024 Line: 2236 Level: 0x20OSPF 1: RECV Packet. Interface: GigabitEthernet0/0/1
<R1>
Jun 22 2025 10:23:20.457.2-08:00 R1 RM/6/RMDEBUG:  Source Address: 10.0.123.3
<R1>
Jun 22 2025 10:23:20.457.3-08:00 R1 RM/6/RMDEBUG:  Destination Address: 224.0.0.
6
<R1>
Jun 22 2025 10:23:20.457.4-08:00 R1 RM/6/RMDEBUG:  Ver# 2, Type: 5 (Link-State A
ck)
<R1>
Jun 22 2025 10:23:20.457.5-08:00 R1 RM/6/RMDEBUG:  Length: 44, Router: 10.0.3.3
<R1>
Jun 22 2025 10:23:20.457.6-08:00 R1 RM/6/RMDEBUG:  Area: 0.0.0.0, Chksum: 8648
<R1>
Jun 22 2025 10:23:20.457.7-08:00 R1 RM/6/RMDEBUG:  AuType: 00
<R1>
Jun 22 2025 10:23:20.457.8-08:00 R1 RM/6/RMDEBUG:  Key(ascii): * * * * * * * *
<R1>
Jun 22 2025 10:23:20.457.9-08:00 R1 RM/6/RMDEBUG:  # LSA Headers: 1
<R1>
Jun 22 2025 10:23:20.457.10-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:23:20.457.11-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.4.4
<R1>
Jun 22 2025 10:23:20.457.12-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:23:20.457.13-08:00 R1 RM/6/RMDEBUG:    LSA Age: 3
<R1>
Jun 22 2025 10:23:20.457.14-08:00 R1 RM/6/RMDEBUG:    Options: ExRouting:ON
<R1>
Jun 22 2025 10:23:20.457.15-08:00 R1 RM/6/RMDEBUG:    Length: 36, Seq# 8000001a
<R1>
Jun 22 2025 10:23:20.457.16-08:00 R1 RM/6/RMDEBUG:    CheckSum: cc38
<R1>
Jun 22 2025 10:23:20.457.17-08:00 R1 RM/6/RMDEBUG:  

第一個報文可以看到是由R4這臺設備發現的update報文包含了一個網段的通告信息,表示的是10.0.4.4,接著收到了兩條LSACk信息,一條來自R2, 一條來自R3,通告的地址是224.0.0.65,和224.0.0.6,這個報文是由R1發送給DR和BDR的。而由R3的話,它的目的地是224.0.0.5的一個組播地址,現在在把取消的網段再次給它發布進行。

<R1>
Jun 22 2025 10:47:12.667.1-08:00 R1 RM/6/RMDEBUG:FileID: 0xd0178024 Line: 2236 Level: 0x20OSPF 1: RECV Packet. Interface: GigabitEthernet0/0/1
<R1>
Jun 22 2025 10:47:12.667.2-08:00 R1 RM/6/RMDEBUG:  Source Address: 10.0.123.4
<R1>
Jun 22 2025 10:47:12.667.3-08:00 R1 RM/6/RMDEBUG:  Destination Address: 224.0.0.
6
<R1>
Jun 22 2025 10:47:12.667.4-08:00 R1 RM/6/RMDEBUG:  Ver# 2, Type: 4 (Link-State U
pdate)
<R1>
Jun 22 2025 10:47:12.667.5-08:00 R1 RM/6/RMDEBUG:  Length: 76, Router: 10.0.4.4
<R1>
Jun 22 2025 10:47:12.667.6-08:00 R1 RM/6/RMDEBUG:  Area: 0.0.0.0, Chksum: f6a2
<R1>
Jun 22 2025 10:47:12.667.7-08:00 R1 RM/6/RMDEBUG:  AuType: 00
<R1>
Jun 22 2025 10:47:12.667.8-08:00 R1 RM/6/RMDEBUG:  Key(ascii): * * * * * * * *
<R1>
Jun 22 2025 10:47:12.667.9-08:00 R1 RM/6/RMDEBUG:  # LSAS: 1
<R1>
Jun 22 2025 10:47:12.667.10-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:47:12.667.11-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.4.4
<R1>
Jun 22 2025 10:47:12.667.12-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:47:12.667.13-08:00 R1 RM/6/RMDEBUG:    LSA Age: 1
<R1>
Jun 22 2025 10:47:12.667.14-08:00 R1 RM/6/RMDEBUG:    Options: ExRouting:ON
<R1>
Jun 22 2025 10:47:12.667.15-08:00 R1 RM/6/RMDEBUG:    Length: 48, Seq# 80000023
<R1>
Jun 22 2025 10:47:12.667.16-08:00 R1 RM/6/RMDEBUG:    CheckSum: 3da0
<R1>
Jun 22 2025 10:47:12.667.17-08:00 R1 RM/6/RMDEBUG:    NtBit: 0  VBit: 0 EBit: 0 
BBit: 1
<R1>
Jun 22 2025 10:47:12.667.18-08:00 R1 RM/6/RMDEBUG:    # Links: 2
<R1>
Jun 22 2025 10:47:12.667.19-08:00 R1 RM/6/RMDEBUG:    LinkID: 10.0.123.1
<R1>
Jun 22 2025 10:47:12.667.20-08:00 R1 RM/6/RMDEBUG:      LinkData: 10.0.123.4
<R1>
Jun 22 2025 10:47:12.667.21-08:00 R1 RM/6/RMDEBUG:      LinkType: 2
<R1>
Jun 22 2025 10:47:12.667.22-08:00 R1 RM/6/RMDEBUG:      TOS# 0 Metric 1
<R1>
Jun 22 2025 10:47:12.667.23-08:00 R1 RM/6/RMDEBUG:    LinkID: 10.0.4.0
<R1>
Jun 22 2025 10:47:12.667.24-08:00 R1 RM/6/RMDEBUG:      LinkData: 255.255.255.0
<R1>
Jun 22 2025 10:47:12.667.25-08:00 R1 RM/6/RMDEBUG:      LinkType: 3
<R1>
Jun 22 2025 10:47:12.667.26-08:00 R1 RM/6/RMDEBUG:      TOS# 0 Metric 0
<R1>
Jun 22 2025 10:47:12.667.27-08:00 R1 RM/6/RMDEBUG:  
<R1>
Jun 22 2025 10:47:12.667.28-08:00 R1 RM/6/RMDEBUG:FileID: 0xd0178021 Line: 2450 Level: 0x20OSPF 1: SEND Packet. Interface: GigabitEthernet0/0/1
<R1>
Jun 22 2025 10:47:12.667.29-08:00 R1 RM/6/RMDEBUG:  Source Address: 10.0.123.1
<R1>
Jun 22 2025 10:47:12.667.30-08:00 R1 RM/6/RMDEBUG:  Destination Address: 224.0.0
.5
<R1>
Jun 22 2025 10:47:12.667.31-08:00 R1 RM/6/RMDEBUG:  Ver# 2, Type: 4 (Link-State 
Update)
<R1>
Jun 22 2025 10:47:12.667.32-08:00 R1 RM/6/RMDEBUG:  Length: 76, Router: 10.0.1.1<R1>
Jun 22 2025 10:47:12.667.33-08:00 R1 RM/6/RMDEBUG:  Area: 0.0.0.0, Chksum: f9a4
<R1>
Jun 22 2025 10:47:12.667.34-08:00 R1 RM/6/RMDEBUG:  AuType: 00
<R1>
Jun 22 2025 10:47:12.667.35-08:00 R1 RM/6/RMDEBUG:  Key(ascii): * * * * * * * *
<R1>
Jun 22 2025 10:47:12.667.36-08:00 R1 RM/6/RMDEBUG:  # LSAS: 1
<R1>
Jun 22 2025 10:47:12.667.37-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:47:12.667.38-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.4.4
<R1>
Jun 22 2025 10:47:12.667.39-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:47:12.667.40-08:00 R1 RM/6/RMDEBUG:    LSA Age: 2
<R1>
Jun 22 2025 10:47:12.667.41-08:00 R1 RM/6/RMDEBUG:    Options: ExRouting:ON
<R1>
Jun 22 2025 10:47:12.667.42-08:00 R1 RM/6/RMDEBUG:    Length: 48, Seq# 80000023
<R1>
Jun 22 2025 10:47:12.667.43-08:00 R1 RM/6/RMDEBUG:    CheckSum: 3da0
<R1>
Jun 22 2025 10:47:12.667.44-08:00 R1 RM/6/RMDEBUG:    NtBit: 0  VBit: 0 EBit: 0 
BBit: 1
<R1>
Jun 22 2025 10:47:12.667.45-08:00 R1 RM/6/RMDEBUG:    # Links: 2
<R1>
Jun 22 2025 10:47:12.667.46-08:00 R1 RM/6/RMDEBUG:    LinkID: 10.0.123.1
<R1>
Jun 22 2025 10:47:12.667.47-08:00 R1 RM/6/RMDEBUG:      LinkData: 10.0.123.4
<R1>
Jun 22 2025 10:47:12.667.48-08:00 R1 RM/6/RMDEBUG:      LinkType: 2
<R1>
Jun 22 2025 10:47:12.667.49-08:00 R1 RM/6/RMDEBUG:      TOS# 0 Metric 1
<R1>
Jun 22 2025 10:47:12.667.50-08:00 R1 RM/6/RMDEBUG:    LinkID: 10.0.4.0
<R1>
Jun 22 2025 10:47:12.667.51-08:00 R1 RM/6/RMDEBUG:      LinkData: 255.255.255.0
<R1>
Jun 22 2025 10:47:12.667.52-08:00 R1 RM/6/RMDEBUG:      LinkType: 3
<R1>
Jun 22 2025 10:47:12.667.53-08:00 R1 RM/6/RMDEBUG:      TOS# 0 Metric 0
<R1>
Jun 22 2025 10:47:12.667.54-08:00 R1 RM/6/RMDEBUG:  
<R1>
Jun 22 2025 10:47:12.997.1-08:00 R1 RM/6/RMDEBUG:FileID: 0xd0178024 Line: 2236 Level: 0x20OSPF 1: RECV Packet. Interface: GigabitEthernet0/0/1
<R1>
Jun 22 2025 10:47:12.997.2-08:00 R1 RM/6/RMDEBUG:  Source Address: 10.0.123.2
<R1>
Jun 22 2025 10:47:12.997.3-08:00 R1 RM/6/RMDEBUG:  Destination Address: 224.0.0.
5
<R1>
Jun 22 2025 10:47:12.997.4-08:00 R1 RM/6/RMDEBUG:  Ver# 2, Type: 5 (Link-State A
ck)
<R1>
Jun 22 2025 10:47:12.997.5-08:00 R1 RM/6/RMDEBUG:  Length: 44, Router: 10.0.2.2
<R1>
Jun 22 2025 10:47:12.997.6-08:00 R1 RM/6/RMDEBUG:  Area: 0.0.0.0, Chksum: 15cd
<R1>
Jun 22 2025 10:47:12.997.7-08:00 R1 RM/6/RMDEBUG:  AuType: 00
<R1>
Jun 22 2025 10:47:12.997.8-08:00 R1 RM/6/RMDEBUG:  Key(ascii): * * * * * * * *
<R1>
Jun 22 2025 10:47:12.997.9-08:00 R1 RM/6/RMDEBUG:  # LSA Headers: 1
<R1>
Jun 22 2025 10:47:12.997.10-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:47:12.997.11-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.4.4
<R1>
Jun 22 2025 10:47:12.997.12-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:47:12.997.13-08:00 R1 RM/6/RMDEBUG:    LSA Age: 3
<R1>
Jun 22 2025 10:47:12.997.14-08:00 R1 RM/6/RMDEBUG:    Options: ExRouting:ON
<R1>
Jun 22 2025 10:47:12.997.15-08:00 R1 RM/6/RMDEBUG:    Length: 48, Seq# 80000023
<R1>
Jun 22 2025 10:47:12.997.16-08:00 R1 RM/6/RMDEBUG:    CheckSum: 3da0
<R1>
Jun 22 2025 10:47:12.997.17-08:00 R1 RM/6/RMDEBUG:  
<R1>
Jun 22 2025 10:47:13.377.1-08:00 R1 RM/6/RMDEBUG:FileID: 0xd0178024 Line: 2236 Level: 0x20OSPF 1: RECV Packet. Interface: GigabitEthernet0/0/1
<R1>
Jun 22 2025 10:47:13.377.2-08:00 R1 RM/6/RMDEBUG:  Source Address: 10.0.123.3
<R1>
Jun 22 2025 10:47:13.377.3-08:00 R1 RM/6/RMDEBUG:  Destination Address: 224.0.0.
6
<R1>
Jun 22 2025 10:47:13.377.4-08:00 R1 RM/6/RMDEBUG:  Ver# 2, Type: 5 (Link-State A
ck)
<R1>
Jun 22 2025 10:47:13.377.5-08:00 R1 RM/6/RMDEBUG:  Length: 44, Router: 10.0.3.3
<R1>
Jun 22 2025 10:47:13.377.6-08:00 R1 RM/6/RMDEBUG:  Area: 0.0.0.0, Chksum: 14cc
<R1>
Jun 22 2025 10:47:13.377.7-08:00 R1 RM/6/RMDEBUG:  AuType: 00
<R1>
Jun 22 2025 10:47:13.377.8-08:00 R1 RM/6/RMDEBUG:  Key(ascii): * * * * * * * *
<R1>
Jun 22 2025 10:47:13.377.9-08:00 R1 RM/6/RMDEBUG:  # LSA Headers: 1
<R1>
Jun 22 2025 10:47:13.377.10-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:47:13.377.11-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.4.4
<R1>
Jun 22 2025 10:47:13.377.12-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:47:13.377.13-08:00 R1 RM/6/RMDEBUG:    LSA Age: 3
<R1>
Jun 22 2025 10:47:13.377.14-08:00 R1 RM/6/RMDEBUG:    Options: ExRouting:ON
<R1>
Jun 22 2025 10:47:13.377.15-08:00 R1 RM/6/RMDEBUG:    Length: 48, Seq# 80000023
<R1>
Jun 22 2025 10:47:13.377.16-08:00 R1 RM/6/RMDEBUG:    CheckSum: 3da0
<R1>
Jun 22 2025 10:47:13.377.17-08:00 R1 RM/6/RMDEBUG:  

R1上又收到了幾個新的Update報文和LSAck的一個報文,第一個來自來R4所發現的LSU報文,那么它的LSA的links的一個字段是有兩個,多了一個loopback接口的網段,那么下面就是關于R2設備和R3設備發出來的發出的LSACK報文。

觀察一下LSR一個報文它是怎么進行的,它的細節是怎么樣的,

<R1>
Jun 22 2025 10:56:36.737.2-08:00 R1 RM/6/RMDEBUG:  Source Address: 10.0.123.1
<R1>
Jun 22 2025 10:56:36.737.3-08:00 R1 RM/6/RMDEBUG:  Destination Address: 10.0.123
.2
<R1>
Jun 22 2025 10:56:36.737.4-08:00 R1 RM/6/RMDEBUG:  Ver# 2, Type: 3 (Link-State R
eq)
<R1>
Jun 22 2025 10:56:36.737.5-08:00 R1 RM/6/RMDEBUG:  Length: 156, Router: 10.0.1.1<R1>
Jun 22 2025 10:56:36.737.6-08:00 R1 RM/6/RMDEBUG:  Area: 0.0.0.0, Chksum: 910f
<R1>
Jun 22 2025 10:56:36.737.7-08:00 R1 RM/6/RMDEBUG:  AuType: 00
<R1>
Jun 22 2025 10:56:36.737.8-08:00 R1 RM/6/RMDEBUG:  Key(ascii): * * * * * * * *
<R1>
Jun 22 2025 10:56:36.737.9-08:00 R1 RM/6/RMDEBUG:  # Requesting LSAs: 11
<R1>
Jun 22 2025 10:56:36.737.10-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:56:36.737.11-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.2.2
<R1>
Jun 22 2025 10:56:36.737.12-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.2.2
<R1>
Jun 22 2025 10:56:36.737.13-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:56:36.737.14-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.1.1
<R1>
Jun 22 2025 10:56:36.737.15-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.1.1
<R1>
Jun 22 2025 10:56:36.737.16-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:56:36.737.17-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.3.3
<R1>
Jun 22 2025 10:56:36.737.18-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.3.3
<R1>
Jun 22 2025 10:56:36.737.19-08:00 R1 RM/6/RMDEBUG:  LSA Type 1
<R1>
Jun 22 2025 10:56:36.737.20-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.4.4
<R1>
Jun 22 2025 10:56:37-08:00 R1 %%01OSPF/4/NBR_CHANGE_E(l)[18]:Neighbor changes ev
ent: neighbor status changed. (ProcessId=256, NeighborAddress=4.123.0.10, Neighb
orEvent=NegotiationDone, NeighborPreviousState=ExStart, NeighborCurrentState=Exc
hange) 
<R1>
Jun 22 2025 10:56:37-08:00 R1 %%01OSPF/4/NBR_CHANGE_E(l)[19]:Neighbor changes ev
ent: neighbor status changed. (ProcessId=256, NeighborAddress=4.123.0.10, Neighb
orEvent=ExchangeDone, NeighborPreviousState=Exchange, NeighborCurrentState=Loadi
ng) 
<R1>
Jun 22 2025 10:56:37-08:00 R1 %%01OSPF/4/NBR_CHANGE_E(l)[20]:Neighbor changes ev
ent: neighbor status changed. (ProcessId=256, NeighborAddress=4.123.0.10, Neighb
orEvent=LoadingDone, NeighborPreviousState=Loading, NeighborCurrentState=Full) 
<R1>
Jun 22 2025 10:56:36.737.1-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:56:36.737.2-08:00 R1 RM/6/RMDEBUG:  LSA Type 2
<R1>
Jun 22 2025 10:56:36.737.3-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.123.1
<R1>
Jun 22 2025 10:56:36.737.4-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.1.1
<R1>
Jun 22 2025 10:56:36.737.5-08:00 R1 RM/6/RMDEBUG:  LSA Type 2
<R1>
Jun 22 2025 10:56:36.737.6-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.123.2
<R1>
Jun 22 2025 10:56:36.737.7-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.2.2
<R1>
Jun 22 2025 10:56:36.737.8-08:00 R1 RM/6/RMDEBUG:  LSA Type 3
<R1>
Jun 22 2025 10:56:36.737.9-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.1.0
<R1>
Jun 22 2025 10:56:36.737.10-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.1.1
<R1>
Jun 22 2025 10:56:36.737.11-08:00 R1 RM/6/RMDEBUG:  LSA Type 3
<R1>
Jun 22 2025 10:56:36.737.12-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.45.0
<R1>
Jun 22 2025 10:56:36.737.13-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:56:36.737.14-08:00 R1 RM/6/RMDEBUG:  LSA Type 4
<R1>
Jun 22 2025 10:56:36.737.15-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.5.5
<R1>
Jun 22 2025 10:56:36.737.16-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.4.4
<R1>
Jun 22 2025 10:56:36.737.17-08:00 R1 RM/6/RMDEBUG:  LSA Type 5
<R1>
Jun 22 2025 10:56:36.737.18-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.5.0
<R1>
Jun 22 2025 10:56:36.737.19-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.5.5
<R1>
Jun 22 2025 10:56:36.737.20-08:00 R1 RM/6/RMDEBUG:  LSA Type 5
<R1>
Jun 22 2025 10:56:36.737.21-08:00 R1 RM/6/RMDEBUG:    LS ID: 10.0.45.0
<R1>
Jun 22 2025 10:56:36.737.22-08:00 R1 RM/6/RMDEBUG:    Adv Rtr: 10.0.5.5
<R1>
Jun 22 2025 10:56:36.737.23-08:00 R1 RM/6/RMDEBUG:  

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/85927.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/85927.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/85927.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

微服務拆分之術與道:從原則到實踐的深度解析

引言&#xff1a;微服務的塞壬之歌 - 超越單體巨石 故事要從一家名為“巨石公司”&#xff08;Monolith Inc.&#xff09;的虛構企業說起。它的旗艦產品曾是公司的驕傲&#xff0c;但隨著歲月流逝&#xff0c;這個系統逐漸演變成了一個“大泥球”&#xff08;Big Ball of Mud&a…

【新手向】GitHub Desktop 的使用說明(含 GitHub Desktop 和 Git 的功能對比)

GitHub Desktop 是 GitHub 公司推出的一款桌面應用程序&#xff0c;旨在幫助開發人員更輕松地使用 GitHub&#xff0c;以下是其簡單的使用說明&#xff1a; 安裝與登錄 下載 GitHub Desktop |GitHub 桌面 訪問GitHub Desktop 官方網站&#xff0c;根據自己的操作系統下載對應的…

Linux驅動編程 - gpio、gpiod函數

????? 目錄 簡介&#xff1a; 1、GPIO 子系統有兩套API&#xff1a; 一、GPIO新、舊版互相兼容轉換 API 1、轉化函數 二、基于描述符接口(descriptor-based) &#xff08;以"gpiod_"為前綴&#xff09; 1、獲取 GPIO 2.1 struct gpio_desc *gpiod_get(s…

Tensorflow推理時遇見PTX錯誤,安裝CUDA及CuDNN, 解決問題!

問題原因&#xff1a; 使用TensorFlow一個小模型是進行推理的時候&#xff0c;報了PTX錯誤&#xff1a; Traceback (most recent call last): 20273 2025-06-18 10:20:38.345 INFO 1 --- [checkTask-1] c.l.a.d.a.util.AnalyzeCommonHelper : File "/home/python/commo…

C# 網絡編程-關于HTTP/HTTPS的基礎(一)

一、HTTP基礎概念 1. 請求-響應模型 HTTP是基于客戶端-服務器的無狀態協議&#xff0c;流程如下&#xff1a; 客戶端&#xff08;如瀏覽器&#xff09;發起請求。服務器接收請求并處理。服務器返回響應&#xff0c;包含狀態碼、Header和響應體。連接關閉&#xff0c;后續請求…

小程序右上角○關閉事件

小程序用戶真實離開事件追蹤&#xff1a;一場與技術細節的博弈 在數據分析的場景下&#xff0c;精準捕捉用戶行為至關重要。我們遇到了這樣一個需求&#xff1a;在小程序的埋點方案中&#xff0c;只記錄用戶真正意義上的離開&#xff0c;即通過點擊小程序右上角關閉按鈕觸發的…

數據庫高性能應用分析報告

數據庫高性能應用分析報告 引言摘要 在數字經濟加速發展的今天&#xff0c;數據庫性能已成為企業核心競爭力的關鍵要素。根據Gartner 2024年最新研究&#xff0c;全球企業因數據庫性能問題導致的直接經濟損失高達每年420億美元&#xff0c;同時性能優化帶來的業務提升可達到2…

Java使用itext pdf生成PDF文檔

Java使用itext pdf生成PDF文檔 Java使用itextpdf生成PDF文檔 在日常開發中&#xff0c;我們經常需要生成各種類型的文檔&#xff0c;其中PDF是最常用的一種格式。本文將介紹如何使用Java和iText庫生成包含中文內容的PDF文檔&#xff0c;并通過一個具體的示例來展示整個過程。…

利用VBA將Word文檔修改為符合EPUB3標準規范的HTML文件

Word本身具有將docx文件轉換為HTML文件的功能&#xff0c;但是轉換出來的HTML文檔源代碼令人不忍卒讀&#xff0c;占用空間大&#xff0c;可維護性極差&#xff0c;如果想給HTML文檔加上點自定義交互行為&#xff0c;也不是一般的麻煩。如果文檔中包含注釋&#xff0c;對于Word…

開發語言本身只是提供了一種解決問題的工具

前言 你是否曾經注意到&#xff0c;在中國的軟件工程師日常工作中&#xff0c;他們使用的工具界面大多為英文&#xff1f;從代碼編輯器到開發框架文檔&#xff0c;再到錯誤信息提示框&#xff0c;英語似乎已經成為了計算機領域事實上的標準語言。那么為什么在全球化日益加深的…

2024計算機二級Python真題精講|第一套(易錯點分析)

一、選擇題 1.計算機完成一條指令所花費的時間稱為一個( )。 A.執行時序 B.執行速度 C.執行速度 D.指令周期 答案 D 一般把計算機完成一條指令所花費發時間稱為一個指令周期。指令周期越短&#xff0c;指令執行就越快。 2.順序程序不具有&#xff08; &#xf…

BGP路由反射器(RR)實驗詳解,結尾有詳細腳本

目錄 路由反射器基礎概念 實驗拓撲與設計 實驗配置步驟 配置驗證與排錯 實驗總結 完整配置命令集 路由反射器基礎概念 在傳統的IBGP網絡中&#xff0c;為了防止路由環路&#xff0c;BGP規定通過IBGP學到的路由不能再傳遞給其他IBGP對等體&#xff0c;這導致所有IBGP路由…

(aaai2025) SparseViT: 用于圖像篡改檢測的Spare-Coding Transformer

論文&#xff1a;(aaai2025) SparseViT: Nonsemantics-Centered, Parameter-Efficient Image Manipulation Localization through Spare-Coding Transformer 代碼&#xff1a;https://github.com/scu-zjz/SparseViT 這個論文研究的是圖像篡改檢測&#xff08;Image Manipulatio…

C#測試調用Markdig解析Markdown的基本用法

Markdig是.NET平臺的高性能開源Markdown處理器&#xff0c;嚴格遵循 CommonMark 標準&#xff0c;確保解析一致性&#xff0c;其核心優勢在于擴展性強&#xff1a;通過模塊化管道模型&#xff0c;可輕松添加自定義語法或修改現有邏輯。Markdig內置支持表格、任務列表、數學公式…

MySQL 主從同步完整配置示例

以下是 MySQL 主從同步完整配置示例&#xff08;基于 Linux 系統&#xff09;&#xff0c;包含主庫和從庫的配置步驟&#xff1a; 一、主庫&#xff08;Master&#xff09;配置 1. 安裝 MySQL&#xff08;以 CentOS 為例&#xff09; yum install -y mysql-server systemctl …

可信啟動與fTPM的交互驗證(概念驗證)

安全之安全(security)博客目錄導讀 目錄 一、組件構成 二、Arm FVP平臺PoC構建 三、在Armv8-A Foundation FVP上運行PoC 四、微調fTPM TA 可信啟動&#xff08;Measured Boot&#xff09;是通過密碼學方式度量啟動階段代碼及關鍵數據&#xff08;例如使用TPM芯片&#xff…

SQL Server基礎語句4:數據定義

文章目錄 一、數據庫與架構1.1 創建與刪除數據庫1.1.1 使用CREATE DATABASE語句創建數據庫1.1.2 使用DROP DATABASE語句刪除數據庫1.1.3 使用SSMS創建數據庫1.1.4 使用SSMS刪除數據庫 1.2 CREATE SCHEMA&#xff1a;創建新架構1.2.1 Schema簡介1.2.2 使用CREATE SCHEMA語句創建…

上門按摩app會員系統框架搭建

一、邏輯分析 用戶注冊與登錄&#xff1a; 新用戶需要提供基本信息&#xff0c;如姓名、手機號、郵箱等進行注冊。手機號用于接收驗證碼進行身份驗證&#xff0c;郵箱可用于密碼找回等功能。注冊成功后&#xff0c;用戶可以使用手機號 / 郵箱和密碼進行登錄。登錄時需要驗證用戶…

java項目打包成jar包,并給jmeter使用

1.新建項目 編寫代碼&#xff0c;導入必要的jar包&#xff0c; 右鍵點擊項目&#xff0c;然后export&#xff0c;選擇main函數&#xff0c; package utils; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import java.util.Random; …

【Qt開發】Qt音頻

Qt中&#xff0c;視頻播放的功能主要是通過 QMediaPlayer類和 QVideoWidget類來實現。在使用這兩個類時&#xff0c;需要在 .pro項目配置文件中添加對應的模塊——multimedia 和 multimediawidgets。 核心的API如下&#xff1a; 下面來模擬實現音頻文件的播放。 Widget::Widget…