OSPF路由協議簡介

OSPF(open shortest path first)開放式最短路徑優先協議,它是基於鏈路狀態的路由協議,使用IP頭中協議號89
OSPF的操作或者說原理:
1.發送HELLO報文,建立鄰接關係  用show ip ospf neighbor命令看到state項是FULL則表示已建立鄰接關係
2.通過泛洪LSA通告形成相同的鏈路狀態數據庫  
3.使用SPF算法形成路由表
OSPF使用SPF算法來避免環路,每臺路由器都形成以自己爲根的樹
OSPF路由器都需要提供一個路由器ID,CISCO路由器通過兩個方法來得到它們的router ID
1.路由器首先選取它所有的lookup接口上數值最高的IP地址
2.如果路由器上沒有配置lookup接口,那麼路由器將選取它所有物理接口上數值最高的IP地址,用作路由器ID的接口不一定要運行OSPF協議
OSPF的HELLO協議
1.它是發現鄰居路由器的方法
2.在兩臺路由器成爲鄰居之前需要通過HELLO報文協議通告這兩臺路由器必須相互認可的幾個參數
3.HELLO報文在鄰居路由器之間擔當keepalive角色
4.它確保了路由器之間的雙向通信
5.它用來在廣播網絡或非廣播多址網絡上選取DR與BDR
HELLO報文包含的信息
1.始發路由器的路由器ID
2.始發路由器接口的區域ID
3.始發路由器接口的子網掩碼
4.始發路由器接口的認證類型與認證信息
5.始發路由器的HELLO時間間隔
6.始發路由器接口的路由器無效時間間隔
7.路由器的優先級
8.DR與BDR
9.始發路由器的所有有效鄰居的路由器ID
OSPF的網絡類型
1.點對點網絡(point-to-point) 在點到點網絡上的有效鄰居總是形成鄰接關係,發送OSPF報文的目的地址也總是224.0.0.5(串口)
2.廣播型網絡(Broadcast)         是多址網絡,要選舉DR與BDR(以太口網絡)
3.非廣播多址(NBMA)網絡     需要選舉DR與BDR,並且所有的OSPF報文都是單播的
4.點到多點網絡(Point-to-Multipoint)    在這種網絡上不需要選舉DR與BDR
5.虛鏈路(VirtualLinks)           在虛鏈路上OSPF報文是經單播方式發送的
所有的網絡都可以歸納爲傳送網絡與末梢網絡兩種
DR與BDR的選取過程
1.路由器和它的鄰居路由器之間首先成功建立雙向通信,即2-way狀態,接着檢查每臺鄰居路由器發送的HELLO報文的優先級、
   DR、BDR字段,列出所有具有DR和BDR選取資格的路由器列表,路由器的優先級必須大於0纔有資格竟選
2.從具有選取資格的路由器的列表中,創建一個還沒有宣告爲DR路由器的所有路由器的子集
3.如果在這個子集中的一個或者多個鄰居路由器,它們在HELLO報文的BDR字段包含了它們自己的接口地址,那麼具有最高優
   先級的鄰居路由器將宣告爲BDR路由器,在優先級相同的情況下,具有最高路由器ID的鄰居路由器將被選作BDR路由器
4.如果在這個子集中沒有路由器宣稱自己是BDR路由器,那麼具有最高優先級的鄰居路由器將被宣告爲BDR路由器,在優先級
   相同的情況下具有最高路由器ID的鄰居路由器將被選作BDR路由器
5.如果一個或多個具有選取資格的路由器在HELLO報文中DR字段包含它們自己的接口地址,那麼具有最高優先級的路由器將
   被宣告爲DR路由器,在優先級相同的情況下具有最高路由器ID的鄰居路由器將被選作DR路由器
6.如果沒有路由器宣稱自己是DR路由器,那麼新選取的BDR路由器將成爲DR路由器
    當一臺OSPF路由器啓動並去發現它的鄰居路由器時,它將去檢查有效的DR與BDR路由器,如果網絡中存在DR與BDR,這臺路由器將接受DR與BDR,如果不存在再執行選取過程
