IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置:首頁系統(tǒng)集成網(wǎng)絡(luò)管理 → 有了IP和MAC 為什么還需要ARP協(xié)議?

有了IP和MAC 為什么還需要ARP協(xié)議?

時(shí)間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評(píng)論(0)

  首先我們需要先大致了解一下MAC地址,MAC(Media access Control, 介質(zhì)訪問控制)地址是燒錄在Network Interface Card(網(wǎng)卡,NIC)里的,也叫硬件地址,是由48比特長(6字節(jié)),16進(jìn)制的數(shù)字組成.0-23位叫做組織唯一標(biāo)志符(organizationally unique ,是識(shí)別LAN(局域網(wǎng))節(jié)點(diǎn)的標(biāo)識(shí).24-47位是由廠家自己分配。網(wǎng)卡的物理地址通常是由網(wǎng)卡生產(chǎn)廠家燒入網(wǎng)卡的EPROM(一種閃存芯片),它存儲(chǔ)的是傳輸數(shù)據(jù)時(shí)真正賴以標(biāo)識(shí)發(fā)出數(shù)據(jù)的電腦和接收數(shù)據(jù)的主機(jī)的地址。

  如何才能知道自己PC的IP地址?一個(gè)很簡單的方法是使用ipconfig/all命令,如下圖:

如果你的PC中安裝有多個(gè)網(wǎng)卡,那么相對(duì)于每塊網(wǎng)卡Ethernet  adapter項(xiàng)所顯示的內(nèi)容都會(huì)有所不同,相信大多數(shù)PC上顯示的都是"本地連接",這是中文版WIDNOWS XP系統(tǒng)中以太網(wǎng)卡的默認(rèn)命名。此處Physical Address項(xiàng)目所顯示的就是"本地連接"的MAC地址。

  在以太網(wǎng)中,如果主機(jī)A需要向主機(jī)B發(fā)送數(shù)據(jù),在發(fā)送前必須先解決一個(gè)問題——我怎么才能知道主機(jī)B"位置"呢?可能有人會(huì)說我知道主機(jī)B的IP地址啊……,但實(shí)際上,在以太網(wǎng)環(huán)境中數(shù)據(jù)的傳輸所依懶的是MAC地址而非IP地址,而將已知IP地址轉(zhuǎn)換為MAC地址的工作是由ARP協(xié)議來完成的。

  ARP協(xié)議是"Address Resolution Protocol"(地址解析協(xié)議)的縮寫。在局域網(wǎng)中,網(wǎng)絡(luò)中實(shí)際傳輸?shù)氖?quot;幀",幀里面是有目標(biāo)主機(jī)的MAC地址的。在以太網(wǎng)中,一個(gè)主機(jī)和另一個(gè)主機(jī)進(jìn)行直接通信,必須要知道目標(biāo)主機(jī)的MAC地址。但這個(gè)目標(biāo)MAC地址是如何獲得的呢?它就是通過地址解析協(xié)議獲得的。所謂"地址解析"就是主機(jī)在發(fā)送幀前將目標(biāo)IP地址轉(zhuǎn)換成目標(biāo)MAC地址的過程。ARP協(xié)議的基本功能就是通過目標(biāo)設(shè)備的IP地址,查詢目標(biāo)設(shè)備的MAC地址,以保證通信的順利進(jìn)行。

  在每臺(tái)安裝有TCP/IP協(xié)議的電腦里都有一個(gè)ARP緩存表,表里的IP地址與MAC地址是一一對(duì)應(yīng)的,我們可以使用arp –a命令查看當(dāng)前緩存表,如下圖: 

  我們以主機(jī)A(192.168.1.5)向主機(jī)B(192.168.1.1)發(fā)送數(shù)據(jù)為例。當(dāng)發(fā)送數(shù)據(jù)時(shí),主機(jī)A會(huì)在自己的ARP緩存表中尋找是否有目標(biāo)IP地址。如果找到了,也就知道了目標(biāo)MAC地址,直接把目標(biāo)MAC地址寫入幀里面發(fā)送就可以了;如果在ARP緩存表中沒有找到相對(duì)應(yīng)的IP地址,主機(jī)A就會(huì)在網(wǎng)絡(luò)上發(fā)送一個(gè)廣播,目標(biāo)MAC地址是"FF.FF.FF.FF.FF.FF",這表示向同一網(wǎng)段內(nèi)的所有主機(jī)發(fā)出這樣的詢問:"192.168.1.1的MAC地址是什么?"網(wǎng)絡(luò)上其他主機(jī)并不響應(yīng)ARP詢問,只有主機(jī)B接收到這個(gè)幀時(shí),才向主機(jī)A做出這樣的回應(yīng):"192.168.1.1的MAC地址是00-aa-00-62-c6-09"。這樣,主機(jī)A就知道了主機(jī)B的MAC地址,它就可以向主機(jī)B發(fā)送信息了。同時(shí)它還更新了自己的ARP緩存表,下次再向主機(jī)B發(fā)送信息時(shí),直接從ARP緩存表里查找就可以了。ARP緩存表采用了老化機(jī)制,在一段時(shí)間內(nèi)如果表中的某一行沒有使用,就會(huì)被刪除,這樣可以大大減少ARP緩存表的長度,加快查詢速度。

  下面我們通過一個(gè)實(shí)例來簡單說明一下ARP協(xié)議是如何工作的:如下圖,小編首先使用arp –d命令將ARP緩存表清空,第二步Ping一個(gè)IP地址192.168.99.252,第三步使用arp –a命令查看ARP緩存表,這時(shí)表中出現(xiàn)了一條  192.168.99.252  00-19-21-0a-95-9d  dynamic  記錄,該條記錄的類型為Dynamic,意思是說,這條記錄是動(dòng)態(tài)產(chǎn)生的。ARP記錄也會(huì)出現(xiàn)靜態(tài)的記錄條目,相應(yīng)的類型為static。正如前面所說的,ARP緩存表具有老化機(jī)制,幾分鐘后小編再次使用arp –a命令查看緩存表,剛才的那條記錄已經(jīng)不存在了。  

