机器a和机器b同处于路由器c后面(开启nat)?

说简单点,mac地址相当于身份证,ip地址相当于送货地址。c是快递员,他本来送货就是靠地址的,伪造个身份又不影响它送货。A:C,我要去D的分店80拿点苹果,你去跟他要。B:C,我也要一些,你也拿回来吧。C:(对AB,记录)A你要一点,B你要一些。(转身对D)我叫A,要一点+一些苹果。D:都在这拿去。C:(对AB)刚才谁要一点的,谁要一些的,自己来认领,我这有记录。(这记录就是C给A,B分的地址啊)
■网友
如果AB都用同一个源端口去访问D的同一个服务(目的端口相同),C的NAT在做地址转换的同时分配不同的源端口给AB。返回包通过不同端口区分回给A或B。
■网友
路由是看IP地址转发的,A\\B的IP地址不一样,MAC只是子网内传输使用,路由器是克隆了A的MAC地址,但是AB同处一个子网,D是另外一个子网,路由器克隆A的MAC其实是在对外也就是对D的子网内声称自己是A的MAC,但对A\\B还是自己的MAC。然后MAC和IP的对应是通过ARP广播来实现的。建议你去看一下TCP/IP的协议报格式,以及搜索ARP的相关知识,非常简单。补充:如果是经过NAT的就直接根据端口判定咯。


    推荐阅读