OSPF的五種數據包
1.hello數據包
2.database deseription(DBD)數據庫描述包
3.Link state request(LSR)鏈路狀態請求
4.Link state update(LSU)LSA包含在LSU中
5.Link-state acknowledgement(LSACK)
HELLO發送的地址爲224.0.0.5
DR/BDR的發送地址爲224.0.0.6
DR-other的發送地址爲224.0.0.5
OSPF計算COST的公式是cost=10的8次方/帶寬,不過在端口下用ip ospf cost xxx 命令來修改的話就不用這個公式了
非骨幹區域必須要連到骨幹區域0上來,它可以提高路由的效率與網絡的穩定性,否則則要採用虛鏈路來連接區域
虛鏈路的條件:
1.虛鏈路必須配置在兩臺ABR路由器之間
2.配置了虛鏈路所經過的區域必須擁有全部的路由選擇信息,也叫傳送區域
3.傳送區域不能是一個末梢區域
OSPF虛鏈路的配置例子:
拓樸:R0-------R1-----------R2------------R3         R0與R1間是area0.R1與R2間是area1.R2與R3間是area2,R1的router ID
是1.1.1.1,R2的router ID是2.2.2.2
配置:R1上area 1 virtual-link 2.2.2.2
        R2上area 1 virtual-link 1.1.1.1
這樣就可以了,區域2就可以連到骨幹區域0上來了,可用show ip ospf virtual-link
OSPF的區域
1.普通區域:   域內、域間與類型5的路由                  LSA1、LSA2、LSA3、LSA4、LSA5
2.stub區域:    域內、域間                                       LSA1、LSA2、LSA3、LSA4
3.total stub:   域內與一條默認的域間路由
4.NSSA   :     域內、域間與類型7的路由
5.total NSSA:域內、類型7、一條默認路由
OSPF類型1與類型2的區別,NSSA區域重分發的是E1與E2,非N1與N2,重分發命令red con sub me 1 met-type 1/2
E2/N2在OSPF傳播的時候cost永遠不變
E1/N1會根據所通過的網段增加cost值
OSPF的區域彙總
OSPF的域間路由彙總,在ABR上做      
             area x range a.b.c.d e.f.g.h   如area 1 range 10.0.0.0 255.255.192.0
OSPF的域外路由彙總,一般在ASBR上做,也可在ABR上做
             summary-address a.b.c.d e.f.g.h 如summary-address 11.0.0.0 255.255.252.0
OSPF的6種LSA
1.路由器LSA:由每臺路由器產生,這個通告列出了路由器所有的鏈路與接口,並指出了它們的狀態與沿每條鏈路方向出站的代
   價,這些LSA通告只會在始發區域內部泛洪    show ip ospf database router可查看所有路由器LSA通告
2.網絡LSA:是由DR路由器發出的LSA通告,它列出了所有與之相連的路由器,包括它本身,也只是在區域內泛洪
   show ip ospf database network
3.網絡彙總LSA:是由ABR路由器發出的,ABR路由器發送一個網絡彙總LSA到一個區域,用來通告該區域外部的目的地址
   show ip ospf database summary      雖然在一個區域內部OSPF協議是一個鏈路狀態協議,但是它卻使用了距離矢量的算法
   來查找域間路由
4.ASBR彙總LSA:也是由ABR路由器始發的,ASBR彙總通告除了所通告的目的地是一個ASBR路由器而不是一個網絡外,其它
   的與網絡彙總LSA都是一樣的      show ip ospf database asbr-summary
5.自主系統外部LSA:也叫外部LSA,是由ASBR路由器的,用來通告到達OSPF自主系統外部的目的地或者是到OSPF自主系統
   外部的缺省路由的LSA,外部LSA通告將在整個自主系統中進行泛洪 show ip ospf database external
6.NSSA外部LSA:是指在非純末梢區域NSSA內始發於ASBR路由器的LSA通告,這個通告與自主系統外部LSA沒什麼區別,
   只是它僅僅在NSSA區域內部泛洪         show ip ospf database nssa-external
OSPF的路由表查找
區域內路徑--------->區域間路徑------------>E1外部路徑------------->E2外部路徑
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章