MAC地址和IP地址

本文摘自:http://www.cnblogs.com/hnrainll/archive/2012/11/23/2783697.html

AC地址MAC和IP地址的關係

簡單地說:ip地址是服務商給你的,mac地址是你的網卡物理地址。

  一、IP地址

  對於IP地址,相信大家都很熟悉,即指使用TCP/IP協議指定給主機的32位地址。IP地址由用點分隔開的4個8八位組構成,如192.168.0.1就是一個IP地址,這種寫法叫點分十進制格式。IP地址由網絡地址和主機地址兩部分組成,分配給這兩部分的位數隨地址類(A類、B類、C類等)的不同而不同。網絡地址用於路由選擇,而主機地址用於在網絡或子網內部尋找一個單獨的主機。一個IP地址使得將來自源地址的數據通過路由而傳送到目的地址變爲可能。

  二、MAC地址

  對於MAC地址,由於我們不直接和它接觸,所以大家不一定很熟悉。在OSI(Open System Interconnection,開放系統互連)7層網絡協議(物理層,數據鏈路層,網絡層,傳輸層,會話層,表示層,應用層)參考模型中,第二層爲數據鏈路層(Data Link)。它包含兩個子層,上一層是邏輯鏈路控制(LLC:Logical Link Control),下一層即是我們前面所提到的MAC(Media Access Control)層,即介質訪問控制層。所謂介質(Media),是指傳輸信號所通過的多種物理環境。常用網絡介質包括電纜(如:雙絞線,同軸電纜,光纖),還有微波、激光、紅外線等,有時也稱介質爲物理介質。MAC地址也叫物理地址、硬件地址或鏈路地址,由網絡設備製造商生產時寫在硬件內部。這個地址與網絡無關,也即無論將帶有這個地址的硬件(如網卡、集線器、路由器等)接入到網絡的何處,它都有相同的MAC地址,MAC地址一般不可改變,不能由用戶自己設定。

  三、MAC地址的長度、表示方法、分配方法及其唯一性

  MAC地址的長度爲48位(6個字節),通常表示爲12個16進制數,每2個16進制數之間用冒號隔開,如:08:00:20:0A:8C:6D就是一個MAC地址,其中前6位16進制數08:00:20代表網絡硬件製造商的編號,它由IEEE(Istitute of Electrical and Electronics Engineers,電氣與電子工程師協會)分配,而後3位16進制數0A:8C:6D代表該製造商所製造的某個網絡產品(如網卡)的系列號。每個網絡製造商必須確保它所製造的每個以太網設備都具有相同的前三字節以及不同的後三個字節。這樣就可保證世界上每個以太網設備都具有唯一的MAC地址。

  四、IP地址與MAC地址在互連網中的作用

  既然每個以太網設備在出廠時都有一個唯一的MAC地址了,那爲什麼還需要爲每臺主機再分配一個IP地址呢?或者說爲什麼每臺主機都分配唯一的IP地址了,爲什麼還要在網絡設備(如網卡,集線器,路由器等)生產時內嵌一個唯一的MAC地址呢?主要原因有以下幾點:(1)IP地址的分配是根據網絡的拓樸結構,而不是根據誰製造了網絡設置。若將高效的路由選擇方案建立在設備製造商的基礎上而不是網絡所處的拓樸位置基礎上,這種方案是不可行的。(2)當存在一個附加層的地址尋址時,設備更易於移動和維修。例如,如果一個以太網卡壞了,可以被更換,而無須取得一個新的IP地址。如果一個IP主機從一個網絡移到另一個網絡,可以給它一個新的IP地址,而無須換一個新的網卡。(3)無論是局域網,還是廣域網中的計算機之間的通信,最終都表現爲將數據包從某種形式的鏈路上的初始節點出發,從一個節點傳遞到另一個節點,最終傳送到目的節點。數據包在這些節點之間的移動都是由ARP(Address Resolution Protocol:地址解析協議)負責將IP地址映射到MAC地址上來完成的。下面我們來通過一個例子看看IP地址和MAC地址是怎樣結合來傳送數據包的。

  假設網絡上要將一個數據包(名爲PAC)由北京的一臺主機(名稱爲A,IP地址爲IP_A,MAC地址爲MAC_A)發送到華盛頓的一臺主機(名稱爲B,IP地址爲IP_B,MAC地址爲MAC_B)。這兩臺主機之間不可能是直接連接起來的,因而數據包在傳遞時必然要經過許多中間節點(如路由器,服務器等等),我們假定在傳輸過程中要經過C1、C2、C3(其MAC地址分別爲M1,M2,M3)三個節點。A在將PAC發出之前,先發送一個ARP請求,找到其要到達IP_B所必須經歷的第一個中間節點C1的MAC地址M1,然後在其數據包中封裝(Encapsulation)這些地址:IP_A、IP_B,MAC_A和M1。當PAC傳到C1後,再由ARP根據其目的IP地址IP_B,找到其要經歷的第二個中間節點C2的MAC地址M2,然後再將帶有M2的數據包傳送到C2。如此類推,直到最後找到帶有IP地址爲IP_B的B主機的地址MAC_B,最終傳送給主機B。在傳輸過程中,IP_A、IP_B和MAC_A不變,而中間節點的MAC地址通過ARP在不斷改變(M1,M2,M3),直至目的地址MAC_B。


  綜合上面所述,我們可以歸納出IP地址和MAC地址相同點是它們都唯一,不同的特點主要有:

  1. 對於網絡上的某一設備,如一臺計算機或一臺路由器,其IP地址可變(但必須唯一),而MAC地址不可變。我們可以根據需要給一臺主機指定任意的IP地址,如我們可以給局域網上的某臺計算機分配IP地址爲192.168.0.112 ,也可以將它改成192.168.0.200。而任一網絡設備(如網卡,路由器)一旦生產出來以後,其MAC地址永遠唯一且不能由用戶改變。

  2. 長度不同。IP地址爲32位,MAC地址爲48位。

  3. 分配依據不同。IP地址的分配是基於網絡拓樸,MAC地址的分配是基於製造商。

  4. 尋址協議層不同。IP地址應用於OSI第三層,即網絡層,而MAC地址應用在OSI第二層,即數據鏈路層。 數據鏈路層協議可以使數據從一個節點傳遞到相同鏈路的另一個節點上(通過MAC地址),而網絡層協議使數據可以從一個網絡傳遞到另一個網絡上(ARP根據目的IP地址,找到中間節點的MAC地址,通過中間節點傳送,從而最終到達目的網絡)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
轉載結束:

MAC地址屬於數據鏈路層,注意其中一個ARP協議
IP地址屬於網絡層,注意IP協議,ICMP,IGMP協議,我們平時使用ping命令,使用的就是ICMP協議




發佈了34 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章