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

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