以太網將數據鏈路層的功能劃分到了兩個不同的子層:
1) 邏輯鏈路控制 (LLC) 子層
2) 介質訪問控制 (MAC) 子層。
邏輯鏈路控制 (LLC) 子層:
以太網,IEEE 802.2 標準規範 LLC 子層的功能,而 802.3 標準規範 MAC 子層和物理層的功能。邏輯鏈路控制處理上層與網絡軟件以及下層(通常是硬件)之間的通信。LLC 子層獲取網絡協議數據(通常是 IPv4 數據包)並加入控制信息,幫助將數據包傳送到目的節點。第 2 層通過 LLC 與上層通信。
(也就說LLC子層是網絡層和MAC層的橋樑,它從上層網絡層得到數據加一些控制信息幫助數據包傳送到目的節點。)
介質訪問控制 (MAC) 子層:
介質訪問控制 (MAC) 是數據鏈路層以太網子層的下半層,由硬件(通常是計算機網卡)實現。
以太網 MAC 子層主要有兩項職責:
1) 數據封裝
數據封裝:
數據封裝提供三項主要功能:
l 幀定界:用於標識組成幀的一組比特。
l 編址:封裝過程還提供數據鏈路層編址。幀中加入的每個以太網幀頭都含有物理地址(MAC 地址),使幀能夠傳送到目的節點。
l 錯誤檢測:接收節點將會創建一個 CRC,與幀中的 CRC 進行比較。如果兩個 CRC 的計算一致,就可以相信已正確無誤地收到該幀。
介質訪問控制:
其功能是管理介質訪問控制,包括啓動幀的發送以及從衝突引起的發送故障中恢復。
以太網的衝突管理:在早期傳統的以太網中解決衝突的技術是CSMA/CD,但是當設備數量和隨之而來的數據流量增加時,衝突的上升就會給用戶體驗帶來明顯的負面影響。當前的以太網重大的發展是交換機取代的集線器解決了衝突,因爲交換機可以隔離沒個端口這樣就有效的控制了衝突。
以太網幀大小:
原來是1518字節,1998年發佈的IEEE 802.3AC標準將允許的最大幀1522個字節。
如果發送的幀小於最小值或者大於最大值,接收設備將會丟棄該幀。幀之所以被丟棄,可能是因爲衝突或其它多餘信號而被視爲無效。
幀 - 封裝數據包:
l 前導碼和幀首定界符字段:用於同步發送設備與接收設備
l 目的 MAC 地址字段:是預定接收方的標識符
l 源 MAC 地址字段:標識幀的源網卡或接口
l 長度/類型字段:定義幀的數據字段的準確長度,此字段後來被用作 FCS 的一部分,用來確認是否正確收到報文。
l 數據和填充位字段:所有幀至少必須有 64 個字節。如果封裝的是小數據包,就幀使用填充位增大到最小值。
l 幀校驗序列字段:就是說當接受到一個數據幀,生成一個CRC來查找錯誤,如果匹配上了OK,如果匹配不上則丟棄此幀。
MAC 地址結構:
IEEE 要求廠商遵守兩條簡單的規定:
l 分配給網卡或其它以太網設備的所有 MAC 地址都必須使用廠商分配的 OUI 作爲前 3 個字節。
l OUI 相同的所有 MAC 地址的最後 3 個字節必須是唯一的值(廠商代碼或序列號)。
MAC 地址通常稱爲燒錄地址 (BIA),因爲它被燒錄到網卡的 ROM(只讀存儲器)中。這意味着該地址會永久編碼到 ROM 芯片中 - 軟件無法更改。
但是,當計算機啓動時,網卡會將該地址複製到 RAM 中。在檢查幀時,將使用 RAM 中的地址作爲源地址與目的地址進行比對。網卡使用 MAC 地址來確定報文是否應該發送到上層進行處理。
另一個編址層:MAC地址通過本地介質在網絡內部使用。
IP地址用於在網絡之間通信。