**協議**數據庫
OSPF(Open Shortest Path First開放式最短路徑優先)是一個內部網關協議(Interior Gateway Protocol,簡稱IGP),用於在單一自治系統(autonomous system,AS)內決策路由。是對鏈路狀態路由協議的一種實現,隸屬內部網關協議(IGP),故運做於自治系統內部網絡
**AD值**ide
思科OSPF的協議管理距離是110spa
華爲OSPF的協議管理距離是150
router
**鏈路狀態**接口
鏈路式路由器接口的另外一種說法,所以OSPF也稱爲接口狀態路由協議;OSPF經過路由器之間通告網絡接口的狀態來創建鏈路狀態數據庫,生成最短路徑樹,每一個OSPF路由器使用這些最短路徑構造路由表ip
**原理** 路由
#創建鄰接表同步
#同步數據庫it
#計算路由表
**區域分類**
骨幹:0區域
非骨幹:不是0區域的
**Hello協議的目的**
1.用於發現鄰居
2.在成爲鄰居以前,必須對Hello包裏的一些參數協商成功
3.Hello包在鄰居之間扮演着keepalive的角色
4.容許鄰居之間的雙向通訊
5.它在NBMA(Nonbroadcast Multi-access(非廣播地址))網絡上選舉DR和BDR
**創建鄰居影響因素**
1、RID不能相同;
router ospf 1
router-id x.x.x.x
clear ip ospf process
2、區域ID必須相同;
3、認證必須成功(認證類型必須相同,而且密碼必須相同)
4、子網掩碼必須相同(特殊狀況下)
5、hello時間必須相同;
interface fas0/0
ip ospf hello-interval {value}
6、dead時間必須相同;
interface fas0/0
ip ospf dead-interval {value}
7、特殊標記位必須相同;
8、優先級必須不能全爲0(特殊狀況下)
9、3層MTU必須相同,不然會卡在Exatart狀態
Interface fas0/0
Ip mtu +num(如1499)
**OSPF狀態**
1.Down:此狀態尚未與其餘路由器交換信息。首先從其ospf接口向外發送hello分組,還並不知道DR(若爲廣播網絡)和任何其餘路由器。發送hello分組是,使用組播地址224.0.0.5。
2.Attempt: 只適於NBMA網絡,在NBMA網絡中鄰居是手動指定的,在該狀態下,路由器將使用HelloInterval取代PollInterval來發 送Hello包.
3.Init:初始化收到了Hello包,可是2-Way通訊仍然沒有創建起來.
4.two-way: 雙向會話創建,而 RID 彼此出如今對方的鄰居列表中。(若爲廣播網絡:例如:以太網。在這個時候應該選舉DR,BDR。
5.ExStart: 信息交換初始狀態,在這個狀態下,本地路由器和鄰居將創建Master/Slave關係,路由器ID大的的成爲Master.
6.Exchange: 信息交換狀態:本地路由器和鄰居交換一個或多個DBD分組(也叫DDP) 。DBD包含有關LSDB中LSA條目的摘要信息)。
7.Loading: 信息加載狀態:收到DBD後,使用LSACK分組確認已收到DBD.將收到的信息同LSDB中的信息進行比較。若是DBD中有更新的鏈路狀態條目,則想對方發送一個LSR,用於請求新的LSA 。
8.Full: 徹底鄰接狀態,該狀態表示雙方的數據庫徹底同步
**DR與BDR的選取原則**
1.優先級爲0的不參與選舉
2.優先級高的路由器爲DR
3.優先級相同時,以router ID 大爲DR。router ID 以迴環接口中最大ip爲準。若無迴環接口,以真實接口最大ip爲準。
4.缺省條件下,優先級爲1
**OSPF定義的5種網路類型**
類型 |
2層 |
Hello與dead |
DR/BDR |
是否主動發包 |
broadcast :廣播 (MA , multi-access) |
當2層協議爲ethernet時, 對應的是廣播網絡類型; |
hello是10s; dead是40s |
須要選舉DR/BDR |
端口主動發包,發包方式爲組播(224.0.0.5/6) |
non-broadcast : 非廣播。(NBMA)
|
當2層協議爲Frame-relay時, 對應的是非廣播網絡類型; |
hello是30s; dead是120s |
須要選舉DR/BDR; |
端口不主動發包,發包方式爲單播; 【OSPF實現單播:neighbor x.x.x.x】 |
point-to-point 點到點(P2P) |
當2層協議爲HDLC\PPP時, 對應的是點到點網絡類型; |
hello是10s; dead是40s |
不須要選舉DR/BDR; |
端口主動發包,發包方式爲組播(224.0.0.5) |
point-to-Multipoint: 點到多點(p2mp) |
hello是30s; dead是120s; |
不須要選舉DR/BDR; |
端口主動發包,發包方式爲組播(224.0.0.5)
|
|
point-to-Multipoint non-broadcast: 點到多點(p2mp-NB) |
hello是30s; dead是120s; |
不須要選舉DR/BDR; |
端口不主動發包,發包方式爲單播 |
**LSA類型**
1類LSA:router LSA |
任何一個路由器,都會在任何一個區域中產生一個 1類LSA ; 能夠將1類LSA理解爲「自我介紹」,用於說明自己有哪些鏈路進入了該區域,而且是鏈接着哪些設備,是如何鏈接的;到對方的距離是多少; 1類LSA只能在一個區域內部進行傳輸 |
link-id:路由器的RID adv:路由器的RID 傳輸範圍:只能在一個區域內部 ADV是否變化:不變化 |
2類LSA:net Link state |
這種類型的 LSA ,只有在選舉DR的網絡環境中才會有。 只有DR纔有資格產生 2 類 LSA |
link-id:表示的是 DR 的接口IP地址; ADV:DR的 RID ; 傳輸範圍:一個區域內部 ADV是否變化:不變化;
// 基於 LSDB 中的1類LSA 或者 1和2類LSA,就能夠計算出一個區域內部的路由,叫作 O 的路由; |
3類LSA:summary net link state |
在不一樣的區域之間傳輸路由信息; 這種類型的LSA,僅有 ABR 能夠產生。 3類LSA被ABR產生之後,首先進入到 OSPF 區域0,而後再轉發到其餘區域。 |
ABR: 一、能夠將非0區域中的「域內-O」路由,轉變成3類LSA,發送到0區域;
2、能夠將0區域中的「域內-O」路由,轉變成3類LSA,發送到非0區域;也能夠將0區域中的「域間-OIA」路由,轉變成新的3類LSA,發送到其餘的非0區域中; 3、必定不能夠將非0區域中的3類LSA轉發到0區域; link-id:表示的是路由的前綴; adv:ABR的RID; 傳輸範圍:一個區域內部 ADV是否變化:是; |
4類LSA:summary ASB link state |
專門是爲了輔助5類LSA計算路由而生的; 傳遞的信息是 ASBR 的 RID ; 是由與 ASBR在同一個區域的 ABR 產生的; 傳遞過程當中每通過一個ABR,ADV都會變化一次。 |
link-id:表示的是 ASBR的 RID; adv:ABR 傳輸範圍:同一個區域內部; ADV是否變化:是的; |
5類LSA:external LSA |
表示的是OSPF的外部路由,沒有任何區域概念; 能夠在OSPF網絡中暢通無阻。 哪裏有OSPF,哪裏就有5類LSA。 |
link-id:表示的是外部路由前綴; adv:ASBR的 RID ; 傳輸範圍:沒有限制; ADV是否變化:否 |