MAC:介質(zhì)訪問控制層(Media Access Control,MAC)地址對于每一臺設(shè)備是全球唯一的,該地址被燒錄在網(wǎng)卡(Network Interface Card,NIC)的
硬件電路上。MAC地址由12位十六進(jìn)制數(shù)表示,其中前6位標(biāo)識網(wǎng)卡的制造廠商,后6位是網(wǎng)卡的序列號。在以太網(wǎng)中,一個主機(jī)要和另一個
主機(jī)進(jìn)行通信,必須知道知道目標(biāo)主機(jī)的的MAC地址。
什么是ARP:ARP(Address Resolution Protocol,地址解析協(xié)議)用來將IP地址映射到MAC地址,以便設(shè)備能在多路訪問介質(zhì)上通信??梢耘e一個
例子很好的說明ARP是如何工作的:老師要將一封信交給教室里的某個學(xué)生,但是老師
并不認(rèn)識這個學(xué)生,她只知道這個學(xué)生的姓名(IP),于是她對教室里所有的人說:“誰是王XX,有你的信!”(MAC地址),當(dāng)王XX聽到這個信
息時(地址匹配),他站起來回答,然后老師就知道了他坐在幾排幾列(MAC地址),最后把信送到他的座位上。
在ARP協(xié)議的實現(xiàn)中還有一些應(yīng)該注意的事項:
每臺計算機(jī)上都有一個ARP緩沖,它保存了一定數(shù)量的從IP地址到MAC地址的映射,同時當(dāng)一個ARP廣播到來時,雖然這個ARP廣播可能與它
無關(guān),但ARP協(xié)議軟件也會把其中的物理地址與IP地址的映射記錄下來,這樣做的好處是能夠減少ARP報文在局域網(wǎng)上發(fā)送的次數(shù)。
按照缺省設(shè)置,ARP高速緩沖中的項目是動態(tài)的,ARP緩沖中IP地址與物理地址之間的映射并不是一旦生成就永久有效的,每一個ARP映射表
項都有自己的壽命,如果在一段時間內(nèi)沒有使用,那么這個ARP映射就會從緩沖中刪除 ,這一點和交換機(jī)MAC地址表的原理一樣的。這種老
化機(jī)制,可以大大減少ARP緩存表的長度,加快查詢速度。
在以太網(wǎng)中,當(dāng)主機(jī)要確定某個IP地址的MAC地址時,它會先檢查自己的ARP緩沖區(qū)表,如果目標(biāo)地址不包含在該緩沖表中,主機(jī)就會發(fā)送一
個ARP請求(廣播形式),網(wǎng)段上的任何記住都可以接收到給廣播但是只有目標(biāo)主機(jī)才會響應(yīng)此ARP請求。由于目標(biāo)主機(jī)在收到ARP請求時可以學(xué)
習(xí)到發(fā)送方的IP地址和MAC地址的映射,因此它采用一個單播消息回應(yīng)請求。
主機(jī)A以廣播形式發(fā)送ARP請求查詢IP地址為192.168.1.3的主機(jī)的MAC地址,網(wǎng)段上所有的主機(jī)都會收到該ARP請求。
主機(jī)B、主機(jī)D收到主機(jī)A發(fā)送的ARP請求時,他們發(fā)現(xiàn)這個請求不是發(fā)給自己的,因此他們忽略這個請求但是他們還是將主機(jī)A的IP地址和MAC
地址的映射記錄到自己的ARP表中。當(dāng)主機(jī)C收到主機(jī)A發(fā)來的ARP請求時,它發(fā)現(xiàn)這個ARP請求是發(fā)給自己的,于是它用單播消息回應(yīng)ARP請求,
同時記錄下其IP地址和MAC地址的映射。
通常ARP協(xié)議都在支持廣播的網(wǎng)絡(luò)上使用,如以以太網(wǎng)。但那是ARP數(shù)據(jù)包不能跨網(wǎng)段使用,也就是說不能跨越路由器(路由器本身用作ARP代
理除外)。但目標(biāo)網(wǎng)絡(luò)IP地址和源IP地址不在統(tǒng)一網(wǎng)段上時,就要使用代理ARP。
在PC上使用ARP命令:
Windows操作系統(tǒng)支持ARP命令,使用ARP命令,用戶能夠查看本地計算機(jī)的ARP高速緩沖中的內(nèi)容。此外,使用ARP命令,也可以人工方式輸入
靜態(tài)的網(wǎng)卡物理/IP地址,用戶可以使用這種方式為缺省網(wǎng)關(guān)和本地服務(wù)器等常用主機(jī)進(jìn)行配置,這將有助于減少網(wǎng)絡(luò)上的信息量。
常用ARP命令選項如下:
arp -a 或arp -g :用與查看高速緩沖的所有項目。“-a”和“-g”參數(shù)的結(jié)果是一樣的,多年來“-g”一直是UNIX平臺上用來顯示ARP高速緩存
中素有項目的選項,而Windows用的是arp -a(“-a”可被是為all,即全部的意思),但它也可以接收比較傳統(tǒng)的“-g”選項。
arp -a IP:如果你有多個網(wǎng)卡,那么使用arp -a加上接口的IP地址,就可以只顯示與該接口相關(guān)的ARP緩沖項目。
arp -s IP MAC:你可以向ARP高速緩存中人工輸入一個靜態(tài)項目。該項目在計算機(jī)引導(dǎo)過程中將保持有效狀態(tài),或
者在出現(xiàn)錯誤時,人工配置的物理地址將自動更新給項目。
arp -d IP:使用本命令能夠人工刪除一個靜態(tài)項目。
IP地址沖突的問題及解決方法:
ARP產(chǎn)生的問題匯總最常見的是IP地址的沖突,這時由于兩個不同的主機(jī)使用相同的IP地址而產(chǎn)生的,在任何互聯(lián)網(wǎng)中,IP地址必須是唯一的。
當(dāng)接口初始化時,它發(fā)送一個含有其IP地址的ARP請求,如果收到回應(yīng),Windows就會向刃虎報告這個IP地址已經(jīng)被別人占用了;如果沒有收
到回應(yīng),它就認(rèn)為IP地址沒有被使用。
非常有趣的是:Windows對待IP地址是以先來后到的順序分配,如果已經(jīng)有人先占了,那么本機(jī)的網(wǎng)絡(luò)接口就會被禁用。這也是非常煩人的特
點,因為一旦開機(jī)后有了第一次沖突,以后的任何網(wǎng)絡(luò)操作就都無效了。Windows XP對這點有了一定的改進(jìn),它在發(fā)現(xiàn)沖突以后并不立即禁
用接口,而是允許用戶進(jìn)行修復(fù)。
在Cisco路由器上使用ARP相關(guān)的命令:
在Cisco路由器上,使用show ip arp命令可以查看路由器當(dāng)前的ARP表。
參數(shù) 解析
Protocol 網(wǎng)絡(luò)地址所使用的協(xié)議,這里的協(xié)議是IP
Address 網(wǎng)絡(luò)地址,這里指IP地址
Age(min) ARP緩沖條目的壽命,其中“-”代表本地連接,即路由器接口本身的緩沖條目
Hardware Addr MAC地址
Type ARP條目的封裝類型,其中ARPA代表標(biāo)準(zhǔn)的以太網(wǎng)地址解析類型(RFC826定義),snap 代
表FDDI和TokenRing地址解析類型(RFC1042定義)
Interface 路由器上學(xué)習(xí)到此ARP條目的接口
ARP不僅僅存在IP網(wǎng)絡(luò)中,其他網(wǎng)絡(luò)(如IPX、Applettalk等)也存在ARP。
用戶也可以在Cisco路由器中手動地指定靜態(tài)ARP映射條目,通??梢詾槿笔【W(wǎng)關(guān)和本地服務(wù)器等常用主機(jī)進(jìn)行靜態(tài)映射
這樣有助于減少網(wǎng)絡(luò)上的信息量。
arp ip-address hardware-address type[alias]
參數(shù) 解釋
ip-address IP地址
hardware-address MAC地址
type ARP條目的封裝類型,以太網(wǎng)為ARPA
[alias] 可選參數(shù),如果配置了這個參數(shù),當(dāng)Cisco路由器接收到關(guān)于這個條目中的IP地址請
求時,它會自動回應(yīng)ARP請求,就像它自己擁有這個IP地址一樣。
ARP命令的使用
Router#conft
Router(config)#arp 10.21.9.254 2222.2222.2222 arpa alias
要在Cisco路由器上配置靜態(tài)ARP映射條目,首先進(jìn)入全局配置模式,然后再輸入相應(yīng)的命令。
RARP
通常主機(jī)的IP地址都是保存在硬盤中的,Windows子啊啟動時會找到它,但是對于那些把文件存放在遠(yuǎn)程服務(wù)器上的工作站
來說,它們啟動時是如何獲得IP地址的呢?
反向(Reverse Address Ressolution Rrotocol,RARP)是ARP的逆過程,RAPR就是用戶那些不知道自己IP地址的無盤工作站或者無
配置的路由器。使用RAPR時,站點廣播一個包含自己MAC地址的RARP請求,網(wǎng)絡(luò)上所有的主機(jī)都會接收到該請求,但只有
被授權(quán)的RARP服務(wù)器才能處理這個請求。RARP服務(wù)器有一張映射表,它可以查出該MAC地址與哪個IP地址相對應(yīng),然后把
響應(yīng)發(fā)送給源站點。
如果某個網(wǎng)段上存在多個被授權(quán)的RARP服務(wù)器時,這些RARP服務(wù)器都會以單播方式響應(yīng)RARP請求。不過當(dāng)源主機(jī)接收到一
個RARP應(yīng)答時,它只接收第一個到達(dá)的RARP應(yīng)答。
ARP和RARP都是在數(shù)據(jù)鏈路上實現(xiàn)的。
動態(tài)主機(jī)配置協(xié)議(DHCP)是現(xiàn)代RARP的實現(xiàn)。
DHCPDHCP是將IP地址和一些TCP/IP配置分配給網(wǎng)絡(luò)中的計算機(jī)的一項服務(wù)和協(xié)議。它克服了手動配置TCP/IP客戶端及維護(hù)IP地址
的局限性。
DHCP是Bootstrap Protocol(引導(dǎo)協(xié)議)的擴(kuò)展。BOOTP的主要限制是在管理員必須手動為每個客戶端在服務(wù)器上輸入配置信息,
DHCP對BOOTP進(jìn)行了改進(jìn),它專門設(shè)計了一個地址池,從地址池中動態(tài)地為客戶機(jī)分配IP地址和TCP/IP配置
使用DHCP有以下幾點好處:
DHCP省去了很多維護(hù)工作,管理員無須到每臺客戶機(jī)上去設(shè)置TCP/IP設(shè)置、無須維護(hù)IP地址分配表。
當(dāng)網(wǎng)絡(luò)中的IP配置需要更換時(例如IP地址從192.168.1.0/24換到10.10.0.0/16、或者DNS服務(wù)器地址需要更換等),使用DHCP,管
理員只需在DHCP服務(wù)器上更改相應(yīng)的設(shè)置就可以輕松完成網(wǎng)絡(luò)升級。
DHCP大大降低了IP地址沖突的問題。
DHCP通信過程
一臺DHCP服務(wù)器可以是太運行Windows 2000 Server或Windows Server 2003的計算機(jī)。也可以是一臺Cisco路由器。
DHCP客戶端首次初始化時會向DHCP服務(wù)器發(fā)送一個請求(DHCPDISCOVER),請求獲得IP尋址信息,這個尋址信息包括IP地址
子網(wǎng)掩碼、默認(rèn)網(wǎng)關(guān)、DNS服務(wù)器地址等,請求中間也包含了客戶機(jī)自己的MAC地址信息。DHCPDISCOVER以及廣播形式發(fā)送
網(wǎng)段上的所有社別都護(hù)收到這個請求。
當(dāng)DHCP服務(wù)器接收到請求時,它會從自己的地址池中選擇一個IP地址分配給客戶機(jī),并且把其他TCP/IP配置一起發(fā)送過去
(DHCPOFFER)。DHCPOFFER以單播形式發(fā)送,因為它是針對某個具體主機(jī)的消息,DHCP服務(wù)器可以從DHCPDISCOVER消息中
獲得客戶即的MAC地址。
當(dāng)客戶端接收到服務(wù)器所提供的信息時,它又以廣播方式發(fā)送一個DHCPREQUEST消息,指明:我需要你的服務(wù)。
為什么還要以廣播形式發(fā)送DHCPREQUEST消息呢?如果一個網(wǎng)段上存在多個DHCP服務(wù)器,那么DHCP客戶端可能會收到多個
DHCP服務(wù)器響應(yīng)的DHCPOFFER消息,DHCP客戶端只會選擇最先收到的那個DHCPOFFER消息。以廣播方式發(fā)送DHCPREQUEST
消息有兩個作用:
一是通知那個服務(wù)器:我已經(jīng)收到你提供的IP地址,我需要你的服務(wù);
二是通知網(wǎng)絡(luò)上其他DHCP服務(wù)器:我拒絕 你們提供的IP尋址信息。
DHCP服務(wù)器接收到DHCPREQUEST消息后,它將做提供的IP地址和其他配置交給數(shù)據(jù)庫,并且向DHCP客戶端以單播形式發(fā)送一個
DHCPACK消息,確認(rèn)DHCP過程已經(jīng)完成。
這樣這個IP地址就會租給這個客戶端一段時間,在租用期間,客戶端每次登錄時都會像服務(wù)器發(fā)送這個IP地址的續(xù)訂請求(DHCPREQUEST)。
如果租用期到了,但是客戶端沒有續(xù)定,這個IP地址就會退回到DHCP服務(wù)器的地址池中等待重新分配。
DHCP地址的分配類型
DHCP的核心功能是分配IP地址,這個IP地址對每個客戶機(jī)都必須是唯一的。下面定義了類型的IP地址分配
1.靜態(tài)分配
管理員將某個IP地址固定地分配給某個主機(jī),服務(wù)器接收到該主機(jī)的請求時就將該地址提供給這個主機(jī),并且該地址只能分配給
該主機(jī)。靜態(tài)分配一般用于為網(wǎng)絡(luò)中的服務(wù)器或者固定主機(jī)分配IP地址。
2.動態(tài)分配
管理員首先在DHCP服務(wù)器上定義一個地址池。當(dāng)服務(wù)器收到DHCP請求時,它從地址池中取出一個IP地址分配給客戶機(jī)(租借)。
如果租用到期,并且客戶端沒有續(xù)訂,這個IP地址就會退出到DHCP服務(wù)器的地址池中等待重新分配,它有可能分配給另一臺主
機(jī)。因此處于動態(tài)DHCP分配作用能夠下的主機(jī)的IP地址不是固定的。
DHCP還可以幫客戶端指定網(wǎng)關(guān)、子網(wǎng)掩碼、DNS服務(wù)器、WINS服務(wù)器等項目,因此在客戶端方面,除了選中“自動獲得IP地址”
選項之外,幾乎無須做任何的IP環(huán)境設(shè)置。