网络状况:
我们学校使用的锐捷的设备:我们上网需要自己PC的MAC到学校申请一个固定的IP,然后经过锐捷客户端就可以上网。可是寝室几个人想用一个号上网,例如MAC:002454861E32IP:10.104.5.96
。现在一个傻瓜路由器上做MAC地址克隆,然后路由上做802.1x加静IP,MAC是002454861E32IP是10.104.5.96
然后寝室任何一个人电脑设置正确(MAC和IP都是申请的)。其他的PC把MAC改为002454861E32然后只要IP改为同网段就行啦。这样是成功啦,这个还是好理解的,把路由器这样设置后,等于所有出去的包都挂上路由器的静态IP和MAC这样接受的数据包在到路由器,可以分发
但是网速不是一般的慢。 可是后来更他妈神奇的是发生啦!有一个兄弟发现在路由不做任何设置就能这样上网,就是只要有一个主机正确认证通过,然后其他主机只要MAC地址一样就能上网,
今天想啦很长时间,认为是这样的:
锐捷在认证的时候在学校连接各个寝室的接入层使用的是mac和ip地址绑定,每隔一段时间就会验证这个端口的一个IP是不是有多台主机登陆,在学校注册时会将MAC绑定进这个端口,这样每个寝室只有固定的几个MAC可以把数据包甩到交换机,
在有主机登录时,这个交换机的这个端口的这个MAC经过IP和MAC还有密码账号认证可以转发,这样只要有这个MAC的数据包就能出去,但是他不管三层即IP是否正确,所有的对外网的请求就会出去,
、***********************************************************************************
以下是摘抄
经过试验。。以及查找相关资料。。我觉得aw_rei 兄弟说的对
1、首先确认:交换机是通过mac-address表来交换数据的。和arp协议没有关系。。。arp协议只是帮助客户机了解目的地的mac地址。。
2、mac-address-table中,新的条目会覆盖旧的条目,某个mac地址只可能映射在某一个端口上,不可能映射在多个端口上。。也就是说除了mac地址全为1的广播地址可以向多个端口转发数据,其他的只能从一个端口转发到另一个端口,不可能转发到多个端口。因此如果两个mac地址一样的计算机连在交换机上,在某个时刻只能有一台有效的在工作。
3。计算机在收到数据包的时候,只有该数据包的目的ip和目的mac和自己都对应上才会继续处理,否则丢弃。。
因此我们确认一:如果第三台电脑c要和和ab相连,某个时刻只能和其中的一台建立联系!
因此,ab两台电脑具有相同mac地址ma,mb,他们的ip地址为ipa,ipb。连在在同一个交换机a1、b1端口。后发arp广播包计算机a会告诉告诉交换机转发到ma地址的数据请转发到a1端口。。。
这个时候如果第三台电脑c要和ab交换数据,c的电脑里面如果没有ab的arp缓存,会发出arp广播包,查找ab的mac地址,这时所有的与交换机相连的电脑都会受到这个arp广播,当然包括ab....每个电脑都会检查自己的ip地址,看是否与自己的ip地址一致。。如果c发出的arp协议的目的ip时ipa,ip就会相应c的arp协议,告诉c他的mac地址时ma,这时,c的数据包就会转发到连接ma这个mac地址的端口,而这是交换机的mac-address-table中,ma对应a1,数据连接成功。
反之,如果arp包的目的ip是ipb,电脑b也会相应电脑c这个arp包,但是由于ipb和ipa的mac地址一样,所以数据包还是转发到ma这个mac地址相连的端口a1,a1收到数据包后,电脑a经过检查发现他的目的ip地址ipb和自己的ip地址不一致,丢弃数据,连接失败。
二。如果ab相互之间ping的话,是永远ping不通的。
因为 他们两者发送数据包的时候,数据包的目的mac和源mac相同,交换机会认为他们属于同一个源域,而根本不会转发该数据包,丢弃之。
三。ab可以正常的访问任何其他对象,但有可能不稳定。。
因为每当ab联接其他对象时,他们主动的发出自己的数据包的同时就会更改交换机的mac-address表,使返回来的数据可以正确的回到自己大端口。。当然也有一种特殊的情况是a主动发出连接,在数据包没有返回来之前,b也发出了自己的arp包,这个时候由于mac-address表发生变化,a的返回包就会回到b,那么a就会发生连接出错。。所以说ab可以正常访问其他对象,但是在数据流量大的情况下有可能不稳定。
以上情况的试验环境是在同一个交换机的同一个子网内。。已经经过试验证实!如果是集线器的话,我觉得bc的访问应该是不受任何影响。