讓網工們「水深火熱」的OSPF
OSPF是一個水很深的路由協議,即使把RFC 2328 吃透了,倒背如流了,也不一定能完全掌握OSPF的精髓。作為使用最廣泛的路由協議,其優秀的性能和兼容性確實值得誇讚,但也正是因為如此,不同廠商在使用OSPF時還是會根據廠商自身的資源和優勢對OSPF進行定製化,雖然變的不多,但是對於一些沒有啥項目經驗、沒怎麼摸過設備的「小白」來說,OSPF的水很深。那麼這篇文章就帶大家深入的了解一下OSPF的鄰居建立機制,幫助大家強化記憶OSPF的鄰居建立要素及機制。
影響OSPF鄰居關係及鄰接關係建立的主要問題:
Hello/Dead發送時間間隔:時間一致才能建立鄰居關係。若Hello間隔為10S,而Dead間隔默認是Hello間隔的4倍。
區域ID:相鄰的路由器在同一區域才能建立鄰居關係,檢查OSPF頭中的Area ID,Area ID出現在所有OSPF報文的頭部而非Hello報文中。
區域類型:區域類型要一致。判斷區域類型是否一致要參考Hello報文中的Option位,其中,E和N/P置位代表的含義不同。這裡的區域類型指STUB區域類型、NSSA區域類型和常規及骨幹區域類型。
認證類型和密鑰一致:只有驗證通過才能建立鄰居關係。
Router ID無衝突:OPSF的Router ID是可以手工指定或系統自動選定的。直連路由器要建立鄰居關係是,Router ID一定不能相同。
特殊的鄰居關係建立問題:
1、 主IP網路和掩碼
Hello報文中,攜帶有介面主IP網路的掩碼,Hello報文中通過掩碼和報文的源IP地址,就可以判定鄰居雙方是否在同一個主IP網路,主IP網路是介面配置的第一個IP地址網路。如下圖:R1發送的OSPF報文源地址是10.1.1.1,掩碼為24,那麼主IP網路就是10.1.1.0/24,同樣,R2的主IP網路就是11.1.1.0/24。此時,二者之間的鏈路如果是點對點鏈路,那麼R1和R2就能成功建立鄰居關係;如果是廣播網路類型,則不能建立鄰居關係。