admin管理员组

文章数量:1530842

2024年4月30日发(作者:)

多台电脑共享MAC和IP地址

最近在论坛上看到很多人都在都在怀疑把两台电脑或多台电脑的MAC

改成一样会不会引起IP冲突或不能上网。

其实是可以的,你完全可以把两台电脑的IP 和MAC改成一样,不但

可以上网而且还没IP冲突。这种方法不但可以突破路由封锁用在ADSL共享上

网,而且还可以用在IEEE802.1X认证上网的环境中,但是前提必须要用相同

的账号来拨号上网(前提认证服务器没设验证账号的重复性),我的机子是通过

学校校园网接入internet的,客户端采用802.1x认证客户端软件“STAR

Supplicant拨号软件”来拨号上网,在我们学校里可以将两台机子的IP和MAC

改成一样然后用相同的一个账号来达到共享上网的目的,不过在我们学校只可

以在同一个宿舍的两台机子才可以共享上网,因为我们学校的服务器不单只验

证账号、ip、MAC而且还验证接入服务器IP(NAS IP),和接入服务器端口(NAS

port),不同的宿舍接在学校交换机不同的端口,所以只限于同一个宿舍用这种

法共享上网。

至于为什么不会引起IP冲突而且还能上网,这是因为ARP工作的缺陷,

系统之所以会发现网上有相的IP的而提示“IP冲突”,是因为系统在启动

时,TCP/IP中的ARP会广播一个免费ARP(free arp)请求包到网段上,这个

ARP(free arp)包包含自己的IP和MAC,如果网段上有机子回应了这个包,这

台发广播的机子就会认为局域网有别的机子使用和自己相同的IP,

例如:PCA和PCB的IP和MAC完全一样,PCA的系统启动时会广播

一个包含自己IP和MAC的免费ARP(free arp)请求包到网段上,如果PCB回应

了这个请求,PCA会认为自己的IP和网络上的IP有冲突并发出提示(这就是

为什么IP冲突一般发生系统刚启动完成时),问题是PCB根本不会回应这个请

求包,这是因为这个请求包的IP和MAC和PCB自己的完全一样,而PCB会

作者:江西新华电脑学院 2013-4-4

认为是自己发的包,所以不会回应,既然不会回应自然不会发生IP冲突了。

好了,让我来解释下一个问题,就是两台机子的IP和MAC一样到底会

不会导致不能上网:

既然可以,那么网络上的硬件设备是怎样区分这些数据到底是哪台机的

呢??大家都知道局域网内是用硬件地址来通讯的,局域网的二层设备(如交换

机)维护着一张地址表,地址表记录着本设备每个端口所对应的MAC(注:不

是端口的MAC,而是端口所连设备的MAC),设备要经过地址学习状态才能知

道这些端口所对应的MAC,当一个帧经过设备的某个端口时,设备会检查该帧

源地址和目的地址,然后再对照自己的地址表,看地址表中是否存在该源地址的

对应项,若不存在则端口会变为“地址学习状态”,将该地址保存在地址表中组

成一个新的表项,如果PCA和PCB都连在同一个交换机上,则交换机经过“地

址学习状态”后,地址表中存在两个相同的地址项,不过它们所对应的端口是

不同的,当交换机在外部接收到一个目的地址为该地址(PCA和PCB相同的

MAC地址)的帧时,则会检查地址表,检查地址表后会发现存在两个相同地址

的表项,于是交换机会将该帧转发到这两个表项所对应的端口,(至于交换机是

用组播的方式还是说用一个帧发两遍的方式转发给这两个端口我就不太清楚

了)。

路由器也一样,不同是的路由器的地址表是路由表,存放的是IP而不

是硬件地址。

连接这两个端口的PCA和PCB都会收到同样的帧,既然会收到同样的

帧,那么计算机怎样才知道哪些帧才是自己想要的呢?这取决于工作在TCP/ip

上层协议,虽然网卡是接收了这个帧,但是上层的协议进行进一步的分用,也

可以说成是过滤,当TCP/IP的网络接口层(也叫链路层)收到一个帧,会检查帧

头中的帧类型,如果是ARP类型的就交给ARP协议去处理,如果是RARP类

作者:江西新华电脑学院 2013-4-4

本文标签: 地址端口不会冲突设备