OSPF:開放式最短路徑優先
協議 OSPF(Open Shortest Path First開放式最短路徑優先)是一個內部網關協議(Interior Gateway Protocol,簡稱IGP),用於在單一自治系統(autonomous system,AS)內決策路由。是對鏈路狀態路由協議的一種實現,隸屬內部網關協議(IGP),故運做於自治系統內部
AD 思科OSPF的協議管理距離是110
華爲OSPF的協議管理距離是150
鏈路狀態 鏈路是路由器接口的另外一種說法,所以OSPF也稱爲接口狀態路由協議
OSPF經過路由器之間通告網絡接口的狀態來創建鏈路狀態數據庫,生成最短路徑樹,每一個OSPF路由器使用這些最短路徑構造路由表
LS-支持網絡的層次化設計
-區域 骨幹 : 0區域,就是骨幹區域
非骨幹:不是區域0的,都叫作非骨幹區域
全部的非0區域,必須直接鏈接0區域;
非0區域之間,不能夠直接進行通訊的;
Hello協議的目的 1.用於發現鄰居
2.在成爲鄰居以前,必須對Hello包裏的一些參數協商成功
3.Hello包在鄰居之間扮演着keepalive的角色
4.容許鄰居之間的雙向通訊
5.它在NBMA(Nonbroadcast Multi-access)網絡上選舉DR和BDR
創建鄰居影響因素 一、確保最小範圍內雙向ping通;
二、可以正常發送OSPF報文;
#確保鏈路正常宣告;
三、可以正常接收OSPF報文;
#確保鏈路正常宣告;
#確保ACL放行 OSPF 流量;
四、開始比較OSPF報文參數:
一、RID不能相同;
router ospf 1
router-id x.x.x.x
clear ip ospf process
二、區域ID必須相同;
三、認證必須成功(認證類型必須相同,而且密碼必須相同)
四、子網掩碼必須相同(特殊狀況下)
五、hello時間必須相同;
interface fas0/0
ip ospf hello-interval {value}
六、dead時間必須相同;
interface fas0/0
ip ospf dead-interval {value}
七、特殊標記位必須相同;
八、優先級必須不能全爲0(特殊狀況下)
九、3層MTU必須相同,不然會卡在Exatart狀態
Interface fas0/0
Ip mtu +num(如1499)
MTU MTU-最大傳輸單元<max transmit unit> 1500
Hello packet包含 1.源路由器的RID
2.源路由器的Area ID
3.源路由器接口的掩碼
4.源路由器接口的認證類型和認證信息
5.源路由器接口的Hello包發送的時間間隔
6.源路由器接口的無效時間間隔
7.優先級
8.DR/BDR
9.五個標記位(flag bit)
10.源路由器的全部鄰居的RID
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種網路類型 OSPF的工做過程,徹底由網絡類型來決定;任何一種類型的鏈路,默認都對應着一種網絡類型,可是,能夠基於網絡需求,進行人工修改
類型 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類型
LSA的類型: LSA的摘要信息詳解: LSA的摘要信息中表明的意思
OSPF的數據庫中包含的是 LSA ;
OSPF的數據庫是以區域的形式來組織 LSA 的;
同一個區域中的全部路由器,數據庫是徹底同步的; link-id:表示的是LSA的名字,
adv:表示的是產生這個LSA的路由器的名字;
age:表示的是存活時間;最大存活時間是3600s;
seq:表示的序列號;LSA表示的鏈路每變化一次,LSA的序列號就會增長1;
checksum:校驗和,用於確保 LSA在傳輸過程當中,沒有被損壞。
link-count:鏈路計數器,只有1類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區域;
二、能夠將0區域中的「域內-O」路由,轉變成3類LSA,發送到非0區域;也能夠將0區域中的「域間-OIA」路由,轉變成新的3類LSA,發送到其餘的非0區域中;
三、必定不能夠將非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是否變化:否
注意:
計算域內路由時,使用的1類或者1類和2類LSA;
計算域間路由時,使用的是3類和1類;
計算外部路由時,使用的是5類和1類,或者是5類,4類和1類;ide
非0區域沒有直接與0區域互聯,解決方案: 一、引入外部路由;
#運行多個OSPF進程,而且相互之間進行重分發;
二、引入內部路由(O IA)
#引入虛鏈路。
通虛鏈路創建的OSPF鄰居關係,永遠都是屬於區域0的;
路由過濾 distribute-list(只能是作入向的「路由」過濾)
acl/prefix-list 設計
前綴列表
同時看前綴和掩碼,在全部的IGP中都能用;
Metric Metric(在OSPF中,稱之爲 cost - 開銷)
不管是什麼協議的路由,在計算Metric的時候,僅僅關心的是路由沿傳遞方向上的全部入端口的;
OSPF的路由的 Metric 計算方法爲:沿路由傳遞方向,全部入端口的 cost 的累加和。code
Cost = 100000000/bw ( bw表示的是接口帶寬,代爲是 bit ) 所得除數小於1的,都按照整數1來計算。 上面的 10的8次方,咱們稱之爲計算路由時的「參考帶寬」。
能夠經過命令進行你更改(當網絡中的路由器之間的互聯鏈路帶寬都大於100M的時候)
router ospf 1
auto-cost reference-bandwidth 1000(單位是Mbit;)
若是進行該參數的修改,必須在全網的每個路由器都得進行修改,不然會出現路由次優路徑。
彙總 自動彙總:NO
手動彙總:YES
-對象: 3類LSA和5類LSA
3類LSA彙總
在產生被彙總的3類LSA的ABR上進行配置配置完成之後,僅僅發送彙總以後的3類LSA,不發送明細LSA
而且會在本地造成一個針對彙總路由的Null0路由,目的是爲了實現防止數據轉發環路的產生。
5類LSA彙總
在產生5類LSA的 ASBR 上面操做
路由器類型 1.Internal Router:內部路由器router
-totally stub area : 徹底末節區域;
僅僅須要在 stub 區域的 ABR 上實施 -
router ospf 1
area 12 stub no-summary
此時的徹底末節區域,僅僅有1類LSA或者1和2類LSA,還有一個特殊的3類LSA,表示默認路由,是 ABR 自動產生的; 驗證命令:show ip ospf 對象
區域類型 OSPF的區域類型有不少:
標準區域、主幹、末節、絕對末節、NSSA、絕對NSSA
標準區域:默認的OSPF區域類型
主幹區域:就是area 0
末節區域:不接受五類LSA,若是要到AS外部,路由器會使用默認路由,其中末節區域不能包含ASBR
絕對末節:不接受五類LSA與三類LSA,路由器會有默認路由,也不能包含ASBR
NSSA:這是一種特殊的區域,它定義了七類LSA,NSSA具有了末節與絕對末節的優勢,可是能夠包含ASBR
路由協議支持的認證類型:
RIPv2->明文/密文
EIGRP->密文
OSPF->明文/密文/null
OSPF的認證: 鏈路認證(僅僅對某一個或者幾個鏈路)
啓動認證和配置密碼,都是在鏈路上進行的;
區域認證(對整個區域的全部的鏈路)
啓動認證是在 OSPF 進程下,對區域配置的;密碼,仍是配置在具體的鏈路上;
認證成功必須確保: 一、認證必須同時開啓 -->認證類型不一樣,一方是0,一方是1;
二、認證類型必須相同
三、認證密碼必須相同(也能夠同時爲空)-> mismatch authentication key 接口