MAC地址和IP地址的區別與聯絡(電腦網路篇)
最近參加一個考試,總是遇到mac地址的相關問題,於是在網上做一個知識整理,記得這些知識還是大二的時候學的,已經基本還回給黃沛傑老師了,不過很感謝他耐心又負責地教導我們電腦群組成原理的知識,起碼還是記得他曾經給我們帶來很多美好的大學記憶。
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地址和ip地址有什麼區別
IP地址是指Internet協議使用的地址,而MAC地址是Ethernet協議使用的地址。IP地址與MAC地址之間並沒有什麼必然的聯絡,MAC地址是Ethernet網卡上帶的地址,長度為48位。每個Ethernet網卡生產廠家必須向IEEE組織申請一組MAC地址,在生產網卡時在網卡的串列EEPROM中寫入一個唯一的MAC地址。任何兩個Ethernet網卡的MAC地址,不管是哪一個廠家生產的都不應相同。Ethernet晶片廠家不必負責MAC地址的申請,MAC地址存在於每一個Ethernet包中,是Ethernet包頭的組成部分,Ethernet交換器根據Ethernet包頭中的MAC源地址和MAC目的地址實現包的交換和傳遞。IP地址是Internet協議地址,每個Internet包必須帶有IP地址,每個網際網路服務提供者(ISP)必須向有關組織申請一組IP地址,然後一般是動態分配給其使用者。IP地址現是32位長,正在擴充到128位。IP地址與MAC地址無關,因為Ethernet的使用者,仍然可通過Modem串連Internet,取得一個動態IP地址,這個地址每次可以不一致。IP地址通常工作於廣域網路,路由器處理的就是IP地址。 MAC地址工作於區域網路,區域網路之間的互連一般通過現有的公用網或專用線路,需要進行網間協議轉換。可以在Ethernet上傳送IP資訊,此時IP地址只是Ethernet資訊包資料域的一部分,Ethernet交換器或處理器看不見IP地址,只是將其作為普通資料處理。