企业网IP地址冲突的分析及解决方案
作者:陆 梅
来源:《电脑知识与技术·学术交流》2008年第08期
摘要:本文介绍了IP地址与MAC的关系,分析了windows对IP地址冲突的自动检测过程,给出了IP地址冲突的解决方法。 关键词:IP地址;MAC地址;冲突
中国分类号:TP393文献标志码:B文章编号:1009-3044(2008)08-10ppp-0c
随着网络的深入,终端用户的增加,在用户管理问题上乱设IP现象特别严重。IP地址冲突造成网络工作不正常。
1 IP地址与MAC地址的关系
IP地址是指定的,不受硬件限制且容易记忆,长度4个字节。MAC地址是网卡的物理地址,保存在网卡里,难记,6个字节。在TCP/IP网络中计算机之间的通讯并不是通过IP地址,而是借助于网卡的MAC地址,IP地址只是被用于查询欲通讯的目的计算机的MAC地址。ARP协议是用来向对方计算机通知自己IP地址对应的MAC地址的。
2 Windows 对IP地址冲突的自动检测过程
重复IP地址(duplicate IP address)可以导致网络的严重破坏。计算机启动时初始化TCP/IP,广播ARP请求,为IP地址请求地址解析。如果另一个主机回答此ARP请求分组中的任何一个,就表示该主机已经在使用此IP地址。检测到重复地址时计算机照样引导,但禁用重复的IP地址,并显示一条IP地址冲突的错误信息。为修复其他计算机中的ARP缓存表可能出现的崩溃,发送ARP请求的计算机重新广播另外一个ARP,但用发送ARP应答的计算机的硬件地址填充ARP请求的源硬件地址(Hardware Address,HA)字段。
龙源期刊网 http://www.qikan.com.cn
在网络监视器中设置一个捕获过滤器,使之捕获与IP相关的流量,指定捕获过滤器文件的名字为test.cap.下面通过捕获到的分组信息进行分析。 分组中包含以下字段:
Sender’s Hardware Address=0060083671DE Sender’s Protocol Address=192.168.3.10 Target’s HardWare Address=000000000000 Target’s Protocol Address=193.168.3.18
ARP回答直接发送到ARP请求方,其分组中包含以下字段: Sender’s Hardware Address=00A024ABD1E6(Answer) Sender’s Protocol Address=192.168.3.18 Target’s Hardware Address=0060083671DE Target’s Protocol Address=192.168.3.10
这样,发送ARP请求的计算机,找到了目标计算机的MAC地址。计算机启动时,发送一个ARP请求以解析自己的IP地址。其分组中包含以下字段: Sender’s Hardware Address=0060083671DE Sender’s Protocol Address=192.168.3.10 Target’s HardWare Address=000000000000 Target’s Protocol Address=193.168.3.10
如果其它站没有设为192.168.3.10的IP地址,则没有ARP应答。当网络中存在一个重复的IP地址为192.168.3.10,则此站会发送一个ARP应答。其分组中包含以下字段: Sender’s Hardware Address=00A024ABD1E6(Answer) Sender’s Protocol Address=192.168.3.10 Target’s Hardware Address=0060083671DE Target’s Protocol Address=192.168.3.10
龙源期刊网 http://www.qikan.com.cn
当一个站看到来自重复IP站的ARP应答时,此站在计算机屏幕上报告这一问题。在Windows2000的系统日志上可查看到错误信息。
3 IP地址冲突的解决方案
通过IP地址与MAC地址绑定,MAC与交换机端口绑定可交好解决问题。 3.1 IP地址与MAC地址绑定
ARP中保存了IP地址与MAC地址绑定,局域网用户通过代理服务的方式访问Internet,在代理服务器的ARP中保存了所有用户的MAC和IP信息。因此可在代理服务器上将用户静态绑定。
在CMD方式下,键入以下命令: ARP-s IP地址 MAC地址
例:ARP-s 192.168.3.10 00-AB-4C-60-08-68
这样,就将静态IP地址192.168.3.10与网卡地址为00-AB-4C-60-08-68的计算机绑定在一起了,即使别人盗用你的IP地址192.168.3.10,也无法通过代理服务器上网。 3.2 交换机端口与MAC绑定
交换机工作在数据链路层的MAC子层,通常用于连接两个或多个以太网段。交换机在接收到以太帧后,从以太帧的源MAC地址字段“逆向”学习到源站的路径,并生成、完善和维护着一个MAC地址与端口的映射表,在这个表中记录着交换机每个端口绑定的MAC地址。交换机以帧中的目的地址查找MAC地址表各项,如有匹配项则按该表项指定的端口路径转发帧,如无相应表项则向除源端口以外的所有端口广播转发帧。帧中的源和目的地址都是物理地址,即是MAC地址。
将交换机的MAC地址与端口绑定,终端用户如果擅自改动本机网卡的MAC地址,该机器的网络访问将因其MAC地址被交换机认定为非法而无法实现,自然也就不会对局域网造成干扰了。
以思科2950—A 交换机为例,登录进入交换机,输入管理口令进入全局配置模式,键入命令:
龙源期刊网 http://www.qikan.com.cn
(config) #mac-address-table staticvlaninterface
该命令可分配一个静态的MAC地址给一些端口,即使重启交换机,这个地址也仍然会存在。从此,该端口只允许这个MAC地址对应的设备连接在该端口上进行通信。用户通过注册表等方式更改MAC地址后,交换机拒绝为其通信。
4 IP地址和MAC地址的获取
IP地址可由网络中心强制分配。 MAC必须从本机或借助软件获取。
(1)从本机获取。对于Windows98/Me,运行“winipcfg”,在对话框就可看到IP地址,“适配器地址”就是网卡的MAC地址。对于Windows NT/2000/XP,需在命令提示符下输入“ipconfig/all”,显示列表中“Physical Address”就是MAC地址,“IP Address”就是IP地址。 (2)通过软件获取。如“MAC扫描器”“NetSuper”等。另外在同一局域网内,可以用ping IP或者ping 主机名,然后用arp-a来获得其它计算机的MAC地址。
参考文献:
[1]Karanjit siyan.Windows 2000 TCP/IP实用全书[M].北京:电子工业出版社,2001. [2]蒋理,等.计算机网络实验操作教程[M].西安:电子科技大学出版社,2003.
因篇幅问题不能全部显示,请点此查看更多更全内容