一文弄懂FlexE Mux & Demux
amp 一文 弄懂
2023-09-14 09:09:06 时间
FlexE Mux
FlexE标准定义的FlexE Mux功能是指接口流量发送方向的FlexE Shim功能,即FlexE Client映射到FlexE Group的发送方向。如下图所示,以100GE PHY组成的FlexE Group为例,其工作过程如下:
- 每个FlexE Client作为64B/66B编码比特流呈现给FlexE Shim。
- 通过空闲插入/删除的方式实现FlexE Client的速率适配,以匹配FlexE Group的时钟,适配后的FlexE Client速率略小于FlexE Client的标称速率,以便为FlexE Group的PHY上的对齐标记和FlexE开销插入留出空间。
- 将来自每个FlexE Client的66Bit块按照顺序依次分发和插入时隙分配器Calendar。
- 生成错误控制块以插入未使用或不可用的时隙,确保这些时隙里的数据不会被认为是有效数据。
- Control功能是管理每个FlexE Client插入在哪些时隙,并在发送方向为每个PHY插入FlexE开销。
- Calendar分发负责将Calendar中不同FlexE Client的66Bit块按照TDM时隙分发机制分配到子时隙Sub-Calendar,然后Sub-Calendar把66Bit块轮询调度给FlexE Group中对应的PHY。
- 每个PHY的66Bit块流通过插入对齐标记被分发到该PHY的PCS通道,PCS以下的层继续按照IEEE 802.3定义的标准Ethernet的规定完整地使用。
FlexE Demux
FlexE标准定义的FlexE Demux功能是指接口流量接收方向的FlexE Shim功能,即从FlexE Group中解映射出FlexE Client的接收方向。如下图所示,以100GE PHY组成的FlexE Group为例,其工作过程如下:
- PHY的PCS以下层按照IEEE 802.3定义的标准Ethernet的规定使用,PCS通道完成去偏移,移除对齐标记等动作,将流量送往FlexE Shim。
- 时隙分配器Calendar对每个FlexE实例的子时隙进行逻辑交织,重新排序并提取出FlexE开销。
- 当FlexE Group的任一PHY失效,或任一FlexE实例的开销未实现开销帧锁定或开销复帧锁定时,该组内的所有FlexE Client都会产生本端故障LF(Local Fault)。
- Control功能管理每个FlexE Client在接收方向从每个FlexE实例中提取出哪些时隙。
- 提取出的时隙,按照66Bit块发送给每个FlexE Client。
- 通过空闲插入/删除的方式在必要时调整FlexE Client的速率,以适配速率提取66Bit块流到FlexE Client。同样会因为FlexE Group的PHY上的对齐标记和FlexE开销要占用空间,所以适配后的FlexE Client速率略小于FlexE Client的标称速率。
相关文章
- 【Q&A系列2】环境管理常见Q&A
- [Python] List & Object spread in Python
- linux centos 命令行 安装teamviweer 启动&停止
- High&NewTech:一文了解计算机思维、数学思维的本质区别,以及算法和程序的认知比较
- ML之LoR&Bagging&RF:依次利用LoR、Bagging、RF算法对titanic(泰坦尼克号)数据集 (Kaggle经典案例)获救人员进行二分类预测——优化baseline模型
- 数据库面试题【十九、count(字段) &count(主键 id) &count(1)&count(*)的区别】
- 智能优化算法——灰狼优化算法(Python&Matlab实现)
- 【nodejs原理&源码杂记(8)】Timer模块与基于二叉堆的定时器
- 混合精度训练amp,torch.cuda.amp.autocast():
- 一文看懂ATT&CK框架以及使用场景实例
- Tomcat 8443&8080 并存
- 前端基础 & Bootstrap框架
- 黑马day15 文件上传&apche的工具包
- hdu 2348 Turn the corner(三分&&几何)(中等)
- ubuntu下一个jboss-seam-2.2.2.Final/examples/build.xml:754: warning: 'includeantruntime' was not set
- device unauthorized & ANDROID_ADB_SERVER_PORT 问题解决
- Docker发布/上传镜像到dockerhub&&下载/拉取镜像&&删除dockerhub镜像