網絡——OSPF

RIP、BGP和OSPF的區別:

(應用場景,性質,路由選擇,收斂速度,穩定性)

協議類型:BGP外部網關協議,RIP、OSPF是內部網關協議;

選路原則:RIP基於距離矢量選擇路由;OSPF基於鏈路狀態選擇路由;BGP是高級距離矢量路由協議,通過選路原則選擇路由;

應用場景:BGP跑在內部網關協議上,所以BGP適合用於非常大型的網絡;如運營商之間或者是大型企業之間;OSPF適用於大型網絡;RIP適用於較小型網絡;

端口號/協議:BGP基於TCP179號端口,OSPF基於IP協議89號端口,RIP基於UDP520端口;

交換內容:RIP交換本路由器的路由表,OSPF交換整個網絡拓撲的路由鏈路狀態,BGP第一次交換整個路由表,非首次交換變化部分;

收斂速度:RIP收斂速度較慢,“好消息傳得快,壞消息傳得慢”hello包週期更新時間是30秒;OSPF收斂速度較快,hello包週期更新時間是10秒;BGP收斂速度比較慢;

穩定性:RIP不夠穩定;

 

提高OSPF協議的快速收斂:

1.配置OSPF GR,保障在設備發生主備切換時轉發不中斷;

2.配置bfd for ospf ,將鏈路狀態快速通知給OSPF模塊;

3.在點對點的廣播網絡中,將接口的網絡類型設置爲P2P,減少OSPF Peer建立的時間;

4.調整OSPF各種定時器,加速協議收斂速度,主要的幾個定時器是LSA-Original-Interval

LSA-Arrival-Interval、spf-schedule-interval,在需要OSPF的網絡中,推薦幾個定時器的值參考:

spf-schedule-interval intelligent-timer 200 50 50

LSA-Original-Interval intelligent-timer 100 50 50

LSA-Arrival-Interval intelligent-timer 100 50 50

 

提高BGP協議的收斂速度:

1.配置BGP GR 保障設備發生主備切換是轉發不中斷;

2.配置bfd 佛陀BGP 將鏈路的狀態快速通知給BGP模塊

3.是能BGP Auto FRR 使BGP 的兩個鄰居切換或者兩個下一跳切換達到亞秒級別的收斂速度;

 

 

OSPF的穩定狀態:

穩定狀態有DOWN 2-way Full

非穩定狀態有init exstart exchange loading attempt(NBMA特有的狀態,嘗試與指定鄰居建立鄰居關係階段)

 

鄰居和鄰接有什麼區別,什麼情況纔出現鄰居,什麼情況出現鄰接?

OSFP一共有8個狀態機;down 2-way full 是穩定狀態機,其他都是非穩定狀態機;所謂鄰居關係是指只要與對端鄰居關係建立到2-way狀態就可以了,並且用到的報文只有HELLO;如果是鄰接關係,就要用到DBD,LSR,LSU,LSACK;鄰居只需要使能,收到對端的HELLO報文,並且自己在對端的鄰居列表就可以了;鄰接,是在建立鄰居關係之上,從而交互路由信息。

 

ospf中option的作用有哪些?分別是哪些情況下置位?

option是ospf的可選功能,描述路由器所支持所選的功能。一共有五位;

E位:該位描述是否洪泛AS-external-LSA

MC位:該位描述是否多播擴展OSPF轉發IP多播包;

N/P位:該位描述處理類型7 LSA

EA位:該位描述是否按OSPF外部屬性inprogress的說明忽略還是接受並轉發External-Attributes-LSA

DC位:該位描述按擴展OSPF和支持需求電路的說明處理按需鏈路;

 

ospf中的LSA報文頭,分別在五種報文類型中包含LSA報文頭的哪些信息?

DD包括LSA頭部信息,LS類型,LS ID,Advertising(此LSA生存者);

LSR只有LS類型。

 

OSPF在進程中重啓,爲什麼鄰居能快速建立,而不是像創建進程一樣,需要等待那麼長時間?

OSPF的鄰居存活時間是40秒,在路由器之前成功建立鄰居正常情況下,一邊重啓進程,而另一邊鄰居還正常的存活在鄰居表中;但是但這邊重啓好了,發送hello的時候,對端即轉到init狀態,並且所有的狀態只需交互一個報文;

 

OSPF陷入了init狀態?

一方訪問控制列表阻止了hello;

一方多播能力失效;

 

OSPF陷入了2-WAY狀態?

類似於所有路由器的優先級都爲0,不會發生選舉,所有路由器停留在雙向狀態;

 

OSPF陷入了EXSTART/EXCHANGE

