每個乙太網裝置在出廠時都有乙個唯一的mac位址,為什麼還需要為每台主機再分配乙個ip位址?或者說每台主機都分配唯一的ip位址,為什麼還要在網路裝置(如網絡卡,集線器,路由器等)生產時內嵌乙個唯一的mac位址呢?
主要原因有以下幾點:
(1)ip位址的分配是根據網路的拓樸結構,而不是根據誰製造了網路設定。若將高效的路由選擇方案建立在裝置製造商的基礎上而不是網路所處的拓撲位置基礎上,這種方案是不可行的。
(2)當存在乙個附加層的位址定址時,裝置更易於移動和維修。例如,如果乙個乙太網卡壞了,可以被更換,而無須取得乙個新的ip位址。如果乙個ip主機從乙個網路移到另乙個網路,可以給它乙個新的ip位址,而無須換乙個新的網絡卡。
(3)方便資料傳輸。無論是區域網,還是廣域網中的計算機之間的通訊,最終都表現為將資料報從某種形式的鏈路上的初始節點出發,從乙個節點傳遞到另乙個節點,最終傳送到目的節點。資料報在這些節點之間的移動都是由arp協議負責將ip位址對映到mac位址上來完成的。
ip位址和mac位址結合起來傳送資料報的例子:
假設網路上要將乙個資料報(名為pac)由北京的一台主機(名稱為a,ip位址為ip_a,mac位址為mac_a)傳送到華盛頓的一台主機(名稱為b,ip位址為ip_b,mac位址為mac_b)。這兩台主機之間不可能是直接連線起來的,因而資料報在傳遞時必然要經過許多中間節點(如路由器,伺服器等等),我們假定在傳輸過程中要經過c1、c2、c3(其mac位址分別為m1,m2,m3)三個節點。
當pac傳到c1後,再由arp根據其目的ip位址ip_b,找到其要經歷的第二個中間節點c2的mac位址m2,然後再將帶有m2的資料報傳送到c2。
如此類推,直到最後找到帶有ip位址為ip_b的b主機的位址mac_b,最終傳送給主機b。
在傳輸過程中,ip_a、ip_b和mac_a不變,而中間節點的mac位址通過arp在不斷改變(m1,m2,m3),直至目的位址mac_b。
為什麼同時存在IP和Mac位址兩種位址?
每個乙太網裝置在出廠時都有乙個唯一的mac位址,為什麼還需要為每台主機再分配乙個ip位址?或者說每台主機都分配唯一的ip位址,為什麼還要在網路裝置 如網絡卡,集線器,路由器等 生產時內嵌乙個唯一的mac位址呢?我是這麼看的,ip位址是邏輯的,mac位址是物理的。位址的設計要考慮到網路上的資料傳輸,具...
為什麼有了IP位址還需要MAC位址?
長話短說,理由有三點。二.分層實現如果在ip包頭 header 中增加了 下一跳ip位址 這個字段,在邏輯上來說,如果ip位址夠用,交換機也支援根據ip位址 現在的二層交換機不支援這樣做 其實mac位址並不是必要的。但用mac位址和ip位址兩個位址,用於分別表示實體地址和邏輯位址是有好處的。這樣分層...
有了MAC位址,為什麼還要IP位址
有了mac位址,為什麼還要ip位址?隨著網路裝置的增多,路由選擇變得困難 路徑多,計算量大 因此將網路劃分為多個子網。在路由選擇的過程中,將乙個子網看作乙個整體,路由器只需要選擇到達這個子網的路徑,到達之後的事情就交給子網內部了。雖然這樣的路徑選擇只能保證區域性最優不能保證全域性最優,但大大減少了路...