exchange協議用于使鄰居路由器進入Full狀態,第一步需要DR和BDR與DRother建立鄰接關系,期間所有路由器和DR/BDR建立master-slave 關系.master和slave路由器交換DBDs以同步他們的數據庫.一旦鄰接路由器進入Full狀態,除非狀態改變否則不再重復exchange協議進程 flooding進程用于任何時間鏈路狀態改變,如鏈路down或網絡中加入新的鏈路.LSU報文中包含所有鏈路狀態的改變,并發送到DR/BDR.DR向所有D Rother轉發.假如此路由器連接到其他網絡,LSU也將發往這些網絡. OSPF 常用的5種LSA-type LSA-Type 1: Router link entry area中所有router產生;描述router的鏈路狀態,只在本area中flood LSA-Type 2: Network link entry 多路訪問網絡中DR產生;描述網絡中連接的所有routers,本area中flood LSA-Type 3or4: 源自ABR,描述本地area中ABR與internal routers的鏈路,穿過backbone area flood到其他ABR,但這些LSA 不會flood到totally stubby area. Type 3 描述到本地area的路由并發送到backbone area Type 4 描述ASBR的可達性 LSA-Type 5:AS external link entry 源自ASBR.描述到外部AS目的網絡的路由,flood到整個OSPF AS,除了stub,totally stubby,和not-so-stubby areas. OSPF 定義了四種router type internal: 所有接口都在同一area中; ABR:連接多個area,為每一個area保留各自的link-state database; ASBR:連接OSPF與外部路由域; backbone:所有接口都在area0內; 注重:同一臺路由器只要滿足定義,可以擔當以上各種角色 一般而言,ABR需要較高配置 沒有連接到area0的ABR是沒有意義的 RFC 2328定義了兩種標準OSPF運行的網絡拓撲: NBMA:一般為全網狀,選舉DR/BDR,所有接口屬于同一子網,因為非共享介質,需要靜態指定鄰居。 point-to-multipoint:部分網狀或星型拓撲,所有接口屬于同一子網,不需要選舉DR/BDR,鄰居可以動態發現 Cisco定義了另外3種網絡類型: Broadcast:類似NBMA,只不過可以自動發現鄰居;就是LAN環境 point-to-point:類似點到多點,只不過每個子接口屬于不同的子網; point-to-multipoint nonbroadcast:類似點到多點,只不多需要手工指定鄰居,一般用于IP over ATM環境. OSPF 有5種area類型以控制路由信息的接收,所有運行OSPF的路由器必須屬于某一個或多個area: Standard area:接收所有鏈路狀態更新,路由匯總和外部路由; Backbone area(area0):所有area必須連接到area 0,以交換信息; Stub area:不接收外部路由,用default route到達外部AS; Totally stubby area:不接收外部路由和匯總路由,也必須用default route; Not-So-Stubby area:類似stub area,但可以接收外部路由.使用Type-7 LSA
OSPF 使用5種協議數據報文: 1 Hello 發現和維護鄰居關系 2 Database Description 鏈路狀態數據庫的匯總(僅包含LSA標識) 3 Link State Request 當slave發現LSD信息不完整時向master發出LSA請求 4 Link State Update 可攜帶一或多個LSA 5 Link State Ack Flooding確認,OSPF的可靠更新機制要求每個LSU必須 被顯式或隱式被確認 注重:不同的網絡拓撲有不同的hello時間間隔 NBMA(FR,ATM,X25): hello 30s,dead 120s Broadcast: hello 10s,dead 40s show ip ospf neighbor detail show ip ospf database show ip route 你知道這三個表是如何建立起來的嗎?