路由器實際轉送一個封包的完整流程
把前面所有章節串起來。這節看懂了,CCNA 的觀念部分就通了。
約 11 分鐘
假設 PC-A(192.168.1.10)要 ping PC-B(192.168.2.20),中間隔著 R1 和 R2。我們一步步看每個欄位怎麼變。
PC-A ──── R1 ──── R2 ──── PC-B 192.168.1.10 192.168.2.20 【第 1 段:PC-A → R1】 來源 IP 192.168.1.10 目的 IP 192.168.2.20 來源 MAC PC-A 的 目的 MAC R1 Gi0/0 的 (PC-A 發現目的不同網段 → ARP 問閘道的 MAC) 【R1 收到後做的事】 1. 檢查訊框 FCS,正確則拆掉第 2 層標頭 2. 看目的 IP 192.168.2.20,查路由表 3. 找到「via R2」,決定從 Gi0/1 送出 4. TTL 減 1 5. 重新封裝一個新的第 2 層標頭 【第 2 段:R1 → R2】 來源 IP 192.168.1.10 目的 IP 192.168.2.20 ← 完全沒變 來源 MAC R1 Gi0/1 的 目的 MAC R2 的 ← 整個換掉 【第 3 段:R2 → PC-B】 來源 IP 192.168.1.10 目的 IP 192.168.2.20 ← 還是沒變 來源 MAC R2 Gi0/1 的 目的 MAC PC-B 的 ← 又換掉
TTL 與 traceroute 的原理
每經過一台路由器 TTL 減 1,減到 0 就丟棄並回送 ICMP Time Exceeded。traceroute 就是利用這點:先送 TTL=1 的封包(第一台路由器就回報),再送 TTL=2(第二台回報),依序把整條路徑問出來。
R1# traceroute 192.168.2.20
Type escape sequence to abort.
Tracing the route to 192.168.2.20
1 10.0.0.2 4 msec 4 msec 0 msec ← R2
2 192.168.2.20 8 msec 4 msec 4 msec ← 目的地
! 出現星號代表那一跳沒回應
3 * * *立即測驗這一節(3 題)