1. 程式人生 > 資訊 >科普:5G 承載網裡的 FlexE ,到底是什麼

科普:5G 承載網裡的 FlexE ,到底是什麼

進入 5G 時代,我們學習傳輸網知識,經常會看到“Flex”這個字首。比如說,FlexE、FlexO、FlexHaul、Flex Grid、FlexXXX……

那麼,Flex 到底是什麼意思?

沒錯,Flex 是英語 Flexible 的縮寫,意思就是“靈活的,可變動的,柔韌的”。

那 FlexE 的 E,又是什麼呢?

E,就是我們耳熟能詳的“乙太網(Ethernet)”。

大家學計算機網路,第一課應該就會介紹乙太網。什麼 CSMA/CD(載波監聽多路訪問及衝突檢測)、匯流排型拓撲、100BASE-T,不知道大家還有沒有印象?

最早的乙太網,誕生於上世紀 70 年代。

一個名叫 Bob Metcalfe 的哈佛博士,利用自己在夏威夷大學 Aloha 專案(世界上最早的無線電計算機通訊網)學習時受到的啟發,在施樂公司(Xerox)帕洛阿爾託研究中心,和另一名同事 David Boggs,共同設計並實現了世界上第一個乙太網。

BobMetcalfe,乙太網之父

後來,1982 年,Xerox 與 DEC 及 Intel 組成 DIX 聯盟,共同發表了 Ethernet Version 2(EV2)的規格,並將它投入商用市場,且被普遍使用。

沒錯,就是那個賣印表機的施樂

這個 EV2,就是受 IEEE 承認的 10BASE5。10 代表速度是 10Mbps,BASE 代表傳輸訊號調製方式為基帶調製,5 代表傳輸距離 500 米。

乙太網誕生之後,得到了快速的發展,逐漸從最開始的匯流排式乙太網(也叫經典乙太網),演變為交換式乙太網。

乙太網的速率,從最開始的 1Mbps,10Mbps,100Mbps,慢慢衍生出了 1Gbps,10Gbps,100Gbps……

乙太網的傳輸介質,也從早期的同軸電纜,變成了雙絞線(80 年代末出現),再到後面的光纖(90 年代中後期出現)。

乙太網演進(點選可看大圖)

在 OSI 七層模型裡面,乙太網是資料鏈路層和物理層的技術。在 TCP/IP 模型中,是網路介面層。

回過頭來,我們再看看光。

進入 2010 年代之後,人們開始發現,光傳輸裝置的發展,漸漸無法跟上需求。

一方面,光通訊場景較多,UNI(使用者網路介面)可能出現多種情況,而底層光傳輸鏈路介面和模組是固定的,難以應對這些變化。例如,光傳輸裝置只有三個 40G 通道,而我們的業務是 100G 的。

另一方面,高速率光模組的價格太高,一時半會降不下來。行業需要尋找更低成本的解決方案,例如,1 個 400G 光模組的價格,比 4 個 100G 加起來還高。那麼,是不是可以通過繫結多個低速率的方式,實現高速率?

於是,人們開始思考,Ethernet 介面的速率,和光傳輸的能力速率,能不能解除匹配關係。這個,就是我們常說的“解耦”。

為了實現這個願望,2016 年,OIF(光互聯論壇)推出了 FlexE。

FlexE 的作用,有點像一個“超級變速齒輪”。

它在傳統乙太網架構的基礎上,引入了全新的 FlexE Shim 層,實現 MAC(介質訪問控制子層,屬於資料鏈路層)和 PHY(物理層)的解耦。

上層和下層的資料流速率,不再強制繫結。

FlexE 的架構,如下圖所示:

FlexE Client

對應於網路的各種使用者介面(UNI),與現有 IP/ETH 網路中的傳統業務介面一致。可根據頻寬需求靈活配置,例如 10G、40G、100G、200G、n*25G。

FlexE Group

本質上就是 IEEE 802.3 標準定義的各種乙太網物理層(PHY)。

FlexE Shim

FlexE Shim 是整個 FlexE 的核心。

它把 FlexE Group 中的每個 100GE PHY 劃分為 20 個 Slot (時隙) 的資料承載通道,每個 PHY 所對應的這一組 Slot 被稱為一個 Sub-calendar,其中每個 Slot 所對應的頻寬為 5Gbps。

FlexE 幀結構(來源:《靈活乙太網技術白皮書》)

FlexE Client 原始資料流中的乙太網幀,以 Block 原子資料塊 (為 64/66B 編碼的資料塊) 為單位進行切分,這些原子資料塊可以通過 FlexE Shim 實現在 FlexE Group 中的多個 PHY 與時隙之間的分發。

由於 FlexE Group 的 100GE PHY 中每個 Slot 頻寬為 5Gbps 粒度,FlexE Client 理論上也可以按照 5Gbps 速率顆粒度進行任意數量的組合設定,支援更加靈活的多速率承載。

(注意,最開始的 FlexE 版本,每個 slot 頻寬是 5Gbps。後來的 FlexE 版本,又推出了其它大小。)

FlexE 的功能,簡單來說,就是三個:捆綁、子速率、通道化。

捆綁 (Bonding)

捆綁,就是多根小水管,綁起來,給一個大資料流用。

多路 PHY 一起工作,支援更高速率。

例如,4 路 100GE PHY 實現 400G MAC 速率。

子速率 (Sub-Rate):

子速率,就是一根或多根大水管,給一個小資料流用。

單一低速率 MAC 資料流共享一路或者多路 PHY,並通過特殊定義的 Error Control Block 實現降速工作。

例如,在 100G PHY 上僅僅承載 75G MAC 資料流。

通道化 (Channelization):

通道化,是一根或多根大水管,給若干小資料流(或大資料流)用。

多路低速率 MAC 資料流共享一路或者多路 PHY。

例如,在 100G PHY 上承載 10G、40G、50G 的三路 MAC 資料流。或者,在兩路 100G PHY 上覆用承載 125G 的 MAC 資料流。

來幾個動圖,看得更明白一些:

通道化

通道化

通道化 + 捆綁

總而言之,FlexE 在不同基礎設施條件下,實現了對不同業務頻寬的支援。這就是所謂的“靈活性(Flexible)”。

基於 FlexE 通道化功能,運營商可以在現有線路上,構建端到端的管道。這些管道的服務等級可以不同。

大家應該也想到了網路切片。是的,Flex 也能夠滿足網路切片的需求。

基於 FlexE 的 5G 網路切片(來源:《靈活乙太網技術白皮書》)

FlexE 在現有技術標準和裝置的基礎上,做了一些“小改動”,就實現了靈活的速率,更大的頻寬,以及通道隔離。可以說是既省錢又好用。這樣的技術,自然而然受到了大家的歡迎。目前,OIF 已經將標準發展到了 2.1 版本。

現在,FlexE 已經是公認的 5G 承載閘道器鍵技術之一,也是第三代乙太網技術的核心。

三代乙太網