萬盛學電腦網

 萬盛學電腦網 >> 網絡應用技術 >> 應用教程 >> 需要IP地址和MAC地址的幾點原因

需要IP地址和MAC地址的幾點原因

   每個以太網設備在出廠時都有一個唯一的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)三個節點。

  A在將PAC發出之前,先發送一個ARP請求,找到其要到達IP_B所必須經歷的第一個中間節點C1的MAC地址M1,然後在其數據包中封裝(Encapsulation)這些地址:IP_A、IP_B,MAC_A和M1。

  當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。

copyright © 萬盛學電腦網 all rights reserved