看板 Network 關於我們 聯絡資訊
※ 引述《leslieha (哈)》之銘言: : Server 192.168.2.1 00-00-00-00-01-02 : | netmask 255.255.255.0 : | : Internet : | : gateway 192.168.1.1 00-00-00-00-10-01 : | : switch : | : pc1 192.168.1.10 00-00-00-00-01-01 : netmask 255.255.255.0 : 當 pc1 送封包給 server : 會先發送 arp 問 who is 192.168.2.1 please tell 192.168.1.10 : gateway會回應 192.168.2.1 is at 00-00-00-00-10-01 這個想法不正確 pc1 的行為是 1. 用 192.168.1.10/netmask 255.255.255.0 來檢查 192.168.2.1 是否 在同一個 subnet(答案為否) 2. 不是在同一網段, 所以要去 routing table 裡面找(得到 192.168.1.1) 3. ARP table 找 192.168.1.1 的 MAC addr, 如果沒有則發 ARP request 這裡用 192.168 舉例不太對, 因為到 Internet 不會通, 知道意思就好 : pc1發送封包 : DestAddress = 00-00-00-00-10-01 : SrcAddress = 00-00-00-00-01-01 : DestIPAddr = 192.168.2.1 : SrcIPAddr = 192.168.1.10 這個結果倒是沒錯 : 封包到switch後 會forward給gateway 不會更改封包內容 : 想請問 : 1. gateway 收到封包後 會不會更改封包內容呢? 正常程序是 frame 要拆掉重新封裝, 因為你的下一站是寫 Internet, 封裝成什麼格式都有可能, 甚至很有可能不是 Ethernet. 不過 IP 層的內容是不會動的, 除非要做 NAT/PAT 之類的 dirty job : 2. 若 server回應給pc1 那gateway收到的封包 : DestAddress SrcAddress DestIPAddr SrcIPAddr 會是長怎樣啊? 從頭再想過不就得了, 誰是 pc 誰是 server 完全沒差別啊 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.204.206.9