一文读懂Flex Ethernet(FlexE)技术

Posted 一个热爱编程的通信人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一文读懂Flex Ethernet(FlexE)技术相关的知识,希望对你有一定的参考价值。

FlexE产生背景

FlexE(Flexible Ethernet)是基于高速以太网接口(100GE及以上接口),通过以太网MAC速率和PHY速率的解耦,实现灵活控制接口速率,以适应不同的网络传输结构。

光传输设备对于UNI(用户网络接口)的需求情况多变,而底层光传输网络的链路速率固定(接口和模块固定),如果通过调整底层传输的模块来适应各种传输需求,成本很高无法适应。FlexE技术是在Ethernet技术基础上,为满足高速传送、带宽配置灵活等需求而发展出来的技术。

FlexE基础概念

FlexE是OIF组织基于IEEE802.3/1指定的标准体系架构的扩展研究部。如下图所示,它就OSI七层模型,在PHY层(物理层)和MAC层(数据链路层)中间增加了shim层,用来实现MAC和PHY的解耦。

FlexE结构示意图

FlexE基于Client/Group架构定义,可以支持任意多个不同子接口(FlexE Client)在任意一组PHY(FlexE Group)上的映射和传输,从而实现上述捆绑、通道化及子速率等功能。其中:

  • FlexE Group:每个FlexE Group由1个或多个(最多254个)基于802.3标准的以太网PHY组成,组内所有的PHY使用相同的物理层,每个PHY在FlexE Group都有一个唯一的编号。
  • FlexE Shim:处于MAC和PHY之间,是FlexE的核心处理逻辑层。它将MAC层的FlexE Client数据流映射到FlexE Group的PHY上进行传输;并且也支持将FlexE Group内的PHY传输的数据反射到MAC层的FlexE Client数据流。FlexE Shim可以基于组对组内PHY的带宽进行捆绑、子速率、通道化处理。
  • FlexE Client:对应于以太网络中的传统接口,是基于MAC层速率的以太网数据流,用于对接不同速率的UNI(User Network Interface,网络用户接口)。FlexE Client的数据流按照64B/66B编码形成多个数据块(blocks),这些blocks会插入到FlexE Group的某个位置的Sub-Calendar中。
  • FlexE Calendar:是FlexE Shim处理映射和反映射处理的机制。将FlexE Group内的100G的PHY拆分成20个Slot,每个PHY的一组Slot称为Sub-Calendar,每个Slot承载5G速率。FlexE Calendar将FlexE Group内的每个PHY上的Sub-Calendar上承载的66B数据块分配给指定的FlexE Client。理论上每个FlexE Client可以被设置的带宽为5G的倍数。

FlexE通用架构示意图

FlexE支持的功能

捆绑

FlexE支持捆绑多个IEEE 802.3标准的物理接口,使多个PHY一起工作,以支持更高速率。例如,将2个100G物理接口捆绑,实现200G的MAC层速率。

捆绑功能示意图

通道化

对基于IEEE 802.3标准的物理接口的通道化是指多个低速率数据流共享一个PHY或多个PHY。例如,在1个100G速率的物理接口上承载25G和75G两个MAC层速率的数据流。

通道化功能示意图

子速率

基于IEEE 802.3标准物理接口的子速率是指一个低速率的数据流共享一个PHY或多个PHY。例如,在2个100G速率的物理接口上仅仅承载50G的MAC层速率。

子速率功能示意图

FlexE运行机制

FlexE帧结构

FlexE按照每个Client数据流所需带宽以及Shim中对应每个PHY的5G粒度Slot的分布情况,计算、分配Group中可用的Slot,形成Client到一个或多个Slot的映射,再结合Calendar机制实现一个或多个Client数据流在Group中的承载。每个64/66B数据块承载在一个Slot中。FlexE在Calendar机制中,将“20blocks”作为一个逻辑单元,并进一步将1023个“20blocks”作为一个Calendar。Calendar循环往复最终形成了5G为颗粒度的Slot数据承载通道。

FlexE帧结构示意图

FlexE Shim层通过定义Overhead Frame/MultiFrame的方式体现FlexE Client与FlexE Group中的Slot映射关系以及Calendar工作机制。FlexE Shim层通过Overhead提供带内管理通道,支持在对接的两个FlexE接口之间传递配置、管理信息,实现链路的自动协商建立。其中:

  • FlexE Overhead Slot:FlexE开销时隙,实际为64B/66B编码形成的数据块。FlexE开销时隙每隔1023个“20blocks”出现一次。
  • FlexE Overhead Frame:FlexE开销帧,由8个开销时隙组成。
  • FlexE Overhead MultiFrame:FlexE开销复帧,由32个开销帧组成。FlexE开销复帧的前16个开销帧,标记位为“0”;FlexE开销复帧的后16个开销帧,标记位为“1”。当FlexE开销复帧的前16个开销帧的标记位和后16个开销帧的标记位从“0”转换为“1”或从“1”转换为“0”时,可以实现CRC校验。

