OSPF協(xié)議使用一種稱之為Hello的報文來建立和維護相鄰鄰居路由器之間的鏈接關系。這個報文很簡單的,容量很小,僅用來向鄰居路由器證明自己的存在,就像人與人之間的打招呼一樣。我們在第8章中已經知道,RIP鄰居路由器之間的鄰接關系建立是都是定期的路由更新報文進行的,通過定期的路由更新來同時向鄰居RIP路由器證明自己的存在。顯然OSPF的這種Hello報文更簡單,可大大減小網絡中的報文傳輸流量。
Hello報文被周期性(默認為10秒)地發(fā)向鄰居路由器接口發(fā)送,如果在設定時間(默認為40秒,通常至少是Hello包發(fā)送時間間接4倍)內沒有收到對方OSPF路由器發(fā)送來的Hello報文,則本地路由器會認為該對方路由器無效。報文內容包括一些定時器設置、DR、BDR以及本路由器已知的鄰居路由器。
ospf的5種報文類型
在OSPF數據包頭中有一個type選項,表示的就是OSPF報文的協(xié)議形式,分為五種:
(1)Hello報文協(xié)議,用于發(fā)現與維持鄰居,后期還可用來進行廣播以及NBMA網絡中DR以及BDR的選??;根據網絡結構的不同,Hello協(xié)議的工作方式也不同。
?。?)DD(數據庫描述)報文,描述本地LSDB(鏈路狀態(tài)數據庫)的情況;
?。?)LSR(鏈路狀態(tài)請求)報文,向對端請求本端沒有或者對端更新的LSA;
(4)LSU(鏈路狀態(tài)更新)報文,向對方更新LSA;
?。?)LSAck(鏈路狀態(tài)確認)報文,收到LSU后進行確認。
其中,Hello報文用于雙向通信連接即發(fā)到對方路由器的Hello報文協(xié)議中的鄰居路由器中必須具有源路由ID才能建立鄰居狀態(tài),達到two-way狀態(tài),并且會在建立成功后每隔一段時間進行Hello報文的發(fā)送確認鄰居路由器的變化情況。DD報文與LSR報文是形成鄰接同步的過程,在這個階段中鄰接狀態(tài)形成,根據路由器生成的LSA類型進行數據庫匯總,向整個區(qū)域進行LSA的洪泛;而LSU和LSAck保證了報文交換的狀態(tài)的確認刷新機制,對LSR報文發(fā)出的請求的LSA進行回復,假如未收到更新報文LSU,會在一定時間段內進行LSAck報文進行確認,確認到未收到更新報文或者更新失敗,則要求重新發(fā)送。