进入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的架构,如下图所示:

 

 

对应于网络的各种用户接口(UNI),与现有IP/ETH网络中的传统业务接口一致。可根据带宽需求灵活配置,例如10G、40G、100G、200G、n*25G。

 

FlexE Client

本质上就是IEEE 802.3标准定义的各种以太网物理层(PHY)。

 

FlexE Group

FlexE Shim是整个FlexE的核心。

 

它把FlexE Group中的每个100GE PHY划分为20个Slot(时隙)的数据承载通道,每个PHY所对应的这一组Slot被称为一个Sub-calendar,其中每个Slot所对应的带宽为5Gbps。

 

FlexE Shim

 

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承载网关键技术之一,也是第三代以太网技术的核心。

 

三代以太网



好啦,今天的内容就到这里,感谢大家的耐心阅读,如果大家觉得文章有用,欢迎帮我们转发!谢谢啦!

 

参考文献:

1、《灵活以太网技术白皮书》,华为、中国电信

2、《Flex Ethernet:breaking the chains of physical bandwidth》,Anabel Alarcan

3、《Flex技术》,通信百科

4、Chalk Talk:What is FlexEthernet?