[網路] 淺談路由器 (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
這是 PC0
像 PC3
發出的 ICMP 封包,我們可以看到 L2 的目標 MAC 是填**預設閘道 (Router)**的 MAC,L3 的的目標 IP 則是 PC3 的 IP 位址。
經由路由器轉發後,封包內的 L2 的原始 MAC 改為 192.168.20.254
這張網卡的 MAC,但 L3 不會改變。
你問我怎麼回去?怎麼來的就怎麼回去阿,來源 MAC/IP
和目標 MAC/IP
調換就是了。