摘要:本文介紹了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)字段。
在網絡監視器中設置一個捕獲過濾器,使之捕獲與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
當一個站看到來自重復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 交換機為例,登錄進入交換機,輸入管理口令進入全局配置模式,鍵入命令:
(config) #mac-address-table static
該命令可分配一個靜態的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.