1. 有了MAC地址為什么還需要IP地址?
由于全世界存在著各式各樣的網(wǎng)絡(luò),它們使用不同的硬件地址。要是這些異構(gòu)網(wǎng)絡(luò)能夠互相通信就必須進(jìn)行非常復(fù)雜的硬件地址轉(zhuǎn)換工作,因此由用戶或用戶主機(jī)來(lái)完成這項(xiàng)工作幾乎是不可能的事。但統(tǒng)一的IP地址把這個(gè)復(fù)雜問(wèn)題解決了。連接到因特網(wǎng)的主機(jī)只需擁有統(tǒng)一的IP地址,它們之間的通信就像連接在同一個(gè)網(wǎng)絡(luò)(虛擬互連網(wǎng)絡(luò)或者簡(jiǎn)稱IP網(wǎng))上那么簡(jiǎn)單方便,因?yàn)檎{(diào)用ARP的復(fù)雜過(guò)程都是由計(jì)算機(jī)軟件自動(dòng)進(jìn)行的,對(duì)用戶來(lái)說(shuō)是看不見這種調(diào)用過(guò)程的。
2. 有了IP地址為什么還需要MAC地址?
a.信息傳遞時(shí)候,需要知道的其實(shí)是兩個(gè)地址:終點(diǎn)地址、下一跳的地址。IP地址本質(zhì)上是終點(diǎn)地址,它在跳過(guò)路由器的時(shí)候不會(huì)改變,而MAC地址則是下一跳的地址,每跳過(guò)一次路由器都會(huì)改變。這就是為什么還要用MAC地址的原因之一,它起到了記錄下一跳的信息的作用。
b.網(wǎng)絡(luò)體系結(jié)構(gòu)的分層模型:用MAC地址和IP地址兩個(gè)地址,用于分別表示物理地址和邏輯地址是有好處的。這樣分層可以使網(wǎng)絡(luò)層與數(shù)據(jù)鏈路層的協(xié)議更靈活地替換。
c.歷史原因:早期的以太網(wǎng)只有集線器,沒有交換機(jī),所以發(fā)出去的包能被以太網(wǎng)內(nèi)的所有機(jī)器監(jiān)聽到,因此要附帶上MAC地址,每個(gè)機(jī)器只需要接受與自己MAC地址相匹配的包。