MAC地址簡(jiǎn)介
MAC地址也叫物理地址、硬件地址,由網(wǎng)絡(luò)設(shè)備制造商生產(chǎn)時(shí)燒錄在網(wǎng)卡(Network lnterface Card)的EPROM(一種閃存芯片,通常可以通過(guò)程序擦寫(xiě))。IP地址與MAC地址在計(jì)算機(jī)里都是以二進(jìn)制表示的,IP地址是32位的,而MAC地址則是48位的。MAC地址的長(zhǎng)度為48位(6個(gè)字節(jié)),通常表示為12個(gè)16進(jìn)制數(shù),如:00-16-EA-AE-3C-40就是一個(gè)MAC地址,其中前3個(gè)字節(jié),16進(jìn)制數(shù)00-16-EA代表網(wǎng)絡(luò)硬件制造商的編號(hào),它由IEEE(電氣與電子工程師協(xié)會(huì))分配,而后3個(gè)字節(jié),16進(jìn)制數(shù)AE-3C-40代表該制造商所制造的某個(gè)網(wǎng)絡(luò)產(chǎn)品(如網(wǎng)卡)的系列號(hào)。只要不更改自己的MAC地址,MAC地址在世界是唯一的。形象地說(shuō),MAC地址就如同身份證上的身份證號(hào)碼,具有唯一性。
網(wǎng)絡(luò)中每臺(tái)設(shè)備都有一個(gè)唯一的網(wǎng)絡(luò)標(biāo)識(shí),這個(gè)地址叫MAC地址或網(wǎng)卡地址,由網(wǎng)絡(luò)設(shè)備制造商生產(chǎn)時(shí)寫(xiě)在硬件內(nèi)部。MAC地址則是48位的(6個(gè)字節(jié)),通常表示為12個(gè)16進(jìn)制數(shù),每2個(gè)16進(jìn)制數(shù)之間用冒號(hào)隔開(kāi),如08:00:20:0A:8C:6D就是一個(gè)MAC地址。具體如下圖所示,其前3字節(jié)表示OUI(Organizationally Unique Identifier),是IEEE的注冊(cè)管理機(jī)構(gòu)給不同廠家分配的代碼,區(qū)分不同的廠家。后3字節(jié)由廠家自行分配。MAC地址最高字節(jié)(MSB)的低第二位(LSb)表示這個(gè)MAC地址是全局的還是本地的,即U/L(Universal/Local)位,如果為0,表示是全局地址。所有的OUI這一位都是0。MAC地址最高字節(jié)(MSB)的低第一位(LSb),表示這個(gè)MAC地址是單播還是多播。0表示單播。
網(wǎng)絡(luò)上的數(shù)據(jù)包從初始點(diǎn)開(kāi)始 ,經(jīng)過(guò)一個(gè)個(gè)中間節(jié)點(diǎn)最終到達(dá)目標(biāo)節(jié)點(diǎn) ,數(shù)據(jù)包是如何從初始節(jié)點(diǎn)開(kāi)始識(shí)別一個(gè)個(gè)中間節(jié)點(diǎn)最終找到目標(biāo)節(jié)點(diǎn)的呢? 實(shí)際上初始節(jié)點(diǎn)是根據(jù)目標(biāo)節(jié)點(diǎn)的地址 ,將目標(biāo)節(jié)點(diǎn)的IP地址映射到中間節(jié)點(diǎn)的MAC地址,找到第一個(gè)中間節(jié)點(diǎn)。從第一個(gè)中間節(jié)點(diǎn)出發(fā),根據(jù)目標(biāo)節(jié)點(diǎn)的IP地址映射到第二個(gè)中間節(jié)點(diǎn)的MAC地址,從而找到第二個(gè)中間節(jié)點(diǎn)……,以此類推,直到當(dāng)找到最后一個(gè)中間節(jié)點(diǎn)后,從最后一個(gè)中間節(jié)點(diǎn)出發(fā),根據(jù)目標(biāo)節(jié)點(diǎn)的地址映射到目的節(jié)點(diǎn)的MAC地址,從而將數(shù)據(jù)包傳送給目標(biāo)主機(jī)。所以數(shù)據(jù)包的傳送過(guò)程就是:不斷地將目標(biāo)節(jié)點(diǎn)的地址映射到一個(gè)個(gè)中間節(jié)點(diǎn)的MAC地址,再?gòu)囊粋€(gè)個(gè)中間節(jié)點(diǎn)出發(fā),直到找到最終的目標(biāo)節(jié)點(diǎn)。數(shù)據(jù)包傳送的關(guān)鍵是將目標(biāo)節(jié)點(diǎn)的IP地址映射到中間節(jié)點(diǎn)的MAC地址。IP地址與MAC地址的映射要通過(guò)ARP地址解析協(xié)議來(lái)完成,它可將網(wǎng)絡(luò)中的IP地址映射到主機(jī)的MAC地址,如交換機(jī)可以根據(jù)網(wǎng)絡(luò)中的IP地址來(lái)找到本地主機(jī)的MAC地址。具體過(guò)程是:當(dāng)交換機(jī)接收到來(lái)自網(wǎng)上一個(gè)數(shù)據(jù)包時(shí),會(huì)根據(jù)該數(shù)據(jù)包的目標(biāo)IP地址,查看交換機(jī)內(nèi)部是否有跟該IP地址對(duì)應(yīng)的MAC地址 ,如果有上次保留下來(lái)的對(duì)應(yīng)的MAC地址,就會(huì)將該數(shù)據(jù)包 轉(zhuǎn)發(fā)到對(duì)應(yīng)MAC地址的主機(jī)上去。如果在交換機(jī)內(nèi)部沒(méi)有與目標(biāo))地址對(duì)應(yīng)的MAC地址,則交換機(jī)會(huì)根據(jù)ARP協(xié)議將目標(biāo)IP地址按照“表”中的對(duì)應(yīng)關(guān)系映射成MAC地址 ,數(shù)據(jù)包就被轉(zhuǎn)送到對(duì)應(yīng)的MAC地址的主機(jī)上。
IP 地址是基于邏輯的,比較靈活,不受硬件的限制,也容易記憶。而 MAC地址在一定程度上與硬件一致,是基于物理的,能夠標(biāo)識(shí)具體的網(wǎng)絡(luò)節(jié)點(diǎn)。這兩種地址各有優(yōu)點(diǎn),使用時(shí)也因條件不同而采取不同的地址。大多數(shù)接入Internet的方式是把主機(jī)通過(guò)局域網(wǎng)組織在一起,然后再通過(guò)交換機(jī)或路由器等設(shè)備和 Internet 相連接。這樣一來(lái)就出現(xiàn)了如何區(qū)分具體用戶,防止 IP地址被盜用的問(wèn)題。由于IP地址只是邏輯上的標(biāo)識(shí),任何人都能隨意修改,因此不能用來(lái)具體標(biāo)識(shí)一個(gè)用戶。而 MAC地址則不然,它是固化在網(wǎng)卡里面的。從理論上講,除非盜來(lái)硬件即網(wǎng)卡,否則一般是不能被冒名頂替的?;?MAC 地址的這種特點(diǎn),因此局域網(wǎng)采用了用MAC地址來(lái)標(biāo)識(shí)具體用戶的方法。
在具體的通信過(guò)程中,通過(guò)交換機(jī)內(nèi)部的交換表把 MAC地址和 IP 地址一一對(duì)應(yīng)。當(dāng)有發(fā)送給本地局域網(wǎng)內(nèi)一臺(tái)主機(jī)的數(shù)據(jù)包時(shí),交換機(jī)首先將數(shù)據(jù)包接收下來(lái),然后把數(shù)據(jù)包中的 IP 地址按照交換表中的對(duì)應(yīng)關(guān)系映射成 MAC地址,然后將數(shù)據(jù)包轉(zhuǎn)發(fā)到對(duì)應(yīng)的 MAC地址的主機(jī)上去。這樣一來(lái),即使某臺(tái)主機(jī)盜用了這個(gè) IP 地址,但由于此主機(jī)沒(méi)有對(duì)應(yīng)的 MAC地址,因此也不能收到數(shù)據(jù)包,發(fā)送過(guò)程和接收過(guò)程類似。