什么叫ospf鄰居?OSPF會在網絡上發(fā)送HELLO包,如果HELLO包里面有3個內容匹配的話,就會建立鄰居關系,首先是 HELLO包的死亡和更新時間,區(qū)域ID號,還有一個認證字段,可以這樣簡單理解,
在點到點網絡中,相鄰的路由器通過發(fā)送HELLO包建立鄰居,鄰居建立后,才能發(fā)送LSA,LSR LSU DBD等更新數據包
在多路訪問網絡中 會通過HELLO包建立DR和BDR,路由器只與DR和BDR建立鄰居關系,發(fā)送更新LSA,與其他路由器使維持發(fā)現的two-away狀態(tài)
應該夠清楚了,就是鄰居就是發(fā)送更新的前提,如果沒有建立鄰居關系,是不能更新數據的,并且建立鄰居需要一定的條件
鄰居建立過程如下:
1、RTA和RTB的Router ID分別為1.1.1.1和2.2.2.2。當RTA啟動OSPF后,RTA會發(fā)送第一個Hello報文。此報文中鄰居列表為空,此時狀態(tài)為Down,RTB收到RTA的這個Hello報文,狀態(tài)置為Init。
2、RTB發(fā)送Hello報文,此報文中鄰居列表為空,RTA收到RTB的Hello報文,狀態(tài)置為Init。
3、RTB向RTA發(fā)送鄰居列表為1.1.1.1的Hello報文,RTA在收到的Hello報文鄰居列表中發(fā)現自己的Router ID,狀態(tài)置為2-way。
4、RTA向RTB發(fā)送鄰居列表為2.2.2.2的Hello報文,RTB在收到的Hello報文鄰居列表中發(fā)現自己的Router ID,狀態(tài)置為2-way。
OSPF鄰居共有以下八種狀態(tài):
Down:鄰居會話的初始階段。表明沒有在鄰居失效時間間隔內收到來自鄰居設備的Hello報文。除了NBMA網絡OSPF路由器會每隔PollInterval時間對外輪詢發(fā)送Hello報文,包括向處于Down狀態(tài)的鄰居路由器(即失效的鄰居路由器)發(fā)送之外,其他網絡是不會向失效的鄰居路由器發(fā)送Hello報文的。
Attempt:這種狀態(tài)適用于NBMA網絡,鄰居路由器是手工配置的。鄰居關系處于本狀態(tài)時,路由器會每隔HelloInterval時間向自己手工配置的鄰居發(fā)送Hello報文,嘗試建立鄰居關系。
Init:本狀態(tài)表示已經收到了鄰居的Hello報文,但是對端并沒有收到本端發(fā)送的Hello報文,收到的Hello報文的鄰居列表并沒有包含本端的Router ID,雙向通信仍然沒有建立。
2-Way:互為鄰居。本狀態(tài)表示雙方互相收到了對端發(fā)送的Hello報文,報文中的鄰居列表也包含本端的Router ID,鄰居關系建立。如果不形成鄰接關系則鄰居狀態(tài)機就停留在此狀態(tài),否則進入ExStart狀態(tài)。DR和BDR只有在鄰居狀態(tài)處于這個狀態(tài)或者更高的狀態(tài)才會被選舉出來。
ExStart:協(xié)商主從關系。建立主從關系主要是為了保證在后續(xù)的DD報文交換中能夠有序的發(fā)送。鄰居間從此時才開始正式建立鄰接關系。
Exchange:交換DD報文。本端設備將本地的LSDB用DD報文來描述,并發(fā)給鄰居設備。
Loading:正在同步LSDB。兩端設備發(fā)送LSR報文向鄰居請求對方的LSA,同步LSDB。
Full:建立鄰接。兩端設備的LSDB已同步,本端設備和鄰居設備建立了完全的鄰接關系。