首页 > 如果使用同一个ip设置多台设备(路由器或电脑),都能上网,是什么原因?

如果使用同一个ip设置多台设备(路由器或电脑),都能上网,是什么原因?

学校的寝室里,两台路由器试验可以,一台路由器和一台电脑也可以(但发现延时增长)。

这样设置的时候,在同一个时刻,是不是仍然只有一台设备是联网的,两台设备分时段(间隔较小)能联网而已?


本来就是可以的,只不过不能同时上网(路由器和电脑不能在相同的时刻都发包)

局域网是通过mac地址通信的,跟IP地址没有什么关联,谁先发包已谁的为准. 这是因为交换机中维护着一张arp表, 交换机中包转发到哪里是通过查找这张表实现的, 这张表大致信息如下:

bash(10.165.63.249) at 40:55:39:08:81:41 [ether] on eth0

意思就是IP为10.165.63.249 mac地址为40:55:39:08:81:41 的包要通过eth0转发.

现在,你有你有两个相同的IP,mac地址却不同

如果你的路由器(ip为192.168.1.1, mac为xxxx)先发包, 交换机中的arp表就会更新为192.168.1.1 at xxxx on port1,然后回来的包就通过查找arp表将包发给port1

但是在你路由器包返回之前,你的电脑(ip为192.168.1.1, mac为yyyy)发了一个包,这导致交换机中的arp表更新为192.168.1.1 at yyyy on port2, 然后这时候如果路由器的报回来了,查找arp后将包发到port2(即电脑),然后电脑就收到了本应路由器收到的包,这当然是错误包,电脑丢弃了.而路由器由于没有收到回来的包,超时重传,然后下一个轮回.

这就是为什么可以上网,但丢包会很大的原因


你说的是 NAT 么

【热门文章】
【热门文章】