ospf工作原理
鏈路狀態路由協議
open標準
最短路徑優先(spf)算法
鏈路狀態路由協議(vs,距離矢量)
與rip的區別
rip是週期性更新(30)
ospf 不發送完整的路由條目但是它發送鏈路狀態的更新
有不同的分組()
ospf是根據增量更新
ospf收斂快、避免環路
ospf可以發送子網掩碼信息支持vlsm(超網)還支持認證
注:ripv1不支持認證 ripv2支持認證
算法:
每個路由器都將自己看做一棵樹的根,依據到達目的地的累積成本計算最短路徑
Cost=10的8次方除以帶寬(bps)
cost --帶寬 越大優先就越大
(支持等待價的負載均衡)
基於組播來發送hello包
10秒鐘發送一次hello包
ospf 佔用低帶寬
ospf分層的路由
由區域組成
主幹區域
簡單區域
路由更新流量很少
ospf有三張表
鄰居表(只記錄跟它相連的信息)
路由表(包含全部的路由表與其兩張表的不同時只裝載到最優的路徑)
鏈路狀態表(它包含整個區內的整個路徑全部包含)
ospf分組類型和狀態
type1:hello分組:用來與建立鄰居關係 通告鄰居關係......
type2:數據庫描述分組(DBD)用來描述ospf鏈路狀態數據庫的內容
type3: 鏈路狀態請求(lsr)請求相鄰路由器發送鏈路狀態數據庫中的特定項 (我向你請求我不知道的那一條鏈路狀態的那一條信息)
type4:鏈路狀態更新(LSU)向鄰居路由器發送鏈路狀態通告
type5:鏈路狀態確認(LSACK)確定收到鄰居路由器的LSA
核心內容 ACK
ospf分組類型和狀態
ospfde接口可以處在下面7種狀態,ospf 鄰居關係的建立由上而下逐步發展
1 DOWN停止狀態:ospf沒有進入任何狀態,等待進入inti狀態
(就是初始狀態)
2init 初始狀態:ospf接受到hello包後就到了初始狀態 每十秒鐘發送一個類型1的hello包,受到hello包的路由器進入init狀態
3 收到hello包裏的本地信息 它就可以進入two-way雙向狀態:hello包中包含已知的鄰居列表,當接收到該hello的路由器發現自己出現載對方發送過來的hello包中時,進入two-way狀態
4Exchange 準啓動狀態:成爲鄰居狀態,以hello分組標識路由器id來決定主從狀態(以經成爲鄰居狀態但是全鄰居裝態)
5Exchange 交換狀態:交換DBD分組描述鏈路狀態數據庫,並用LSAck分組確認
(用來dbd分組描述鏈路裝態 並用LSAck確認)
6 Loading 加載狀態 描述的過程中使用類型3的分組LSR請求完整的信息,然後使用LSU進行迴應,LSU分組中含有確切的LSA,最後用類型5的包LSAck確認
(LSR請求完整的信息 LSU分組中包含確切的LSA)
7Full adjacency 全鄰接狀態:每一臺路由器保存着一張鄰居路由器的數據庫。
(全部鏈接狀態)
注:LSACK確認
(1)hello
dowh ------------> init
hello ruter id (大)
two-way <------------
exstart router id (2)
-------------->
routerid lsr(3)
<---------------- DBD 鏈路
exclayge
4LSU
<----------------
lsaCK
Full adjacency ---------------->
七種狀態
五種類型
ospf運行步驟
1建立路由器鄰接關係:進入TOW-way狀態
2選舉DR和BDR 優先級+路由ID
3發現路由,進入EXSTART狀態確定主從關係交換鏈路狀態數據庫
4選擇適當的路由。spf算法cost成本度量
5維護路由選擇更新
注:在一個網絡中DR和BDR的選舉是靠優先級和routeID計算
如果在一個網絡中DR段了的話那BDR就會成爲DR
優先級是0-255
優先級爲0的話不會參與選舉
要是都是255的話就最看routerid
接口類型 耗費
100Mbps FDDI 1
10Mbps Ethernet 10
1.544Mbps T1 串行鏈路 64
56Kbps串行鏈路 1768
一個網絡中優先級最高的就成爲DR優先級次高的就成爲BDR
224.0.0.6 組播 DR與BDR能接收到了地址。
224.0.0.5 代表所有運行ospf的路由器除了DR和BDR的不能收到省下的都能收到