在EXSTART或者EXCHANGE狀態的OSPF正處於嘗試交換DBD分組的過程;

原因可能是不匹配的MTU;鄰居上重複的路由器ID;無法用超過特定MTU長度進行PING;斷掉的單播連通性,它可能是因爲錯誤的DLCI,訪問控制列表或轉換單播NAT;

 

OSPF陷入LOADING

鄰居沒有應答或者鄰居應答從未到達本地路由器,路由器也會陷入loading狀態;原因:不匹配的MTU

 

爲什麼OSPF和BGP在重分佈的時候,OSPF路由的下一跳不確定,導致選路錯誤?

這是有BGP環路引起的,在雙出口的BGP中,如果BGP裏面宣告或學習到的路由都一樣,建議修改preferred-value值;把環路取消,再做重分佈;

 

OSPF和STP結合組網,一般會遇到什麼問題?

一個協議所有功能都包含在報文中,報文中的某個字段置位,也就是這個協議的功能無法開啓,不管OSPF與哪個協議組網,只要不影響OSPF的報文收和發就可以了;

注意的是:STP在收斂的時候,會導致端口堵塞,正常流量沒有辦法通過,那麼就會造成OSPF的報文沒辦法正常交互;會莫名其妙的卡在一些狀態機上,只有當STP收斂好,OSPF正常交互報文才能意義排除;

 

OSPF和BGP組網會遇到哪些問題:

BGP和OSPF都是第四層協議;只有OSPF正常建立了鄰接關係,BGP才能正常交互OPEN相關的一些報文;如果OSPF和BGP組網,首先檢查OSPF相關的設置和錯誤,然後在檢查BGP;

 

OSPF和IPsec組網,會遇到什麼問題?

兩個協議相互獨立,IPsec不兼容組播;所以在一些正常情況下,IPsec無法載荷ospf的hello包;

IPsec對單播支持還算完美,OSPF並不是所有報文目的都是組播,其中NBMA虛連接等都是使用組播爲目的地址的,只要是單播情況下,IPsec就能正常載荷組播(加密);

那OSPF能載荷IPsec數據嗎:IPsec利用ospf自動發現的路由作爲remote地址,所以IPsec結合OSPF,首先要注意OSPF的網絡類型,以組播的,是不可以被加密的;

 

ospf區域怎樣劃分才合理?

跟着路由器的性能和拓撲環境走;OSPF只會將最優路由安裝在路由表中,但是,在OSPF數據庫中,所有的LSA都存在;如果網絡路徑大佬,對OSPF是個大挑戰;RFC作者在90年推薦,一個區域最好不超過50臺路由器。

 

兩臺路由器通過直連鏈路,建立OSPF鄰居,那麼一邊使用P2P,一邊使用P2MP,能正常建立鄰居嗎

不能,因爲兩個網絡類型的hello interval不一樣,OSPF進程檢查一個hello報文是否合法,其中hello interval就在檢查範圍內;當一臺路由器接受到另一臺路由器的包時,就會丟棄此hello包,鄰居就不能正常建立起來;

 

什麼情況下,OSPF error 的OSPF routerID confusion 數值會增加;(router-id衝突)

RFC規定:ospf的router-id在整個AS中唯一,而router-id又起着防環的作用,關於router-id衝突,一共有三種情況:

第一種:區域內router-id衝突,骨幹區域與骨幹區域、非骨幹區域與非骨幹區域衝突,後果就是,OSPF不能正常建立鄰居,所以就不能正常交互LSA信息;

第二種:區域間的router-id,多區域情況下發生,後果是路由時有時無,兩個衝突的路由器學到的路由,在路由表裏,一下有,然後又消失了,然後又出現了

第三種:虛連接router-id衝突,虛連接無法建立;

 

什麼情況下,OSPF 八點version數值會增加;

ospf的版本出錯,或者說ospf版本字段損壞,解決辦法:檢查OSPF版本是否配置正確,然後重啓OSPF進程就可以了;

 

什麼情況下,OSPF bad area ID 數值會增加?

區域ID配置錯誤,如果是骨幹區域和非骨幹區域,那麼骨幹區域的路由器上,OSPF bad area ID數值會增加,而在非骨幹區域上顯示的是虛連接增加;OSPF bad virtual link , 如果都是非骨幹區域,那麼兩邊的OSPF bad area ID都會增加;

 

什麼情況下,OSPF bad virtual link數值會增加?

OSPF虛連接錯誤,只要是非骨幹區域和骨幹區域不連續,都會出現此錯誤:

