Layer2交換器通常負責在資料連結層(OSI第2層)上傳輸數據,並對每個發送和接收的資訊框架(Frame,簡稱”訊框”)執行錯誤檢查。
利用MAC位址 (MAC Address),訊框(Frame)或封包(Packet)被二層交換器轉發。
此過程中,有三種常見的乙太網路交換模式:直通交換(cut-through)、無碎片交換(fragment free)和存儲轉發交換(store-and-forward)。
本文旨在比較Store-and-Forward和Cut-Through模式。
概述
一個完整的Frame包含許多組成:前導碼(Preamble)、目的MAC位址(Destination MAC address)、來源MAC位址(Source MAC address)、數據(Data)和框架檢查序列(FCS)…等。
▲在不同的交換模式下,資料轉發有不同的辨識方式。
交換器會先把Frame完全接收下來,然後才進行轉發。LAN交換器會把每個完整的Frame儲存到switch的記憶體緩衝區中,並且在轉發之前檢查錯誤。
迴圈冗餘校驗(Cyclic redundancy check,簡稱”CRC”),是一種資傳輸檢錯功能,透過數學公式來校驗接收到的Frame。
通過CRC檢查後,Frame才會被轉發到目的端MAC位址;如果檢查失敗,損壞的Frame就會被丟棄。此過程能夠確保高品質的資料傳輸,因為接收端不會受到損壞Frame的影響。
交換器接收到Frame時,會先抓取目的端MAC位址(也就是接在preamble後面的前6個bytes)。然後,LAN交換器會在它的交換表(switch table)中檢查目的MAC位址,並確定輸出介面埠,再將Frame轉發到目標位址。
過程中不會執行CRC錯誤檢查。因此,所有的Frame(不論有無錯誤)都會被轉發到接收端交換器。由接收端進行錯誤檢查,以確保傳輸無差錯。
為了改善這種情況,採用fragment free模式來彌補Cut-Through的缺點。
在fragment free模式下,長度小於64位元組的frame會被丟棄,並减少資料傳輸中的後期衝突。
比較
不管是Store-and-Forward或Cut-Through模式,都是基於Packet或Frame裡面的目的MAC位址來進行轉發。
下列是簡單的比較表。
透過以上比較,我們可以得知:
Store-and-Forward優勢在於高品質的資料傳輸;Cut-Through優勢則是低延遲。
在大多數企業網路中,此兩種傳輸模式的延遲差異可以忽略不計(僅幾十毫秒的差距)。
然而在某些應用上,網路延遲是一個重要的考量因素,尤其在金融領域(例如高頻交易的應用),網路延遲往往比網路流通量(network throughput)更為重要。
在選購交換器時,除了考慮效能、連接埠(port)密度和成本外,還需考慮交換模式。
如何配置乙太網路交換模式?
市面上很多交換器預設使用Store-and-Forward模式,以確保高品質的數據傳輸。
然而,Store-and-Forward並不適用於所有環境,特別是在低延遲領域(例如高效能運算 (high performance computing,簡稱”HPC”)。
使用者可以透過手動的方式把模式配置成Cut-Through。以FS產品S5800-48F4S 1GbE交換器為例,可以透過下列步驟將Store-and-Forward切換成Cut-Through模式。
假設使用者想要重新啟用Store-and-Forward模式,只需將步驟二的指令從“cut_through_forwarding enable(10G-40G-100G | 1G-10G-100G | 1G-10G-40G)”更改為“no cut_through_forwarding enable(10G-40G-100G | 1G-10G-100G | 1G-10G-40G)”儲存變更後,即可再次啟用。[i]
[i] 全文出處:https://community.fs.com/blog/comparison-between-store-and-forward-switching-and-cut-through-switching.html
Copyright © 2020 HyperShark Technologies Corp. All Rights Reserved.