好的,我要问你们网络理论和协议问题:
假设路由器使用 NAT,设备的 MAC 地址是否真的会暴露在互联网上?或者,路由器是否会像对源设备的 IP 地址那样对 MAC 地址进行变形(哇,拼写检查没有发现这个词有问题,我一直以为这只是卡尔文和霍布斯的术语)?
我似乎记得课堂上讲过,一旦数据包到达网络路由器,路由器就会替换其中的 IP 和 MAC 信息,将帧添加到数据包中,然后将其发送到网络上最接近 IP 匹配的大致方向。但是,我在另一个网站上读到的一个帖子指出,MAC 地址会随着每次跳跃而改变!
虽然这对于隐私问题来说可能很好(没有真正的方法可以从跳跃沿线的任意点判断原始设备/路由器的 MAC 是什么),但每次都需要剥离 IP 和 MAC 似乎没有意义。
答案1
mac 地址仅与本地广播域(vlan、子网)相关。每个数据包上的源 MAC 地址是将数据包发送到本地网络的设备的 MAC 地址。
这是第 2 层地址。因此,路由器“替换”自己的 MAC 地址并不是最重要的,路由器发出的数据包上唯一可能的 MAC 地址(为了便于讨论)是数据包发送到互联网时所来自的路由器接口的 MAC 地址。
请注意,路由器 MAC 地址仅在数据包到达下一跳(即下一个路由器)之前存在。此时,数据包被路由,离开 ISP 路由器,并具有 ISP 路由器接口的 MAC 地址。
这些都与安全或隐私无关,而是第 2 层和第 3 层网络工作方式的区别。
答案2
简短回答:
如果使用 NAT,MAC 和 IP 地址将被路由器替换。如果路由器只是“路由”数据包,MAC 仍会被替换,但 IP 地址保持不变。
长答案:
http://en.wikipedia.org/wiki/Routing
http://en.wikipedia.org/wiki/Network_address_translation