第1章 路由選擇原理
1.1 幾個概念
1.1.1 被動路由協議
用來在路由之間傳遞用戶信息
1.1.2 主動路由協議
用於維護路由器的路由表
R2#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
C 192.168.2.0/24 is directly connected, FastEthernet0/0
C 192.168.3.0/24 is directly connected, Serial0/0/1
1.2 路由的來源
1.2.1 直連路由
直接連接到路由器上的網絡
1.2.2 靜態路由
管理員手工構建路由表
1.2.3 動態路由
路由器之間動態學習到的路由表
R2#show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 192.168.2.2 YES manual up up
FastEthernet0/1 unassigned YES unset administratively down down
Serial0/0/0 unassigned YES unset down down
Serial0/0/1 192.168.3.1 YES manual up up
Vlan1 unassigned YES unset administratively down down
1.3 靜態路由的配置命令
ip route network-address subnet-mask {ip-add | exit-initerface}
1.3.1 實例
ip route 192.168.1.0 255.255.255.0 192.168.12.2
ip route 192.168.1.0 255.255.255.0 serial 0
1.3.2 拓撲圖
1.3.3 R2路由信息
R2#show ip route
……
C 192.168.12.0/24 is directly connected, Serial0/0/0
C 192.168.23.0/24 is directly connected, Serial0/0/1
1.3.4 添加路由,讓R1與R3通訊
R1(config)#ip route 192.168.23.0 255.255.255.0 192.168.12.2
R3(config)#ip route 192.168.12.0 255.255.255.0 serial 0/0/1
出口是本地端的出口端口,下一跳是對端路由的入口ip
1.4 默認路由
配置方式
ip route 0.0.0.0 0.0.0.0. 192.168.12.2
下一跳的入口IP
1.5 lookback 環回接口配置
lookback就是路由器上一個環回地址,它是一個虛擬的接口。 可以確保路由ID的穩定性,該接口不會出現鏈路失效的情況。
R1(config)#interface loopback 0
R1(config-if)#
%LINK-5-CHANGED: Interface Loopback0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
1.5.1 練習
在R1上配置環回接口1.1.1.1
在R2上配置環回接口2.2.2.2
在R3上配置環回接口3.3.3.3
實現全網互通。
1.5.1.1 R1路由表
R1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
1.0.0.0/24 is subnetted, 1 subnets
C 1.1.1.0 is directly connected, Loopback0
2.0.0.0/24 is subnetted, 1 subnets
S 2.2.2.0 is directly connected, Serial0/0/0
3.0.0.0/24 is subnetted, 1 subnets
S 3.3.3.0 is directly connected, Serial0/0/0
C 192.168.12.0/24 is directly connected, Serial0/0/0
S 192.168.23.0/24 [1/0] via 192.168.12.2
1.5.1.2 R2路由表
Gateway of last resort is not set
1.0.0.0/24 is subnetted, 1 subnets
S 1.1.1.0 is directly connected, Serial0/0/0
2.0.0.0/24 is subnetted, 1 subnets
C 2.2.2.0 is directly connected, Loopback0
3.0.0.0/24 is subnetted, 1 subnets
S 3.3.3.0 is directly connected, Serial0/0/1
C 192.168.12.0/24 is directly connected, Serial0/0/0
C 192.168.23.0/24 is directly connected, Serial0/0/1
1.5.1.3 R3路由表
Gateway of last resort is not set
1.0.0.0/24 is subnetted, 1 subnets
S 1.1.1.0 is directly connected, Serial0/0/1
2.0.0.0/24 is subnetted, 1 subnets
S 2.2.2.0 is directly connected, Serial0/0/1
3.0.0.0/24 is subnetted, 1 subnets
C 3.3.3.0 is directly connected, Loopback0
S 192.168.12.0/24 is directly connected, Serial0/0/1
C 192.168.23.0/24 is directly connected, Serial0/0/1
第2章 動態路由協議 rip
2.1 什么是路由
根據目的地址查找路由表,依據路由表
2.1.1 路由表方法
R1#show ip route
2.2 路由協議的分類
2.2.1 靜態路由
由管理員根據數據訪問需求手工在每台設備上進行添加和維護
2.2.2 動態路由
路由器自動進行路由信息的更新和同步,並且當網絡拓撲變更時,能夠自動收斂。‘
2.3 動態路由協議
2.3.1 內部網關協議
距離矢量路由協議 rip
鏈路狀態路由協議 ospf
2.3.2 外部網關協議
BGP
2.4 距離矢量路由協議
使用距離矢量路由協議的路由器並不了解到達目的網絡的整條路徑。
改路由器只知道:
自身與目的網絡之間的距離
應該往哪個方向或使用哪個接口轉發數據包
2.4.1 距離矢量路由協議特點:
周期性的更新(廣播)整張路由表
2.4.2 初次路由信息交換
2.4.3 收斂完成
當所有路由表包含相同路由表
2.5 度量值 Metric
rip 以跳數作為metric
同一個路由器 收到多條去往同一目的地的路由會比較 Metric
會放在路由表當中。
2.6 管理距離(AD值) 總結
一台路由器,當它從兩種不同的動態路由選擇協議中,學習到去往同一個目的地的路由,這個時候比較AD值 取信小的,將路由裝入路由表進行數據轉發,另一條路徑,只有當優選的路徑down掉的時候,才能出現和使用
一台路由器,當它從同種動態路由選擇協議中,但不同鄰居學習去往同一個目的地的路由,比較metric 度量值,選擇優的裝進路由表,進行數據轉發
2.7 依據傳聞的更新
2.7.1 環路的產生
2.7.2 消除環路
定義最大度量值以防止計數至無窮大(定義最大跳數):超過以后不可達
水平分割:收到的接口不再發出
抑制計數器:為正在重新收斂的網絡增加了應變能力,引入了某種程度的懷疑量
路由毒化或毒性反轉:將壞掉的網段信息變得條數無窮大,讓路由不可達
觸發更新:
2.8 rip協議概述
路由信息協議RIP(Routing Information Protocol)是基於距離矢量算法的路由協議,利用跳數來作為計量標准。
RIP只能應用於小規模網絡;
RIP 時基於udp ,端口是520 的應用層協議
管理距離120
支持主類網絡通告
2.8.1 rip配置
啟動rip路由選擇進程
router rip
宣告指定的直連網絡(直連接口的網段)
network network-number
2.8.2 配置實例
2.8.2.1 拓撲圖
2.8.2.2 配置結果
R01 (config)#router rip
R01 (config-router)#network 192.168.12.0
R01#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
C 192.168.12.0/24 is directly connected, Serial0/0
R 192.168.23.0/24 [120/1] via 192.168.12.2, 00:00:10, Serial0/0
第3章 EIGRP路由選擇協議(增強型內部網關)
收斂速度快
帶寬浪費少 keeplive
3.1 eigrp的特點
1) 高級距離矢量協議--具有距離矢量性和鏈路狀態協議特征
2) 無類路由協議--可划分子網、可聚合子網路由
3) 支持VLSM (可變長子網掩碼)與不連續子網
4) 100%無環路--DUAL算法
5) 快速收斂--路由條目不過期,擁有備份路由
6) 觸發更新
7) 低路由更新信息開銷
8) 配置簡單
9) 支持多種網絡層協議(IP、ipx、appletalk、etc)
3.2 EIGRP的三張表
3.3 EIGRP數據包
報文類型 |
含義 |
HELLO |
用於發現鄰居和維護鄰居關系,使用組播224.0.0.10每5秒發送一次。 |
更新(UPDATE) |
以單播(點對點網絡)或組播(多路訪問網絡)方式可靠地發送其認為已經收斂的路由。 |
查詢(QUERY) |
以單播(點對點網絡)或組播(多路訪問網絡)方式可靠地向鄰居查詢到達某目的地路由時使用的數據包,有時也以單播方式重傳 |
應答(REPLY) |
以單播方式可靠地應答查詢數據包 |
確認(ACK) |
以單播方式發送。用來確認UPDATE、QUERY以及REPLY數據包。ACK分組是上面3種數據包可靠傳輸的保障。ACK本身不需要確認 |
3.4 EIGRP度量值Metric
EIGRP使用度量值來確定到目的地的最佳路徑。對於每一個子網,EIGRP拓撲表包含一條或者多條可能的路由。每條可能的路由都包含各種度量值:帶寬,延遲、可靠性 、負載、MTU等。EIGRP路由器根據度量值計算一個整數度量值,來選擇前往目的地的最佳路由。
D 表示EIGRP協議
3.4.1 EIGRP度量值計算公式
EIGRP度量值 = IGRP的度量值*256
EIGRP度量值的計算公式為:256*{K1(10^7/帶寬)+K2(10^7/帶寬)/(256-負載)+K3(延遲)+K5/(可靠性+K4)}
默認情況下,K1和K3是1,其他的K值都是0.
所以通常情況下,度量值=256×(10^7/最小帶寬+累積延時)
默認為 : 帶寬+延遲
3.4.2 DUAL算法
用於計算最佳無環路徑和備用路徑
3.4.2.1 特點
無環拓撲
可立即使用的無環備用路徑
快速收斂
低帶寬利用率(通過限定更新實現)
3.4.2.2 幾個術語
后繼路由器 最終使用的路由器
可行距離(FD) 本地到達目的網絡的距離,度量值
可行后繼路由器(FS) 備份
通告距離(AD) 某一個鄰居去往目的地的距離
可行條件,或稱可行性條件(FC)
3.5 基本配置
route rigrp autonomous-ysytem
autonomous-ysytem 自治系統
network network-number
3.6 實例
3.6.1 拓撲圖
3.6.2 路由器配置
R0_1路由器配置
R0_1(config)#router eigrp 100
R0_1(config-router)#network 192.168.12.0 0.0.0.255
R0_2路由器配置
R0_2(config)#router eigrp 100
R0_2(config-router)#network 192.168.12.0 0.0.0.255
R0_2(config-router)#network 192.168.1.0 0.0.0.255
3.6.3 檢查結果
R0_1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
D 192.168.1.0/24 [90/2297856] via 192.168.12.2, 00:01:23, Serial0/0
C 192.168.12.0/24 is directly connected, Serial0/0
查看詳細的信息
R0_1#show ip eigrp neighbors
IP-EIGRP neighbors for process 100
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 192.168.12.2 Se0/0 13 00:02:47 40 1000 0 2
查看eigrp拓撲
R0_1#show ip eigrp topology
IP-EIGRP Topology Table for AS 100/ID(192.168.12.1)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - Reply status
P 192.168.1.0/24, 1 successors, FD is 2297856
via 192.168.12.2 (2297856/128256), Serial0/0
P 192.168.12.0/24, 1 successors, FD is 2169856
via Connected, Serial0/0
3.7 不等價負載均衡
所謂不等價負載均衡指的是,到達目的地有多條路徑,但是每條路徑開銷都不一樣。並且能夠保證在eigrp拓撲表中有路由條目。在路由表中只出現最有條目
第4章 OSPF路由選擇協議
鏈路狀態路由協議:
開放式短路徑優先(最英語:Open Shortest Path First,縮寫為OSPF)是對鏈路狀態路由協議的一種實現,隸屬內部網關協議(IGP),故運作於自治系統內部。采用戴克斯特拉算法(Dijkstra's algorithm)被用來計算最短路徑樹。它使用“開銷(Cost)”作為路由度量。鏈路狀態數據庫(LSDB)用來保存當前網絡拓撲結構,路由器上屬於同一區域的鏈路狀態數據庫是相同的(屬於多個區域的路由器會為每個區域維護一份鏈路狀態數據庫)。
接口敏感型協議
4.1 Open Shortest Path First開放式短路徑優先
Ø 是一種鏈路狀態路由協議,無路由循環(全局拓撲),PFC232
Ø 開放意味着非私有
Ø 管理性距離:110
Ø ospf采用spf算法計算到達目的地對的最短路徑
--鏈路(link) =路由器接口
--狀態(state)=描述接口以及與鄰居路由器之間的關系
4.2 ospf 度量值 Metric
每個路由都把自己當作根,並且給予累積成本(cost 開銷)來計算到達目的地的最短路徑。
4.2.1 Cost的計算
Cost=參考帶寬(10^8)/接口帶寬(b/s)
4.3 ospf報文類型
報文類型 |
作用 |
Hello包 HELLO |
建立和維護OSPF鄰居關系 |
數據庫描述包 DBD |
鏈路狀態數據庫描述信息(描述LSDB中LSA頭部信息) |
鏈路狀態請求包 LSR |
鏈路狀態請求,向OSPF鄰居請求鏈路狀態信息 |
鏈路狀態更新包 LSU |
鏈路狀態更新(包含一條或多條LSA) |
鏈路狀態確認包 LSAck |
對LSU中的LSA 進行確認 |
4.3.1 OSPF協議三張表
鄰接表(neighbor table):主要是與鄰居間發送鏈路狀態的依據;
鏈路狀態表(topology table):存儲本網絡所有路由器的鏈路狀態;
路由表(routing table):對鏈路狀態數據庫使用最短路徑優先算法形成到達所有網段的最短路徑。
4.4 OSPF區域
一個OSPF網絡被分區成多個區域。區域將網絡中的路由器在邏輯上分組並以區域為單位向網絡的其余部分發送匯總路由信息。
u 在區域邊界可以做路由匯總,減小了路由表
u 減少了LSA泛洪的范圍,有效的把拓撲變化控制在區域內,提高了網絡的穩定性
u 拓撲的變化影響可以只涉及本區域
u 多區域提高了網絡的擴展性,有利於組建大規模的網絡
至少有一個骨干區域 area 0
4.5 OSPF的基本運行步驟
1) 建立鄰接關系
2) 必要的時候進行DR的選舉
3) 發現路由
4) 選擇合適的路由器
5) 維護路由信息
4.5.1 建立鄰接關系-hello包
Hello包的OSPF包類型為1。這些包被周期性的從各個接口(包括虛鏈路)發出,用來創建和維護鄰居關系。另外,在支持組播或廣播的物理網絡上,Hello包使用組播地址(通常為224.0.0.5)發送。
通告兩台路由器建立鄰接關系所必要同一的參數
4.6 ospf網絡類型
點到點網絡(point-to-point)
廣播網絡(broadcast BMA) 多路訪問
非廣播多路訪問網絡(non-broadcast multi-access,NBMA)
點到多點網絡(Point-to-MultiPoint)
4.7 LSA的泛洪
必要時選舉DR和BDR
DR指定路由器
BDR備份指定路由器
4.7.1 DR與BDR
n 為減少多路訪問網絡中的ospf流量,OSPF會選舉一個指定路由(DR)和一個備用指定路由器(BDR)
n 選舉規則:最高接口優先級被選作DR,如果優先級相等(默認為1),具有最高的路由器ID(Route-ID)的路由器選舉成DR,並且DR具有非搶占性
n 指定路由器(DR):DR負責使用該變化信息更新其它所有OSPF路由器(DRother)
n 備用指定路由器(BDR):BDR會監控DR的狀態,並在當前DR發生故障時接替其角色。
4.7.2 route-id
每一台OSPF路由器都有一個路由器標識符(Identifier),一般寫作路由器ID。
可以手工配置,也可以自動獲取。
自動獲取方式:
有loopback接口時是loopback接口中的最大值。沒有loopback的時候會在活動的物理接口的IP地址
4.8 OSPF基本配置
開啟ospf進程
route ospf process-id
宣告特定的網絡到OSPF區域
network address witdcard-mask area srea-id
4.8.1 通配符掩碼
通配符是一個用於決定那些IP地址位該精確匹配(0代表精確匹配)那些地址被忽略的32位數值,通常用於處理訪問控制列表(acl),OSPF和EIGRP等路由協議的網絡通告。
4.8.1.1 掩碼
1表示網絡位 0表示主機位
掩碼用於區分ip地址中的網絡及主機部分。
4.8.1.2 通配符 反掩碼
1表示無所謂 0表示需要嚴格匹配
通配符用於決定一個IP中的那些位該匹配
4.9 【實例1】單區域
4.9.1 拓撲圖
4.9.2 路由器配置
R-01路由器配置
R-01(config)#router ospf 1
R-01(config-router)#network 192.168.12.0 0.0.0.255 area 0
R-02路由器配置
R-02(config)#router ospf 1
R-02(config-router)#network 192.168.12.0 0.0.0.255 area 0
R-02(config-router)#network 192.168.23.0 0.0.0.255 area 0
R-03路由器配置
R-03(config)#router ospf 1
R-03(config-router)#net 192.168.23.0 0.0.0.255 ar 0
4.9.3 查看路由表
R-03#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
O 192.168.12.0/24 [110/128] via 192.168.23.1, 00:00:31, Serial0/1
C 192.168.23.0/24 is directly connected, Serial0/1
檢查ospf
R-01#show ip route ospf
O 192.168.23.0 [110/128] via 192.168.12.2, 00:08:48, Serial0/0
4.10 【實例2】多區域
4.10.1 拓撲圖
4.10.2 路由器配置
R-ospf-1路由器配置
R-ospf-1(config)#router ospf 1
R-ospf-1(config-router)#network 192.168.12.0 0.0.0.255 area 0
R-ospf-2路由器配置
R-ospf-2(config)#router ospf 1
R-ospf-2(config-router)#network 192.168.12.0 0.0.0.255 area 0
R-ospf-2(config-router)#network 192.168.23.0 0.0.0.255 area 1
R-ospf-3路由器配置
R-ospf-3(config)#router ospf 1
R-ospf-3(config-router)#network 192.168.23.0 0.0.0.255 area 1
4.10.3 查看路由信息
R-ospf-3#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
O IA 192.168.12.0/24 [110/128] via 192.168.23.1, 00:00:21, Serial0/1
C 192.168.23.0/24 is directly connected, Serial0/1
4.10.4 查看ospf路由信息
R-ospf-3#show ip route ospf
O IA 192.168.12.0 [110/128] via 192.168.23.1, 00:00:25, Serial0/1