Mac地址有點像身份證号碼,而IP地址就像門牌号碼。在茫茫大海中僅憑一個身份證号碼找到一顆别樣的沙粒很難,但如果先找到具體的沙灘,沙灘劃分很小的網格片區,就很容易通過身份證找到這顆别樣的沙粒了。
MAC地址(物理地址、硬件地址)是實實在在的網絡設備出身地址,它是由廠商寫入網絡設備的bios中。
網絡設備廠商也并不能随意的使用Mac地址,需要向IEEE申請,當然廠商申請需要付費。
Mac地址通常表示為12個16進制數,每2個16進制數之間用冒号隔開,前6位16進制數代表了網絡硬件制造商的編号,由IEEE分配,而後3位16進制數是由網絡産品制造産商自行分配。這樣就可以保證世界上每個網絡設備具有唯一的MAC地址,比如一台電腦的網卡壞掉了之後,更換一塊網卡之後MAC地址就會變。
IP地址是出于拓撲設計出來的,它為互聯網上每一個網絡和每一台主機分配一個邏輯地址,以此來屏蔽物理地址的差異。對于路由器、電腦等網絡設備,隻要IP地址不重複情況下,IP地址是可以随意的修改。
網絡的變遷
早期的以太網隻有集線器(Hub)、沒有交換機(Switch),所以發出去的包能被以太網内所有的機器監聽到,所以數據包就需要帶上源mac地址和目的mac地址,每個機器隻需要接受和自己的MAC地址相匹配的數據包。
局域網數據傳輸并不是通過網絡層的IP地址進行路由和轉發,想要在局域網中發送數據,還需要知道設備的mac地址。比如我們的電腦向其他局域網中的其他電腦發送數據時,它會先通過ARP(地址解析協議)在局域網中獲取目的IP地址所對應的MAC地址。
step1:源主機首先會向局域網中發送ARP的廣播請求,隻要目标mac地址是FF:FF:FF:FF:FF:FF,局域網内的所有設備都會受到這個請求。
step2:接收到ARP請求的設備會檢查目的IP地址和自己的IP地址是否一緻,不一緻就會忽略當前的ARP請求,一緻就會向源主機發送ARP響應。
step3:源主機接收到ARP響應後就會更新本地緩存表并繼續向目的主機發送數據。
在局域網中如果采用集線器來連接不同的網絡設備,相同的MAC地址一般不會出現太多的問題,因為在集線器連接的局域網中所有的數據幀都會被廣播給局域網内的全部主機,而如果通過交換機連接不同的網絡設備就會受到影響,因為交換機需要學習局域網中不同設備的Mac地址并将數據幀轉發給特定的主機。
所以Mac地址其實是可以重複使用的,隻是不能在同一個局域網中使用相同的MAC地址,而跨局域網的網絡傳輸則需要通過網絡層的IP協議,所以在不同的局域網使用相同的Mac地址就不存在類似的問題。
Mac地址會有重複按照IEEE的協定每個網絡設備出廠都會有全球唯一的Mac地址,并且使用過的也不會再重複使用。但不意味着Mac地址就不會出現重複了,很多小夥伴們都改過Mac地址,有的直接可以通過系統進行修改。
有的網絡設備允許你在管理後台手動的修改mac地址。
以上這些都是通過虛拟的方式覆蓋原有的Mac地址,并沒有更改掉設備出身時烙印的Mac地址。出身時烙印的Mac地址也并不是不能修改,通過硬件寫入的方式同樣的可以修改Mac地址,本質上Mac地址就是一串二進制數,存放在了bios的某個存儲區域内。
Mac地址還可以用很久
有限的Mac地址,不斷的使用,遲早是會消耗完的。但是Mac地址數量足夠多,還可以使用很長一段時間。
IP地址是32位二進制數,約43億個IP地址,而Mac地址是48位二進制數,約281萬億個Mac地址。公網IP地址是在2019年才耗盡的,可想而知,Mac地址池可是比IP地址池大了6萬多倍,而且重複的Mac地址隻要不在一個局域網内就能正常使用,Mac地址相當于永遠都消耗不完。
E N D
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!