摘要:本文介紹了IP地址與MAC地址的關(guān)系,比較深入地分析了Windows對IP地址沖突的自動檢測過程,提出了IP地址沖突的解決方案。
關(guān)鍵詞:IP地址;MAC地址;沖突;解決方案
中圖分類號:G434 文獻(xiàn)標(biāo)識碼2B
隨著校園網(wǎng)應(yīng)用的深入和終端用戶的增加,在用戶管理和安全管理上的問題凸現(xiàn)出來,其中亂設(shè)IP現(xiàn)象特別明顯,使合法用戶不能使用網(wǎng)絡(luò)資源,造成網(wǎng)絡(luò)工作不正常。解決IP沖突,實(shí)現(xiàn)用戶的唯一性確定,成為維護(hù)網(wǎng)絡(luò)健康、安全運(yùn)行的重要任務(wù)。
一、IP地址與MAC地址的關(guān)系
IP地址是根據(jù)現(xiàn)在的IPv4標(biāo)準(zhǔn)指定的,不受硬件限制比較容易記憶的地址,長度4個(gè)字節(jié)。而 MAC地址卻是用網(wǎng)卡的物理地址,保存在網(wǎng)卡的EPROM里面,與硬件有關(guān)系,比較難于記憶,長度為6個(gè)字節(jié)。
雖然在TCP/IP網(wǎng)絡(luò)中,計(jì)算機(jī)往往需要設(shè)置IP地址后才能通訊,然而,實(shí)際上計(jì)算機(jī)之間的通訊并不是通過IP地址,而是借助于網(wǎng)卡的MAC地址。IP地址只是被用于查詢欲通訊的目的計(jì)算機(jī)的MAC地址。
ARP協(xié)議是用來向?qū)Ψ降挠?jì)算機(jī)、網(wǎng)絡(luò)設(shè)備通知自己IP對應(yīng)的MAC地址的。在計(jì)算機(jī)的 ARJ緩存中包含一個(gè)或多個(gè)表,用于存儲IP地址及其經(jīng)過解析的以太網(wǎng)MAC地址。一臺計(jì)算機(jī)與另一臺IP地址的計(jì)算機(jī)通訊后,在ARP緩存中會保留相應(yīng)的MAC地址。所以,下次和同一個(gè)IP地址的計(jì)算機(jī)通訊,將不再查詢MAC地址,而是直接引用緩存中的MAC地址。
在交換式網(wǎng)絡(luò)中,交換機(jī)也維護(hù)一張MAC地址表,并根據(jù)MAC地址,將數(shù)據(jù)發(fā)送至目的計(jì)算機(jī)。
二、windows對IP地址沖突的自動檢測過程
重復(fù)IP地址(duplicate IP address)可以導(dǎo)致網(wǎng)絡(luò)上的嚴(yán)重破壞,因而對重復(fù)IP地址的檢測是Windows TCP/IP的一個(gè)重要特性。計(jì)算機(jī)啟動時(shí),首次初始化TCP/IP,廣播ARP請求,以便為IP地址請求IP地址解析。如果另一個(gè)主機(jī)回答此ARP請求分組中的任何一個(gè),就表示該主機(jī)已經(jīng)在使用此IP地址。這稱為重復(fù)地址測試(Dupli-cate Address Test,DAT)。檢測到重復(fù)地址時(shí),Windows計(jì)算機(jī)照樣引導(dǎo),但禁用此廣播ARP請求的計(jì)算機(jī)上的重復(fù)IP地址,并顯示一條IP地址沖突的錯(cuò)誤信息。為修復(fù)其它計(jì)算機(jī)中的ARP緩存表可能出現(xiàn)的崩潰,發(fā)送ARP請求的計(jì)算機(jī)重新廣播另外一個(gè)ARP,但用發(fā)送ARP應(yīng)答的計(jì)算機(jī)的硬件地址填充ARP請求的源硬件地址(Hardware Address,HA)字段。此技術(shù)很有希望可以修復(fù)其它計(jì)算機(jī)的ARP緩存表的崩潰問題,以使正在使用該IP地址的計(jì)算機(jī)能夠正常工作。
在網(wǎng)絡(luò)監(jiān)視器中設(shè)置一個(gè)捕獲過濾器,使之僅捕獲與IP相關(guān)的流量,指定捕獲過濾器文件的名字為test.cap。下面通過捕獲到的分組信息進(jìn)行分析。正常情況下,計(jì)算機(jī)廣播一個(gè)帶有目標(biāo)IP地址的ARP請求,其分組中包含以下字段:
Sender’s Hardware Address=0060083671DE
Sender’s Protocl Address=192.168.3.10
Target’s Hardware Address=000000000000
Target’s Protocol Address=192.168.3.18
ARP回答直接發(fā)送到ARP請求方,其分組中包含以下字段:
Sender’s Hardware Address=00A024ABDlE6 Answer)
Sender’s Protocol Address=192.168.3.18
Target’s Hardware Address=0060083671DE
Target’s Protocol Address=192.168.3.10
這樣,發(fā)送ARP請求的計(jì)算機(jī),找到了目標(biāo)計(jì)算機(jī)的MAC址。計(jì)算機(jī)啟動時(shí),發(fā)送一個(gè)ARJ請求以解析自己的IP地址。其分組中包含以下字段:
Sender’s Hardware Address=0060083671DE
Sender’s Protocol Address=192.168.3.10
Target’s HardWare Address=000000000000
T明et’s ProtocolAddress=192.168.3.10
如果其它站沒有設(shè)為192.168.3.10的IP地址,則沒有ARP應(yīng)答。當(dāng)網(wǎng)絡(luò)中存在一個(gè)重復(fù)IP地址為192.168.3.10,則此站會發(fā)送一個(gè)ARP應(yīng)答。其分組中包含以下字段:
Sender’s Hardware Address=00A024ABDlE6 (/hnswer)
Sender's ProtocolAdd ress=192.168.3.10
Target’s Hardware Address=000000000000
Tagrgt’s Protocol Address=192.168.3.10
當(dāng)一個(gè)站看到來自重復(fù)IP站的ARP應(yīng)答時(shí),此站在計(jì)算機(jī)屏幕上報(bào)告這一問題。在windows2000的系統(tǒng)日志上可查看到錯(cuò)誤信息。
三、IP地址沖突的解決方案
通過IP地址與MAC地址綁定,MAC地址與交換機(jī)端口綁定,可有效地防止用戶更改IP地址和MAC地址現(xiàn)象,較好地解決網(wǎng)絡(luò)中IP沖突問題。
1.計(jì)算機(jī)IP地址與MAC綁定
ARP緩存表保存了MAC地址與IP地址之間的綁定,局域網(wǎng)用戶通常通過代理服務(wù)的方式訪問Internet,在代理服務(wù)器的ARP緩存表中保存了所有用戶的MAC和IP信息。因此,可在代理服務(wù)器上將局域網(wǎng)用戶的IP地址與MAC地址靜態(tài)綁定,使得亂設(shè)IP址的計(jì)算機(jī)不能訪問Internet。
在CMD方式下,鍵入以下命令:
ARP—s IP地址MAC地址
例:ARP—s192.168.3.1000—AB一4C一60—08—68 這樣,就將靜態(tài)IP地址192.168.3.10與網(wǎng)卡地址為00—AB—4C—60—08—68的計(jì)算機(jī)綁定在一起了,即使別人盜用您的IP地址192.168.3.10,也無法通過代理服務(wù)器上網(wǎng)。
另外,需要注意的是,通過“—s”參數(shù)添加的項(xiàng)屬于靜態(tài)項(xiàng),不會造成ARP緩存超時(shí)。只有終止TCP/IP協(xié)議后再啟動,這些項(xiàng)才會被刪除。通常編輯一批處理文件,包含所有IP與MAC綁定的命令,當(dāng)系統(tǒng)重啟或終止TCP/IP協(xié)議后再啟動時(shí),運(yùn)行該批處理文件即可。
2.交換機(jī)端口與MAC綁定
交換機(jī)工作在數(shù)據(jù)鏈路層的MAC子層,傳輸?shù)氖菐,通常用于連接兩個(gè)或多個(gè)以太網(wǎng)段。交換機(jī)在接收到以太幀后,從以太幀的源MAC地址字段“逆向”學(xué)習(xí)到去源站的路徑,并生成、完善和維護(hù)著一個(gè)MAC地址與端口的映射表,在這個(gè)表中記錄著交換機(jī)每個(gè)端口綁定的MAC地址。交換機(jī)以幀中的目的地址查找MAC地址表各項(xiàng),如有匹配項(xiàng)則按該表項(xiàng)指定的端口路徑轉(zhuǎn)發(fā)幀,如無相應(yīng)表項(xiàng)則向除源端口以外的所有端口廣播轉(zhuǎn)發(fā)幀。幀中的源和目的地址都是物理地址,即MAC地址。
將交換機(jī)的MAC地址與端口綁定,終端用戶如果擅自改動本機(jī)網(wǎng)卡的MAC地址,該機(jī)器的網(wǎng)絡(luò)訪問將因其MAC地址被交換機(jī)認(rèn)定為非法而無法實(shí)現(xiàn),自然也就不會對局域網(wǎng)造成干擾了。
以思科2950—A交換機(jī)為例、登錄進(jìn)入交換機(jī),輸入管理口令進(jìn)入全局配置模式,鍵入命令:
(config) #mac—address—table static<MAC地址>vlan<VLAN號>interface<模塊號/端口號表> 該命令可分配一個(gè)靜態(tài)的MAC地址給某些端口,即使重自交換饑,這個(gè)地址也仍然會存在。從此。該端口只允許這個(gè)MAC地址對應(yīng)的設(shè)備連接在該端口上送行通信。用戶通過注冊表等方式更改MAC地址后,交換機(jī)拒絕為其通信。
四、IP地址和MAC地址的獲取
校園網(wǎng)IP地址可以由學(xué)校網(wǎng)絡(luò)管理部門強(qiáng)制進(jìn)行分配,但MAC地址必須從本機(jī)或借助一些軟件獲取。一是從本機(jī)獲取。對于Windows98/Me,運(yùn)行“winipcfg”,在對話框就可看到IP地址,而“適配器地址”就是網(wǎng)卡的MAC地址。對于windows NT/2000/XP,需在命令提示符下輸入“ipconfig/all”,顯示列表中的“Physical Address”就是MAC地址,“IP Address”就是IP地址。
二是通過一些網(wǎng)管軟件獲取。如“MAC掃描器”“NetSuper”等。另外在同一局域網(wǎng)內(nèi)的,可以用ping IP或者ping主機(jī)名,然后用arp—a來獲得其它計(jì)算機(jī)的MAC地址。
作者:王存祥,樊婷婷 來源:電教網(wǎng)管中心