[網路] 淺談路由器 (Router) 工作原理

前言

在乙太網路上,許多協定都會使用到廣播來做資料交換,數量一多就會造成網路效能低落,因此使用路由器作為廣播網域(Broadcast Domain)邊界,切割出不同網段來遏止廣播風暴蔓延。

原理

在 TCP/IP 的設定中,有個預設閘道 (Default Gateway)欄位讓你填,如果你要離開本地網段的話,ARP 就會去詢問預設閘道的 Mac Address,將 L2 表頭的目的地位址填上預設閘道的實體位址,送出封包後 L2 的目的地位址會是預設閘道的網卡。

舉個例吧,PC0 要 Ping PC3,封包轉送前和轉送後的改變。



PC0 (192.168.10.10/24)要 Ping PC3 (192.168.20.10/24)時,ARP 會判斷目標 IP 是否在同一網段。
此例是跨網段,故 ARP 會回覆預設路由的 MAC

這是 PC0PC3 發出的 ICMP 封包,我們可以看到 L2 的目標 MAC 是填預設閘道 (Router)的 MAC,L3 的的目標 IP 則是 PC3 的 IP 位址。

經由路由器轉發後,封包內的 L2 的原始 MAC 改為 192.168.20.254 這張網卡的 MAC,但 L3 不會改變。

你問我怎麼回去?怎麼來的就怎麼回去阿,來源 MAC/IP 和目標 MAC/IP 調換就是了。