資料連結層

MAC 位址(MAC address)

/ mack /

每一個網路介面——你筆電的 Wi-Fi 晶片、它的乙太網路埠、你手機的無線電——出廠時都被烙上一個獨一無二的 48 位元識別碼,叫做 MAC 位址,寫成六組十六進位數對,例如 00:1A:2B:3C:4D:5E。把它想成刻在硬體本身上的永久序號,相對地,IP 位址比較像是根據裝置目前插在哪裡而指派的通訊地址。在本地連結上,訊框以 MAC 位址作為來源與目的,好讓對的那個介面把它接走。

MAC 位址有兩個決定性的特性。它是「扁平的」,意思是它不帶位置資訊:不像 IP 位址的結構會告訴路由器它屬於哪個網路,MAC 位址只是一個全球唯一的號碼,毫無裝置位於何處的線索。它也意在「永久」,烙進硬體裡(前半段標示製造商),不過它可以用軟體更改。正因為它是扁平的,MAC 定址無法擴展到整個網際網路——沒有辦法依它做聚合或路由——這正是它只用在單一連結或區域網路(LAN)內、而由 IP 來負責跨網路的原因。

這個分工是經典的初學者混淆之源,所以說清楚:MAC 位址回答的是「這條本地連結上的哪個實體介面」,而 IP 位址回答的是「橫跨整個網際網路的哪個網路與主機」。一個訊框逐跳地行進,每一跳目的 MAC 位址都被改寫成下一個節點,而 IP 封包的來源與目的位址則端到端固定不變。位址解析協定(ARP)就是那層黏著劑,在本地網路上查出與某個 IP 位址相對應的 MAC 位址。另外請注意這個倒楣的命名重疊:這個 MAC(位址)和媒體存取控制(共享通道的程序)以及訊息鑑別碼(一種安全檢查碼)是不同的概念——三個不同的東西,頂著同樣的三個字母。

你的筆電想連到 192.168.1.1(路由器)。它用 ARP 查出這個 IP 目前位於 MAC 00:1A:2B:3C:4D:5E,再建一個以那個 MAC 為目的的訊框。把筆電搬到朋友的網路,它的 IP 會變,但 Wi-Fi 晶片的 MAC 位址維持不變。

MAC 為介面命名(本地、扁平);IP 為網路位置命名(全球、階層)。

MAC 位址命名的是一個介面,而非某個人或固定裝置——它可以用軟體更改,一個有兩個介面的裝置就有兩個 MAC。別把它和媒體存取控制(一種程序)或訊息鑑別碼(一種安全標籤)搞混:同樣的字母,毫不相關的概念。

又稱
physical addresshardware addressEthernet address實體位址硬體位址