今天想和你聊聊Mac地址。
到底啥是Mac地址?官方直譯是媒體存取控制位址,是一個(gè)用來(lái)確認(rèn)網(wǎng)絡(luò)設(shè)備位置的位址。
在OSI模型中,第三層網(wǎng)絡(luò)層負(fù)責(zé)IP地址,第二層數(shù)據(jù)鏈路層則負(fù)責(zé)MAC位址
MAC地址用于在網(wǎng)絡(luò)中標(biāo)識(shí)唯一一個(gè)網(wǎng)卡,一臺(tái)設(shè)備若有一或多個(gè)網(wǎng)卡,則每個(gè)網(wǎng)卡都需要并會(huì)有一個(gè)唯一的MAC地址。
那么,Mac地址真的不會(huì)有重復(fù)的嗎,怎么做到全球唯一的?
01IP地址和Mac地址產(chǎn)生的目的是方便別人找到自己
Mac地址有點(diǎn)像身份證號(hào)碼,而IP地址就像門(mén)牌號(hào)碼。
MAC地址(物理地址、硬件地址)是實(shí)實(shí)在在的網(wǎng)絡(luò)設(shè)備出身地址,它是由廠商寫(xiě)入網(wǎng)絡(luò)設(shè)備的bios中。
網(wǎng)絡(luò)設(shè)備廠商也并不能隨意的使用Mac地址,需要向IEEE申請(qǐng),當(dāng)然廠商申請(qǐng)需要付費(fèi)。
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)碼,具有唯一性,比如一臺(tái)電腦的網(wǎng)卡壞掉了之后,更換一塊網(wǎng)卡之后MAC地址就會(huì)變。
IP 地址是基于邏輯的,比較靈活,不受硬件的限制,也容易記憶。
而 MAC地址在一定程度上與硬件一致,是基于物理的,能夠標(biāo)識(shí)具體的網(wǎng)絡(luò)節(jié)點(diǎn)。
這兩種地址各有優(yōu)點(diǎn),使用時(shí)也因條件不同而采取不同的地址。
02聊聊網(wǎng)絡(luò)的變遷
早期的以太網(wǎng)只有集線(xiàn)器(Hub)、沒(méi)有交換機(jī)(Switch),所以發(fā)出去的包能被以太網(wǎng)內(nèi)所有的機(jī)器監(jiān)聽(tīng)到。
所以數(shù)據(jù)包就需要帶上源mac地址和目的mac地址,每個(gè)機(jī)器只需要接受和自己的MAC地址相匹配的數(shù)據(jù)包。
局域網(wǎng)數(shù)據(jù)傳輸并不是通過(guò)網(wǎng)絡(luò)層的IP地址進(jìn)行路由和轉(zhuǎn)發(fā),想要在局域網(wǎng)中發(fā)送數(shù)據(jù),還需要知道設(shè)備的mac地址。
比如我們的電腦向其他局域網(wǎng)中的其他電腦發(fā)送數(shù)據(jù)時(shí),它會(huì)先通過(guò)ARP(地址解析協(xié)議)在局域網(wǎng)中獲取目的IP地址所對(duì)應(yīng)的MAC地址。
在局域網(wǎng)中如果采用集線(xiàn)器來(lái)連接不同的網(wǎng)絡(luò)設(shè)備,相同的MAC地址一般不會(huì)出現(xiàn)太多的問(wèn)題。
在集線(xiàn)器連接的局域網(wǎng)中所有的數(shù)據(jù)幀都會(huì)被廣播給局域網(wǎng)內(nèi)的全部主機(jī),而通過(guò)交換機(jī)連接不同的網(wǎng)絡(luò)設(shè)備就會(huì)受到影響,交換機(jī)需要學(xué)習(xí)局域網(wǎng)中不同設(shè)備的Mac地址并將數(shù)據(jù)幀轉(zhuǎn)發(fā)給特定的主機(jī)。
所以Mac地址其實(shí)是可以重復(fù)使用的,只是不能在同一個(gè)局域網(wǎng)中使用相同的MAC地址。
03Mac地址會(huì)有重復(fù)
按照IEEE的協(xié)定每個(gè)網(wǎng)絡(luò)設(shè)備出廠都會(huì)有全球唯一的Mac地址,并且使用過(guò)的也不會(huì)再重復(fù)使用。
但不意味著Mac地址就不會(huì)出現(xiàn)重復(fù)了,很多小伙伴們都改過(guò)Mac地址,有的直接可以通過(guò)系統(tǒng)進(jìn)行修改。
在命令提示符下輸入命令“ipconfig /all”回車(chē)之后就會(huì)顯示當(dāng)前計(jì)算機(jī)的一些網(wǎng)絡(luò)信息,其中“Physical Address”字樣的這一項(xiàng)就是當(dāng)前計(jì)算機(jī)中網(wǎng)卡的 MAC地址。
當(dāng)然,如果計(jì)算機(jī)中安裝有多個(gè)網(wǎng)卡,則會(huì)有多個(gè)“Physical Address”字樣。
有的網(wǎng)絡(luò)設(shè)備允許你在管理后臺(tái)手動(dòng)的修改mac地址。
以上這些都是通過(guò)虛擬的方式覆蓋原有的Mac地址,并沒(méi)有更改掉設(shè)備出身時(shí)烙印的Mac地址。
出身時(shí)烙印的Mac地址也并不是不能修改,通過(guò)硬件寫(xiě)入的方式同樣的可以修改Mac地址,本質(zhì)上Mac地址就是一串二進(jìn)制數(shù),存放在了bios的某個(gè)存儲(chǔ)區(qū)域內(nèi)。