摘要:(1)類型1.又被稱為路由器鏈路信息數據包(RouterLink),所有的OSPF路由器都會產生這種數據包,用于描述路由器上連接到某一個區域的鏈路或是某一端口的狀態信息。路由器鏈路信息數據包只會在某一個特定的區域內廣播,而不會廣播至其他區域。在類型1的鏈路數據包中,OSPF路由器通過對數據包中某些特定數據位的設定,告訴其余的路由
(1)類型1.又被稱為路由器鏈路信息數據包(RouterLink),所有的OSPF路由器都會產生這種數據包,用于描述路由器上連接到某一個區域的鏈路或是某一端口的狀態信息。路由器鏈路信息數據包只會在某一個特定的區域內廣播,而不會廣播至其他區域。
在類型1的鏈路數據包中,OSPF路由器通過對數據包中某些特定數據位的設定,告訴其余的路由器自身是一個區域邊界路由器或是一個AS邊界路由器。而且,類型1的鏈路狀態數據包在描述其所連接的鏈路時,會根據各鏈路所連接的網絡類型對各鏈路打上鏈路標識--LinkID.表5-7所示為常見的鏈路類型及鏈路標識。

(2)類型2.又被稱為W絡鏈路信息數據包(NetworkLink)。網絡鏈路信息數據包是由指定路由器產生的,在一個廣播性、多點接入的網絡,如以太網、令牌環網及FDDI網絡環境中,這種鏈路狀態數據包用來描述該網段上所連接的所有路由器的狀態信息。
指定路由器(DR)只有在與至少一個路由器建立相鄰關系后才會產生網絡鏈路信息數據包,在該數據包中含有對所有己經與DR建立相鄰關系的路由器的描述,包括DR路由器本身。類型2的鏈路信息只會在包含DR所處的廣播性網絡的區域中廣播,不會廣播至其余的OSPF路由區域。
(3)類型3和類型4.類型3和類型4的鏈路狀態廣播在OSPF路由協議中又稱為總結鏈路信息數椐包(SummaryLink),該鏈路狀態廣播是由區域邊界路由器或AS邊界路由器產生的。SummaryLink描述的是到某一個區域外部的路由信息,這一個目的地址必須在同一個AS中〃SummaryLink也只會在某一個特定的區域內廣播。類型3與類型4兩種總結性鏈路信息的區別在于,類型3是由區域邊界路由器產生的,用于描述到同一個AS中不同區域之間的鏈路狀態:而類型4是由AS邊界路由器產生的,用于描述不同AS的鏈路狀態信息。值得一提的是,只有類型3的SummaryLink才能廣播進一個殘域,因為在一個殘域中不允許存在AS邊界路Eb器。殘域的區域邊界路由器產生一條默認的SummaryLink對域內廣播,從而在其余路由器上產生一條默認路由信息。采用S_atyLink可以減小殘域中路由器的鏈路狀態數據庫的大小,進而減少對路由器資源的利用,提高路由器的運算速度。
(4)類型5.類型5的鏈路狀態廣播稱為AS外部鏈路狀態信息數據包。類型5的鏈路數據包是由AS邊界路由器產生的,用于描述到AS外的目的地的路由信息,該數據包會在AS中除殘域以外的所有區域中廣播。一般來說,這種鏈路狀態信息描述的是到AS外部某一特定網絡的路由信息,在這種情況下,類型5的鏈路狀態數據包的鏈路標識采用的是目的地網絡的IP地址;在某些情況下,AS邊界路由器可以對AS內部廣播默認路由信息,在這時,類型5的鏈路廣播數椐包的鏈路標識采用的是默認網絡號碼0.0.0.0。
9.OSPF協議工作過程
OSPF路由協議針對每一個區域分別運行一套獨立的計算法則,對于區域邊界路由器來說,由于一個區域邊界路由器同時與幾個區域相連,因此一個區域邊界路由器上會同時運行幾套OSPF計算方法,每一個方法針對一個OSPF區域。下面介紹OSPF協議運算的全過程。
10.區域內部路由
當一個OSPF路由器初始化時,先初始化路由器自身的協議數據庫,然后等待低層次協議(數據鏈路層)提示端口是否處于工作狀態。
如果低層協議得知一個端口處于工作狀態時,OSPF會通過其Hello協議數據包與其余的OSPF路由器建立交互關系。一個OSPF路由器向其相鄰路由器發送Hello數據包,如果接收到某一路由器返回的Hello數據包,則在這兩個0SPF路由器之間建立起OSPF交互關系,這個過程在0SPF中被稱為adjacency.在廣播性網絡或是在點對點的網絡環境中,OSPF協議通過Hello數據包自動地發現其相鄰路由器,這時OSPF路由器將Hello數據包發送至一特殊的多點廣播地址,該多點廣播地址為ALLSPFRouters.在一些非廣播性的網絡環境中,需要經過某些設置來發現0SPF相鄰路由器。在多接入的環境中,如以太網的環境,HeHo協議數據包還可以用于選擇該網絡中的指定路由器(DR)。
一個OSPF路由器會與其新發現的相鄰路由器建立OSPF的adjacency,并且在一對0SPF路由器之間作鏈路狀態數據庫的同步。在多接入的網絡環增中,非DR的0SPF路由器只會與指定路由器DR建立adjacency,并且做數據庫的同步。OSPF協議數據包的接收及發送正是在一對0SPF的adjacency間進行的。
0SPF路由器周期性地產生與其相連的所有鏈路的狀態信息,有時這些信息也被稱為鏈路狀態廣播(LinkStateAdvertisement,LSA)。當路由器相連接的鏈路狀態發生改變時,路由器也會產生鏈路狀態廣播信息,所有這些廣播數據是通過Flood的方式在某一個OSPF區域內進行的。Flooding算法是一個非??煽康挠嬎氵^程,它保證在同一個0SPF區域內的所有路由器都具有一個相同的OSPF數據庫。根據這個數據庫,0SPF路由器會將自身作為根,計算出一個最短路徑樹,然后該路由器會根據最短路徑樹產生自己的OSPF路由表。
11.建立OSPF交互關系adjacency
OSPF路由協議通過建立交互關系來交換路由信息,但并不是所有相鄰的路由器都會建立OSPF交互關系。下面簡要介紹OSPF建立adjacency的過程。
OSPF協議是通過Hello協議數據包來建立及維護相鄰關系的,同時也用其來保證相鄰路由器之間的雙向通信。OSPF路由器會周期性地發送Hello數據包,當這個路由器看到自身被列于其他路由器的Hello數據包里時,這兩個路由器之間會建立起雙向通信。在多接入的環境中,Hello數據包還用于發現指定路由器(DR),通過DR來控制與哪些路由器建立交互關系。
兩個OSPF路由器建立雙向通信之后的第二個步驟是進行數據庫的同步,數據庫同步是所有鏈路狀態路由協議的最大的共性。在OSPF路由協議中,數據庫同步關系僅僅在建立交互關系的路由器之間保持。
OSPF的數據庫同步是通過OSPF數據庫描述數據包(DatabaseDescriptionPackets)來進行的。OSPF路由器周期性地產生數據庫描述數據包,該數據包是有序的,即附帶有序列號,并將這些數據包對相鄰路由器廣播。相鄰路由器可以根據數據庫描述數據包的序列號與自身數據庫的數據作比較,若發現接收到的數據比數據庫內的數據序列號大,則相鄰路由器會針對序列號較大的數據發出請求,并用請求得到的數據來更新其鏈路狀態數據庫。
將OSPF相鄰路由器從發送Hello數據包,建立數據庫同步至建立完全的OSPF交互關系的過程分成幾個不同的狀態,如下所述。
通信工程師備考資料免費領取
去領取
專注在線職業教育25年