點(diǎn)擊打開大圖

  下圖是小編使用wireshark(一個(gè)抓包工具)抓到的剛才ARP數(shù)據(jù)包的信息,由于在本機(jī)ARP緩存表中沒有IP地址192.168.99.252相對(duì)應(yīng)的MAC地址記錄,所以在通訊之前系統(tǒng)會(huì)向網(wǎng)絡(luò)中首先發(fā)送一個(gè)廣播包——所有字符都為"f"的MAC地址,用來詢問192.168.99.252的MAC地址是什么?局域網(wǎng)中所有的PC都將收到這個(gè)廣播包,但只有IP地址為192.168.99.252的PC才會(huì)對(duì)此請(qǐng)求作出回應(yīng)——告之192.168.99.204我的MAC地址是00:19:21:0a:95:9d,其它PC則將數(shù)據(jù)包直接丟棄,在發(fā)送方知到了目的主機(jī)的MAC地址后便可以進(jìn)行通訊了。

點(diǎn)擊查看大圖

ARP Request 數(shù)據(jù)包

點(diǎn)擊查看大圖

ARP Reply 數(shù)據(jù)包

關(guān)鍵詞標(biāo)簽:協(xié)議,需要,為什么,地址

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門文章 路由器地址大全-各品牌路由設(shè)置地址路由器地址大全-各品牌路由設(shè)置地址各品牌的ADSL與路由器出廠默認(rèn)IP、帳號(hào)、密各品牌的ADSL與路由器出廠默認(rèn)IP、帳號(hào)、密Nslookup命令詳解-域名DNS診斷Nslookup命令詳解-域名DNS診斷站長裝備:十大網(wǎng)站管理員服務(wù)器工具軟件站長裝備:十大網(wǎng)站管理員服務(wù)器工具軟件

相關(guān)下載

人氣排行 各品牌的ADSL與路由器出廠默認(rèn)IP、帳號(hào)、密碼路由器地址大全-各品牌路由設(shè)置地址騰達(dá)路由器怎么設(shè)置?騰達(dá)路由器設(shè)置教程ADSL雙線負(fù)載均衡設(shè)置詳細(xì)圖文教程路由表說明(詳解route print)網(wǎng)管員實(shí)際工作的一天用此方法讓2M帶寬下載速度達(dá)到250K/S左右網(wǎng)管必會(huì)!了解交換機(jī)控制端口流量