IEEE802.1Qbu標準和IEEE802.3br標準定義了幀搶占技術,該技術旨在降低數據流延遲的同時,最大限度地提升數據鏈路的有效帶寬。幀搶占技術屬于OSI七層參考協議中數據鏈路層的MAC子層,如下圖所示。 其核心思想可概括為高層與MAC子層有兩條獨立的數據通道,分別傳輸時間敏感幀和優先級較低的可被搶占幀。時間敏感幀通過MAC子層的eMAC被組幀成mPacket幀格式的數據幀,而可搶占幀通過pMAC進行mPacket幀的組幀。所有mPacket幀均通過數據鏈路層與物理層之間僅有的一個媒體獨立接口與物理層進行數據的交互。 基于IEEE802.1AS標準建立全局精確時鐘同步。基于IEEE802.1Qbv 標準將全局時間軸劃分成多個時間周期,并在每個時鐘周期內劃分成多個連續的時間片,在每個相同編號的時間片內,僅能傳輸相同類型的數據幀。通過這種方式對各個流量等級的數據流進行調度傳輸,以避免傳輸沖突。保護帶技術簡單的可理解為:低優先級數據流較大,在時間片2內未傳輸完畢而占用了時間片1的資源,導致高優先級數據流傳輸延遲增加,如下圖所示: 因此為應對這種干擾,引入了保護帶機制。如下圖所示,在保護帶內,未傳輸完畢的數據幀可以繼續傳輸,未開始傳輸的數據幀必須停止傳輸,以防止低優先級數據幀侵入時間片1。但是當網絡中的數據幀較長時,保護帶十分冗長,仍然會存在有效帶寬較低的情況。 IEEE Std 802.3br幀和傳統以太網幀的幀格式主要區別是在數據幀第8個字節。傳統以太網幀的第8 個字節用來作為幀起始定界符,IEEE Std 802.3br幀的第8個字節用來判斷數據幀類別。 另外,該協議中還定義了快速幀(eMAC幀)和可搶占幀(pMAC幀),通過第8個字節的幀類別來區分快速幀(eMAC幀)和可搶占幀(pMAC幀)。如其幀格式如下: 當pMAC幀被eMAC幀搶占時,被搶占的pMAC幀分成pMAC切片幀首幀、pMAC切片幀中間幀和pMAC切片幀尾幀這幾部分,三種數據幀格式如下所示:

pMAC切片幀中間幀和尾幀有著相似的幀格式,但使用的循環冗余校驗碼不同。其中,切片幀首幀和切片幀中間幀使用的是mCRC校驗碼。當發生幀搶占時,為了保證切片幀首幀和切片幀中間幀的準確性,TSN交換機需要給切片幀添加一個校驗字段。為了區別于原數據幀的FCS校驗碼,新添字段稱作mCRC。mCRC計算過程如下:
- 根據該切片幀數據計算出CRC值,這一步驟與普通以太網幀CRC計算方式相同。
- 將32位CRC與0x0000FFFF進行異或運算,得到mCRC值。切片幀尾幀使用的是FCS校驗碼,它的FCS校驗碼與原可搶占幀的FCS 校驗碼相同。
開啟幀搶占前交換設備會通過LLDP協議向相鄰設備發送驗證幀,如果在規定時間內收到相鄰設備發來的響應幀,則幀搶占驗證成功,可以啟用幀搶占功能。如果在規定時間內沒有收到相鄰設備發來的響應幀,則交換設備會再次向相鄰設備發送驗證幀,若還是沒收到相鄰設備發來的響應幀,則幀搶占驗證失敗,無法啟用幀搶占功能。當幀搶占功能驗證通過后,數據幀的附加信息將添加到mPacket 頭部,描述其搶占特性。(1)時間敏感網絡幀映射成pMAC幀和eMAC 幀。pMAC幀進入pMAC層傳輸,eMAC幀進入eMAC層,判斷搶占條件是否成立(交換機會檢查該pMAC 的長度是否大于124 字節,且還未傳輸的數據是否大于60 個字節)(2)交換機給pMAC幀已傳輸的部分補上4字節的mCRC校驗碼,并暫停pMAC層中pMAC幀的傳輸,然后切換到eMAC層傳輸eMAC幀。當該eMAC幀傳輸完成后,若還有eMAC幀需要傳輸,則繼續傳輸eMAC幀,若沒有eMAC幀需要傳輸,則暫停eMAC層中的數據傳輸,切換到pMAC 層傳輸被搶占pMAC幀的剩余部分。切片過程形成的數據幀如下圖所示: 此外,IEEE Std 802.3br標準定義不同的SMD值來區分不同類別的數據幀,具體可參照下表:只有SMD-Cx值順序正確且第一個切片幀中間幀使用SMD編碼值0x61時切片幀才能合成原pMAC幀。如果切片合成時不滿足此條件,該切片幀將會被丟棄。
- 在接收端節點,獨立接口(xMII)在幀到達時檢查每個幀的SMD值。
- 若是eMAC幀(即包含SMD-E 的幀),則由eMAC幀接收器直接接收。
- 否則,pMAC幀和切片幀由特定幀處理器處理。特定幀處理器負責保證每一個可搶占幀的所有切片幀都被完整且按正確的順序合成并接收,它通過同時使用“mCRC”和“frag count”值來保證可搶占幀的接 收。
- 特定幀處理器接收到切片幀后會生成一個mCRC校驗碼,通過這個mCRC校驗值與原始幀切片時生成的mCRC值比較:值相同,說明該切片幀傳輸正確;值不同,說明該切片幀傳輸錯誤。
- 同時,通過“frag count”值檢測切片幀傳輸的順序是否正確。只有“mCRC”和“frag count”值都無誤的切片幀才能合成原數據幀并接收。
TSN將幀搶占機制引入MAC子層,在數據傳輸沖突時,通過對低優先級數據幀的拆解、分時傳輸和重新組幀,保證了高優先級數據流的低時延,同時降低了保護帶的影響,避免了帶寬利用率的大幅下降。