來源:福建金錢貓電子科技有限公司 http://www.fjjqm.com
MAC(Media Access Control)地址,或稱為 MAC位址、硬件位址,用來定義網(wǎng)絡(luò)設(shè)備的位置。在OSI模型中,第三層網(wǎng)絡(luò)層負(fù)責(zé) IP地址,第二層資料鏈接層則負(fù)責(zé) MAC位址。因此一個(gè)主機(jī)會(huì)有一個(gè)IP地址,而每個(gè)網(wǎng)絡(luò)位置會(huì)有一個(gè)專屬于它的MAC位址。
MAC地址組成
MAC地址由48比特長,12個(gè)的16進(jìn)制數(shù)字組成,0到23位是廠商向IETF等機(jī)構(gòu)申請(qǐng)用來標(biāo)識(shí)廠商的代碼,也稱為“編制上唯一的標(biāo)識(shí)符”(Organizationally Unique Identifier),是識(shí)別LAN(局域網(wǎng))結(jié)點(diǎn)的標(biāo)志。MAC地址的24到47位由廠商自行分派,是各個(gè)廠商制造的所有網(wǎng)卡的一個(gè)唯一編號(hào)。在OSI模型中,第三層網(wǎng)絡(luò)層負(fù)責(zé) IP地址,第二層數(shù)據(jù)鏈路層則負(fù)責(zé) MAC位址。因此一個(gè)網(wǎng)卡會(huì)有一個(gè)全球唯一固定的MAC地址,但可對(duì)應(yīng)多個(gè)IP地址。第48位是組播地址標(biāo)志位。
MAC地址作用
MAC地址應(yīng)用于局域網(wǎng)和廣域網(wǎng)中的計(jì)算機(jī)之間的通信。在局域網(wǎng)中由于網(wǎng)絡(luò)的結(jié)構(gòu)相對(duì)要簡單一些,所以很少涉及到三層交換機(jī),也就是路由器,所以可以用來標(biāo)識(shí)每臺(tái)主機(jī)耳朵就只有MAC地址。而這種情況下交換機(jī)的每一個(gè)端口對(duì)應(yīng)的就是一個(gè)MAC地址。當(dāng)交換機(jī)收到數(shù)據(jù)包之后與自己的MAC表項(xiàng)進(jìn)行比對(duì),要是發(fā)現(xiàn)源主機(jī)和目的主機(jī)并不在同一個(gè)端口,而且MAC表項(xiàng)中沒有對(duì)應(yīng)的MAC地址的時(shí)候它就按照MAC地址表對(duì)數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā),要是MAC表項(xiàng)中沒有對(duì)應(yīng)的目的時(shí)候交換機(jī)就對(duì)所有的端口進(jìn)行廣播(除源端口)。
如果要是廣域網(wǎng)之間的計(jì)算機(jī)實(shí)現(xiàn)通信的話,就需要路由器。而路由器屬于三層交換機(jī),也就設(shè)計(jì)到了ISO七層模型中的網(wǎng)絡(luò)層,涉及到了IP協(xié)議,所以在廣域網(wǎng)的計(jì)算機(jī)之間的通信就要用到IP地址。在這個(gè)時(shí)候,MAC地址不僅有用,而且還有著極其重要的作用。在廣域網(wǎng)中的一個(gè)主機(jī)希望把分組發(fā)送給另一個(gè)網(wǎng)絡(luò)上的主機(jī)時(shí),它首先要查詢自己的路由表,找出到目的主機(jī)的下一跳的IP地址,而要僅僅想利用這個(gè)IP地址找到所對(duì)應(yīng)的路由器或者主機(jī)時(shí)不夠的,因?yàn)橐胝业揭粋(gè)路由器的位置我們必須要知道它的物理地址,而源自物理地址的MAC地址就充當(dāng)了一個(gè)找尋路由器的標(biāo)識(shí)。所以我們必須要用到地址解析協(xié)議將對(duì)應(yīng)的IP地址解析成MAC地址,然后利用MAC地址來找到路由器所在的物理位置,實(shí)現(xiàn)轉(zhuǎn)發(fā)過程中的傳送。然后重復(fù):1、查找下一跳的IP地址;2、將IP地址解析成MAC地址;3、利用MAC地址將數(shù)據(jù)想下一跳的路由器傳送。直到數(shù)據(jù)包到達(dá)目的主機(jī)為止。
IP與MAC的聯(lián)系與區(qū)別
IP地址,即指使用TCP/IP協(xié)議指定給主機(jī)的32位地址。IP地址由用點(diǎn)分隔開的4個(gè)8八位組構(gòu)成,如192.168.0.1就是一個(gè)IP地址,這種寫法叫點(diǎn)分十進(jìn)制格式。IP地址由網(wǎng)絡(luò)地址和主機(jī)地址兩部分組成,分配給這兩部分的位數(shù)隨地址類(A類、B類、C類等)的不同而不同。網(wǎng)絡(luò)地址用于路由選擇,而主機(jī)地址用于在網(wǎng)絡(luò)或子網(wǎng)內(nèi)部尋找一個(gè)單獨(dú)的主機(jī)。一個(gè)IP地址使得將來自源地址的數(shù)據(jù)通過路由而傳送到目的地址變?yōu)榭赡堋?br /> 現(xiàn)在有很多計(jì)算機(jī)都是通過先組建局域網(wǎng),然后通過交換機(jī)和Internet連接的。給每個(gè)用戶分配固定的IP地址,由管理中心統(tǒng)一管理,這樣為了管理方便就需要使用MAC地址來標(biāo)志用戶,防止發(fā)生混亂,明確責(zé)任(比如網(wǎng)絡(luò)犯罪)。另外IP地址和Mac地址是有區(qū)別的,雖然他們?cè)诰钟蚓W(wǎng)中是一一對(duì)應(yīng)的關(guān)系。IP地址是跟據(jù)現(xiàn)在的IPv4標(biāo)準(zhǔn)指定的,不受硬件限制比較容易記憶的地址,而Mac地址卻是用網(wǎng)卡的物理地址,多少與硬件有關(guān)系,比較難于記憶。
MAC地址的長度為48位(6個(gè)字節(jié)),通常表示為12個(gè)16進(jìn)制數(shù),每2個(gè)16進(jìn)制數(shù)之間用冒號(hào)隔開,如:08:00:20:0A:8C:6D就是一個(gè)MAC地址,其中前6位16進(jìn)制數(shù)08:00:20代表網(wǎng)絡(luò)硬件制造商的編號(hào),它由IEEE分配,而后3位16進(jìn)制數(shù)0A:8C:6D代表該制造商所制造的某個(gè)網(wǎng)絡(luò)產(chǎn)品的系列號(hào)。每個(gè)網(wǎng)絡(luò)制造商必須確保它所制造的每個(gè)以太網(wǎng)設(shè)備都具有相同的前三個(gè)字節(jié)以及不同的后三個(gè)字節(jié)。這樣就可保證世界上每個(gè)以太網(wǎng)設(shè)備都具有唯一的MAC地址。
IP地址和MAC地址共存的必要性,主要原因有以下幾點(diǎn):(1)IP地址的分配是根據(jù)網(wǎng)絡(luò)的拓樸結(jié)構(gòu),而不是根據(jù)誰制造了網(wǎng)絡(luò)設(shè)置。若將高效的路由選擇方案建立在設(shè)備制造商的基礎(chǔ)上而不是網(wǎng)絡(luò)所處的拓?fù)湮恢没A(chǔ)上,這種方案是不可行的。(2)當(dāng)存在一個(gè)附加層的地址尋址時(shí),設(shè)備更易于移動(dòng)和維修。(3)無論是局域網(wǎng),還是廣域網(wǎng)中的計(jì)算機(jī)之間的通信,最終都表現(xiàn)為將數(shù)據(jù)包從某種形式的鏈路上的初始節(jié)點(diǎn)出發(fā),從一個(gè)節(jié)點(diǎn)傳遞到另一個(gè)節(jié)點(diǎn),最終傳送到目的節(jié)點(diǎn)。數(shù)據(jù)包在這些節(jié)點(diǎn)之間的移動(dòng)都是由ARP負(fù)責(zé)將IP地址映射到MAC地址上來完成的。