FlexE开销帧示意图

在FlexE开销帧中,FlexE开销时隙中包含控制字符与“O Code”字符等信息。在信息传送过程,对接的两个FlexE接口之间通过包含“0x4B”的控制字符与“0x5”的“O Code”字符的匹配确定第一个FlexE开销帧,从而在二者之间建立了一个管理信息通道,实现对接的两个接口之间配置信息的预先协商、握手等。

Client/Slot映射机制

Client/Slot映射机制是指FlexE Client数据流在发送端的FlexE Shim/Group数据通道中映射到Slot,然后当这些Slot映射信息、位置等内容传送到接收端后,接收端可以从数据通道中根据发送端的Slot映射等信息恢复该FlexE Client的数据流。

1.FlexE Mux

FlexE Mux是指将FlexE Client数据映射到Slot。将不同带宽的FlexE Client数据插入到Calendar中。只要Calendar中有足够的Slot,分配给特定FlexE Client的Slot并不都不需要位于FlexE Group的同一个PHY上,这样可以使用多个PHY并行发送FlexE Client的数据流,提高了发送效率。

FlexE Mux示意图

2.FlexE Demux

FlexE Demux是指将Slot承载的数据恢复为FlexE Client数据。FlexE将从多个PHY接收到的Slot数据重新封装,恢复为2个FlexE Client数据。

FlexE Demux示意图

3.Slot/Calendar更改机制

FlexE通过为每一个FlexE Client提供Slot/Calendar更改机制,即每允许FlexE Client的Slot/Calendar映射关系实时变化,实现带宽动态调整。

本端FlexE接口记录了多种不同的FlexE Calendar信息,例如Calendar A和Calendar B。FlexE Client的带宽在Calendar A和Calendar B中是不同的,通过动态切换CalendarA和Calendar B,并进一步结合系统应用控制可以实现无损带宽调整。本端进行FlexE Calendar切换后,可以通过传递FlexE开销帧来通知对端FlexE接口进行FlexE Calendar切换,保证两端FlexE接口的传输速率一致。

Slot/Calendar更改机制示意图

FlexE应用场景

通过FlexE捆绑实现超大带宽接口

基于捆绑技术,通过接口速率组合,FlexE可以实现超大带宽接口,而且可以基于时隙调度,把数据流均匀的分发到所有的物理接口,实现100%带宽利用率,解决了现有链路带宽小、带宽资源利用率低的问题。

FlexE捆绑实现超大带宽接口

通过FlexE实现IP + Optical灵活组网

FlexE接口作为路由器与光传输设备之间的UNI(User Network Interface,用户网络接口),可以通过速率灵活匹配实现UNI实际承载的数据流带宽与光传输设备接口链路承载的带宽一一对应,从而极大简化路由器的FlexE接口在光传输设备上的映射,降低设备复杂度以及投资成本和维护成本。FlexE标准定义了三种和光传输对接的模式:Unaware、Termination和Aware模式,目前推荐使用Unaware模式。Unaware模式可以充分利用现有光传输网络设备,在无需硬件升级的情况下实现对FlexE的承载。

FlexE Unaware Transport模式在传输网络映射示意图

通过FlexE实现网络切片

如果把通信网络类比为交通系统,那么数据包就是“车辆”,网络就是“道路”。随着车辆的增多,城市道路变得拥堵不堪,为了缓解交通拥堵,交通部门需要根据不同的车辆类型、运营方式进行车道划分和车流量管理,比如设置快速公交通道、非机动车专用通道等。网络亦是如此,要实现从人与人联接到万物互联,连接数量和数据流量将持续快速上升。如果不加干预,网络必将越来越拥堵,越来越复杂,最终影响网络的业务性能。与交通系统的管理相似,通信网络也需要对网络实行“车道”划分和流量管理,即网络切片。

网络切片是指在同一个共享的网络基础设施上提供多个逻辑网络(切片),每个逻辑网络服务于特定的业务类型或者行业用户。每个网络切片都可以灵活定义自己的逻辑拓扑、SLA需求、可靠性和安全等级,以满足不同业务、行业或用户的差异化需求。

多台路由器通过FlexE技术进行数据传输,路由器的一个物理接口可配置为多个FlexE接口(逻辑接口),FlexE接口之间带宽资源严格隔离,等同于物理口,这使FlexE能用于不同业务的网络切片中,实现安全可靠的一网多用。

FlexE技术实现网络切片

以上是关于一文读懂Flex Ethernet(FlexE)技术的主要内容,如果未能解决你的问题,请参考以下文章

只需5分钟!一文读懂CSS布局 -- flex布局

一文弄懂FlexE Mux & Demux

一文读懂FastQC Report

一文读懂Python 高阶函数

一文读懂什么是机器学习--1. 机器学习是什么?

一文读懂神经网络