一、如果非骨幹區域沒有骨幹區域,但是在同一個網段,那麼會出現OSPF bad area ID 升值,因爲OSOF區域針對的是網段和接口,並不是針對路由器;

二、OSPF虛連接是建立在正常deOSPF鄰居之上的,所以在虛連接DOWN的情況下,先檢查ospf鄰居是否正常;

三:ospf並不能跨區域建立虛連接;如果是跨區域,那麼ospf的目的地址確定不了,報文就不能正常發送;

 

什麼情況下,OSPF bad authentication key數值會增加?

實現OSPF驗證時,區域內啓用OSPF驗證,接口和區域內必須使用同一種驗證模式,否則接口不能發送hello包;驗證方式有區域內驗證和接口下驗證,若該字段升值,肯定是兩邊接口的KEY出錯了;

 

什麼情況下,OSPF Neighbor state low 會升值

此數值會跟着鏈路震盪,會依次升序,(如鄰居UP、DOWN、或者鏈路狀態不穩定;)

 

什麼情況下,HEllO:Netmask mismatch數值會升值;

ospf在除了點到點和虛連接情況下,都必須嚴格匹配network mask字段,是驗證一個hello是否合法,該字段升值,肯定是兩邊接口掩碼不一致;

 

什麼情況下,HELLO:Dead timer mismatch字段會升值?

驗證hello是否合法:

一、如果端口類型是廣播類型,或NBMA型,那麼接受的端口中,NETWORD MASK字段必須和接收端口的網絡掩碼一致,如果端口類型爲點到點,或者虛連接,那麼會忽略此字段;

二、所接受的hello報文中的hello interval字段必須和接收端口一致

三、所接受的hello報文中,router dead interval字段必須和接收端口的配置一致;

四、所接受hello報文中的OPTION字段的E-bit,必須和相關區域的配置一樣;

 

什麼情況下,HELLO:Neighbor unknown 升值?

hello包的鄰居字段配置錯誤

 

什麼情況下,DD:Unknown LSA type升值?

路由器在數據庫同步是,收到未知的LSA類型;

 

什麼情況下,LS ACK:bad ack升值?

OSPF大概哪幾種情況下發送LSACK信息:

一、剛確定建立鄰接關係時,鄰居狀態到loading時,收到對方LSU報文後,回覆LSACK,鄰居狀態機並轉換到FULL狀態;

二、LSA的LS時限等於MaxAge,而且路由器的鏈接狀態數據庫中沒有該LSA實例,而且路由器的鄰居都不處於Exchange或Loading狀態,那麼此使路由器發送一個LSack包到發送的鄰居確認收到該LSA或丟棄該LSA,並從LSU包中取得下一個(若存在)

 

LSA UPD: LSA checksum bad升值,LSA UPD:Unknown LSA type?

在RFC中,對每個包含在LSU包中的LSA,進行下面步驟:

一、確認LSA的LS校驗和;若無效,丟棄該LSA

二、檢查LSA類型,若類型未知,丟棄;

若上述步驟出錯,字段升值;

 

OSPF bad packet字段升值

OSPF非法報文,此報文通過了報文頭驗證,但是某些字段過長,導致ospf進程或路由器無法識別;

 

OSPF bad checksum升值:

從OSPF包頭開始,除了64位的驗證域外,整個包的標準IP校驗和。該校驗和作爲16位1補足校驗和而計算包中除驗證域外的所有16位字;如果包的長度不滿足16位字,就在校驗和前加上一個字節的0補足;

校驗和出錯,字段升值

 

OSPF drop on unnumbered interface 字段升值

某個地址借用接口上丟棄的ospf報文數

 

OSPF bad authentication type升值:

區域內驗證類型不一致,導致該字段升值,區域內驗證有兩種,一種是MD5一種是simple

 

OSPF packet too small

ospf報文沒正常封裝,或者封裝的包太小;

 

OSPF transmit error

傳輸出錯的OSPF報文數

 

OSPF unknown neighbor

未知的OSPF鄰居,在廣播網絡環境下,當一個接口修改Dead值時。由於Dead值必須要和Hello interval 必須相同,否則就會出錯;但是修改此值之後,首先在OSPF ERROR中,HELLO:Dead imer mismatch 此項升值,當網段內其他路由器正常建立鄰居而泛洪LSACK時,此路有接收到其他路由器的一些報文,此字段就會升值;

 

HELLO:hello timer mismatch

hello包的time值不匹配

 

HELLO:Extern option mismatch升值

E-bit字段不匹配

 

DD:MTU option mismatch升值

DD包中標識IP包大小的接口MTU域,大於該路由器接口所能接受的不分片大小,拒絕該DD包;

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章