作者leslieha (哈)
看板Network
标题Re: [问题] 封包内容的问题
时间Wed Nov 29 09:49:18 2006
※ 引述《birdy590 (Birdy)》之铭言:
: ※ 引述《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)
^^^^^^^^^^^^^ 这我就不懂了?
我发现我错了
因为192.168.2.1 经过 netmask後 不在同一个subnet
直接去ARP table查 default gateway 的 MAC 当destination MAC address
若没有找到
发出的ARP request 是问 who is 192.168.1.1
而不是问 who is 192.168.2.1
: 3. ARP table 找 192.168.1.1 的 MAC addr, 如果没有则发 ARP request
: 这里用 192.168 举例不太对, 因为到 Internet 不会通, 知道意思就好
抱歉
例子真的举的不好
改用
server <--> router1 <--> router2 <--> gateway <--> switch <--> pc1
我想应该会好一点
: : 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 完全没差别啊
後来得知
gateway收到外部网路来的封包
DestAddress 会是 gateway 的 MAC address
SrcAddress 会是传给 gateway 的 router 的 MAC address
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.129.36.80
※ 编辑: leslieha 来自: 140.129.36.80 (11/29 09:52)