本文转载自微信公众号「鲜枣课堂」,作者小枣君。转载本文请联系鲜枣课堂公众号。
进入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的架构,如下图所示:
- 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承载网关键技术之一,也是第三代以太网技术的核心。
三代以太网
好啦,今天的内容就到这里,感谢大家的耐心阅读,如果大家觉得文章有用,欢迎帮我们转发!
谢谢啦!
参考文献:
《灵活以太网技术白皮书》,华为、中国电信
《Flex Ethernet:breaking the chains of physical bandwidth》,Anabel Alarcan
《Flex技术》,通信百科
Chalk Talk:What is FlexEthernet?