MAC 子層(媒介存取控制子層,Medium Access Control sublayer)是資料鏈結層(Data Link Layer)的一部分,負責網路設備之間的數據傳輸和介質存取控制。以下是 MAC 子層的主要作用:
-
介質存取控制:
- 控制網路介質的存取:MAC 子層負責管理和控制設備如何訪問共享的物理介質,確保多個設備能夠協調地使用同一介質而不發生碰撞。例如,在以太網中,MAC 子層使用 CSMA/CD(載波偵聽多重存取/碰撞偵測)協議來控制對介質的存取。
-
地址分配和解析:
- MAC 地址:每個網路設備都有一個唯一的 MAC 地址(物理地址),MAC 子層使用這些地址來識別和區分網路上的不同設備。數據幀在傳輸過程中,MAC 子層使用源 MAC 地址和目的 MAC 地址來確定數據幀的發送者和接收者。
- 地址解析:MAC 子層在接收數據幀時,會檢查幀的目的 MAC 地址,確定該幀是否應該被接收和處理。如果目的地址與接收設備的 MAC 地址匹配,則接收該數據幀;否則丟棄。
-
幀封裝與拆封:
- 封裝數據幀:MAC 子層負責將來自 LLC 子層的數據封裝成幀,添加必要的 MAC 標頭(包含源 MAC 地址、目的 MAC 地址等)和尾部(包含 FCS,幀校驗序列)信息。
- 拆封數據幀:接收到數據幀時,MAC 子層會拆封幀,檢查和解析 MAC 標頭和尾部的信息,並將數據上傳給 LLC 子層處理。
-
錯誤檢測:
- 幀校驗序列(FCS):MAC 子層在每個數據幀的尾部添加 FCS,用於檢測傳輸過程中的錯誤。接收端會重新計算 FCS,並與幀中攜帶的 FCS 進行比較,如果不匹配,則認為數據幀在傳輸中發生了錯誤,會丟棄該幀。
-
流量控制:
- 避免擁塞:MAC 子層實現了流量控制機制,確保發送方不會在接收方無法處理的情況下過度發送數據,避免網路擁塞。例如,在全雙工以太網中使用的 PAUSE 幀就是一種流量控制機制。
-
多路訪問協議:
- 共享介質的協議:MAC 子層使用多種多路訪問協議來管理共享介質的使用,確保多個設備能夠協調訪問。例如,CSMA/CD 用於有線以太網,CSMA/CA 用於無線網路。
總結
MAC 子層在資料鏈結層中扮演著至關重要的角色,其主要作用包括介質存取控制、地址分配和解析、幀封裝與拆封、錯誤檢測、流量控制和多路訪問協議管理。這些功能確保了網路設備能夠有效、可靠地共享和使用物理介質,並進行數據通信。MAC 子層通過這些機制,實現了多設備之間的協同通信,保障了網路的穩定性和高效性。