
我了解到,在本機網路中,在該網路內進行通訊的電腦不僅需要 IP 位址,還需要 MAC 位址。
這是電腦網路早期的遺留物嗎?
因為當我擁有 IP 位址時,我就擁有了我想要與之交談的主機的「位址」)或身分)。無需取得目的主機的MAC位址。當您與公用網路中的電腦通訊時,您也不需要 MAC 位址 - 這裡您也只需要 IP 位址。
MAC 位址似乎用於在 LAN 中的交換器內部進行 IP-MAC 映射,但這似乎是多餘的,因為交換器已經應該知道哪個連接埠通往具有給定 IP 位址的主機。交換器知道所連接主機的 IP 位址,它知道從哪個連接埠將資料傳送到具有正確 IP 位址的正確主機。
我還知道 MAC 位址標識主機中的實體硬體設備。當主機有時可能需要它多種的硬體網路設備?打個比方,IP 位址是要將包裹投遞到的郵政位址,而 MAC 位址將標識要採取的條目(如主條目、後條目、煙囪)?這是MAC位址的原因嗎?但如果是這樣,也沒關係。只要資料傳送到正確的位址(IP位址),資料通過哪個硬體設備傳送並不重要...
我讀了MAC位址的具體用途是什麼?但不認為它提供了令人滿意的答案。
答案1
網路並不像看起來那麼簡單。我們談論的是夾心蛋糕,表面之下發生了很多事情。重要的是要理解溝通有兩個層次:物理和邏輯。
一切網路的定義是IEEE 802 標準。乙太網路受 802.3、WiFi 802.11 管轄。
第一層是身體的,開放系統互連模型第一層。實際的實體電纜、天線和介面。這一層上的一切都是愚蠢的,設備彼此之間沒有任何意識。
物理之上的是資料鏈路層,OSI 模型第 2 層。這是設備相互了解並能夠進行通訊的最低要求。因為多個介面可以連接到單一 L2網段, 每個介面必須有一個唯一的L2標識符,即硬體位址-MAC位址。
這協定資料單元這一層稱為框架,其結構為:
+--------------+-----------------+---------+------------+
| SenderL2Addr | RecipientL2Addr | Payload | ErrorCheck |
+--------------+-----------------+---------+------------+
L2幀只能在同一個域內轉送子網和廣播域。同一子網路/廣播域中的設備使用 L2 尋址進行通訊。
下一個是網路層,OSI 模型第 3 層。允許在該層上進行通信裝置必須有唯一的 L3 識別碼 - IP 位址。
這一層的協議既不需要也不需要了解任何物理介質的知識,也不關心物理傳輸;那是L2工作。這一層的PDU稱為資料包,結構為:
+--------------+-----------------+---------+------------+
| SenderL3Addr | RecipientL3Addr | Payload | ErrorCheck |
+--------------+-----------------+---------+------------+
在傳輸過程中,L3 資料包被封裝在 L2 幀中,它是負載。因此,當資料到達線路時,框架實際上如下所示:
+-----------+-----------+-----------+-----------+---------+--------+
| SndL2Addr | RcpL2Addr | SndL3Addr | RcpL3Addr | Payload | ErrChk |
+-----------+-----------+-----------+-----------+---------+--------+
由於IP是L3協議,因此它沒有方法在物理層上處理實際的資料轉送。因此,如果沒有 L2 協議,資料根本無法在系統之間移動。
當然,理論上可以從圖中完全刪除 L2 及其定址。然而,正如已經說過的,這意味著我們不再談論 802.3 和 .11。需要新的標準,所有協議都需要從頭開始重寫,需要設計新的晶片組,改變製造流程來生產它們,需要設計新設備,需要新的製造流程來生產這些設備。
排除某些企業級網路設備,L3是在軟體上處理的,而L2是在硬體上處理的;即晶片。這意味著您的手機將無法使用 WiFi 進行通信,因為其 WiFi 硬體是根據 802.11 標準設計的。
實現過渡的唯一現實方法是透過自然設備退役週期。這是一個 sllllooowwwww 的過程。
以這種方式重新設計網路的想法比採用 IPv6 的要求更高。它於 1995 年推出,但大約十年前才開始流行。全球採用情況是約40%。因此,雖然我可以想像 MAC 尋址將被廢棄的未來(儘管我並沒有真正看到原因),但這確實是非常遙遠的未來。
答案2
更多背景資訊:我了解到 MAC 位址用於 LAN 的交換器中,將交換器的連接埠對應到某個 MAC 位址。但為什麼不將交換器的連接埠對應到某個IP位址呢?這應該與將包從來源路由到目標主機的方式完全相同...
可以,但是您的交換器將僅限於 IPv4/IPv6(如果較舊的話,甚至僅限於 IPv4)。它實際上只是成為一個 IP 路由器。
但實際上還存在各種其他在乙太網路上運行的東西,但它們是不是IP,例如幾種「專業音訊」協定——過去甚至更多。
(例如,IPv4 LAN 將與基於 NetWare IPX 的 LAN、和/或 Xerox XNS LAN、和/或 DECnet LAN、和/或 OSI CLNP LAN 共存…全部位於同一乙太網路上。)
當 Xerox 最初發明乙太網路時,它確實在乙太網路層級和網路 (Xerox Pup) 層級使用相同的尋址。根據他們自己的文章,事實證明這太不靈活了。
答案3
MAC 位址(儘管它可以被欺騙)是對設備或網路介面進行唯一尋址的唯一方法。 IP 位址(我假設您談論的是 IPv4)不是唯一的,可以隨機分配給其他接口,並且需要與設備連接到的網路保持一致。一台設備可以擁有多個 IP 位址,並且擁有動態 IPv4 位址(如 DHCP)可能非常有用。如果沒有 MAC 位址或類似的位址,DHCP 就無法運作。
還有一個重要的事實是,IP (v4) 並不是唯一的網路協定。
答案4
不,MAC 還不是初級的。由於乙太網路和 WiFi 具有多路存取功能,因此需要區分同一連結後面的對等點。 MAC並不總是需要的;想像一下透過 PPP 運行 IP 的串行鏈路,沒有 MAC 位址,因為鏈路的另一側只有一個對等點,無需區分它們。
想想實體城市。其中有郵政地址(例如“100 East Davie Street Raleigh, NC 27601. United States”),並且有地鐵站的路線,例如乘坐 1 號線或 A 號線或“紅色”線,然後前往車站“station” 。而且你不能使用汽車或公車,你必須使用地鐵來遊覽城市。
第一個(郵政)就像 IP 位址。第二個(站名)就像 MAC 位址。繼續這個例子,如果只有一條鐵路線並且沒有中間站,甚至不需要車站名稱,你總是行駛到“另一端”;這就是 PPP 的工作原理。