文章目錄
鏈路狀態路由協議——OSPF
開放式最短路徑優先OSPF(Open Shortest Path First)協議是IETF定義的一種基於鏈路狀態的內部網關路由協議
OSPF與RIP比較
內容 | OSPF | RIPv2 | RIPv1 |
---|---|---|---|
協議類型 | 鏈路狀態 | 距離矢量 | 距離矢量 |
CIDR | 支持 | 支持 | 不支持 |
VLSM | 支持 | 支持 | 不支持 |
自動彙總 | 不支持 | 支持 | 支持 |
手動彙總 | 支持 | 支持 | 不支持 |
路由的泛洪 | 週期性的組播更新 | 週期性的組播更新 | 週期性的組播更新 |
路徑的開銷(度量值) | 帶寬 | 跳數 | 跳數 |
路由的收斂速度 | 快 | 慢 | 慢 |
跳數的限制 | 沒有限制 | 限制15跳 | 限制15跳 |
認證 | 支持 | 支持 | 不支持 |
層次化網絡 | 支持(區域) | 不支持 | 不支持 |
路由更新 | 事件觸發更新 | 路由表更新 | 路由表更新 |
路由的計算方法 | SPF | Bellman-ford | Bellman-ford |
- OSPF組播地址爲224.0.0.5或224.0.0.6
- RIPv2組播地址爲224.0.0.9
OSPF原理
- LSA泛洪(鏈路狀態通告)包含:
- 接口信息
- IP地址
- 子網掩碼
- 帶寬
- 鏈路信息(類型)
OSPF工作原理:
- 路由器發送LSA(鏈路狀態通告)
- 每臺路由器收到LSA後,會把它放在自己的數據庫中(LSDB),完成所有的LSA泛洪之後,每臺路由器的LSDB是一樣的
- 根據自己的數據庫,以自己爲根(定點,節點),使用SPF算法,計算到目標網絡的最短路徑,然後將此路徑放入到路由表中
OSPF報文
- OSPF報文封裝在IP報文中,協議號爲89
- 五中報文類型:
Hello
報文,用來建立並維護鄰居關係DD(Database Description)
報文(也叫DBD報文),數據庫的目錄信息LSR(LSA Request)
報文(LSA請求報文)LSU(LSA Update)
報文(LSA更新報文)LSACK(Link State Acknowledgment)
報文(LSA確認報文)
Router-id
用來標識一臺OSPF的路由器,使用點分十進制來表示,所有的OSPF報文中都會攜帶Router-id參數
實驗一:如圖配置IP,配置OSPF,要求R1、R2、R3互通。
[R1]ospf 1 //指定OSPF的進程號1
[R1-ospf-1]area 0 //進入骨幹區域
[R1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255 //宣告網段
[R1-ospf-1-area-0.0.0.0]net 1.1.1.1 0.0.0.0 //宣告精確地址
-
反掩碼(通配符掩碼)
- 作用:匹配的是IP地址的範圍
- 二進制0,表示精確匹配
- 二進制1,表示一個範圍
-
OSPF選舉Router-id過程:
- 手動指定的Router-id爲最優的
- 沒有手動指定,會選擇最大的已經激活的物理地址
- 如果開始啓動了OSPF進程,沒有配置Router-id,那麼OSPF會自動選舉Router-id
- 如果此手動指定Router-id需要重新啓動OSPF進程(用戶視圖下執行
reset ospf pro
),新的Router-id才能生效
- 鄰居狀態機
Init
交換Hello報文2Way
交換Hello報文Exstart
交換DD報文Exchange
交換DD報文Loading
交換LSR和LSU報文Full
交換LSACK報文
- 鄰居:兩臺路由器的狀態到達2Way,建立鄰居關係。不能交換信息
- 鄰接:兩臺路由器的狀態到達Full,建立鄰接關係。可以交換信息
- 鄰居發現:通過Hello報文來發現和維持OSPF鄰居關係
OSPF支持的網絡類型
- 廣播類型(以太網)
- 點到點類型(P2P)
- 非廣播多路訪問(NBMA)
- 點到多點(P2NP)
DR&BDR
- DR:指定路由器
- BDR:備份指定路由器
- DR-Other:其他指定路由器
DR和BDR可以減少OSPF網絡中的LSA,可以減少OSPF網絡的流量泛洪
DR&BDR選舉
- DR是基於端口的路由器優先級進行選舉的,默認優先級爲1
- 優先級高的將成爲DR,次高的將成爲BDR,優先級爲0則不參與選舉
- 如果優先級相同,選舉Router-id大的爲DR,次大的成爲BDR
- DR和BDR具有搶先機制,誰先啓動,誰就成爲DR或BDR
- 更改優先級爲0
[R2-GigabitEthernet0/0/1]ospf dr-priority 0
- 更改優先級後需要重啓OSPF進程
[R2]reset ospf pro
DR、BDR、DR-other的關係:
- 查看OSPF鄰居關係,系統視圖下
dis ospf peer bri
- 重啓OSPF進程用戶視圖下
reset ospf process
- 修改OSPF優先級,在接口視圖下
ospf dr-priority 10
OSPF區域
劃分規則:
- 劃分骨幹區域和非骨幹區域,有且只有一個骨幹區域
- 非骨幹區域必須有一個接口跟骨幹區域相連
劃分區域的目的:
- 防止環路
- 減少網絡中的LSA泛洪
- Area 0爲骨幹區域,其餘爲非骨幹區域
ABR
區域邊界路由器,連接兩個或兩個以上區域的路由器IR
非骨幹區域內的路由器ASBR
自制系統的邊界路由器,同時運行兩種路由協議的路由器,連接兩個自治系統的路由器
- 每個區域都維護一個獨立的LSDB
- Area 0是骨幹區域,其他區域都必須與此區域相連
- 不規則鏈路可以通過Vlink解決
OSPF無法建立鄰居關係:
- router-id重複
- 區域號不一致
OSPF開銷
# 修改cost值
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ospf cost 20
# 修改帶寬
[R1]ospf
[R1-ospf-1]bandwidth-reference 10000
OSPF認證
- 接口認證
- 區域認證
# 基於接口認證
[R1]interface GigabitEthernet0/0/0
[R1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher huawei
兩種都配置了的話,接口認證優於區域認證
實驗二:如圖配置IP地址,需求使用OSPF配置,實現全網互通。
- 配置完成後,可以在R1到R2的上抓包,可以看到以下信息
OSPF Header :
Version: 2 //主版本號
Message Type: Hello Packet (1)
Packet Length: 48 //包長度
Source 0SPF Router: 2.2.2.2 //R2的Router-id
Area ID: 0.0.0. 0 (Backbone) //區域
Checksum: 0x8670 [ correct]
Auth Type: Null (0) //OSPF認證字段,沒有配置爲空
Auth Data ( none): 0000000000000000
0SPF Hello Packet //Hello報文
Network Mask: 255. 255.255.0
Hello Interval [sec]: 10 //Hello報文間隔時間爲10s
> Options: 0x02, (E) External Routing
Router Priority: 1 //路由優先級
Router Dead Interval [sec]: 40 //死亡時間40s,是Hello報文存活時間的四倍
Designated Router: 172.16.12.1 //DR爲R1
Backup Designated Router: 172.16.12.2 //BDR爲R2
Active Neighbor: 1.1.1. 1
拓展:OSPF多區域配置,需求全網互通。
廣域網基本原理
HDLC&PPP原理與配置
高級數據鏈路控制(HDLC)和點對點協議(PPP)是兩種典型的串口封裝協議
PPP是IE面試會考到的重點
HDLC
- HDLC(High-level Data Link Control):高級數據鏈路控制,面向比特的鏈路層協議
- HDLC有三種類型的幀:信息幀、監控幀、無編號幀
- 串行接口可以借用Loopback接口的IP地址和對端建立連接
實驗三:如圖配置IP地址,使用HDLC接口調用配置接口。
需要添加接口卡,使用串行線連接串行接口
[R1]interface Serial 1/0/0 //進入串口
[R1-Serial1/0/0]link-protocol hdlc //接口默認是PPP,改爲hdlc
[R1-Serial1/0/0]ip address unnumbered interface loopBack 0 //借用地址
[R1]ip route-static 12.1.1.0 30 s1/0/0 //配置靜態路由
PPP
- PPP是點到點的鏈路層協議
- 主要用於在全雙工的同異步鏈路上進行點到點的數據傳輸
- PPP組件:
名稱 | 作用 |
---|---|
鏈路控制協議(Link Control Protocol) | 用來建立、拆除和監控PPP數據鏈路 |
網絡層控制協議(Network Control Protocol) | 用於對不同的網絡層協議進行連接建立和參數協商 |
- PPP鏈路建立過程
- PPP鏈路中啓動後會進入Establish階段,LCP鏈路控制協議交互
- LCP(鏈路層控制協議)中交換內容:
- 魔術字(防環)
- MRU(最大接收單元,1500)
- 認證參數
- 鏈路信息
- PPP認證需要發送Request請求
- 認可,對端會回覆ACK,會建立連接
- 不認可,對端會回覆NAK,不會建立連接
- 無法識別,對端會回覆reject,不會建立連接
- Request在Establish階段不被認可或無法識別會進入FALL階段,建立連接失敗
- Request通過認可通過後會進入OPENED階段,認證不通過會進入FALL,進入終結階段,建立連接失敗
- 認證通過,會進入Network階段,也叫NCP(網絡層控制協議)階段,然後進入IPCP階段,互推地址,建立連接成功
- 關閉連接,進入CLOSING,然後進入終結階段,關閉連接
實驗四-PAP認證:如圖拓撲,配置IP地址,配置PPP的PAP認證。
需要添加接口卡,使用串行線連接串行接口
LCP報文:
報文類型 | 作用 |
---|---|
Configure-Request | 包含發送者試圖與對端建立連接時使用的參數列表 |
Configure-Ack | 表示完全接受對端發送的Configure-Request的餐宿取值 |
Configure-Nak | 表示對端發送的Configure-Request中的某些參數取值在本端不被認可 |
Configure-Reject | 表示對端發送的Configure-Request中的某些參數本端不能識別 |
LCP協商參數:
參數 | 作用 | 缺省值 |
---|---|---|
最大接受單元——MRU | PPP數據幀中Information字段和Padding字段的總長度 | 1500字節 |
認證協議 | 認證對端使用的認證協議 | 不認證 |
魔術字 | 魔術字爲一個隨機產生的數字,用於檢測鏈路環路,如果收到的LCP報文中的魔術字和本端產生的魔術字相同,則認爲鏈路有環路 | 啓用 |
- 認證的方式有兩種:
- 明文認證——PAP
- 密文認證——Chap,需要MD5的計算
PPP認證模式-Chap
- 認證方發送Challenge報文,發起認證請求
- 被認證方收到報文後,會進行MD5計算,回覆Response報文
- 認證方收到報文後,會進行加密的報文與收到的報文進行信息的對比
- 正確會回覆Success報文,錯誤會回覆Failure報文
實驗四-Chap認證:如圖配合IP地址,配置PPP的Chap認證。
IPCP靜態地址協商
- R1發送Configure-Request報文,包含自己接口的IP地址
- R2收到報文後,會跟接口地址匹配,不衝突,會回覆一個Configure-Ack的報文,同時會發送一個Configure-Request報文
- R1同樣會與接口地址匹配,不衝突,會回覆一個Configure-Ack報文
- 建立連接,可以互推地址
IPCP動態地址協商
- RTA的s1/0/0沒有配置IP地址,RTB有IP地址池
- RTA會發送一個請求報文附帶0.0.0.0這個IP地址給RTB
- RTB收到後,會回覆一個Nak報文,並且附帶從地址池中選出一個沒有使用的IP地址
- RTA收到報文後,會請求使用附帶的IP地址
- RTB收到報文後,會回覆一個Ack報文,確認此IP地址可以使用
- RTB發送Configure-Request報文,附帶本接口的IP地址
- RTA收到報文後,會與本地接口的IP地址匹配,在同一個網段,就會回覆Ack報文
- 完成動態地址協商的過程
以上內容均屬原創,如有不詳或錯誤,敬請指出。
本文鏈接:
https://blog.csdn.net/qq_45668124/article/details/105415744
版權聲明:
本博客所有文章除特別聲明外,均採用
CC BY-NC-SA 4.0
許可協議。轉載請註明出處!