在網絡世界中,路由協議就像是交通指揮員,引導數據在不同網絡之間順暢傳輸。今天,我們就來深入探索 RIP(Routing Information Protocol)協議,通過一系列實驗,揭開它的神秘面紗!
一、搭建網絡拓撲結構
實驗開始,我們先搭建一個簡單的網絡拓撲。網絡拓撲結構就像是網絡的 “地圖”,清晰展示了各個設備之間的連接關系。下圖就是本次實驗的網絡拓撲結構截圖:
二、R1 設備配置與測試
3.1 R1 接口配置
要讓路由器正常工作,首先得給它的接口配置 IP 地址。就像給房子安裝門牌號一樣,IP 地址能讓數據準確找到對應的網絡接口。配置代碼如下:
enable
configure terminal
interface FastEthernet0/0
ip address 192.168.1.021 255.255.255.0
no shutdown
interface FastEthernet0/1
ip address 192.168.2.020 255.255.255.0
no shutdown
exit
這些命令具體有什么作用呢?
- enable:進入特權模式,獲取更高權限。
- configure terminal:進入全局配置模式,就像進入了一個總控制室。
- interface FastEthernet0/0:進入 f0/0 接口配置模式,準備對這個接口進行設置。
- ip address 192.168.1.021 255.255.255.0:為 f0/0 接口配置 IP 地址和子網掩碼,讓它能連接到網絡 1。
- no shutdown:激活 f0/0 接口,就像打開了接口的開關。
- 后面關于FastEthernet0/1接口的配置和FastEthernet0/0類似,配置完之后,使用exit退出接口配置模式。
3.2 R1 配置 RIP
接下來,我們要啟用 RIP 路由協議,讓路由器能夠學習和傳遞路由信息。配置代碼如下:
router rip
version 2
network 192.168.1.0
network 192.168.2.0
exit
- router rip:啟用 RIP 路由協議。
- version 2:使用 RIP 版本 2,這個版本支持子網掩碼和組播更新,更加智能。
- network 192.168.1.0和network 192.168.2.0:聲明 Router1 直接連接的網絡 1 和網絡 2,讓它們參與 RIP 路由更新。
- exit:退出 RIP 配置模式。
3.3 測試網絡連通性
配置完成后,我們需要測試一下網絡是否連通。就像修好路之后,要開車跑一跑試試是否暢通。我們在 PC1 的命令提示符中輸入ping 192.168.3.021,來測試 PC1 到 PC2 的鏈路是否正常。
測試結果截圖如下:
從截圖中可以看到,4 個數據包均收到回復,這說明 PC1 到 PC2 的鏈路連通,RIP 路由配置正確!如果網絡沒有連通,我們還可以使用show ip route查看路由表,確認是否有到達目標網絡的路由;使用show ip interface brief檢查接口狀態,確保接口為 “up/up”。
四、深入理解 RIP 路由表建立和更新
4.1 抓包與分析
為了更直觀地了解 RIP 路由表的建立和更新過程,我們進行抓包操作。
- 切換到 Simulation 模式:在 Packet Tracer 底部選擇 Simulation 模式,點擊 Auto Capture/Play 清理數據包,在 Edit Filters 中僅勾選 RIP 協議,這樣就能只抓取 RIP 相關的報文啦。
- 重啟接口觸發 RIP 更新:在 Router1 和 Router2 的 CLI 執行以下命令,重啟接口:
interface FastEthernet0/0
shutdown
no shutdown
interface FastEthernet0/1
shutdown
no shutdown
- 抓取 RIP 報文:點擊 Auto Capture/Play,捕獲 Router1 和 Router2 之間的 RIP 報文。報文詳情如下:
- 源 IP:Router1 (192.168.2.020)
- 目的 IP:224.0.0.9(RIP v2 組播地址)。
- 內容:Router1 發送 192.168.1.0/24(Metric=1),Router2 發送 192.168.3.0/24(Metric=1)。
抓包截圖如下:
4.2 路由表建立過程
- 初始狀態:使用show ip route查看 Router1 路由表,此時路由表中只有直接連接的網絡信息:
C 192.168.1.0/24 is directly connected, FastEthernet0/0
C 192.168.2.0/24 is directly connected, FastEthernet0/1
- 第一次 RIP 更新:使用debug ip rip觀察 RIP 更新過程,可以看到 Router1 發送 192.168.1.0/24 給 Router2,Router2 發送 192.168.3.0/24 給 Router1。
RIP: sending v2 update to 224.0.0.9 via FastEthernet0/1 (192.168.2.020)
RIP: received v2 update from 192.168.2.021 on FastEthernet0/1
- 路由表更新:再次使用show ip route查看 Router1 路由表,此時 Router1 已經學習到了 192.168.3.0/24 網絡:
C 192.168.1.0/24 is directly connected, FastEthernet0/0
C 192.168.2.0/24 is directly connected, FastEthernet0/1
R 192.168.3.0/24 [120/1] via 192.168.2.021, FastEthernet0/1
- 收斂:經過 30 - 90 秒(1 - 3 次更新),Router1 的路由表就穩定下來啦。
我們還可以使用show ip protocols命令確認 RIP 版本 2,更新周期 30 秒,以及參與 RIP 的網絡信息:
Routing Protocol is "rip"
Sending updates every 30 seconds
Routing for Networks: 192.168.1.0, 192.168.2.0
4.3 結論
通過實驗,我們可以得出結論:RIP 通過每 30 秒的組播更新(224.0.0.9),交換直接連接網絡信息。Router1 通過 Router2 的更新學習到 192.168.3.0/24,Metric 加 1,路由表逐步收斂。
五、理解 RIP 消息傳得慢
5.1 實驗步驟
RIP 協議有一個特點,就是 “壞消息傳得慢”。我們通過以下實驗來驗證這一點:
- 關閉 Router1 的 f0/0 接口:在 Router1 的 CLI 執行interface FastEthernet0/0和shutdown命令,使 192.168.1.0/24 網絡不可達。
- 在 Router2 啟用調試:在 Router2 的 CLI 輸入debug ip rip,觀察 RIP 更新報文。
- 分析 Router2 路由表:使用show ip route查看 Router2 路由表。
-
- 初始:Router2 路由表包含 192.168.1.0/24(下一跳 192.168.2.020)。
-
- 約 180 秒后(Invalid Timer),Router2 收到 Metric=16 的更新,標記 192.168.1.0/24 不可達。
-
- 約 240 秒后(Flush Timer),192.168.1.0/24 從路由表刪除。
調試輸出示例:
RIP: received v2 update from 192.168.2.020 on FastEthernet0/0
192.168.1.0/24 via 0.0.0.0 in 16 hops (inaccessible)
- 停止調試:輸入undebug all停止調試。
5.2 收斂分析
- Router1 的 f0/0 關閉后,Router1 在下一次更新(30 秒內)發送 192.168.1.0/24(Metric=16)。
- Router2 收到后,需等待 Invalid Timer(180 秒)標記不可達,Flush Timer(240 秒)刪除路由。
- 相比新路由快速傳播(30 秒),失效路由需 180 - 240 秒,這就體現了 RIP 協議 “壞消息傳得慢” 的特點。
六、實驗中遇到的問題及解決方法
在實驗過程中,難免會遇到各種問題,下面就來看看我遇到的問題以及解決方法吧!
6.1 問題 1:輸入 show ip interface brief 提示 “無效輸入”
- 原因:命令在全局配置模式(Router (config)#)輸入,或拼寫錯誤。
- 解決方法:
-
- 輸入 exit 返回特權模式(Router#)。
-
- 確保命令為 show ip interface brief,使用 Tab 補全或?確認。
-
- 確認路由器為 2811 型號,輸出正確顯示接口狀態為 “up/up”。
6.2 問題 2:show running-config 輸出中斷,顯示 --More--
- 原因:Cisco CLI 分頁機制,配置內容超過屏幕行數。
- 解決方法:
-
- 按空格鍵顯示完整配置,或輸入 terminal length 0 顯示全部內容。
-
- 檢查 R1 接口(192.168.1.021 和 192.168.2.020)和 RIP 配置(network 192.168.1.0 和 192.168.2.0)。
6.3 問題 3:PC1 ping PC2(192.168.3.021)超時
- 原因:
-
- PC1 默認網關未正確設置為 192.168.1.021。
-
- R1 未學習到 192.168.3.0/24,RIP 未收斂。
- 解決方法:
-
- 修正 PC1 默認網關為 192.168.1.021,PC2 網關為 192.168.3.020。
-
- 確認 R1/R2 接口(show ip interface brief),確保 “up/up”。
-
- 驗證 R1/R2 的 RIP 配置(show running-config),確保聲明正確網絡。
-
- 使用 show ip route 檢查路由表,執行 clear ip route * 加速 RIP 收斂。
-
- 確認 Packet Tracer 中連接線為綠色。
- 結果:修正網關和 RIP 后,ping 成功,網絡連通。
七、實驗疑惑與解答
在實驗過程中,我產生了一個疑惑:抓包時發現 RIP 更新報文每 30 秒一次,但 “壞消息” 傳播需 180 - 240 秒,是否可以通過調整計時器優化?
解答:RIP 的 Invalid Timer(180 秒)和 Flush Timer(240 秒)是協議固有設計,可通過觸發更新(如 clear ip route *)加速收斂,但需謹慎使用,可能增加網絡負載。
八、實驗感想
通過這次實驗,我對 RIP 的距離矢量機制和路由表更新過程有了更深入的理解。“壞消息傳得慢” 這個特性讓我認識到 RIP 在動態網絡中的局限性,也激發了我對更高效協議(如 OSPF)的學習興趣。在解決實驗過程中遇到的問題時,我學會了如何系統排查網絡故障,動手能力得到了很大的提升!
希望這篇博客能對大家理解 RIP 協議有所幫助,如果你在實驗過程中也遇到了問題,歡迎在評論區交流討論哦!