HCIA_R&S-學習_Day04(鏈路狀態協議OSPF & PPP)


【實驗源碼參考GitHub】
【實驗拓撲參考GitHub】

鏈路狀態路由協議——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工作原理

在這裏插入圖片描述

  1. 路由器發送LSA(鏈路狀態通告)
  2. 每臺路由器收到LSA後,會把它放在自己的數據庫中(LSDB),完成所有的LSA泛洪之後,每臺路由器的LSDB是一樣的
  3. 根據自己的數據庫,以自己爲根(定點,節點),使用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,不會建立連接
  • RequestEstablish階段不被認可或無法識別會進入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報文
  • 完成動態地址協商的過程

以上內容均屬原創,如有不詳或錯誤,敬請指出。
本文作者: 壞壞
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章