IP地址和Mac地址產(chǎn)生的目的是方便別人找到自己
Mac地址有點像身份證號碼,而IP地址就像門牌號碼。在茫茫大海中僅憑一個身份證號碼找到一顆別樣的沙粒很難,但如果先找到具體的沙灘,沙灘劃分很小的網(wǎng)格片區(qū),就很容易通過身份證找到這顆別樣的沙粒了。
MAC地址(物理地址、硬件地址)是實實在在的網(wǎng)絡(luò)設(shè)備出身地址,它是由廠商寫入網(wǎng)絡(luò)設(shè)備的bios中。
網(wǎng)絡(luò)設(shè)備廠商也并不能隨意的使用Mac地址,需要向IEEE申請,當(dāng)然廠商申請需要付費。
Mac地址通常表示為12個16進制數(shù),每2個16進制數(shù)之間用冒號隔開,前6位16進制數(shù)代表了網(wǎng)絡(luò)硬件制造商的編號,由IEEE分配,而后3位16進制數(shù)是由網(wǎng)絡(luò)產(chǎn)品制造產(chǎn)商自行分配。這樣就可以保證世界上每個網(wǎng)絡(luò)設(shè)備具有唯一的MAC地址,比如一臺電腦的網(wǎng)卡壞掉了之后,更換一塊網(wǎng)卡之后MAC地址就會變。
IP地址是出于拓撲設(shè)計出來的,它為互聯(lián)網(wǎng)上每一個網(wǎng)絡(luò)和每一臺主機分配一個邏輯地址,以此來屏蔽物理地址的差異。對于路由器、電腦等網(wǎng)絡(luò)設(shè)備,只要IP地址不重復(fù)情況下,IP地址是可以隨意的修改。
網(wǎng)絡(luò)的變遷
早期的以太網(wǎng)只有集線器(Hub)、沒有交換機(Switch),所以發(fā)出去的包能被以太網(wǎng)內(nèi)所有的機器監(jiān)聽到,所以數(shù)據(jù)包就需要帶上源mac地址和目的mac地址,每個機器只需要接受和自己的MAC地址相匹配的數(shù)據(jù)包。
局域網(wǎng)數(shù)據(jù)傳輸并不是通過網(wǎng)絡(luò)層的IP地址進行路由和轉(zhuǎn)發(fā),想要在局域網(wǎng)中發(fā)送數(shù)據(jù),還需要知道設(shè)備的mac地址。比如我們的電腦向其他局域網(wǎng)中的其他電腦發(fā)送數(shù)據(jù)時,它會先通過ARP(地址解析協(xié)議)在局域網(wǎng)中獲取目的IP地址所對應(yīng)的MAC地址。
step1:源主機首先會向局域網(wǎng)中發(fā)送ARP的廣播請求,只要目標(biāo)mac地址是FF:FF:FF:FF:FF:FF,局域網(wǎng)內(nèi)的所有設(shè)備都會受到這個請求。
step2:接收到ARP請求的設(shè)備會檢查目的IP地址和自己的IP地址是否一致,不一致就會忽略當(dāng)前的ARP請求,一致就會向源主機發(fā)送ARP響應(yīng)。
step3:源主機接收到ARP響應(yīng)后就會更新本地緩存表并繼續(xù)向目的主機發(fā)送數(shù)據(jù)。
在局域網(wǎng)中如果采用集線器來連接不同的網(wǎng)絡(luò)設(shè)備,相同的MAC地址一般不會出現(xiàn)太多的問題,因為在集線器連接的局域網(wǎng)中所有的數(shù)據(jù)幀都會被廣播給局域網(wǎng)內(nèi)的全部主機,而如果通過交換機連接不同的網(wǎng)絡(luò)設(shè)備就會受到影響,因為交換機需要學(xué)習(xí)局域網(wǎng)中不同設(shè)備的Mac地址并將數(shù)據(jù)幀轉(zhuǎn)發(fā)給特定的主機。
所以Mac地址其實是可以重復(fù)使用的,只是不能在同一個局域網(wǎng)中使用相同的MAC地址,而跨局域網(wǎng)的網(wǎng)絡(luò)傳輸則需要通過網(wǎng)絡(luò)層的IP協(xié)議,所以在不同的局域網(wǎng)使用相同的Mac地址就不存在類似的問題。
Mac地址會有重復(fù)
按照IEEE的協(xié)定每個網(wǎng)絡(luò)設(shè)備出廠都會有全球唯一的Mac地址,并且使用過的也不會再重復(fù)使用。但不意味著Mac地址就不會出現(xiàn)重復(fù)了,很多小伙伴們都改過Mac地址,有的直接可以通過系統(tǒng)進行修改。
有的網(wǎng)絡(luò)設(shè)備允許你在管理后臺手動的修改mac地址。
以上這些都是通過虛擬的方式覆蓋原有的Mac地址,并沒有更改掉設(shè)備出身時烙印的Mac地址。出身時烙印的Mac地址也并不是不能修改,通過硬件寫入的方式同樣的可以修改Mac地址,本質(zhì)上Mac地址就是一串二進制數(shù),存放在了bios的某個存儲區(qū)域內(nèi)。
Mac地址還可以用很久
有限的Mac地址,不斷的使用,遲早是會消耗完的。但是Mac地址數(shù)量足夠多,還可以使用很長一段時間。
IP地址是32位二進制數(shù),約43億個IP地址,而Mac地址是48位二進制數(shù),約281萬億個Mac地址。公網(wǎng)IP地址是在2019年才耗盡的,可想而知,Mac地址池可是比IP地址池大了6萬多倍,而且重復(fù)的Mac地址只要不在一個局域網(wǎng)內(nèi)就能正常使用,Mac地址相當(dāng)于永遠都消耗不完。