問題
在局域網中我們經常遇到IP地址沖突的問題。
因此反思一個問題,如果在局域網中,有兩台及以上MAC地址相同的計算機會發生什么問題?
原理
MAC地址,即計算機網卡的物理地址,工作在第二層數據鏈路層,用來確認網絡設備位置的位址。
數據包傳送的關鍵是將目標節點的IP地址映射到中間節點的MAC地址。
IP地址與MAC地址的映射要通過ARP地址解析協議來完成,它可將網絡中的IP地址映射到主機的MAC地址。
當有發送給本地局域網內一台主機的數據包時,交換機首先將數據包接收下來,然后把數據包中的 IP 地址按照交換表中的對應關系映射成 MAC地址,然后將數據包轉發到對應的 MAC地址的主機上去。
尋址過程
APR協議的工作過程是這樣的,比如主機A的地址為10.0.0.5,與主機B通信,主機B的地址為10.0.0.6,為了知道主機B的MAC地址,這時主機A發出了ARP廣播請求,詢問“誰的IP地址是10.0.0.6”,主機B收到廣播請求之后,單播回復“我的MAC地址是aa-bb-cc-dd-ee-ff,我的IP地址是10.0.0.6”,接下來就可以相互通信了。
MAC重復
在上述尋址當局域網通訊過程中,如果有主機C的IP地址為10.0.0.7,MAC地址同樣是aa-bb-cc-dd-ee-ff,當主機A想要將包發給B的時候,因為先問的是IP地址,所以即使主機C和主機B的MAC地址相同,但因為IP地址不同,所以在應答時同樣將包順利的送給了主機B而不會錯誤的送給主機C。
問題解決
MAC地址重復或沖突,可以理解為一張網卡上配置了2個IP地址,並不影響各個IP的邏輯通訊。
其他迷思
在同一局域網中,MAC地址重復或者沖突,僅在DHCP時會產生問題。
兩台相同MAC地址的主機可能會從DHCP服務器中獲取到相同的IP地址,從而產生IP沖突。