5G承载网里的FlexE,到底是什么?
2021-07-30
来源:物联网智库
进入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,共同设计并实现了世界上第一个以太网。
Bob Metcalfe,以太网之父
后来,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 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数据流。