鏈路-狀態更新報文用于把L S A發送給它的相鄰節點。這些更新報文是用于對L S A請求的應答。有5種不同的L S A報文類型。這些報文類型用從1到5的類型號標識。
注重由于O S P F通常把鏈路-狀態廣播看作L S A,因此會存在潛在的混淆。然而,實際上用于更新路由表的機制為鏈路-狀態更新報文—簡記為L S U。還有另一個報文結構,鏈路-狀態應答報文,簡寫為L S A;由于一些不可知的原因,這種報文稱為鏈路-狀態應答,而LSA通常是指更新報文。
這些報文類型及其L S A號,如下所述: ·Rauter LSA (路由器L S A ) (類型1 )—路由器L S A描述了路由器鏈路到區的狀態和耗費。所有這樣的鏈路必須在一個L S A報文中進行描述。同時,路由器必須為它屬于的每個區產生一個路由器L S A。所以,區邊界路由器將產生多個路由器L S A,而區內的路由器只 需產生一個這樣的更新。 ·Network LSA (網絡L S A ) (類型2 )—網絡L S A與路由器L S A相似,它描述的是連接進網絡的所有路由器的鏈路狀態和耗費信息。二者的區別是網絡L S A是網絡中所有鏈路-狀態和耗費信息的總和。只有網絡的指定路由器記錄這個信息,并由它來產生網絡L S A。 ·Summary LSA-ip Network (匯總L S A - I P網絡) (類型3 )—使用匯總L S A - I P這個名字有些不靈活,因此O S P F的設計者采用了編號策略來記L S A!只有O S P F網絡中的區邊界路由器能產生這種L S A類型。使用這種L S A類型把一個區的匯總路由信息和O S P F網絡中相鄰區路由器信息進行交換。它經常匯總缺省的路由而不是傳播匯總的O S P F信息至其他網絡。 ·Summary LSA-Autonomous System Boundary Router(匯總L S A -自治系統邊界路由器) (類型4 )—類型4與類型3 LSA的關系密切。二者的區別是類型3描述區內路由,而類型4描述的是O S P F網絡之外的路由。 ·S -外部L S A (類型5 )—第5個L S A是自治系統外部L S A。正如其名,這種L S A用于描述O S P F網絡之外的目的地。這些目的地可以是特定主機或是外部網絡地址。作為和外部自治系統相聯系的ASBR OSPF節點負責把外部路由信息在它屬于的整個區中傳播。
這些L S A類型用于描述O S P F路由域的不同方面,它們直接尋址到O S P F區中的每一個路由器并同時傳輸。這樣的洪泛確保O S P F區中的所有路由器關于網絡的5個不同方面( L S A類型)有一樣的信息。路由器完整的L S A數據存儲在鏈路-狀態數據庫中。當D i j k s t r a算法應用于這些數據庫的內容時會得到O S P F路由表。表和數據庫的區別是數據庫含有原始數據的完整集合,而路由表包含通過特定路由器接口到已知目的地的最短路徑列表。
不必研究每種L S A類型的結構,只需研究它們的頭就足夠了。 1. LSA頭 所有的L S A使用一個通用的頭格式。這個頭2 0字節長并附加于標準的2 4字節O S P F頭后面。L S A頭惟一地標識了每種L S A。所以,它包括關于L S A類型、鏈路-狀態I D及通告路由器I D的信息。下面是L S A頭域: ·L S年齡—L S A頭中的前兩個字節包含L S A的年齡。這個年齡是自從L S A產生時已消逝的時間秒數。 ·O S P F選項—下面的字節由一系列標志組成,這些標志標識了O S P F網絡能提供的各種可選的服務。 ·L S類型—1字節L S類型指出5種L S A類型中的一種。每種L S A類型的格式是不同的。因此,指出何種類型的數據附加在頭后面必不可少。 ·鏈路-狀態I D—鏈路-狀態I D域4字節長用于指明L S A描述的特定網絡環境區域。這個域與前面提及的L S類型域關系緊密。實際上,這個域的內容直接依靠于L S類型。比如,在路由器L S A中,鏈路-狀態I D包含產生了這個報文的O S P F路由器I D——通告路由器I D。 ·S順序號—O S P F路由器會遞增每個L S A報文的序列號。所以,接收到兩個相同L S A事例的路由器有兩種選擇來決定哪一個是最新的報文, L S順序號域4字節長。檢查這個域可以確定L S A在網絡中已傳輸了多久。從理論上講,一個新的L S A年齡比一個老的L S A年齡大是有可能的,非凡是在大型復雜的O S P F網絡中。所以,接收路由器比較L S順序號。大號的L S A是最新生成的,這種機制不會因動態路由的變遷而受到損壞,而應認為其是一種更可靠的確定L S A時間的方法。 ·L S校驗和—3字節的L S校驗和用于檢查L S A在傳輸到目的地的過程中是否受到破壞。校驗和采用簡單的數學算法。它的輸出結果依靠于其輸入,并且有高度的一致性。給定相同的輸入,校驗和算法總是給出相同的輸出。L S校驗和域使用部分L S A報文內容(包括頭,不包括L S年齡和校驗和域)來生成校驗和值。源節點運行F l e t c h e r算法并把結果存于L S校驗和域中。目的節點執行相同的算法并把結果與存儲在校驗和域中的結果比較,假如兩個值不相同,就可以認為報文在傳輸過程中被破壞。之后,產生一個傳輸請求。 ·LS長度—L S長度域用于通知接收方L S A的長度(以字節為單位),這個域1個字節長。 L S A報文體的剩余部分包含一個L S A的列表。每個L S A描述O S P F網絡5個不同方面中的一個。所以,路由器L S A報文會廣播區內已知存在的路由器信息。
2. 處理L S A更新 O S P F路由表與其他路由表的本質區別是它的更新并不直接被接收站點所使用。從其他路由器接收到的更新包含“從發送路由器角度看”網絡得到的信息。所以,在使用和解釋接收到的L S A數據之前必須由D i j k s t r a算法,把它轉化為自己本身的信息。
表面上講, L S A的傳輸是因為一個路由器檢測到了鏈路狀態變化。所以,在接收到任何類型的L S A之后,O S P F路由器必須把L S A的內容和自身路由表的對應部分進行比較。只有通過S P F算法,使用新數據形成新的網絡視圖之后才能進行比較, S P F算法輸出的結果是得到網絡的新視圖。這些結果與已存在的O S P F路由表相比較,看是否它的路由受到了網絡狀態變化的影響。
假如由于狀態變化必須改變一條或多條路由,就要使用新的信息建造一個新的路由表。
3. 復制L S A 考慮到L S A在整個O S P F區內洪泛,就有可能同時存在多個相同L S A類型的事例。因此,O S P F網絡的穩定性要求路由器能夠識別多個L S A中的最新者。收到兩個或多個相同L S A類型的路由器會檢查L S A頭中的L S年齡、L S順序號以及L S校驗和域。只有包含在最新L S A中的信息才被接受,并且要經過前面一節中描述的處理過程。