涵盖网络优化、安全、可视化、可编程网络、网络测量、网络切片、网络安全、网络自动化、网络仿真、网络AI运维等领域,并与RDMA、SDN、数据中心网络紧密结合。

编号

领域

核心理论

模型/协议/算法名称

目标与描述

精度与特征

理论基础

应用场景

数学要素

关键方程/状态机

数学特征

实现步骤/工作流程

软硬件工具

Roce-NW-0754

网络优化

非线性规划, 多目标优化

RDMA网络无损参数全局优化模型

以全网吞吐量最大化和平均延迟最小化为目标,以PFC阈值、ECN阈值、队列权重为决策变量,构建非线性规划模型,求解最优的无损网络参数配置。

多目标: 权衡吞吐量、延迟、公平性。
非线性: 目标函数和约束可能非线性。
全局最优: 寻求全网最优配置。

非线性规划, 凸优化, 多目标优化。

超大规模数据中心, AI训练集群网络规划。

决策变量: 每条链路的PFC Xoff阈值X_l, ECN标记阈值K_l, 队列权重w_l
目标函数max Σ throughput, min Σ delay
约束: 链路容量, 队列稳定性, 无死锁。

目标函数max (α·Σ_u T_u - β·Σ_f D_f), 其中T_u是利用率,D_f是流延迟。
约束0 ≤ X_l ≤ Buffer_size, K_min ≤ K_l ≤ K_max, Σ w_l = 1

1. 问题建模: 考虑一个由交换机和链路组成的网络,运行RoCEv2协议,启用PFC和ECN。目标是找到一组全网参数,使得在给定流量负载下,网络吞吐量最大,平均流完成时间最小,同时避免拥塞崩溃和PFC死锁。2. 决策变量: 对于每条链路l,定义其PFC的Xoff触发阈值X_l,ECN标记阈值K_l,以及用于加权公平队列(WFQ)的权重w_l(如果有多个优先级)。3. 目标函数: 通常为多目标,可转化为单目标加权和:max α * Σ_u U_l - β * Σ_f D_f,其中U_l是链路利用率,D_f是流f的延迟。权重α和β由管理员设定。4. 约束条件: a. 链路容量约束:链路负载不超过物理容量。b. 队列稳定性:平均队列长度有界,避免丢包。c. PFC死锁避免:通过设置合适的Xon/Xoff阈值,确保不会产生永久暂停。d. 参数范围:阈值必须在硬件支持的范围内。5. 求解方法: 由于问题通常是非凸且高维的,可以使用启发式算法(如遗传算法、模拟退火)或基于梯度的方法(如果模型可微)。也可以采用离线仿真与在线调整结合的方式。6. 与流量矩阵结合: 优化时需要已知或预测的流量矩阵。对于AI训练集群,通信模式相对固定(如AllReduce),可以提前建模。变量/常量X_l: 链路l的PFC Xoff阈值。 K_l: 链路l的ECN标记阈值。 w_l: 链路l上某队列的权重。 U_l: 链路l的利用率。 D_f: 流f的端到端延迟。 T: 流量矩阵(源-目的对的需求)。

多目标: 吞吐量 vs 延迟的权衡。
非线性: 延迟与阈值关系复杂。
高维: 变量数量与链路数成正比。
约束优化: 带有多种约束。

1. 数据收集: 通过INT或sFlow收集历史流量数据和网络状态(队列长度、丢包、吞吐量)。 2. 建模: 建立数学模型,定义决策变量、目标函数和约束。 3. 求解: 使用优化求解器(如Gurobi, CPLEX)或启发式算法求解模型,得到一组候选参数配置。 4. 仿真验证: 在网络仿真器(如NS3, OMNeT++)中部署候选配置,验证性能。 5. 部署与监控: 将最优配置下发到实际网络,并持续监控性能指标。 6. 反馈调整: 如果性能不达标,重新调整模型参数并迭代。

Roce-NW-0755

网络安全

深度包检测, 协议异常检测

RDMA协议深度包检测与异常行为识别模型

对RoCEv2数据包进行深度解析,提取协议字段(BTH, DETH等)和通信模式,与正常行为基线比较,识别潜在的攻击(如重放、注入、协议违规)和异常流量。

协议解析: 深入解析RoCEv2协议头。
行为建模: 建立正常通信模式基线(如QP对通信频率)。
异常检测: 基于统计或机器学习识别偏差。

深度包检测, 异常检测, 协议状态机。

RDMA网络安全防护, 入侵检测系统。

协议字段: OpCode, DestQP, PSN, Partition Key等。
统计特征: 包速率, PSN连续性, 操作类型分布。
基线模型: 正常流量特征的均值和方差。

异常分数score = Σ_i w_i * (feature_i - μ_i)^2 / σ_i^2
状态检查: 检查PSN是否在期望窗口内。

1. 协议解析: 深度包检测引擎解析以太网、IP、UDP头部后,进一步解析RoCEv2的IB传输头(BTH)和扩展传输头(DETH或RETH)。提取关键字段:操作码(OpCode)、目标QP(DestQP)、数据包序列号(PSN)、分区密钥(Partition Key)等。2. 特征提取: 针对每个QP对(源QP,目标QP)或每个连接,提取时间窗口内的特征,如:a. 数据包速率。b. PSN序列的连续性和间隙。c. 操作类型分布(Send, Write, Read等)。d. 数据包大小分布。e. 分区密钥的使用情况。3. 基线建立: 在训练阶段(或已知安全阶段),收集正常流量,计算上述特征的统计分布(如均值、方差),建立基线模型。4. 异常检测: 在线检测时,计算实时特征与基线模型的偏差。可以使用阈值法(如特征值超过均值±3σ)或机器学习模型(如孤立森林、单类SVM)计算异常分数。5. 攻击识别: 特定攻击会表现出特定异常模式。例如:a. 重放攻击: PSN重复或乱序。b. 注入攻击: 非预期的操作码或分区密钥不匹配。c. DoS攻击: 过高的数据包速率。d. 协议状态机违规: 如未建立连接就收到数据包。6. 响应措施: 检测到异常后,可以触发告警、记录日志、或通过SDN控制器下发流表项阻断可疑流量。变量/常量OpCode: 操作码(0-255)。 DestQP: 目标QP号。 PSN: 数据包序列号(24位)。 PartitionKey: 分区密钥(16位)。 rate: 单位时间内的包数。 mean_psn_gap: 平均PSN间隔。 anomaly_score: 异常分数。

协议感知: 理解RoCEv2协议语义。
特征工程: 提取与安全相关的协议特征。
基线学习: 无监督学习正常行为。
实时检测: 在线计算和比较。

1. 解析: 捕获网络数据包,深度解析至RoCEv2头,提取协议字段。 2. 会话跟踪: 维护每个QP对的会话状态,包括最近PSN、时间戳等。 3. 特征计算: 每隔时间窗口T,计算每个QP对的特征向量。 4. 异常评分: 将特征向量输入异常检测模型,计算异常分数。 5. 决策: 如果异常分数超过阈值,触发告警。 6. 响应: 根据策略,可能记录日志、通知管理员或通过SDN控制器阻断该QP对的流量。

Roce-NW-0756

网络可视化

图论, 拓扑发现, 状态监控

RDMA网络多维可视化与状态感知模型

基于实时采集的网络状态(拓扑、流量、队列、丢包、ECN标记率),构建动态、交互式的多维可视化系统,帮助运维人员直观理解网络健康度、快速定位瓶颈和故障。

多维度: 同时呈现拓扑、流量热力图、队列深度、性能指标。
实时性: 近实时更新(秒级)。
交互性: 支持下钻、过滤、时间回溯。

信息可视化, 图论, 数据流处理。

数据中心网络运维, 性能监控与调试。

图节点: 交换机, 主机, 链路。
节点属性: 设备ID, IP, 角色。
边属性: 链路带宽, 利用率, 丢包率, ECN标记率。
时间序列: 指标随时间变化。

链路颜色映射color = f(utilization), 如绿色(0-50%), 黄色(50-80%), 红色(>80%)。
节点大小映射size ∝ port_count

1. 数据采集: 通过多种源实时采集数据:a. 拓扑: 通过LLDP或控制器发现。b. 流量: 通过sFlow/IPFIX采样或INT获取每条链路的流量大小、协议分布。c. 队列状态: 通过INT或交换机SNMP获取每个端口的队列深度。d. 性能指标: 丢包计数、ECN标记计数、PFC暂停帧计数、延迟(通过带内遥测或探针)。e. 主机信息: 通过代理收集主机侧的RDMA统计(QP状态、重传次数等)。2. 数据处理: 使用流处理引擎(如Apache Flink, Spark Streaming)对采集的数据进行聚合、关联和计算。例如,将原始计数器转换为速率,计算链路利用率,关联拓扑信息。3. 可视化映射: a. 拓扑视图: 以力导向图等形式展示网络拓扑。节点表示交换机或主机,边表示链路。b. 链路状态: 边的颜色映射链路利用率(绿-黄-红),宽度映射流量大小。c. 设备状态: 节点颜色映射设备健康度(如CPU使用率),大小映射端口数量。d. 热力图: 可以展示交换芯片的缓冲区使用率热力图。e. 时间序列图: 展示关键指标(如特定链路的ECN标记率)随时间的变化。4. 交互与下钻: 用户可以点击节点或边查看详细信息,如下钻到单个端口的队列深度随时间变化图,或查看某个QP的统计信息。支持时间范围选择,回溯历史状态。5. 告警与定位: 基于规则(如ECN标记率持续>10%)自动生成告警,并在可视化界面上高亮显示相关元素。结合拓扑和流量信息,可以快速定位瓶颈的根本原因(如哪个大象流导致了拥塞)。变量/常量node: 网络节点(交换机/主机)。 edge: 网络链路。 utilization: 链路利用率(0-1)。 queue_depth: 队列深度(包数)。 ecn_mark_rate: ECN标记率(标记包数/总包数)。 time_window: 时间窗口(如5秒)。

多源数据融合: 融合来自不同协议和层级的数据。
实时流处理: 对高速数据流进行聚合计算。
视觉编码: 将数据属性映射为视觉通道(颜色、大小、形状)。
交互探索: 支持用户交互式探索数据。

1. 数据采集: 部署采集器,从交换机(通过INT、sFlow、gNMI)、控制器、主机代理收集数据。 2. 流处理: 数据发送到流处理引擎,进行清洗、聚合、关联,生成时间窗口内的聚合指标。 3. 存储: 聚合后的数据存入时序数据库(如InfluxDB)或数据湖。 4. 查询与渲染: 可视化前端(如Grafana, 自定义Web)从数据库查询数据,并根据映射规则渲染拓扑图、折线图等。 5. 用户交互: 用户通过界面进行交互,如下钻、筛选时间范围。 6. 告警触发: 流处理引擎或可视化系统根据规则触发告警,并通过界面或通知系统呈现。

Roce-NW-0757

网络自动化

意图驱动, 闭环控制

意图驱动的无损网络自动化模型

允许用户/应用通过高级意图(如“为AI训练任务A提供无损、100Gbps带宽保障的网络”)描述需求,系统自动将其转化为具体的网络配置(PFC、ECN、路由、ACL),并持续监控和调整以维持意图。

高级抽象: 用户关注业务意图,而非具体配置。
自动转译: 系统将意图分解为网络策略。
闭环控制: 持续监控,自动修复偏离。

意图网络, 闭环控制, 策略转译。

云数据中心网络自动化, AI训练平台网络保障。

意图: 高级目标, 如guarantee lossless for app_X
策略: 中级规则, 如enable PFC on priority 6 for traffic from app_X
配置: 低级命令, 如交换机CLI命令或OpenFlow流表。

意图转译Intent -> Policies -> Configurations
闭环控制Monitor -> Analyze -> Plan -> Execute(MAPE)。

1. 意图定义: 提供声明式的接口(如YAML、GUI)让用户定义意图。意图可以包括:a. 连通性: 应用组件之间的连通要求。b. 服务质量: 带宽、延迟、丢包率保证。c. 隔离: 安全或租户隔离。d. 策略: 访问控制、重定向。例如,一个AI训练任务的意图可能是:“为租户T1的Kubernetes命名空间N1中的所有Pod提供无损网络,并保障每个Pod至少10Gbps带宽。”2. 意图转译: 意图引擎(通常作为SDN控制器的一个组件)将高级意图分解为具体的网络策略。例如,无损意图可能被转译为:a. 识别相关流量(基于Pod IP范围)。b. 将该流量标记为高优先级(DSCP 46或PCP 6)。c. 在相关链路上启用PFC和ECN,并设置阈值。d. 配置带宽保障(如最小带宽队列)。3. 策略下发: 转译后的策略被转化为针对具体设备的配置命令,通过南向接口(如gNMI、OpenFlow、CLI)下发到交换机、路由器、防火墙等设备。4. 状态监控: 系统持续收集网络状态(通过INT、sFlow、设备telemetry),并与意图的期望状态进行比较。5. 闭环控制: 当检测到状态偏离意图(如链路故障导致带宽不足,或拥塞导致丢包)时,系统自动分析原因,重新规划(如重新路由、调整队列参数),并执行新的配置以修复偏离。这遵循MAPE(监控-分析-规划-执行)控制环。6. 与RDMA协同: 对于RDMA应用,意图可以专门针对RoCE流量,确保无损和低延迟。系统可以自动配置PFC域、调整ECN阈值,并监控CNP和PFC暂停帧的数量,以确保网络健康。变量/常量intent: 用户声明的意图(结构化数据)。 policy_set: 策略集合,每个策略包含匹配条件和动作。 device_config: 针对具体设备的配置指令。 observed_state: 从网络采集的实际状态。 deviation: 观测状态与期望状态的差异。

声明式: 用户指定“是什么”而非“怎么做”。
分层转译: 意图->策略->配置的多层转译。
闭环反馈: 持续监控和自动调整。
设备无关: 意图抽象,与具体设备型号解耦。

1. 意图输入: 用户通过界面或API提交意图。 2. 意图解析: 意图引擎解析意图,识别涉及的实体(网络、应用、用户)和需求。 3. 策略生成: 根据意图和网络能力库,生成一组网络策略。 4. 配置生成: 根据设备型号和南向协议,将策略转换为具体的设备配置指令。 5. 配置下发: 通过南向接口下发配置到网络设备。 6. 状态监控: 持续从网络收集遥测数据。 7. 差异分析: 比较实际状态与意图期望状态,检测偏差。 8. 修复规划: 如果存在偏差,规划修复动作(如调整参数、重路由)。 9. 执行: 下发新的配置。重复步骤6-9。

Roce-NW-0758

网络仿真

离散事件仿真, 协议建模

基于离散事件仿真的RDMA网络性能评估模型

使用离散事件仿真器(如NS3、OMNeT++)构建包含交换机、主机、链路、协议的RDMA网络模型,通过事件驱动模拟数据包的发送、传输、排队、处理、接收等过程,评估不同参数和场景下的网络性能。

离散事件: 系统状态在离散时间点(事件发生时刻)变化。
协议细节: 可模拟完整协议栈(以太网、IP、UDP、RoCEv2、PFC、ECN)。
可扩展: 可模拟大规模网络(数千节点)。

离散事件仿真, 协议建模, 性能分析。

网络协议研究, 网络设计验证, 参数调优。

事件: 包到达, 传输开始, 传输结束, 队列出队, 超时等。
状态变量: 队列长度, 窗口大小, 拥塞窗口。
统计量: 吞吐量, 延迟, 丢包率, 公平性指数。

事件处理processEvent(Event e) { update state; schedule next events; }
队列模型queue_length = arrivals - departures

1. 建模组件: a. 节点: 模拟主机和交换机。主机包含应用层、传输层(RDMA)、网络层、链路层。交换机包含输入端口、交换结构、输出端口、队列、调度逻辑。b. 链路: 模拟传播延迟、带宽、误码率。c. 流量生成: 根据流量模型(如泊松、ON/OFF、真实轨迹)生成数据包。对于RDMA,可以模拟Read/Write/Send操作及其响应。d. 协议: 实现RoCEv2协议栈,包括BTH头处理、PSN管理、重传机制。实现PFC和ECN的精确行为。2. 事件调度: 仿真核心是一个按时间排序的事件队列。事件包括:数据包到达节点、数据包被调度传输、链路传输延迟结束、定时器超时等。仿真器按时间顺序处理每个事件,更新系统状态,并可能产生新的事件。3. 性能指标收集: 在仿真过程中收集统计信息,如:端到端延迟、吞吐量、链路利用率、队列长度分布、PFC暂停帧数量、ECN标记比例、重传次数等。4. 场景与参数: 可以灵活设置网络拓扑(如Fat-Tree、Clos)、流量模式(如All-to-All、Incast)、网络参数(PFC阈值、ECN阈值、缓冲区大小)、故障注入等。5. 验证: 通过与理论分析、小规模测试床结果对比,验证仿真模型的准确性。6. 与AI结合: 仿真可以用于训练基于AI的网络优化模型,提供大量、低成本的数据。变量/常量event_queue: 按时间排序的事件队列。 current_time: 仿真当前时间。 packet: 模拟的数据包对象,包含各层头部和载荷。 link_delay: 链路传播延迟。 link_bandwidth: 链路带宽。 queue: 队列对象,包含缓冲区大小和当前长度。 statistics: 各种性能指标的累加器。

事件驱动: 状态变化仅发生在事件时间点。
随机性: 引入随机变量模拟真实环境。
模块化: 协议和组件可模块化组合。
可重复: 固定随机种子可重复实验。

1. 初始化: 构建网络拓扑,创建节点和链路,初始化协议状态,设置流量生成器。 2. 事件调度: 将初始事件(如第一个数据包生成)插入事件队列。 3. 事件循环: 当事件队列非空且仿真时间未到上限时: a. 从事件队列取出下一个事件。 b. 推进仿真时钟到该事件时间。 c. 处理该事件(如数据包到达交换机端口),更新状态,可能产生新事件(如数据包被调度发送,则安排传输完成事件)。 4. 数据收集: 在处理事件过程中,记录相关统计量。 5. 结束: 仿真时间到,输出统计报告(吞吐量、延迟分布等)。

Roce-NW-0759

网络AI运维

机器学习, 异常检测, 根因分析

基于机器学习的RDMA网络异常检测与根因定位模型

利用监督/无监督机器学习算法,对网络遥测数据(流量、队列、计数器)进行建模,自动检测异常(如性能下降、拥塞、故障),并进一步定位根本原因(如错误配置、硬件故障、流量异常)。

特征自动提取: 从原始数据中学习特征表示。
异常检测: 识别偏离正常模式的行为。
根因定位: 推断异常的可能原因。

机器学习, 时间序列分析, 因果推断。

网络智能运维(AIOps), 故障预测与诊断。

特征向量: 多维度时间序列, 如[link_util, queue_depth, pfc_count, ecn_rate]
标签: 正常/异常, 异常类型。
模型: 分类器(如随机森林), 自编码器, 图神经网络。

异常检测if reconstruction_error > threshold then anomaly(自编码器)。
分类y_pred = model.predict(X)

1. 数据收集与预处理: 收集多源时序数据,包括:端口流量计数、队列深度、PFC暂停帧计数、ECN标记计数、丢包计数、CRC错误、链路状态等。对数据进行清洗、对齐、归一化。2. 特征工程: 除了原始数据,还可以构造衍生特征,如:不同时间尺度的统计量(均值、方差、斜率)、不同设备间的相关性特征、拓扑结构特征(如图神经网络中的节点特征)。3. 模型训练: a. 异常检测: 使用无监督学习(如孤立森林、自编码器、LOF)在正常数据上训练,学习正常模式。或者使用有监督学习,如果有历史异常标签。b. 根因分类: 使用有监督学习(如随机森林、XGBoost、LSTM)训练多分类模型,输入是异常发生前后一段时间窗口的特征,输出是根因类别(如“链路故障”、“配置错误”、“大象流冲击”)。4. 在线检测: 将实时数据流输入训练好的异常检测模型,如果模型输出异常分数超过阈值,则触发告警。5. 根因定位: 当检测到异常时,将相关特征输入根因分类模型,得到可能的根因类别。还可以利用图算法或因果推断,分析异常在拓扑中的传播路径,定位根源设备或链路。6. 模型更新: 网络状态可能随时间变化,需要定期用新数据重新训练模型,或在在线学习中持续更新。7. 与RDMA结合: 专门针对RDMA网络的特征可以包括:CNP报文速率、重传超时次数、QP错误状态等。异常可能表现为:ECN标记率突然升高(拥塞)、PFC暂停帧激增(PFC风暴)、重传次数增加(丢包)。变量/常量X_t: 时间t的特征向量。 y_t: 时间t的标签(正常/异常,或根因类别)。 model: 训练好的机器学习模型。 anomaly_score_t: 时间t的异常分数。 threshold: 异常检测阈值。

多变量时序: 输入是多个指标的时间序列。
监督/无监督: 根据有无标签选择方法。
在线学习: 模型可适应网络变化。
可解释性: 需要模型提供根因解释。

1. 数据收集: 从交换机、主机、控制器收集遥测数据。 2. 预处理: 清洗、对齐、归一化,构造特征向量。 3. 模型训练: 使用历史数据训练异常检测模型和/或根因分类模型。 4. 在线监测: 实时收集数据,提取特征。 5. 异常检测: 将特征输入异常检测模型,得到异常分数。如果分数超过阈值,触发告警。 6. 根因定位: 提取异常时间窗口的特征,输入根因分类模型,得到根因类别。 7. 可视化与告警: 将结果(异常位置、根因)在可视化界面显示,并发送告警通知。 8. 反馈与更新: 运维人员确认根因,反馈给系统,用于模型更新。

Roce-NW-0760

网络切片

资源隔离, 虚拟网络

基于RDMA的确定性网络切片模型

在物理网络上创建多个虚拟的、隔离的网络切片,每个切片具有独立的带宽、缓冲区、无损域等资源保障。为RDMA应用(如AI训练)提供专用的、确定性性能的切片,与其它业务(如存储、管理)互不干扰。

硬隔离: 通过资源预留实现性能隔离。
确定性: 提供有界的延迟、零丢包保障。
切片定制: 每个切片可独立配置QoS参数。

网络切片, 资源预留, 虚拟化。

多租户数据中心, 混合业务(AI训练、存储、VM)承载。

切片标识: Slice ID(如通过VLAN ID或VxLAN VNI映射)。
资源配额: 带宽B_i, 缓冲区Buffer_i, 优先级P_i
隔离约束Σ_i B_i ≤ Total_Bandwidth

调度保障: 每个切片分配独立的队列, 并采用加权公平队列(WFQ)调度。
准入控制: 新切片请求被接受当且仅当 Σ_i B_i + B_new ≤ Total_Bandwidth

1. 切片抽象: 网络切片是一个虚拟网络,包含虚拟节点和虚拟链路,映射到物理网络。每个切片有独立的控制平面和数据平面。2. 资源分配: a. 带宽: 为每个切片在物理链路上分配保证带宽。可以通过流量整形(如令牌桶)确保切片不超过其配额,并通过调度(如赤字轮询DRR)确保每个切片获得其保证带宽。b. 缓冲区: 在交换机的每个端口,为每个切片分配独立的缓冲区池,防止一个切片的拥塞占用其他切片的缓冲区。c. 无损域: 为需要无损传输的切片(如RDMA切片)独立配置PFC和ECN参数,避免PFC死锁跨切片传播。3. 隔离机制: a. 标签识别: 通过数据包携带的标签(如VLAN PCP、DSCP、MPLS标签、VxLAN VNI)识别切片。b. 队列映射: 根据标签将数据包映射到不同的队列,每个队列对应一个切片或一个切片内的优先级。c. 独立控制: 每个切片可以运行独立的控制协议(如自己的SDN控制器),但资源分配由基础设施层统一管理。4. 与RDMA协同: 为AI训练任务分配一个专用切片,在该切片内启用PFC和ECN,并配置优化的阈值。该切片的流量被标记为特定的VNI或DSCP值。交换机会根据标记将其映射到专用的高优先级队列,并应用为该切片配置的PFC阈值,从而与其他业务(如存储流量、虚拟机迁移流量)完全隔离。5. 切片生命周期管理: 包括切片的创建、修改、监控、删除。通常由中央编排器(如Kubernetes的CNI插件与SDN控制器协同)管理。变量/常量slice_id: 切片标识符。 B_guaranteed_i: 切片i的保证带宽。 buffer_i: 为切片i分配的缓冲区大小。 queue_i: 切片i对应的队列索引。 traffic_class: 流量类别(映射到DSCP或PCP)。

虚拟化: 多个逻辑网络共享物理基础设施。
资源预留: 带宽、缓冲区等资源被预留。
硬隔离: 性能互不影响。
端到端: 切片跨越端到端路径。

1. 切片请求: 用户或应用通过API请求创建一个网络切片,指定需求(带宽、延迟、是否无损)。 2. 准入控制: 编排器检查物理网络剩余资源,如果满足则接受请求。 3. 资源分配: 编排器计算路径,并在路径上的所有交换机端口为切片分配带宽、缓冲区等资源。 4. 配置下发: 编排器通过SDN控制器下发配置,包括:a. 流表项,将切片流量标记为特定VNI。b. 队列配置,为切片创建独立队列并设置权重和PFC阈值。c. 流量整形器参数。 5. 流量转发: 终端发送流量时打上切片标签。交换机根据标签将流量导入对应队列,并按配置进行调度和流量控制。 6. 监控与调整: 监控切片性能,如果未达到SLA,可能动态调整资源分配。

Roce-NW-0761

网络测量

主动探测, 性能基准

RDMA网络微突发检测与测量模型

通过高速采样或带内遥测,检测和分析网络中持续时间极短但强度极高的流量突发(微突发),评估其对RDMA性能(特别是延迟和PFC触发)的影响,并定位微突发源。

高时间分辨率: 采样间隔需达到微秒级以捕捉微突发。
高精度: 精确测量突发持续时间和强度。
关联分析: 关联微突发与性能指标(如队列堆积)。

流量分析, 时间序列分析, 异常检测。

高性能网络性能分析, 拥塞根因分析。

流量速率时间序列R(t), 在时间t的瞬时速率。
微突发定义R(t) > threshold且持续时间Δt在微秒级。
突发强度: 突发期间超过阈值的流量积分。

突发检测if R(t) > Th and duration between t_start and t_end < T_max then micro-burst
强度计算intensity = ∫_{t_start}^{t_end} (R(t) - Th) dt

1. 数据收集: 使用高速数据平面测量技术收集流量信息。a. 镜像与采样: 将关键链路流量镜像到高速采集器,或以高采样率(如1/1000)采集数据包。b. 带内遥测: 在数据包中插入时间戳和队列深度信息(如INT),可以提供更精确的每包延迟和队列信息。c. 交换机计数器: 读取交换机的端口计数器和队列计数器,但粒度较粗(通常秒级)。2. 微突发检测: 对收集到的高精度流量速率时间序列(例如每微秒一个采样点)应用检测算法。常见方法:a. 阈值法: 设定一个速率阈值(如链路带宽的90%),当连续多个采样点的速率超过阈值,则认为发生微突发。记录突发的开始时间、结束时间、峰值速率、平均超阈值速率。b. 变化点检测: 检测速率时间序列的突变点,将突变点之间的高流量区间识别为微突发。3. 影响分析: 关联微突发发生的时间与网络性能指标:a. 队列长度: 检查微突发期间是否导致输出队列长度急剧增加。b. PFC触发: 检查微突发是否触发PFC暂停帧。c. 延迟增加: 检查微突发是否导致数据包排队延迟显著增加。d. ECN标记: 检查微突发是否导致ECN标记率上升。4. 溯源: 通过分析多个监测点的数据,可以追踪微突发的来源。例如,在接入交换机检测到微突发,然后沿着路径向上游追踪,找到产生该突发的服务器或应用。5. 与RDMA协同: RDMA应用通常由许多并发的、小消息的通信组成,容易产生微突发。检测和分析微突发有助于优化应用通信模式或调整网络缓冲区、PFC阈值以减少其对性能的影响。变量/常量R(t): 在时间t的瞬时流量速率(bps)。 Th: 速率阈值(如0.9 * 链路带宽)。 Δt: 微突发持续时间(如1-100微秒)。 I: 微突发强度(超过阈值的流量总和,字节)。 Q(t): 时间t的队列深度。

高分辨率: 需要微秒级的时间粒度。
阈值检测: 基于速率阈值识别突发。
时间关联: 关联微突发与性能事件。
溯源: 多点测量定位源头。

1. 数据采集: 在关键链路部署高速采集器,以高采样率收集数据包头和时间戳。或启用INT,收集数据包的排队延迟和队列深度。 2. 速率计算: 将数据包计数转换为时间序列的瞬时速率(例如,每微秒统计一次字节数)。 3. 突发检测: 对速率时间序列应用检测算法,识别出微突发事件,记录其时间、持续时间和强度。 4. 性能关联: 从交换机获取队列深度、PFC计数、ECN计数的历史数据。将微突发事件与这些性能指标在时间上进行关联分析。 5. 根因定位: 如果微突发导致问题,结合拓扑和流量信息,溯源到具体的服务器、应用或流量模式。 6. 报告: 生成报告,包括微突发统计、对网络的影响、可能的根源。

Roce-NW-0762

网络优化

在线学习, 自适应控制

基于强化学习的PFC/ECN参数自适应优化模型

将网络视为环境,将PFC/ECN参数配置作为动作,将网络性能指标(如吞吐量、延迟、公平性)作为奖励,训练一个强化学习智能体,使其能够根据实时网络状态自动调整参数,以适应动态变化的流量模式。

在线学习: 智能体通过与环境交互学习。
自适应: 参数随网络状态动态调整。
长期回报: 最大化长期累积奖励,而非即时奖励。

强化学习, 马尔可夫决策过程, 自适应控制。

动态数据中心的RDMA网络, 流量模式变化频繁的场景。

状态: 网络状态, 如各链路利用率、队列深度、PFC/ECN计数。
动作: 调整PFC阈值ΔX, 调整ECN阈值ΔK
奖励: 网络性能的综合评价, 如R = throughput - α * delay - β * pfc_count

Q-learning更新Q(s,a) = Q(s,a) + η [r + γ max_a' Q(s',a') - Q(s,a)]
策略π(s) = argmax_a Q(s,a)

1. 问题建模: 将网络参数优化问题建模为马尔可夫决策过程(MDP)。a. 状态: 智能体观察到的网络状态,可以是从交换机收集的遥测数据,如各链路的利用率、各队列的平均深度、PFC暂停帧发送速率、ECN标记率等。状态需要足够表征网络状况。b. 动作: 智能体可以采取的动作,例如增加或减小特定链路的PFC Xoff阈值(增量式),或设置ECN标记阈值K的绝对值。动作空间可以是离散的(如增加/减少/不变)或连续的。c. 奖励: 在采取动作后,网络性能的变化。奖励函数设计至关重要,通常包括正向奖励(如高吞吐量)和负向奖励(如高延迟、PFC风暴)。例如:R = w1 * throughput - w2 * avg_delay - w3 * pfc_rate。d. 状态转移: 网络在动作下的状态转移由网络自身动态决定,通常未知,需要通过交互学习。2. 学习算法: 使用强化学习算法,如Deep Q-Network (DQN) 或Policy Gradient。由于状态空间可能很大(许多链路),通常使用深度神经网络来近似Q函数或策略函数。3. 训练: 在仿真环境或测试床中训练智能体。智能体探索不同的参数配置,观察网络响应,并根据奖励更新其策略。训练目标是最大化累积奖励。4. 在线部署: 训练好的策略网络可以部署到SDN控制器中,周期性地观察网络状态,输出参数调整动作,并通过南向接口下发给交换机。5. 安全考虑: 为了避免不安全的动作导致网络中断,可以设置动作限制(如阈值范围)或使用安全层(如仅允许在安全范围内探索)。6. 与RDMA协同: 状态可以包含RDMA特定的指标,如重传率、CNP速率。奖励函数可以特别惩罚导致RDMA性能下降的动作。变量/常量s_t: 时间t的状态向量。 a_t: 时间t采取的动作。 r_t: 时间t获得的奖励。 Q(s,a): 状态-动作价值函数。 π: 策略(从状态到动作的映射)。 γ: 折扣因子。 η: 学习率。

MDP: 状态、动作、奖励、状态转移概率。
探索与利用: 智能体需平衡尝试新动作和利用已知好动作。
深度强化学习: 使用深度神经网络处理高维状态。
在线适应: 策略可以根据网络变化在线调整。

1. 状态收集: 智能体(在控制器中)周期性地从网络收集状态信息(如每5秒)。 2. 动作选择: 根据当前策略(如ε-greedy)选择一个动作(如将某条链路的PFC Xoff阈值增加10%)。 3. 动作执行: 控制器将新的配置下发给相应交换机。 4. 观察奖励: 等待一段时间(如1分钟)让网络稳定,然后收集新的状态,并计算奖励(如吞吐量提升,延迟降低)。 5. 更新策略: 根据状态、动作、奖励、新状态,使用强化学习算法(如DQN)更新策略网络。 6. 重复: 重复步骤1-5,不断优化策略。

Roce-NW-0763

网络功能虚拟化

服务功能链, 轻量级虚拟化

基于eBPF/XDP的RDMA感知网络功能模型

利用eBPF(extended Berkeley Packet Filter)和XDP(eXpress Data Path)在内核层或网卡驱动层实现高性能、可编程的网络功能(如负载均衡、防火墙、监控),并使其能够感知和处理RDMA流量,实现低开销、高可扩展性的网络服务。

内核可编程: 无需内核模块即可扩展内核功能。
高性能: 在数据路径早期处理,减少上下文切换。
RDMA感知: 能够解析和处理RoCEv2数据包。

内核可编程, 包过滤, 网络功能虚拟化。

云原生环境, 边车(sidecar)网络功能, 安全策略执行。

eBPF程序: 加载到内核的字节码, 在特定钩子点执行。
映射: eBPF程序与用户空间通信的数据结构(哈希表、数组)。
上下文: 包含数据包元数据和数据指针的结构。

XDP动作XDP_PASS, XDP_DROP, XDP_TX, XDP_REDIRECT
eBPF钩子tc, socket, tracepoint等。

1. eBPF/XDP概述: eBPF是一个在内核中运行沙盒程序的虚拟机。XDP是eBPF的一个钩子点,位于网络驱动层,数据包最早可被处理的点。eBPF程序可以用C等高级语言编写,编译成字节码后加载到内核。2. RDMA感知的网络功能: 编写eBPF程序,在XDP或tc(流量控制)钩子点处理数据包。程序可以检查数据包是否为RoCEv2(通过UDP目的端口4791),并进一步解析BTH头,根据字段(如OpCode, DestQP)做出决策。例如:a. RDMA感知的负载均衡: 基于DestQP和源IP进行一致性哈希,将流量分发到多个后端服务。b. RDMA防火墙: 检查Partition Key是否匹配,丢弃未授权的RDMA数据包。c. RDMA监控: 统计每个QP的流量大小、包数,或采样数据包进行性能分析。3. 高性能: 由于eBPF程序运行在内核中,且XDP在驱动层处理,避免了数据包复制到用户空间的开销,可以实现极高的处理速度(数百万包/秒)。4. 可编程性: 无需重新编译内核或加载内核模块,即可动态更新网络功能。这允许快速迭代和部署新的策略。5. 与用户空间协同: eBPF程序可以通过“映射”(map)与用户空间程序通信。例如,监控程序可以将统计信息写入映射,用户空间程序定期读取并展示。6. 安全: eBPF程序在加载前必须通过验证器的检查,确保不会破坏内核稳定性(如无限循环、非法内存访问)。7. 在云原生中的价值: 在Kubernetes环境中,可以将RDMA感知的eBPF程序作为边车容器部署,为每个Pod提供网络功能,而无需修改应用代码。变量/常量ctx: eBPF程序上下文,包含数据包指针。 data: 数据包起始指针。 data_end: 数据包结束指针。 action: 对数据包的处理动作。 key: 映射的键(如五元组)。 value: 映射的值(如计数器)。

早期处理: XDP在驱动层处理, tc在协议栈中处理。
安全沙盒: 程序在验证后运行,确保内核安全。
高效数据结构: 使用eBPF映射进行高效数据存取。
动态加载: 程序可动态加载和卸载。

1. 程序编写: 用C语言编写eBPF程序,定义钩子点(XDP或tc),实现数据包处理逻辑(如解析RoCEv2,进行负载均衡决策)。 2. 编译: 使用LLVM将C代码编译成eBPF字节码。 3. 加载: 通过bpf()系统调用将字节码加载到内核,并附加到指定的网络接口的钩子点。 4. 验证: 内核验证器检查字节码的安全性。 5. 执行: 当数据包到达网络接口时,eBPF程序被调用,处理数据包并返回动作(如传递、丢弃、重定向)。 6. 用户空间交互: 用户空间程序通过BPF映射与内核eBPF程序交互,读取统计信息或更新配置。

Roce-NW-0764

网络协议

多路径传输, 负载均衡

基于MPTCP的RDMA多路径传输模型

在RDMA应用之下、IP网络之上引入MPTCP(Multipath TCP)子层,将一个RDMA连接映射到多个TCP子流,这些子流可以经过不同的网络路径,从而聚合带宽、提高冗余性和负载均衡能力。

多路径: 单个连接使用多条路径。
带宽聚合: 总吞吐量可达各子流之和。
无缝切换: 路径故障时流量自动迁移到其他路径。

多路径传输, 传输层协议。

多宿主主机, 数据中心多路径网络。

MPTCP连接: 包含多个TCP子流。
数据序列号: MPTCP使用独立于TCP序列号的数据序列号(DSN)进行应用数据排序。
地址: 每个子流使用不同的源/目的IP地址对。

数据调度: 应用数据被分割成块, 通过不同子流发送。
路径管理器: 决定创建/删除子流, 选择使用的路径。

1. MPTCP概述: MPTCP是TCP的扩展,允许在一个TCP连接内建立多个子流(每个子流是一个普通的TCP连接)。对应用层透明,应用像使用普通TCP一样使用MPTCP。2. 与RDMA的集成: 在RoCEv2中,RDMA运行在UDP/IP之上。要使用MPTCP,需要在RDMA和IP层之间插入MPTCP层。一种可能的方式是修改RDMA的传输层,使其基于MPTCP而不是UDP。但更实际的方案是让RDMA over MPTCP,即MPTCP作为RDMA的底层传输,提供可靠、有序的字节流。这需要对RDMA协议栈进行修改。3. 多路径优势: a. 带宽聚合: 如果主机有多个网卡或多个IP地址,MPTCP可以建立多个子流,分别走不同路径,从而聚合带宽。b. 故障切换: 如果一条路径故障,该子流中断,但其他子流可以继续传输数据,连接不会中断。c. 负载均衡: 流量在不同路径上分布,可以更好地利用网络资源。4. 挑战: a. 乱序交付: 不同路径的延迟不同,可能导致数据包乱序到达,而RDMA期望有序交付。MPTCP在接收端使用数据序列号(DSN)对数据进行重新排序。b. 头部开销: MPTCP增加额外的头部(MPTCP选项)。c. 中间盒兼容性: 一些中间盒(如NAT、防火墙)可能不理解MPTCP选项,导致连接问题。5. 在数据中心的应用: 数据中心主机通常有多个网卡(如双端口网卡),连接不同的叶交换机。MPTCP可以利用这些多条路径,提高RDMA连接的带宽和可靠性。6. 与SDN协同: SDN控制器可以感知MPTCP子流,并为其分配不同的路径,优化整体网络负载。变量/常量subflow: TCP子流,由四元组(源IP, 源端口, 目的IP, 目的端口)标识。 data_seq: 数据序列号(DSN)。 mapping: 将DSN映射到子流序列号。 path_manager: 管理可用路径和子流。

对应用透明: 应用像使用TCP一样使用MPTCP。
子流管理: 动态建立和拆除子流。
数据调度: 决定数据块通过哪个子流发送。
重排序: 在接收端对数据进行排序。

1. 连接建立: 客户端发起MPTCP连接,在初始SYN中携带MP_CAPABLE选项。服务器响应,建立第一个子流。 2. 附加子流: 客户端或服务器可以发起附加子流(通过发送带有MP_JOIN选项的SYN),使用不同的地址对。 3. 数据传输: 应用(RDMA)发送数据。MPTCP将数据流分割成块,分配数据序列号,并通过调度器决定通过哪个子流发送每个块。每个子流作为普通TCP发送数据。 4. 接收与重组: 接收端从各子流接收数据,根据数据序列号将数据重新排序,交付给应用。 5. 路径管理: 路径管理器监控各子流的性能,可能创建新的子流或关闭性能差的子流。 6. 连接终止: 通过FIN关闭所有子流来终止MPTCP连接。

Roce-NW-0765

网络测量

延迟测量, 时钟同步

高精度网络延迟测量与时钟同步模型

通过硬件时间戳和精密时钟协议(如PTP),实现微秒级甚至纳秒级的网络单向和双向延迟测量,为RDMA网络性能监控和故障诊断提供精确数据。

高精度: 利用硬件时间戳,精度在微秒/纳秒级。
单向延迟: 需要时钟同步才能测量单向延迟。
最小干扰: 测量流量应不影响正常数据流量。

时钟同步, 时间戳, 延迟测量。

数据中心性能监控, SLA验证, 故障定位。

发送时间戳T_s, 数据包离开发送端网卡的时间。
接收时间戳T_r, 数据包到达接收端网卡的时间。
时钟偏移offset, 接收端时钟相对于发送端的偏差。

单向延迟one_way_delay = (T_r - T_s) - offset, 假设路径对称, 则offset = ((T2-T1) - (T4-T3))/2(PTP)。
双向延迟round_trip_time = (T4 - T1) - (T3 - T2)

1. 时钟同步: 使用高精度时钟同步协议,如IEEE 1588 Precision Time Protocol (PTP)。PTP主时钟(通常是支持PTP的交换机或专用时钟源)通过交换同步报文,使从时钟(服务器)与主时钟同步,精度可达亚微秒级。时钟同步是测量单向延迟的前提。2. 时间戳: 在数据包进入和离开网卡时打上硬件时间戳。这避免了操作系统协议栈的延迟和抖动。支持PTP的网卡(如NVIDIA ConnectX)通常具备硬件时间戳能力。3. 延迟测量方法: a. 主动探测: 发送专门的探测数据包(如TWAMP, OWAMP),记录发送和接收时间戳,计算延迟。b. 带内测量: 在正常数据包中插入时间戳信息(如通过INT),计算数据包在网络中的处理延迟。c. 被动测量: 捕获正常流量,如果数据包本身包含时间戳(如某些专业协议),则可计算延迟。4. 单向延迟计算: 如果发送端和接收端时钟已同步(时钟偏移为0),则单向延迟 = 接收时间戳 - 发送时间戳。如果存在时钟偏移,则需要先估算偏移。PTP可以估算偏移。5. 双向延迟(RTT)计算: 不需要时钟同步。发送端记录发送时间T1,接收端记录接收时间T2并立即回复,记录回复发送时间T3,发送端记录回复接收时间T4。则RTT = (T4 - T1) - (T3 - T2)。这消除了处理时间的影响。6. 与RDMA协同: 对于RDMA网络,延迟是关键指标。可以使用带内遥测(INT)在数据包中嵌入每个交换机的入口和出口时间戳,从而测量每跳的排队和处理延迟。这有助于精确定位网络中的拥塞点。7. 数据收集与分析: 收集的延迟数据可以用于绘制延迟分布、检测异常(如延迟尖峰)、评估网络性能SLA。变量/常量T1: 探测包离开发送端的时间。 T2: 探测包到达接收端的时间。 T3: 响应包离开接收端的时间。 T4: 响应包到达发送端的时间。 offset: 接收端时钟相对于发送端的偏移。 delay: 单向延迟。 rtt: 往返时间。

硬件时间戳: 在网卡硬件中打时间戳,精度高。
时钟同步: PTP实现亚微秒级同步。
主动/被动: 主动发送探测包或利用现有流量。
每跳测量: INT可提供每跳延迟。

1. 时钟同步: 部署PTP主时钟,配置所有服务器和交换机为PTP从时钟,实现时钟同步。 2. 时间戳: 在发送和接收端的网卡驱动中启用硬件时间戳功能。 3. 发送探测: 发送端构造探测包,记录发送时间戳T1。 4. 接收与回复: 接收端网卡记录到达时间戳T2。应用层或内核记录T2,并立即回复,记录回复发送时间T3。 5. 接收回复: 发送端记录回复到达时间戳T4。 6. 计算: 计算时钟偏移(如果需要):offset = ((T2 - T1) - (T4 - T3)) / 2。计算单向延迟:delay = (T2 - T1) - offset。计算RTT:rtt = (T4 - T1) - (T3 - T2)。 7. 分析: 统计延迟分布,检测异常。

这些补充的模型进一步扩展了RDMA、SDN和数据中心网络领域的深度和广度,涵盖了从底层测量、虚拟化、安全、优化到高层AI运维、意图网络等多个关键方向,为构建高性能、可编程、智能化的无损以太网提供了全面的理论和实践参考。

编号

领域

核心理论

模型/协议/算法名称

目标与描述

精度与特征

理论基础

应用场景

数学要素

关键方程/状态机

数学特征

实现步骤/工作流程

软硬件工具

Roce-NW-0766

SDN控制平面

集中控制, 全局视图

SDN逻辑集中控制平面模型

将网络控制功能从分布式网络设备中剥离,集中到一个或多个控制器中,实现网络状态的全局视图、策略的集中计算和流表的统一下发,从而简化网络管理、提升灵活性和可编程性。

全局最优: 控制器基于全网拓扑和状态计算最优路径。
转控分离: 控制平面与数据平面解耦。
开放接口: 通过南向接口(如OpenFlow)控制设备,通过北向接口开放网络能力。

软件定义网络, 控制与转发分离, 集中式控制。

数据中心网络, 园区网, 广域网。

网络拓扑图G=(V, E), V为交换机/主机节点, E为链路。
流表项FlowEntry = (match_fields, priority, instructions, counters)
控制器状态: 全网拓扑Topology, 主机位置HostLocation, 流表集合FlowTables

流表匹配if packet.header matches match_fields then execute instructions
路径计算: 基于G和策略计算最短路径P(src, dst)

1. 架构分层: a. 应用层: 运行网络应用(如负载均衡、防火墙)。b. 控制层: SDN控制器,维护网络全局视图,运行控制逻辑。c. 基础设施层: SDN交换机,仅负责根据流表转发数据包。2. 南向接口: 控制器通过OpenFlow等协议与交换机通信。交换机上线时,向控制器报告自身能力和端口状态。当数据包在交换机中无匹配流表时,通过Packet-In消息上报控制器。控制器计算路径后,通过Flow-Mod消息下发流表项。3. 北向接口: 提供RESTful API等,供应用层程序调用,实现网络编程。4. 控制逻辑: 控制器运行链路发现协议(如LLDP)构建拓扑,运行路由算法(如最短路径)计算路径,并根据应用需求(如流量工程、访问控制)生成流表。5. 与RDMA协同: 控制器可以识别RoCEv2流量(UDP 4791端口),为其计算低延迟、无拥塞的路径,并下发相应的流表项和QoS策略(如映射到高优先级队列)。变量/常量G: 网络拓扑图。 FlowEntry: 流表项。 Packet-In: 交换机上报控制器的消息。 Flow-Mod: 控制器下发给交换机的流表修改消息。

集中决策: 控制器拥有全局视图,可做最优决策。
可编程性: 通过API实现网络行为的软件定义。
标准化: 南向接口(如OpenFlow)标准化了控制器与交换机的交互。

1. 发现: 控制器通过LLDP发现网络拓扑,交换机通过Packet-In上报未知流。 2. 决策: 控制器根据Packet-In中的包信息(如源/目的IP)和全局策略,计算转发路径。 3. 下发: 控制器通过Flow-Mod消息,沿路径向各交换机下发流表项。 4. 转发: 后续相同流的数据包在交换机中直接匹配流表进行转发。 5. 维护: 控制器监控网络状态(如链路故障),动态更新流表。

Roce-NW-0767

SDN数据平面

流表匹配, 流水线处理

OpenFlow流表流水线处理模型

描述SDN交换机如何基于一个或多个流表组成的流水线,对数据包进行匹配-动作处理,实现灵活、可编程的转发逻辑,同时保持线速转发性能。

多级流表: 数据包依次经过多个流表,形成处理流水线。
匹配域灵活: 可匹配L2-L4乃至自定义包头字段。
动作集丰富: 支持转发、修改、丢弃、组表、计量等动作。

包处理流水线, 流表匹配, 可编程数据平面。

OpenFlow交换机, 可编程交换芯片(如Tofino)。

流表: 由多个流表项组成的表, 每个表有特定匹配域。
匹配域: 入端口、以太网源/目的MAC、VLAN、以太网类型、IP源/目的地址、协议、TCP/UDP端口等。
指令集: 如Goto-TableApply-ActionsWrite-ActionsClear-Actions
动作OutputSet-FieldDropGroupMeter

流水线处理for table in pipeline: match entry in table; execute instructions; if goto_table then continue else exit
动作执行actions = {action1, action2, ...}; execute(actions)

1. 流水线结构: OpenFlow交换机包含一个或多个流表,按编号顺序排列形成流水线。数据包从流表0开始处理。2. 匹配过程: 在每个流表中,将数据包头部与流表项的匹配域进行匹配。支持精确匹配、通配符匹配(掩码)或优先级匹配(最高优先级优先)。3. 指令执行: 匹配成功后,执行该流表项关联的指令集。指令类型包括:a. Apply-Actions: 立即执行一组动作。b. Write-Actions: 将一组动作写入动作集,稍后执行。c. Clear-Actions: 清除当前累积的动作集。d. Goto-Table: 跳转到指定编号的下一个流表继续处理。4. 动作执行: 流水线处理结束后(或遇到OUTPUT动作),执行累积的动作集。常见动作包括:a. Output: 从指定端口输出数据包。b. Set-Field: 修改包头字段(如修改VLAN ID、IP地址)。c. Drop: 丢弃数据包。d. Group: 执行组表动作(如广播、负载均衡)。e. Meter: 进行流量计量和限速。5. 表项失效: 流表项可以设置空闲超时(idle_timeout)和硬超时(hard_timeout),到期后自动删除。6. 与RDMA协同: 可以设计专门的流表来识别RoCEv2流量(匹配UDP目的端口4791),并为其执行特定动作,如标记DSCP值、重定向到特定队列、或转发到特定路径以实现细粒度路由。变量/常量packet: 输入数据包。 table_id: 流表ID。 match_fields: 匹配域集合。 priority: 流表项优先级。 instructions: 指令集合。 actions: 动作集合。 counters: 计数器(如包数、字节数)。

流水线: 多级流表顺序处理。
匹配优先: 高优先级流表项优先匹配。
动作累积: 动作可以跨流表累积,最后执行。
可编程性: 通过流表项定义转发逻辑。

1. 包进入: 数据包从入端口进入交换机流水线。 2. 表0匹配: 在流表0中查找匹配的流表项。 3. 指令执行: 执行匹配项的指令,如修改元数据、写入动作、跳转到表1。 4. 后续表处理: 依次处理后续流表(如果被跳转)。 5. 动作执行: 流水线处理结束后,执行最终动作集中的所有动作(如从多个端口输出)。 6. 包离开: 数据包被转发或丢弃。

Roce-NW-0768

信元交换

固定长度分组, 异步时分复用

ATM信元交换核心模型

描述异步传输模式(ATM)网络的核心交换机制,将数据分割成固定长度(53字节)的信元,基于虚通路标识符(VPI)和虚信道标识符(VCI)进行标签交换,实现高速、低延迟、服务质量保障的数据传输。

固定信元: 53字节(5字节头+48字节载荷)。
面向连接: 通信前需建立虚连接(VPI/VCI)。
统计复用: 异步时分复用,提高链路利用率。

信元交换, 虚电路, 标签交换。

传统电信骨干网, 早期高质量视频传输。

信元结构: 5字节头 + 48字节载荷。
信头字段: GFC, VPI, VCI, PTI, CLP, HEC。
连接标识: VPI/VCI对, 在每段链路上局部有效。

交换过程输入端口i, 输入VPI/VCI -> 查找交换表 -> 输出端口j, 输出VPI/VCI
HEC校验HEC = function(信头前4字节)

1. 信元结构: ATM信元固定为53字节。信头5字节包含:a. GFC: 一般流量控制(仅UNI)。b. VPI: 虚通路标识符(8/12位)。c. VCI: 虚信道标识符(16位)。VPI/VCI共同标识一个虚连接。d. PTI: 载荷类型(3位)。e. CLP: 信元丢失优先级(1位)。f. HEC: 信头差错控制(8位),用于检错和信元定界。2. 面向连接: 通信前通过信令协议(如Q.2931)建立端到端的虚连接。路径上的每个ATM交换机都会分配本地的VPI/VCI值,并建立交换表项,将输入端口和输入VPI/VCI映射到输出端口和输出VPI/VCI。3. 交换过程: 当信元到达ATM交换机时,交换机根据输入端口和信头中的VPI/VCI查找交换表。找到匹配项后,将信头中的VPI/VCI替换为输出VPI/VCI,并从指定的输出端口转发出去。这个过程是硬件实现的,速度极快。4. 服务质量: ATM定义了多种服务类别(CBR, VBR, ABR, UBR),通过连接建立时的参数协商(如峰值信元速率PCR、可持续信元速率SCR)和网络中的流量整形、拥塞控制机制来保障。CLP位用于拥塞时优先丢弃低优先级信元。5. 与SDN的关联: ATM的面向连接和标签交换思想影响了后来的MPLS和SDN。在SDN中,流表匹配和动作类似于ATM的VPI/VCI查找和交换。变量/常量cell: 53字节的信元。 VPI_in/VCI_in: 输入VPI/VCI。 VPI_out/VCI_out: 输出VPI/VCI。 port_in/port_out: 输入/输出端口。 switching_table: 交换表,映射(port_in, VPI_in, VCI_in) -> (port_out, VPI_out, VCI_out)

固定长度: 简化交换设计,便于硬件实现。
标签交换: 基于VPI/VCI的快速查表转发。
面向连接: 提供有保障的服务质量。
统计复用: 提高链路利用率。

1. 连接建立: 源端通过信令协议发起呼叫,网络分配VPI/VCI,沿途交换机建立交换表项。 2. 数据传送: 源端将数据分割成48字节的段,加上5字节信头形成信元,按协商速率发送。 3. 信元交换: 每个ATM交换机根据输入端口和VPI/VCI查找交换表,替换VPI/VCI并从输出端口转发。 4. 信元重组: 目的端接收信元,根据VPI/VCI和序列号(在AAL层)重组原始数据。 5. 连接释放: 通信结束,通过信令释放连接,删除交换表项。

Roce-NW-0769

信元交换拥塞控制

反馈控制, 速率调整

ATM ABR业务拥塞控制模型

描述ATM网络中可用比特率(ABR)服务的拥塞控制机制。通过源端、交换机和目的端协同,利用资源管理(RM)信元传递网络拥塞状态(EFCI, CI, NI)和显式速率(ER)信息,动态调整源端发送速率,实现公平共享带宽并避免拥塞。

闭环控制: 基于RM信元的反馈机制。
显式速率: 交换机直接指示源端可发送速率(ER)。
公平性: 确保多个ABR连接公平共享剩余带宽。

反馈控制, 速率控制, 公平排队。

ATM网络中的弹性数据业务。

RM信元: 包含方向(DIR), 拥塞指示(CI), 无增长(NI), 显式速率(ER)等字段。
源端状态: 当前信元速率(ACR), 最小信元速率(MCR), 峰值信元速率(PCR)。
交换机算法: 如ERICA(Explicit Rate Indication for Congestion Avoidance)。

源端速率更新ACR_new = max(MCR, min(ER, ACR_old * (1 - RDF * CI) + RIF * PCR * (1 - CI) * (1 - NI)))
交换机ER计算ER = FairShare * (1 - α) + Measured_Input_Rate * α(简化)。

1. RM信元: 源端定期(如每Nrm个数据信元)插入一个RM信元(方向为前向)。RM信元包含字段:CI(拥塞指示)、NI(无增长)、ER(显式速率)等。2. 前向传递: RM信元随数据信元一起通过网络。途径的交换机可以:a. 设置EFCI位: 在经历拥塞的数据信元中设置EFCI位。b. 设置CI/NI位: 如果交换机轻微拥塞,设置RM信元的NI=1;如果严重拥塞,设置CI=1。c. 计算并设置ER字段: 交换机根据本地公平算法(如ERICA)计算该连接应得的公平速率,并可能降低RM信元中的ER值(取最小值)。3. 目的端处理: 目的端收到RM信元后,将其方向改为后向,并回传给源端。如果最近收到的数据信元EFCI被置位,目的端也会在回传的RM信元中设置CI=1。4. 源端响应: 源端收到后向RM信元后,根据其中的CI、NI、ER字段调整其允许信元速率(ACR)。规则如下:a. 如果CI=1,则降低速率:ACR = max(MCR, ACR * (1 - RDF))。b. 如果NI=0且CI=0,则允许增加速率:ACR = min(PCR, ACR + RIF * PCR)。c. 无论CI/NI如何,最终ACR = min(ACR, ER),即不能超过ER字段指示的速率。5. 公平算法: 交换机中的公平算法(如ERICA)持续测量每个输出端口的输入总速率和活跃连接数,计算公平共享速率,并将其写入经过的RM信元的ER字段。变量/常量ACR: 允许信元速率。 MCR: 最小信元速率(保障速率)。 PCR: 峰值信元速率。 RIF: 速率增加因子。 RDF: 速率减少因子。 CI: 拥塞指示(0/1)。 NI: 无增长指示(0/1)。 ER: 显式速率。 Nrm: 发送RM信元的间隔(数据信元数)。

反馈闭环: 源端根据网络反馈调整速率。
显式速率: 交换机直接计算并告知源端可用速率。
公平性: 确保多个连接公平分享带宽。
参数调节: RIF, RDF等参数影响收敛速度。

1. 连接建立: 建立ABR虚连接,协商MCR、PCR等参数。 2. 数据发送: 源端以ACR速率发送数据信元,每Nrm个数据信元插入一个前向RM信元。 3. 网络处理: 交换机根据拥塞状态设置经过的数据信元EFCI位和RM信元的CI/NI/ER字段。 4. 目的端回传: 目的端将RM信元方向改为后向并返回。 5. 源端调整: 源端收到后向RM信元,根据CI、NI、ER更新ACR。 6. 持续循环: 重复步骤2-5,动态适应网络状态。

Roce-NW-0770

RDMA队列调度

优先级映射, 加权调度

RDMA流量优先级映射与队列调度模型

在交换机端口,将RDMA(RoCEv2)流量通过DSCP或VLAN PCP映射到高优先级队列,并采用严格优先级(SP)结合加权轮询(WRR/DWRR)的调度算法,确保RDMA流量获得低延迟、无丢包的服务,同时兼顾其他业务的公平性。

优先级映射: 基于DSCP(如CS6/AF41)或PCP(如6/7)识别RDMA流量。
多级队列: 支持多个优先级队列,SP队列优先调度。
加权公平: WRR/DWRR在非严格优先级队列间提供带宽保障。

服务质量, 队列调度, 差分服务。

承载混合业务(RDMA, TCP, 存储)的数据中心交换机。

队列集合Q = {Q0, Q1, ..., Q7}, 通常8个队列。
优先级映射表DSCP_value -> queue_idPCP_value -> queue_id
调度权重W = {w0, w1, ..., w7}, 每个队列的权重(字节数或数据包数)。

SP调度if Q_high非空 then schedule from Q_high
WRR调度for each queue i in WRR_group: if byte_count_i < w_i then schedule from Q_i; byte_count_i += packet_size; if byte_count_i >= w_i then move to next queue

1. 流量分类与标记: 在服务器端,RDMA网卡或操作系统将RoCEv2报文标记为高优先级(例如DSCP 46或VLAN PCP 6)。在交换机入口,通过访问控制列表(ACL)或MQC策略识别这些标记,并将报文分类到相应的内部优先级。2. 队列映射: 交换机端口通常有多个输出队列(如8个)。配置队列映射策略,将内部优先级映射到具体的输出队列。例如,将RDMA流量(优先级6)映射到队列7(最高优先级),将存储流量(优先级5)映射到队列6,将普通TCP流量映射到队列0-5。3. 队列调度: 采用分层调度策略:a. 严格优先级(SP)调度: 首先服务高优先级队列(如队列7)。只要队列7中有数据包,就优先发送其数据包,直到队列为空。这保证了RDMA流量的最低延迟。b. 加权轮询(WRR)调度: 在SP队列为空时,调度器在较低优先级的队列组(如队列0-6)之间进行加权轮询。每个队列有一个权重(如w0=10, w1=20,...),表示其应获得的相对带宽份额。调度器按权重比例从各队列中取出一定数量的字节或数据包进行发送。4. 缓冲区管理: 为高优先级队列分配独立的缓冲区或保证其最小缓冲区份额,防止因缓冲区满而丢包。同时,启用PFC(基于优先级的流量控制)针对RDMA队列,实现无损传输。5. 配置示例: 在交换机上,命令可能类似于:priority-queue out 7将队列7设为严格优先级;wrr-queue bandwidth 10 20 30 40为队列0-3配置WRR权重。变量/常量priority: 报文优先级(0-7)。 queue_id: 输出队列索引(0-7)。 weight_i: 队列i的WRR权重。 byte_count_i: 当前轮询周期中队列i已发送的字节数。 SP_queue: 严格优先级队列的集合。 WRR_queues: 参与WRR调度的队列集合。

分层调度: SP保证低延迟, WRR保证带宽公平。
优先级映射: 将业务类型映射到硬件队列。
无损保障: 高优先级队列结合PFC实现零丢包。
可配置: 权重和映射关系可配置。

1. 配置分类: 在交换机上配置ACL或MQC,匹配RoCEv2报文(UDP 4791或DSCP值),并设置其内部优先级。 2. 配置队列映射: 将内部优先级映射到具体的输出队列(如priority 6 -> queue 7)。 3. 配置调度策略: 指定某些队列为严格优先级(SP),其他队列为WRR,并设置WRR权重。 4. 启用PFC: 在端口上对RDMA流量对应的优先级启用PFC。 5. 流量转发: 报文进入交换机,根据分类规则映射到内部优先级和队列。调度器根据SP+WRR策略从队列中取出报文发送。 6. 监控: 监控各队列的深度、丢弃计数、PFC触发次数等。

Roce-NW-0771

细粒度路由

流粒度的路径选择

基于流特征的细粒度动态路由模型

超越传统的基于目的IP的ECMP,根据流的特征(如五元组、流大小、优先级)或实时网络状态(如链路延迟、拥塞程度),为每个流或流组(flowlet)动态选择最优路径,实现更精细的负载均衡和拥塞避免。

流感知: 基于流标识(如哈希值)进行路由决策。
动态调整: 根据实时网络状态调整流的路由。
负载均衡: 将流分散到多条路径,提高链路利用率。

负载均衡, 流量工程, 自适应路由。

数据中心Clos/Fat-Tree网络, 多路径网络。

流标识flow_id = hash(src_ip, dst_ip, src_port, dst_port, protocol)
路径集合Paths = {P1, P2, ..., Pk}, 源目之间的等价多路径。
路径度量: 延迟latency, 带宽利用率utilization, 丢包率loss_rate

路径选择函数selected_path = argmin_{P in Paths} ( α*latency(P) + β*utilization(P) )
流表项match(flow_id) -> action(output_port)

1. 流识别: 当数据包进入网络边缘(如Leaf交换机),交换机或控制器提取其五元组(源IP、目的IP、源端口、目的端口、协议),计算一个哈希值作为流标识。大流可以被特殊识别(如通过采样sFlow)。2. 路径计算: 控制器或交换机维护全网拓扑和实时状态(通过INT或遥测)。对于每一对源目之间存在的多条等价路径(ECMP),计算每条路径的实时度量,如:a. 链路延迟: 通过探针或INT获取。b. 带宽利用率: 端口计数器计算。c. 队列深度: 反映即时拥塞程度。d. 历史稳定性: 路径的故障历史。3. 路由决策: 根据流的特征和需求选择路径。例如:a. 大象流: 选择当前最空闲的路径,避免拥塞。b. 老鼠流(延迟敏感): 选择延迟最低的路径。c. RDMA流: 选择低延迟、无丢包风险的路径,并可能固定路径以避免乱序。决策可以基于加权公式:score(P) = α*latency(P) + β*utilization(P) + γ*loss(P),选择得分最高的路径。4. 规则下发: 如果由集中式控制器决策,控制器通过OpenFlow等协议下发流表项,将特定流(匹配五元组或流ID)引导到选定路径的输出端口。如果由分布式交换机决策(如CONGA),交换机基于本地或全局拥塞信息为每个流或flowlet选择出口。5. 重路由: 持续监控路径状态。如果当前路径出现拥塞或故障,动态将流迁移到备用路径。对于RDMA等敏感流量,需尽量减少乱序,可采用flowlet切换(在流间隙切换路径)。变量/常量flow_id: 流标识符。 path_metrics: 路径度量向量。 selection_policy: 路径选择策略函数。 flow_table: 流到路径的映射表。

细粒度: 决策粒度可以是每流或每flowlet。
状态感知: 基于实时网络状态做决策。
自适应: 根据网络变化动态调整。
集中/分布: 可由控制器集中决策或交换机分布决策。

1. 流识别: 识别新流,计算流ID。 2. 状态收集: 收集各路径的实时度量信息。 3. 路径选择: 根据流类型和策略,选择最优路径。 4. 规则安装: 在入口交换机安装流表项,将匹配该流的数据包从选定路径的端口转发。 5. 监控与调整: 监控路径性能和流特征。如果性能不达标或路径拥塞,触发重路由,更新流表项。

Roce-NW-0772

SDN与信元交换融合

集中控制, 信元交换

SDN控制下的信元交换网络模型

将SDN的集中控制理念应用于信元交换网络(如ATM或现代信元交换架构)。SDN控制器集中管理信元交换机的连接建立、VPI/VCI分配和路由,实现灵活、可编程的信元交换,特别适用于需要硬隔离和确定性延迟的场景。

控制集中: 信令和路由计算由SDN控制器完成。
转发简化: 信元交换机只负责根据控制器下发的转发表进行信元交换。
灵活连接: 可动态建立、修改和删除虚连接。

SDN, 信元交换, 面向连接网络。

金融交易网络, 工业控制网络, 需要确定性能的切片。

连接请求(src, dst, bandwidth, delay_requirement)
虚路径: 一系列链路的序列, 每段链路分配VPI/VCI。
转发表项(input_port, input_VPI/VCI) -> (output_port, output_VPI/VCI)

路径计算: 在拓扑G上计算满足带宽和延迟约束的路径P
标签分配: 为路径P的每一跳分配本地VPI/VCI标签。

1. 架构: a. 控制平面: SDN控制器,拥有全网拓扑和资源状态。b. 数据平面: 信元交换机,支持ATM或类似信元交换协议,但控制逻辑被剥离,仅保留交换矩阵和标签交换表。c. 南向接口: 扩展的OpenFlow或专有协议,用于控制器向信元交换机下发连接建立、修改、删除指令以及标签转发表。2. 连接建立过程: a. 请求: 终端或上层应用通过北向接口向控制器发起连接建立请求,指定端点、带宽、延迟等QoS参数。b. 计算: 控制器根据全网拓扑和资源状态,计算一条满足QoS要求的端到端路径。c. 标签分配: 控制器为路径上的每一跳分配本地VPI/VCI标签,确保每段链路上标签唯一。d. 下发: 控制器通过南向接口向路径上的每个信元交换机下发交叉连接命令,安装转发表项:(入端口, 入VPI/VCI) -> (出端口, 出VPI/VCI)。e. 确认: 交换机安装成功后回复控制器,控制器通知请求方连接建立成功。3. 数据转发: 数据在源端被分割成信元,并打上第一跳的VPI/VCI标签。每个信元交换机根据入端口和入标签查找转发表,替换为出标签并从出端口转发,直到目的端。4. 连接拆除: 通信结束,控制器向沿途交换机下发命令删除转发表项,释放标签资源。5. 优势: 结合了信元交换的确定性延迟和硬隔离优势,以及SDN的集中控制、灵活编程优势。适用于对延迟抖动极其敏感的场景。变量/常量connection_id: 连接标识。 VPI/VCI_local: 本地链路标签。 cross_connect_table: 交叉连接表。 QoS_constraints: 服务质量约束(带宽, 延迟)。

面向连接: 通信前需建立虚连接。
标签交换: 基于VPI/VCI的快速转发。
集中控制: 控制器全局优化路径和资源分配。
硬隔离: 虚连接提供带宽和延迟保障。

1. 发现: 控制器发现网络拓扑和信元交换机能力。 2. 请求: 接收连接建立请求。 3. 计算: 计算满足QoS的路径并分配标签。 4. 下发: 向路径上所有交换机下发交叉连接配置。 5. 转发: 数据以信元形式沿路径标签交换转发。 6. 拆除: 接收拆除请求,删除配置,释放资源。

Roce-NW-0773

队列调度算法

赤字轮询, 公平队列

赤字轮询(DRR)队列调度模型

一种公平队列调度算法,为每个队列维护一个“赤字计数器”(Deficit Counter)。调度器轮询各队列,如果队列的赤字计数器大于等于队首数据包的长度,则发送该数据包并减少相应的赤字值;否则增加该队列的赤字配额并跳过。该算法实现近似公平的带宽分配,且复杂度低。

公平性: 长期看,各队列获得的带宽与其权重成正比。
低复杂度: O(1)时间复杂度,易于硬件实现。
支持可变长包: 通过赤字机制处理变长包。

公平队列调度, 分组交换。

路由器、交换机出口队列调度, 保证不同业务流的带宽份额。

队列Q_i, 每个队列有一个权重w_i
赤字计数器DC_i, 队列i的当前赤字。
量子值Quantum_i = w_i * MTU(或固定值)。

调度循环for each queue i: if Q_i not empty: DC_i += Quantum_i; while (Q_i not empty and DC_i >= length(head_packet)): send packet from Q_i; DC_i -= packet_length

1. 初始化: 为每个队列i分配一个权重w_i,并计算其量子值Quantum_i(通常为w_i * MTU,MTU为最大传输单元)。初始化每个队列的赤字计数器DC_i = 02. 调度循环: 调度器按固定顺序(如轮询)访问每个队列。对于当前队列i:a. 如果队列i非空,则为其增加赤字配额:DC_i = DC_i + Quantum_i。b. 然后,检查队列i的队首数据包的长度L。只要DC_i >= L且队列非空,就发送该数据包,并更新DC_i = DC_i - L。然后继续检查下一个数据包。c. 如果DC_i < L(即赤字不足以发送队首包),则停止服务该队列,转向下一个队列。3. 赤字意义: 赤字计数器DC_i可以累积。如果本轮因为赤字不足而无法发送数据包,剩余的赤字会保留到下一轮,增加了下次被服务的机会,从而保证了长期的公平性。4. 权重比例: 长期来看,每个队列i获得的带宽比例近似为w_i / Σ w_j5. 与SP结合: 在实际交换机中,DRR通常与严格优先级(SP)结合使用。最高优先级的队列采用SP调度,只有当其为空时,才在较低优先级的队列组中使用DRR调度。6. 在RDMA网络中的应用: 在数据中心交换机中,可以为RDMA流量设置一个高权重的DRR队列(或SP队列),为其他TCP流量设置较低权重的DRR队列,从而在保证RDMA低延迟的同时,为其他流量提供有保障的带宽份额。变量/常量Q_i: 第i个队列。 w_i: 队列i的权重。 Quantum_i: 队列i每轮获得的赤字增量(量子值)。 DC_i: 队列i的当前赤字计数器。 L: 数据包长度。

公平性: 长期带宽分配与权重成正比。
累积赤字: 未使用的服务机会可累积。
变长包友好: 通过比较赤字和包长决定是否发送。
易于实现: 算法简单,适合硬件实现。

1. 初始化: 设置各队列权重w_i,计算Quantum_i,清零所有DC_i。 2. 开始轮询: 从第一个队列开始。 3. 队列服务: 如果队列非空,则DC_i += Quantum_i。然后循环检查队首包长度L,如果DC_i >= L,则发送该包,DC_i -= L,并移除队首包;否则跳出循环。 4. 下一队列: 移动到下一个队列,重复步骤3。 5. 循环继续: 当所有队列都被服务一遍后,回到第一个队列,开始新一轮调度。

Roce-NW-0774

流量工程

全局优化, 多商品流

基于多商品流(MCF)的SDN流量工程模型

将网络流量工程问题建模为多商品流问题,在SDN控制器的全局视图下,以最小化最大链路利用率或总延迟为目标,为所有源-目的对之间的流量需求计算最优的路径和流量分配,实现网络资源的全局优化。

全局优化: 控制器基于全网信息集中计算。
多商品流: 每种流量需求视为一种商品。
线性/凸优化: 问题可形式化为线性规划或凸优化。

线性规划, 凸优化, 网络流。

数据中心骨干网, 广域网流量调度。

网络: 有向图G=(V, E)c_e为链路e的容量。
商品K个商品, 商品k的需求为d_k, 源s_k, 宿t_k
流量变量f_e^k, 商品k在链路e上的流量。

目标函数minimize max_{e in E} ( (Σ_k f_e^k) / c_e )(最小化最大链路利用率)。
约束流量守恒容量约束需求满足

1. 问题建模: 给定网络拓扑G=(V, E),链路容量c_e,以及一组流量需求(s_k, t_k, d_k),其中s_k为源节点,t_k为目的节点,d_k为需求带宽。目标是为每个需求分配流量,使得所有链路利用率尽可能均衡(最小化最大链路利用率),同时满足流量守恒和链路容量约束。2. 数学模型: a. 变量f_e^k >= 0,表示商品k在链路e上承载的流量。b. 目标: 最小化最大链路利用率U_max,即minimize U_max,并满足Σ_k f_e^k <= c_e * U_maxfor all e in E。等价于最小化max_{e in E} (Σ_k f_e^k / c_e)。c. 约束: 1) 流量守恒: 对于每个商品k和每个节点v(除源宿外),流入等于流出。对于源节点s_k,净流出等于d_k;对于宿节点t_k,净流入等于d_k。 2) 容量约束: 对于每条链路e,总流量不超过其容量:Σ_k f_e^k <= c_e。 3) 非负约束f_e^k >= 03. 求解: 这是一个线性规划问题,可以使用标准求解器(如Gurobi, CPLEX)或专用算法求解。求解后得到最优的流量分配f_e^k*和最小化的最大利用率U_max*4. 路径提取: 最优解f_e^k*可能表示链路上多个商品的流量叠加。对于每个商品k,可以通过流分解将其分配到一个或多个具体的路径上。5. 规则下发: SDN控制器根据计算出的路径,通过OpenFlow等协议向交换机下发流表项,将特定流量引导到指定路径上。6. 动态调整: 流量需求d_k可能随时间变化。控制器可以周期性地重新求解MCF问题,并更新流表,以适应流量变化。变量/常量V, E: 节点和边集合。 c_e: 链路e的容量。 d_k: 商品k的流量需求。 s_k, t_k: 商品k的源和目的。 f_e^k: 决策变量,商品k在链路e上的流量。 `U

编号

领域

核心理论

模型/协议/算法名称

目标与描述

精度与特征

理论基础

应用场景

数学要素

关键方程/状态机

数学特征

实现步骤/工作流程

软硬件工具

Roce-NW-0775

SDN可靠性

控制器高可用, 状态同步

SDN控制器分布式集群与状态同步模型

通过部署多个控制器实例形成集群,并使用分布式一致性协议(如Raft)同步网络状态,实现控制平面的高可用性和负载均衡,避免单点故障。

高可用: 主控制器故障时,从控制器快速接管。
状态同步: 集群内控制器状态保持强一致性或最终一致性。
负载均衡: 交换机可连接不同控制器实例,分担负载。

分布式系统, 一致性协议, 主从复制。

大型SDN网络, 对控制平面可靠性要求高的场景。

控制器实例C = {c1, c2, ..., cn}
角色leaderfollower
网络状态S, 包括拓扑、流表等。
任期term, 逻辑时间。

Raft选举if follower timeout, become candidate, request votes; if get majority votes, become leader
日志复制leader append log entry, replicate to followers, commit when majority replicated

1. 集群架构: 多个控制器实例组成集群,每个实例维护相同的网络状态副本。实例间通过心跳维持联系。2. 角色与选举: 采用Raft等一致性算法,集群中有一个领导者(Leader),其他为追随者(Follower)。领导者负责处理所有写请求(如下发流表),并将状态变更复制到追随者。如果追随者在一定时间内未收到领导者的心跳,则发起选举,选出一个新的领导者。3. 状态同步: 所有状态变更(如拓扑变化、流表下发)都被记录为日志条目。领导者将日志条目复制给大多数追随者后,即可提交该条目,并应用到状态机(即更新网络状态视图)。4. 交换机连接: 交换机可以连接到一个或多个控制器实例。通常,交换机与主控制器建立主连接,与从控制器建立从连接。当主控制器故障时,交换机切换到从控制器。5. 分区处理: 网络分区可能导致出现多个领导者(脑裂)。一致性算法通过要求多数派(超过半数)选举来避免脑裂,因此分区中只有拥有多数节点的分区能选举出领导者。6. 与数据平面同步: 控制器集群需要确保下发到交换机的流表是一致的。通常,只有领导者才能下发流表,追随者不响应交换机的请求。变量/常量leader_id: 当前领导者的ID。 term: 当前任期号。 log_entries[]: 日志条目序列。 commit_index: 已提交的最大日志索引。 last_applied: 已应用到状态机的最大日志索引。

强一致性: 使用Raft等算法保证集群状态强一致。
高可用: 自动故障转移,恢复时间短。
可扩展: 通过增加控制器实例扩展处理能力。
分区容错: 能处理网络分区。

1. 集群启动: 多个控制器实例启动,初始为Follower,开始选举超时计时。 2. 选举领导者: 超时的Follower变为Candidate,发起选举。获得多数票的Candidate成为Leader。 3. 状态同步: Leader接收网络事件(如Packet-In)和处理应用请求,生成日志条目,复制给Followers。当多数派确认后,提交日志并应用到状态机。 4. 故障处理: 如果Leader故障,Followers因超时而触发新的选举。 5. 交换机故障转移: 交换机检测到与主控制器连接断开,则尝试连接备控制器。

Roce-NW-0776

信元交换流量管理

流量整形, 漏桶算法

ATM流量整形与漏桶算法模型

在ATM网络中,通过漏桶算法对信元流进行整形,使其符合连接建立时协商的流量参数(如峰值信元速率PCR、可持续信元速率SCR),从而确保网络能够满足服务质量(QoS)要求。

速率控制: 强制输出信元流符合约定速率。
漏桶模型: 桶有一定容量,信元到达时加水,以恒定速率漏水。
信元标记/丢弃: 不符合约定的信元可能被标记(CLP=1)或丢弃。

流量整形, 漏桶算法, 服务质量。

ATM网络用户-网络接口(UNI), 流量监管与整形。

漏桶参数: 桶深度B(信元数), 漏出速率R(信元/秒)。
桶中水位L(t), 时间t时桶中的水量。
信元到达: 在时间t_k到达第k个信元。

漏桶微分方程dL/dt = -R if L>0; when cell arrives at time t_k, L(t_k+) = min(B, L(t_k-) + 1)
信元合规条件: 信元可被发送当且仅当L(t_k-) + 1 <= B

1. 漏桶模型: 想象一个底部有孔的桶。水以恒定速率R从孔中漏出(漏出速率)。当信元到达时,向桶中加入一定量的水(如1个单位)。如果加水后桶中的水没有超过桶的深度B,则信元是合规的(conforming),可以被立即发送;否则,信元是非合规的(non-conforming),可能被丢弃或标记。2. 双漏桶算法: ATM使用双漏桶对可变比特率(VBR)流量进行整形。第一个漏桶检查峰值信元速率(PCR)和信元延迟变化容限(CDVT),第二个漏桶检查可持续信元速率(SCR)和突发容限(BT)。3. 信元处理: 信元依次经过两个漏桶检查。如果通过第一个漏桶但未通过第二个,则信元被标记为低优先级(CLP=1);如果两个都通过,则CLP=0;如果未通过第一个,则信元被丢弃。4. 参数关系: 对于可持续信元速率SCR,漏桶参数为:漏出速率R_s = SCR,桶深度B_s = BT * SCR。类似地,对于PCR,R_p = PCRB_p = CDVT * PCR5. 在SDN中的延伸: 漏桶算法可以用于SDN交换机中的流量整形。通过OpenFlow的meter表,可以实现速率限制,其原理与漏桶类似。变量/常量R: 漏出速率(信元/秒)。 B: 桶深度(信元数)。 L(t): 时间t的桶中水量。 t_k: 第k个信元的到达时间。 X_k: 第k个信元的合规性(0/1)。

速率限制: 输出速率不超过漏出速率R。
突发容忍: 桶深度B允许一定突发。
双漏桶: 分别检查PCR和SCR。
标记/丢弃: 对不合规信元的处理。

1. 初始化: 设置漏桶参数(R, B),初始水位L=0。 2. 信元到达: 当信元在时间t到达时,计算自上次到达以来的漏水量:L = max(0, L - R*(t - t_last))。 3. 合规检查: 如果L + 1 <= B,则信元合规,更新L = L + 1,发送信元;否则,信元不合规,进行标记或丢弃。 4. 记录时间: 更新t_last = t。 5. 持续处理: 对每个到达信元重复步骤2-4。

Roce-NW-0777

RDMA拥塞控制

量化拥塞通知, 速率调整

基于TIMELY的RDMA端到端延迟拥塞控制模型

通过测量数据包的往返延迟(RTT)来检测网络拥塞,并据此调整发送速率。当RTT增加超过阈值时,认为网络发生拥塞,降低发送速率;当RTT较低时,逐步提高发送速率。这是一种基于延迟的端到端拥塞控制算法。

延迟敏感: 使用RTT作为拥塞信号,无需交换机支持ECN。
速率调整: 根据RTT变化梯度调整发送速率。
端到端: 仅在端主机实现,不需要网络设备支持。

拥塞控制, 延迟梯度, 速率控制。

数据中心RDMA网络, 尤其是没有ECN支持的网络。

RTT测量: 每个数据包的往返延迟RTT
延迟梯度ΔRTT = RTT_current - RTT_min
阈值T_low, T_high
速率调整因子α, β, η

速率更新if ΔRTT < T_low: rate += η; else if ΔRTT > T_high: rate *= (1 - β*(ΔRTT - T_high)); else: rate += α*(T_high - ΔRTT)

1. 测量RTT: 发送端为每个数据包(或每个ACK)记录发送时间,并在收到ACK时计算RTT。维护一个滑动窗口内的最小RTT(RTT_min),作为基础延迟。2. 计算延迟梯度: 定义延迟梯度ΔRTT = RTT_current - RTT_min,表示当前排队延迟。3. 速率调整策略: 根据ΔRTT落入三个区域之一,采取不同的速率调整策略:a. 无拥塞区域ΔRTT < T_low): 网络排队延迟很低,可以积极增加速率:rate += η。b. 目标区域T_low <= ΔRTT <= T_high): 网络有轻微排队,缓慢调整速率以收敛到目标延迟:rate += α * (T_high - ΔRTT)。c. 拥塞区域ΔRTT > T_high): 网络拥塞,需要降低速率:rate *= (1 - β * (ΔRTT - T_high)),其中β是减速因子。4. 参数设置: 阈值T_lowT_high通常设置为几微秒到几十微秒,取决于网络和需求。α, β, η是调整因子,影响收敛速度和稳定性。5. 优势与局限: TIMELY是端到端的,不需要交换机支持,但需要精确的RTT测量(微秒级),且对延迟抖动敏感。在浅缓冲区网络中表现良好。变量/常量RTT: 当前测量的往返时间。 RTT_min: 滑动窗口内的最小RTT(基础延迟)。 ΔRTT: 延迟梯度。 T_low, T_high: 低阈值和高阈值。 rate: 当前发送速率。 α, β, η: 调整因子。

延迟梯度: 使用ΔRTT作为拥塞信号。
多区域调整: 根据ΔRTT落入的区域采用不同的调整策略。
端到端: 无需网络设备支持。
RTT测量精度: 需要高精度RTT测量(微秒级)。

1. 初始化: 设置初始速率,测量RTT_min,设置阈值和调整因子。 2. 持续测量: 为每个数据包/ACK测量RTT,更新RTT_min。 3. 计算梯度: 计算ΔRTT = RTT_current - RTT_min。 4. 调整速率: 根据ΔRTT落入的区域,按上述公式调整发送速率。 5. 速率限制: 确保速率在最小和最大值之间。 6. 发送数据: 以新速率发送数据。

Roce-NW-0778

细粒度路由

基于时隙的调度

时间触发网络(TTN)与信元交换融合模型

在信元交换网络中引入时间触发机制,将时间划分为固定长度的时隙,为时间敏感的流量分配专用的时隙,确保其确定性延迟和零拥塞。非时间敏感流量在其他时隙传输。结合信元交换的固定长度,可实现高精度的调度。

时间触发: 流量在预先分配的时隙内传输。
确定性: 端到端延迟有界且可预测。
时分复用: 时隙在多个流量间共享。

时间敏感网络, 时分多址, 确定性网络。

工业自动化, 车载网络, 航空电子。

时隙: 固定时间长度的传输窗口。
调度表: 为每个流量分配时隙的列表。
周期: 调度重复的时间周期。

时隙分配: 对于每个流量flow_i, 分配一组时隙S_i, 使得S_i ∩ S_j = ∅(对于无重叠要求的流量)。
传输时间: 流量flow_i只能在t in S_i时传输。

1. 网络时间同步: 所有网络设备(端点和交换机)通过精密时间协议(如IEEE 1588 PTP)同步到亚微秒级精度。2. 时隙划分: 时间被划分为固定长度的时隙(例如1微秒)。多个时隙组成一个周期(例如1毫秒),调度在每个周期内重复。3. 离线调度: 控制器根据所有时间敏感流量的需求(周期、截止时间、数据量),离线计算一个调度表。调度表为每个流量分配特定的时隙,并确保在每条链路上,每个时隙最多被一个流量使用(避免冲突)。4. 信元交换: 数据被分割成固定长度的信元。时间敏感流量在其分配的时隙内,信元被注入网络。交换机根据调度表,在特定时隙将信元从输入端口交换到输出端口。5. 非时间敏感流量: 在未被时间敏感流量占用的时隙内,可以传输尽力而为(BE)流量。BE流量可以使用传统的队列调度机制。6. 与SDN结合: SDN控制器负责计算调度表,并将其下发到所有交换机和端点。端点根据调度表在正确的时间发送信元,交换机根据调度表在正确的时间进行交换。7. 确定性保障: 由于时间敏感流量在专属时隙传输,不会相互竞争,因此端到端延迟是确定的,等于传输延迟加上固定的交换延迟。变量/常量slot_length: 时隙长度(时间单位)。 cycle_length: 调度周期长度(时隙数)。 schedule: 映射(flow_id, timeslot) -> (input_port, output_port)clock_sync: 全局同步时钟。

时间同步: 全网设备时钟同步。
离线调度: 流量调度表离线计算,在线查表执行。
无冲突: 调度表确保无资源冲突。
确定性延迟: 延迟可精确计算。

1. 时间同步: 所有设备运行PTP协议,实现时钟同步。 2. 需求收集: 控制器收集所有时间敏感流量的需求(源、目的、周期、最大数据量、最大延迟)。 3. 调度计算: 控制器离线计算调度表,为每个流量分配时隙,确保无冲突且满足延迟要求。 4. 表下发: 控制器将调度表下发到各交换机和端点。 5. 时隙传输: 端点在分配到的时隙开始时发送信元。交换机在对应时隙将信元从输入端口交换到输出端口。 6. BE流量传输: 在剩余时隙传输BE流量。

Roce-NW-0779

队列调度算法

近似公平排队

加权公平排队(WFQ)模型

一种理想化的公平排队算法,为每个流(或队列)模拟一个广义处理器共享(GPS)模型,通过计算每个数据包的虚拟完成时间来调度,使得每个流获得的带宽与其权重成正比。WFQ近似实现GPS,提供公平的带宽分配和延迟界限。

公平性: 每个流获得的带宽与其权重成正比。
延迟界限: 为每个流提供延迟上界。
模拟GPS: 通过虚拟时间实现GPS的近似。

公平队列调度, 广义处理器共享。

路由器、交换机的公平排队, 保证流之间的公平性。

flow_i, 权重w_i
虚拟时间V(t), 系统虚拟时间。
数据包p_{i,j}, 流i的第j个包, 长度L_{i,j}, 到达时间a_{i,j}
虚拟开始/完成时间S_{i,j}F_{i,j}

虚拟时间更新dV/dt = 1 / (Σ_{active flows} w_i)
虚拟完成时间F_{i,j} = S_{i,j} + L_{i,j} / w_iS_{i,j} = max(F_{i,j-1}, V(a_{i,j}))
调度规则: 发送具有最小F_{i,j}的数据包。

1. 广义处理器共享(GPS): GPS是一种理想的流体模型,多个流共享一条链路,每个流被分配一个权重。GPS以无限小的数据块为单位,同时为所有活跃流提供服务,每个流获得的瞬时服务速率与其权重成正比。2. 虚拟时间: 定义系统虚拟时间V(t),其增长速率与活跃流的权重和成反比:dV/dt = 1 / Σ_{i in B(t)} w_i,其中B(t)是时刻t活跃的流集合。虚拟时间可以看作是归一化的服务量。3. 数据包虚拟时间戳: 对于流i的第j个数据包,定义其虚拟开始时间S_{i,j}和虚拟完成时间F_{i,j}S_{i,j} = max(F_{i,j-1}, V(a_{i,j})),其中a_{i,j}是数据包的到达时间。F_{i,j} = S_{i,j} + L_{i,j} / w_i,其中L_{i,j}是包长。4. 调度规则: WFQ模拟GPS,在真实系统中,每次发送一个完整的数据包。调度器总是选择具有最小虚拟完成时间F_{i,j}的数据包进行发送。5. 公平性: 长期来看,每个流i获得的带宽比例为w_i / Σ w_j6. 实现复杂度: WFQ需要为每个流维护一个队列,并为每个数据包计算虚拟时间戳。当流数量很大时,计算和排序开销较大。因此,实际中常使用近似算法,如WFQ(加权公平排队)的实现通常使用差分方法计算虚拟时间。7. 在数据中心的应用: 在数据中心交换机中,可以为不同优先级的流量分配不同的权重,实现加权公平共享。例如,为RDMA流量分配较高权重,保证其带宽份额。变量/常量flow_i: 第i个流。 w_i: 流i的权重。 V(t): 时刻t的系统虚拟时间。 B(t): 时刻t活跃的流集合。 L_{i,j}: 流i的第j个数据包的长度。 a_{i,j}: 该数据包的到达时间。 S_{i,j}, F_{i,j}: 该数据包的虚拟开始和完成时间。

虚拟时间: 模拟GPS服务的进度。
最小完成时间优先: 调度虚拟完成时间最小的包。
公平性: 长期带宽分配与权重成正比。
延迟界限: 每个流的延迟有上界。

1. 初始化: 设置每个流的权重w_i,系统虚拟时间V(t)=0。 2. 包到达: 当流i的数据包p_{i,j}到达时,计算其虚拟开始时间S_{i,j} = max(F_{i,j-1}, V(a_{i,j}))和虚拟完成时间F_{i,j} = S_{i,j} + L_{i,j}/w_i。将数据包放入流i的队列,并按F_{i,j}排序。 3. 调度: 当链路空闲时,从所有流中选择虚拟完成时间最小的数据包发送。 4. 更新虚拟时间: 在数据包发送期间,更新虚拟时间V(t)。 5. 重复: 重复步骤2-4。

Roce-NW-0780

SDN安全

网络访问控制, 动态策略

基于SDN的细粒度网络访问控制模型

利用SDN的集中控制能力,在控制器上实现全局的、动态的访问控制策略。通过OpenFlow流表,可以基于任意包头字段(如MAC、IP、端口、协议类型)以及上下文信息(如用户身份、设备类型、时间)来允许或拒绝流量,实现比传统ACL更灵活、更细粒度的安全策略。

集中策略: 安全策略在控制器集中定义和管理。
细粒度: 可基于L2-L4乃至应用层信息进行控制。
动态适应: 策略可随上下文(如用户移动)动态调整。

访问控制, 软件定义安全, 网络策略。

企业网、数据中心网络、校园网的微分段, 动态访问控制。

策略规则Rule = (priority, match_fields, action)
匹配域: 可包括物理端口、MAC、IP、TCP/UDP端口、协议等。
动作ALLOWDENYREDIRECT等。

策略决策if packet matches rule_i then action = rule_i.action
规则优先级: 高优先级规则覆盖低优先级规则。

1. 策略定义: 管理员在SDN控制器上定义高级别的安全策略,例如“研发部门的服务器只能被研发部门的员工访问”,或“财务数据库只允许特定IP在上班时间访问”。2. 策略编译: 控制器将高级策略编译为具体的流表项。例如,上述策略可能被编译为匹配源IP段和目的IP的流表项,动作为允许或拒绝。3. 流表下发: 控制器通过OpenFlow将流表项下发到相关交换机。通常,策略被下发到网络边缘(如接入交换机),以实现早期过滤。4. 动态调整: 当网络状态或上下文发生变化时(如用户从一个端口移动到另一个端口,或检测到攻击),控制器可以动态添加、删除或修改流表项,实时调整访问控制策略。5. 与身份管理集成: SDN控制器可以与身份管理系统(如AD, LDAP)集成。当用户认证后,控制器根据用户角色下发相应的访问规则到用户所连接的交换机端口。6. 应用感知: 通过深度包检测(DPI)或与上层应用联动,SDN控制器可以识别应用类型(如Facebook, Skype),并基于应用实施策略(如允许Skype语音但禁止文件传输)。7. 日志与审计: 控制器可以记录所有违反策略的流量(通过将匹配丢弃规则的流量镜像到日志服务器),用于安全审计。变量/常量policy_rule: 高级安全策略。 flow_entry: 编译后的流表项。 context: 上下文信息(用户, 设备, 时间, 位置)。 action: 允许或拒绝。

集中管理: 策略在控制器集中定义,全网生效。
细粒度匹配: 可匹配任意OpenFlow支持字段。
动态更新: 策略可实时动态更新。
身份驱动: 可与用户身份绑定。

1. 策略定义: 管理员在控制器上定义安全策略。 2. 设备发现: 控制器发现网络拓扑和主机信息。 3. 规则编译: 控制器将安全策略编译为具体的流表项。 4. 流表下发: 控制器将流表项下发到边缘交换机。 5. 流量过滤: 交换机根据流表项允许或拒绝流量。 6. 动态调整: 当检测到威胁或策略变化时,控制器更新流表项。

Roce-NW-0781

信元交换拥塞控制

反馈控制, 显式速率

ATM ABR业务中的显式速率(ER)计算模型(ERICA算法)

交换机周期性地测量每个输出端口的负载和活跃连接数,计算公平共享带宽,并通过资源管理(RM)信元中的显式速率(ER)字段通知源端,使其调整发送速率,从而实现高效、公平的带宽分配和拥塞避免。

交换机计算: 交换机计算公平共享速率。
显式反馈: 通过RM信元将ER反馈给源端。
公平性: 目标是使所有连接的速率收敛到公平共享值。

反馈控制, 公平排队, 拥塞避免。

ATM网络中的ABR业务拥塞控制。

测量间隔T, 交换机测量周期。
输入速率Input_Rate, 周期内到达某端口的信元速率。
目标利用率Target_Utilization, 期望的链路利用率(如0.95)。
活跃连接数N, 在周期内有信元到达的连接数。
公平共享FairShare = (Target_Utilization * Link_Capacity) / N

ER计算ER = max(MCR, min(ER_current, FairShare))或更复杂的算法如ERICA

1. 交换机测量: 每个交换机周期性地(例如每T毫秒)测量每个输出端口的以下参数:a. Input_Rate: 该端口在上一周期的到达信元速率。b. N: 在上一周期内有信元到达的ABR连接数(活跃连接数)。c. 可选的,每个连接的当前信元速率(通过RM信元获得)。2. 计算公平共享: 根据测量值计算公平共享速率FairShare。一个简单的计算是:FairShare = (Target_Utilization * Link_Capacity) / N,其中Target_Utilization是目标利用率(如0.95),Link_Capacity是链路容量。3. ERICA算法: 更复杂的ERICA算法不仅考虑公平共享,还考虑连接的当前速率与公平共享的差异。算法步骤如下:a. 测量Input_RateN。b. 计算FairShare如上。c. 对于每个连接的RM信元(前向或后向),交换机计算:ER_new = max(MCR, min(ER_current, FairShare)),其中ER_current是RM信元中当前的ER值。d. 更高级的ERICA+会考虑连接的当前速率(从RM信元中获得),并试图将高速率连接的ER降低到FairShare,同时允许低速率连接增加。4. 设置RM信元: 交换机将计算出的ER_new写入RM信元的ER字段,但只减小不增加(即取ER_new和当前ER值的最小值)。这确保ER值沿路径递减,最终源端得到的是整条路径上最拥塞链路的ER。5. 反馈给源端: RM信元到达目的端后被返回源端。源端收到后,将其允许信元速率(ACR)设置为ER值。6. 目标: 通过这种反馈机制,所有连接的速率将收敛到公平共享,并且链路利用率维持在目标值附近,避免拥塞。变量/常量T: 测量周期。 Input_Rate: 测量周期内端口的输入速率。 N: 活跃连接数。 Link_Capacity: 链路容量。 Target_Utilization: 目标利用率(0< Target_Utilization <=1)。 FairShare: 公平共享速率。 ER_current: RM信元中当前的显式速率。 ER_new: 交换机计算的新显式速率。

周期性测量: 交换机周期性地测量负载和连接数。
公平共享计算: 基于测量值计算每个连接应得的公平带宽。
显式速率递减: 交换机只减小ER值,源端取最小值。
收敛性: 算法能使连接速率收敛到公平点。

1. 初始化: 交换机设置测量周期T,目标利用率。 2. 周期测量: 每T时间,测量每个输出端口的Input_Rate和活跃连接数N。 3. 计算FairShare: FairShare = Target_Utilization * Link_Capacity / N。 4. 处理RM信元: 对每个经过的RM信元,读取其当前ER值(ER_current)。计算ER_new = max(MCR, min(ER_current, FairShare))。 5. 更新ER字段: 将RM信元的ER字段设置为ER_new。 6. 转发: 转发RM信元。 7. 源端调整: 源端收到RM信元后,将ACR设置为ER值。

Roce-NW-0782

细粒度路由

基于流的动态负载均衡

CONGA分布式负载均衡模型

一种用于数据中心多路径网络的分布式负载均衡算法。交换机通过带内遥测获取全局拥塞信息,并基于每个流(或流组)的动态路径选择,将流量分配到最不拥塞的路径上,实现高效的负载均衡和低延迟。

分布式决策: 每个交换机基于本地信息做决策,无需集中控制器。
带内遥测: 在数据包中携带路径拥塞信息(如队列深度)。
流组(flowlet)切换: 利用流的间隙切换路径,避免乱序。

分布式算法, 负载均衡, 多路径路由。

数据中心Clos网络(如Fat-Tree), 多路径负载均衡。

拥塞度量: 队列长度q
流组: 流中一个连续的数据包序列, 间隙大于阈值T
路径选择: 基于拥塞信息选择最佳路径。

路径选择best_path = argmin_{p in paths} (congestion_metric(p))
流组识别if inter-packet gap > T then new flowlet

1. 网络拓扑: CONGA设计用于多级Clos拓扑(如Fat-Tree)。每个服务器通过两个(或多个)上行链路连接到不同的Leaf交换机。Leaf交换机之间通过Spine交换机互联,形成多路径。2. 带内遥测: 数据包头部包含一个CONGA字段,用于携带拥塞信息。当数据包从Leaf进入网络时,源Leaf交换机将该字段清零。当数据包经过中间交换机(Spine)时,交换机会将自己的拥塞信息(如输出队列长度)写入该字段。目的Leaf交换机在将数据包发送给服务器前,会将CONGA字段中的拥塞信息反馈给源Leaf交换机(通过反向路径或单独的反向包)。3. 拥塞信息学习: 源Leaf交换机从反馈中学习到每条可能路径的实时拥塞程度。4. 流组(flowlet)切换: 为了避免单个流的数据包乱序,CONGA在流的自然间隙(即流组)处切换路径。如果同一个流中两个连续数据包的时间间隔大于阈值T,则认为这是一个新的流组,可以为它重新选择路径。5. 路径选择: 当一个新的流或流组到达时,源Leaf交换机根据学到的各路径拥塞信息,选择拥塞最轻的路径(如队列长度最短)。6. 分布式决策: 每个Leaf交换机独立为本地服务器做出路径选择决策,无需集中控制器。7. 优势: 由于决策基于实时拥塞信息,CONGA能快速对拥塞做出反应,将流量从拥塞路径迁移到空闲路径,实现更好的负载均衡和更低的延迟。变量/常量flowlet: 由大于阈值T的间隙分隔的数据包序列。 congestion_metric(p): 路径p的拥塞度量(如最大队列长度或总队列长度)。 T: 流组识别阈值(通常几十微秒)。 feedback: 从目的Leaf反馈的拥塞信息。

流组切换: 在流间隙切换路径,避免乱序。
带内遥测: 利用数据包头部携带拥塞信息。
分布式决策: 每个入口交换机独立决策。
实时反应: 基于实时拥塞信息快速调整。

1. 流量进入: 数据包从服务器到达源Leaf交换机。 2. 流组识别: 检查该流的最后一个数据包时间,如果间隔大于T,则开始新的流组。 3. 路径选择: 对于新流或新流组,源Leaf根据最新拥塞信息选择最佳路径。 4. 添加拥塞信息: 源Leaf将CONGA字段清零,并设置路径选择信息。 5. 转发与遥测: 数据包沿路径转发,沿途Spine交换机将自己的队列长度信息累加到CONGA字段。 6. 反馈: 目的Leaf收到包后,提取CONGA字段中的拥塞信息,通过反向路径反馈给源Leaf。 7. 更新信息: 源Leaf根据反馈更新各路径的拥塞信息。

Roce-NW-0783

队列调度算法

分层队列, 优先级与带宽保证

分层令牌桶与优先级队列混合调度模型

结合令牌桶流量整形和严格优先级队列调度,对不同优先级的流量进行整形和调度。高优先级流量(如RDMA)进入严格优先级队列,确保低延迟;低优先级流量(如TCP)进入加权公平队列,并通过令牌桶限制其速率,防止其占用过多带宽影响高优先级流量。

分层调度: 先按优先级调度,同优先级内按权重或令牌桶调度。
流量整形: 使用令牌桶限制低优先级流量的突发和平均速率。
带宽保证: 为不同队列分配保证带宽。

流量整形, 优先级队列, 分层调度。

混合业务网络(RDMA + TCP), 需要保证高优先级流量低延迟并限制低优先级流量带宽。

令牌桶: 桶深度B, 令牌生成速率r
队列: 多个优先级队列Q_high, Q_low1, Q_low2, ...
调度权重: 低优先级队列的权重w_i

令牌桶更新tokens = min(B, tokens + r * Δt)
数据包发送条件: 对于需整形队列, 发送需packet_size <= tokensqueue is selected by scheduler

1. 队列结构: 输出端口有多个队列。设置一个严格优先级队列(SP)用于高优先级流量(如RDMA),多个低优先级队列(如WFQ队列)用于其他流量。2. 流量分类与标记: 根据DSCP或VLAN PCP将流量分类,高优先级流量(如DSCP 46)映射到SP队列,低优先级流量映射到相应的WFQ队列。3. 令牌桶整形: 为每个低优先级队列关联一个令牌桶,用于限制该队列的发送速率。令牌桶参数为平均速率r和突发大小B。令牌以速率r生成,最多累积到B。当队列被调度器选中时,只有当令牌数大于等于队首数据包大小时,才能发送该数据包,并扣除相应令牌。4. 分层调度: 调度器首先服务SP队列,只要SP队列非空,就从中发送数据包。只有当SP队列为空时,才调度低优先级WFQ队列。在低优先级队列之间,按照WFQ算法(或DRR)进行调度,每个队列有一个权重,确保其获得一定比例的带宽。5. 带宽分配: 通过为每个低优先级队列设置令牌桶参数r,可以限制其最大平均速率。通过设置WFQ权重,可以分配剩余带宽的比例。6. 与PFC协同: 可以对SP队列启用PFC,实现无损传输。对低优先级队列可以不启用PFC,允许其在拥塞时丢包。变量/常量SP_queue: 严格优先级队列。 WFQ_queues: 加权公平队列集合。 token_bucket_i: 队列i关联的令牌桶,参数为(r_i, B_i)tokens_i: 当前令牌数。 w_i: WFQ队列i的权重。

优先级调度: 高优先级队列绝对优先。
令牌桶整形: 限制低优先级队列的速率。
WFQ公平: 在低优先级队列间公平分配带宽。
分层: 先优先级,后公平。

1. 分类与入队: 数据包到达,根据优先级映射到相应队列。 2. 令牌生成: 每个令牌桶以固定速率r_i生成令牌,累积到B_i为止。 3. 调度决策: a. 如果SP队列非空,从SP队列发送队首包。 b. 如果SP队列为空,则按照WFQ算法从低优先级队列中选择一个队列。假设选中队列i。 4. 令牌检查: 如果队列i的令牌数tokens_i >= 队首包大小,则发送该包,并tokens_i -= packet_size。否则,跳过该队列,继续WFQ选择下一个队列。 5. 重复: 重复步骤3-4。

Roce-NW-0784

SDN与RDMA协同

集中式拥塞控制

SDN集中式RDMA拥塞控制模型

利用SDN控制器的全局视图,监控网络中的拥塞点(如通过INT或sFlow),并主动调整RDMA流的发送速率或路由路径,以缓解拥塞,实现全局最优的流量分发和拥塞避免。

全局视图: 控制器掌握全网拓扑和实时流量矩阵。
集中控制: 控制器计算最优速率或路径,并下发给终端或交换机。
主动调整: 在拥塞发生前或初期进行调整。

集中控制, 拥塞控制, 流量工程。

数据中心RDMA网络, 可与其他流量(TCP)共存。

网络拓扑G=(V, E), 链路容量c_e
流量需求: 源-目的对(s,d)的RDMA流量需求d_{sd}
链路利用率u_e = flow_e / c_e
优化目标: 最小化最大链路利用率或总完成时间。

优化问题min max_{e in E} u_e, 满足flow conservationdemand satisfaction
速率调整: 控制器计算各流的最优速率r_{sd}, 下发给源端。

1. 监控: SDN控制器通过带内遥测(INT)或sFlow监控网络状态,特别是关键链路的利用率和队列深度。2. 拥塞检测: 控制器设置阈值(如链路利用率>80%或队列长度超过一定值),当超过阈值时,认为链路拥塞。3. 流量识别: 控制器识别出经过该拥塞链路的RDMA流(例如通过检查流表匹配RoCEv2的UDP端口4791)。4. 决策: 控制器根据全局信息,可以采取两种措施之一或组合:a. 速率调整: 计算受影响RDMA流的新速率,使其和不超过拥塞链路的可用带宽,并通过OpenFlow消息或专用协议下发给源端网卡,调整其发送速率。b. 路径调整: 为受影响的RDMA流计算一条新的、不拥塞的路径,并通过OpenFlow流表修改,将其流量切换到新路径。5. 优化目标: 决策可以基于优化模型,例如最小化最大链路利用率、最大化网络吞吐量、或最小化流完成时间。这可以形式化为一个线性规划或凸优化问题。6. 反馈: 调整后,控制器继续监控网络状态,形成闭环控制。7. 优势: 集中式控制可以利用全局信息做出更优决策,避免分布式算法可能导致的振荡或次优解。变量/常量G=(V,E): 网络拓扑。 c_e: 链路e的容量。 f_e: 链路e上的总流量。 u_e = f_e / c_e: 链路利用率。 d_{sd}: 从s到d的RDMA流量需求。 r_{sd}: 控制器为流(s,d)分配的速率。 x_{sd}^e: 流(s,d)在链路e上的流量比例。

全局优化: 基于全网状态做决策。
集中控制: 控制器计算并下发调整指令。
主动干预: 可提前预防拥塞。
多目标: 可同时优化利用率、延迟、公平性。

1. 监控: 控制器周期性地从交换机收集链路利用率和队列深度。 2. 检测: 如果某链路利用率超过阈值,则标记为拥塞链路。 3. 识别: 查找所有经过该拥塞链路的RDMA流。 4. 计算: 运行优化算法,计算各RDMA流的新速率或新路径。 5. 下发: 将速率调整指令发送给源端主机,或下发新的流表项改变路径。 6. 验证: 继续监控,验证拥塞是否缓解。

Roce-NW-0785

信元交换与分组交换对比

性能分析, 排队论

信元交换与分组交换延迟对比分析模型

从排队论角度分析固定长度信元交换与可变长度分组交换在交换延迟和排队延迟方面的差异。固定长度信元简化了交换机的设计和调度,可以提供更确定性的延迟,但存在信元税(头部开销)问题。

固定长度: 信元长度固定, 简化缓冲区和调度。
可变长度: 分组长度可变, 更灵活但延迟不确定。
信元税: 信元头部开销占总长的比例。

排队论, 性能分析, 交换结构。

网络设计选型, 确定性网络设计。

信元长度L_c(固定, 如53字节)。
分组长度: 随机变量L_p, 均值为E[L_p], 方差为Var[L_p]
服务时间: 传输一个信元或分组的时间S = L / CC为链路速率。
排队延迟E[W], 平均等待时间。

M/D/1排队延迟: 对于固定长度信元, 服务时间为常数DE[W] = ρ/(2μ(1-ρ)), 其中ρ=λ/μ
M/G/1排队延迟: 对于可变长度分组, 服务时间分布为一般分布, E[W] = (λ * E[S^2]) / (2(1-ρ))

1. 信元交换: 数据被分割成固定长度的信元(如ATM的53字节)。在交换机中,信元是交换和调度的基本单位。由于所有信元长度相同,服务时间是常数,因此交换机的缓冲区管理和调度算法可以简化,且延迟变化(抖动)较小。排队模型可以视为M/D/1队列。2. 分组交换: 数据以可变长度分组(如以太网帧,64-1500字节)传输。服务时间与分组长度成正比,是随机变量。排队模型为M/G/1队列,其延迟方差通常大于M/D/1。3. 延迟比较: 在相同的到达率和服务强度下,M/D/1的平均等待时间小于M/G/1。这意味着信元交换的平均排队延迟更低,且延迟抖动更小,更适合对延迟敏感的应用。4. 信元税: 信元交换的缺点是“信元税”:每个信元有固定大小的头部(如ATM信元5字节头部,48字节载荷),头部开销占比较大(约10%)。而分组交换的头部开销比例通常较小(如以太网帧头部约18字节,在最大帧1500字节时约占1.2%)。5. 交换复杂度: 信元交换的交换结构(如共享内存、纵横制)更容易实现,因为所有信元等长。分组交换需要处理变长分组,交换结构更复杂。6. 现代发展: 尽管纯ATM网络已不常见,但其思想在当今仍有影响。例如,时间敏感网络(TSN)中的时间感知整形(TAS)使用时间门控,类似于信元交换的时隙。一些高速互连(如InfiniBand)也使用固定长度的数据单元。变量/常量L_c: 信元长度(固定)。 L_p: 分组长度(随机变量)。 C: 链路容量(bps)。 λ: 到达率(包/秒)。 μ: 服务率(包/秒), μ = C / E[L]ρ: 服务强度, ρ = λ / μE[W]: 平均排队延迟。

固定服务时间: 信元交换的服务时间为常数,延迟方差小。
变长服务时间: 分组交换的服务时间为随机变量,延迟方差大。
信元税: 固定头部开销导致有效吞吐量降低。
确定性: 信元交换延迟更确定,适合实时业务。

1. 建模: 根据流量到达过程(如泊松过程)和服务时间分布(信元为常数分布,分组为一般分布)建立排队模型。 2. 计算平均延迟: 使用M/D/1和M/G/1的公式计算平均排队延迟。 3. 比较: 在相同负载ρ下,比较两者的平均延迟和延迟方差。 4. 考虑开销: 考虑信元税,比较有效吞吐量。

Roce-NW-0786

细粒度路由

基于机器学习的路由优化

基于强化学习的动态路由优化模型

将网络视为环境,将路由决策(为流选择路径)作为动作,将网络性能指标(如延迟、吞吐量、丢包率)作为奖励,训练一个强化学习智能体,使其能够根据实时网络状态自适应地为流选择最优路径,以优化全局目标。

在线学习: 智能体通过与环境交互学习路由策略。
状态感知: 状态包括拓扑、链路利用率、队列深度等。
自适应: 策略随着网络流量模式变化而自适应调整。

强化学习, 马尔可夫决策过程, 动态路由。

复杂动态网络, 流量模式变化频繁的场景。

状态s_t, 时刻t的网络状态(如链路利用率矩阵)。
动作a_t, 为当前流选择路径。
奖励r_t, 网络性能的反馈(如负的延迟)。
策略: `π(a

s)`, 在状态s下选择动作a的概率。

Q-learning更新Q(s,a) = Q(s,a) + α [r + γ max_{a'} Q(s',a') - Q(s,a)]
策略梯度: `∇J(θ) = E[ Σ_t ∇_θ log π_θ(a_t

s_t) * R_t ]`。

1. 问题建模: 将动态路由问题建模为马尔可夫决策过程(MDP)。a. 状态: 网络状态,可以包括所有链路的当前利用率、队列深度、丢包率等。为了可扩展性,可以使用图神经网络(GNN)处理拓扑信息。b. 动作: 当新流到达时,智能体从可用的路径集合中选择一条路径。动作空间是离散的(路径索引)。c. 奖励: 在流完成后,根据流的性能(如完成时间)给出奖励。也可以使用全局奖励,如平均流完成时间(FCT)的负值。d. 状态转移: 网络状态在动作(路由决策)和流量变化下的转移。2. 学习算法: 可以使用深度Q网络(DQN)或策略梯度(如Actor-Critic)方法。由于网络状态可能很大,通常使用神经网络来近似Q函数或策略函数。3. 训练: 智能体(如SDN控制器中的路由模块)与环境(真实网络或仿真器)交互。对于每个新流,智能体观察当前状态,根据策略选择路径,并执行路由。一段时间后,获得奖励,并更新策略。4. 探索与利用: 智能体需要探索不同的路径以学习,同时利用已学知识选择好路径。常用ε-greedy或softmax探索。5. 与SDN集成: 智能体作为SDN控制器的一个模块,根据学习到的策略做出路由决策,并通过OpenFlow下发流表。6. 优势: 强化学习可以自动适应变化的流量模式,优化复杂的目标函数,而无需人工设计启发式规则。变量/常量s_t: 时刻t的状态。 a_t: 时刻t的动作(选择的路径)。 r_t: 奖励。 π_θ: 参数为θ的策略网络。 Q_φ: 参数为φ的Q网络。 γ: 折扣因子。 α: 学习率。

Roce-NW-0787

RDMA与队列调度

优先级流控制, 无损网络

基于优先级的流量控制(PFC)与队列调度协同模型

描述PFC如何与优先级队列调度协同工作,为高优先级队列(如RDMA流量)提供无损服务,同时防止PFC暂停帧传播导致的拥塞扩散和死锁。通过合理的队列配置和调度策略,在保证无损的同时最大化网络利用率。

基于优先级: PFC以每个优先级为单位进行流量控制。
无损保证: 对启用PFC的优先级,实现零丢包。
反压机制: 接收方向发送方发送PFC暂停帧,暂停特定优先级的发送。

流量控制, 拥塞管理, 无损网络。

RDMA over Converged Ethernet (RoCE) 网络。

队列: 每个端口有多个优先级队列Q0...Q7
PFC阈值XonXoff
调度策略: 严格优先级(SP)或加权公平队列(WFQ)。

PFC触发if queue_depth > Xoff then send PFC pause for that priority
恢复if queue_depth < Xon then send PFC resume (pause_time=0)

1. 队列与优先级: 交换机端口支持多个优先级队列(通常8个)。每个队列可以独立配置是否启用PFC。通常,为RDMA流量分配一个独立的优先级(如优先级6),并仅对该优先级启用PFC。2. PFC机制: 当某个启用PFC的队列深度超过Xoff阈值时,交换机会向上一跳交换机发送PFC暂停帧,指定暂停的优先级和暂停时间。上一跳交换机收到后,停止发送该优先级的数据包,直到暂停时间超时或收到恢复帧(暂停时间为0)。3. 队列调度: 调度器决定哪个队列的数据包被发送。通常采用严格优先级(SP)调度,即只要高优先级队列有数据,就优先发送。这保证了RDMA流量的低延迟。但需要注意,低优先级队列可能被饿死。也可以采用SP+WRR的组合。4. 避免死锁: 如果多个优先级都启用PFC,且形成依赖环,可能导致死锁。因此,通常只为RDMA流量所在的优先级启用PFC,其他优先级不启用,允许丢包。5. 阈值设置: Xoff和Xon阈值的设置很重要。Xoff应足够大,以吸收暂停帧往返期间的流量;Xon应足够小,以便队列快速排空,恢复传输。通常,Xoff设置为队列深度的一半左右。6. 与ECN协同: 可以在同一队列同时启用PFC和ECN。PFC用于防止丢包,ECN用于早期拥塞通知,使源端降低发送速率,从而减少PFC触发频率。7. 性能影响: PFC暂停帧会降低链路利用率,并可能将拥塞扩散到上游。因此,需要谨慎使用,并配合端到端拥塞控制(如DCQCN)。变量/常量priority: 优先级(0-7)。 queue_depth: 队列当前深度。 Xoff_threshold: 触发PFC的队列深度阈值。 Xon_threshold: 恢复发送的队列深度阈值。 pause_time: 暂停时间(通常由动态算法计算或固定值)。

按优先级暂停: 可以只暂停特定优先级,不影响其他优先级。
阈值触发: 基于队列深度的阈值触发暂停/恢复。
反压传播: 暂停帧沿路径反向传播,可能引起拥塞扩散。
与调度协同: 高优先级队列通常配置为严格优先级。

1. 配置: 在交换机端口上为RDMA流量对应的优先级队列启用PFC,并设置Xon/Xoff阈值。配置队列调度为严格优先级。 2. 监控队列: 交换机持续监控启用PFC的队列深度。 3. 触发暂停: 当队列深度超过Xoff时,构造PFC暂停帧(指定优先级和暂停时间),并向上一跳发送。 4. 接收暂停: 上一跳交换机收到PFC暂停帧后,暂停发送指定优先级的数据包。 5. 队列排空: 本端交换机继续发送该优先级的数据包,队列深度下降。 6. 恢复发送: 当队列深度低于Xon时,发送PFC恢复帧(暂停时间为0)。上一跳交换机恢复发送。

Roce-NW-0788

信元交换适配层

分段与重组, 服务类别

ATM适配层(AAL)模型

ATM适配层位于ATM层之上,负责将上层协议的数据单元分割成ATM信元的48字节载荷,并在接收端重组。不同的AAL类型(如AAL1, AAL2, AAL5)提供不同的服务,以满足实时、可变比特率、数据等不同业务的需求。

分段与重组: 将上层PDU分割成信元载荷, 接收端重组。
服务类别: 不同AAL支持CBR, VBR, ABR, UBR等业务。
开销: 增加头部和尾部用于重组和错误检测。

适配层, 分段与重组, 服务质量。

ATM网络承载不同类型业务(语音, 视频, 数据)。

SAR-PDU: 分段和重组协议数据单元, 包含用户数据部分和AAL开销。
SAR子层: 负责分段与重组。
CS子层: 汇聚子层, 处理端到端功能。

分段: 上层PDU -> SAR-PDU -> 分割成48字节信元载荷。
重组: 48字节信元载荷 -> 重组为SAR-PDU -> 上层PDU。

1. AAL结构: AAL分为两个子层:汇聚子层(CS)和分段与重组子层(SAR)。CS子层提供针对特定业务的服务,SAR子层负责将CS-PDU分割成信元载荷,并在接收端重组。2. AAL类型: a. AAL1: 用于恒定比特率(CBR)业务,如未压缩的语音和视频。提供定时信息和时钟恢复。b. AAL2: 用于可变比特率(VBR)实时业务,如压缩的语音。允许多个连接复用一个ATM连接。c. AAL3/4: 最初为数据业务设计,但复杂且开销大,后来被AAL5取代。d. AAL5: 用于数据业务(如IP over ATM),提供简单的差错检测和重组。是IP over ATM最常用的AAL。3. AAL5详解: a. CS子层: 在用户数据后添加一个8字节的尾部,包括用户-用户字段(1字节)、公共部分指示(1字节)、长度字段(2字节)和CRC(4字节)。然后填充(0-47字节)使整个CS-PDU长度为48字节的整数倍。b. SAR子层: 将CS-PDU按48字节分段,每段作为一个ATM信元的载荷。最后一个信元的PTI字段置1,表示结束。4. 重组: 接收端根据信元头部的VPI/VCI和PTI字段,将属于同一个CS-PDU的信元重组。利用长度字段和CRC校验数据的完整性。5. 与IP over ATM: IP数据报被封装到AAL5的CS-PDU中,然后分割成ATM信元。在接收端重组为IP数据报。变量/常量CS-PDU: 汇聚子层协议数据单元。 SAR-PDU: 分段和重组协议数据单元。 ATM-SDU: ATM服务数据单元(48字节)。 PTI: 载荷类型指示,用于标识信元类型(如结束信元)。 CRC: 循环冗余校验。

分段重组: 核心功能是分割和重组。
业务适配: 不同AAL适配不同业务需求。
开销: 增加头部和尾部,产生信元税。
错误处理: 提供CRC校验,但无重传。

1. 发送端CS子层: 接收上层PDU,添加尾部(包括长度和CRC),并进行填充,使总长为48字节的倍数。 2. 发送端SAR子层: 将CS-PDU按48字节分段,每段作为ATM信元的载荷。设置信元头部的PTI(最后一个信元PTI置1)。 3. ATM层: 加上5字节信头,形成ATM信元,发送。 4. 接收端ATM层: 接收信元,去除信头,得到48字节载荷。 5. 接收端SAR子层: 根据VPI/VCI和PTI将载荷重组为CS-PDU。 6. 接收端CS子层: 检查CRC和长度,去除填充,将上层PDU交付给上层。

以上15个模型进一步丰富了SDN、信元交换、RDMA与队列调度、细粒度路由等领域的知识体系。这些模型涵盖了从基础理论(如排队论、公平调度)到具体协议(如ATM、PFC),再到先进技术(如强化学习路由、SDN集中控制)的各个方面,为构建高性能、可编程、智能化的网络提供了全面的参考

编号

领域

核心理论

模型/协议/算法名称

目标与描述

精度与特征

理论基础

应用场景

数学要素

关键方程/状态机

数学模型/算法描述

实现步骤/工作流程

软硬件工具

Roce-NW-0789

信元交换

时分复用, 硬隔离

确定性信元交换网络(DCSN)模型

将时间划分为固定时隙,为不同业务流分配专属时隙传输信元,确保确定性延迟和零冲突。结合信元交换的固定长度特性,为时间敏感型业务(TSN)提供严格的服务质量保障。

时隙固定: 时间被划分为相等时隙,每个时隙传输一个信元。
硬调度: 离线计算调度表,在线严格执行。
零冲突: 不同业务流的信元不会在交换节点竞争。

时分多址, 周期调度, 确定性网络。

工业互联网, 自动驾驶, 航空电子。

时隙长度T_s, 信元传输时间。
周期C, 调度周期包含N个时隙。
调度表S: (flow_id, time_slot) → (input_port, output_port)

无冲突约束: 对任意时隙t, 任意输出端口o, 最多有一个信元被调度输出。
端到端延迟D_e2e = Σ_hop (T_prop + T_switch) + (n-1)*T_s

1. 网络时间同步: 所有设备通过精密时间协议(如IEEE 1588 gPTP)同步到纳秒级精度,形成统一的全局时间基。2. 时隙划分: 时间轴被划分为固定长度的时隙T_s,通常等于一个信元的传输时间(考虑物理层开销)。多个时隙构成一个超帧(周期C)。3. 离线调度: 控制器收集所有时间敏感流的需求(周期、截止时间、源宿、信元数),通过约束求解(如SAT,ILP)计算调度表,确保:a. 每个流在周期内获得足够时隙。b. 在任一交换节点的任一输出端口,每个时隙最多调度一个信元(无冲突)。c. 端到端延迟满足截止时间。4. 信元交换: 信元固定长度(如64字节)。发送端在调度表指定的时隙开始时刻注入信元。交换节点根据调度表,在指定时隙将信元从输入端口交换到输出端口。交换延迟恒定。5. 非时间敏感流量: 在未被调度的“空白”时隙中,可传输尽力而为(BE)流量,但需确保不干扰已调度流量。6. 确定性与可分析性: 由于调度是静态且无冲突的,每个时间敏感流的端到端延迟是确定且有界的,可通过计算得到:D_e2e = 传播延迟 + 交换延迟 + (跳数-1)*T_s7. 与SDN结合: SDN控制器集中计算调度表,并通过南向接口(如NETCONF/YANG)下发给所有交换机和终端设备。控制器还负责时间同步管理。变量/常量T_s: 时隙长度。 C: 调度周期。 N: 每个周期的时隙数。 flow_i: 时间敏感流i。 period_i: 流i的周期。 deadline_i: 流i的截止时间。 S(t, i, o): 时隙t、输入端口i、输出端口o的调度决策。

全局时间同步: 所有设备时钟严格同步。
静态调度: 调度表离线计算,在线查表执行。
无冲突: 调度表保证无资源冲突。
确定性延迟: 延迟可精确计算和保障。

1. 时间同步: 运行gPTP,使所有设备时间同步。 2. 需求收集: 控制器收集所有时间敏感流的流量规约(周期、最大帧长、源宿、最大延迟)。 3. 调度计算: 控制器离线计算调度表,满足无冲突和延迟约束。 4. 配置下发: 控制器将调度表下发给所有交换机和终端。 5. 时隙传输: 终端在分配到的时隙开始时刻发送信元。交换机在指定时隙执行交叉连接。 6. 监控与更新: 监控网络状态,若流量需求变化,重新计算调度表并更新。

Roce-NW-0790

SDN安全

微分段, 零信任

基于SDN的微分段(Micro-Segmentation)安全模型

在数据中心内部,基于SDN的细粒度流表控制,将网络划分为细小的安全段(甚至每个工作负载一个段),并实施严格的最小权限访问策略,防止威胁横向移动,实现零信任安全架构。

精细化: 安全策略可细化到单个虚拟机/容器级别。
动态性: 策略可随工作负载的创建、迁移、销毁动态调整。
集中管理: 安全策略在SDN控制器集中定义和下发。

零信任网络, 最小权限原则, 软件定义安全。

云数据中心, 容器化环境, 多租户隔离。

安全组SG = {rule1, rule2, ...}, 规则定义允许的流量。
标签: 工作负载的标签, 如(app=tier1, env=prod)
策略Policy: (src_label, dst_label, port, action)

策略匹配if packet.src in SG_src and packet.dst in SG_dst and packet.port in allowed_ports then ALLOW else DENY
标签映射: 工作负载W具有标签集 L(W)

1. 工作负载标识: 为每个工作负载(VM、容器、物理机)分配唯一标识和标签(如应用名称、层级、环境)。标签可来自编排系统(如Kubernetes)。2. 安全组定义: 定义安全组(Security Group),每个组包含一组入向和出向规则。规则基于标签(而非IP地址)定义。例如:允许标签app=web, env=prod的负载访问标签app=db, env=prod的3306端口。3. 策略计算: SDN控制器(或与安全策略引擎集成)将高级安全策略(基于标签)编译为具体的流表项。编译时需要考虑工作负载的实际位置(IP地址、接入端口)。4. 流表下发: 控制器将流表项下发到工作负载所连接的边缘交换机(如虚拟交换机vSwitch或物理交换机)。流表项匹配源/目的IP、端口等,动作为允许或拒绝。5. 动态适应: 当工作负载创建、迁移或销毁时,控制器实时更新流表。例如,容器漂移后,控制器在新宿主机的vSwitch上安装相应流表,并在旧宿主机上删除流表。6. 与服务网格集成: 可与服务网格(如Istio)集成,实现应用层(L7)的细粒度策略。SDN负责L3-L4的微分段,服务网格负责L7策略。7. 可视化与审计: 控制器提供网络拓扑和安全策略的可视化,并记录所有违反策略的流量用于审计。变量/常量workload: 工作负载,具有属性(id, ip, labels, location)security_group: 安全组,是规则的集合。 rule: 规则,形式为(src_labels, dst_labels, protocol, port, action)。 `

编号

层级

核心理论

模型名称

目标与描述

精度与特征

理论基础

应用场景

数学要素

关键方程/状态机

数学模型/算法描述

实现步骤/工作流程

软硬件工具

Roce-ASIC-0001

晶体管级

CMOS工艺, 开关特性

纳米级CMOS晶体管开关模型

描述现代交换机芯片中晶体管在深亚微米工艺下的开关特性,包括阈值电压、亚阈值漏电、栅极电容、沟道电阻等参数,构成数字逻辑门的基本单元。

纳米尺度: 特征尺寸5nm-28nm。
非理想效应: 短沟道效应, 漏致势垒降低, 热载流子效应。
工艺角: 考虑工艺、电压、温度变化。

半导体物理, MOSFET模型, 器件物理。

交换芯片的底层晶体管设计。

阈值电压V_th
栅极电容C_g
导通电阻R_on
漏电流I_off
跨导g_m

I-V特性I_ds = (W/L) * μ * C_ox * [(V_gs - V_th)V_ds - 0.5*V_ds^2](饱和前)。
延迟τ = R_on * C_load

1. 晶体管结构: 描述FinFET或GAA晶体管的3D结构,包括栅极、源极、漏极、鳍片(Fin)。关键尺寸:鳍高、鳍宽、栅长。2. 电学特性: a. 开关特性: 当栅源电压V_gs大于阈值电压V_th时,沟道形成,晶体管导通。b. 电流-电压关系: 在饱和区,漏极电流I_ds(V_gs - V_th)^2成正比,与V_ds基本无关。在线性区,I_dsV_ds成正比。c. 电容: 栅极电容C_g是开关速度的关键,包括本征电容和寄生电容。d. 电阻: 导通电阻R_on决定开关的驱动能力。e. 漏电: 关态漏电流I_off是静态功耗的主要来源。3. 非理想效应: a. 短沟道效应: 沟道长度缩短导致V_th降低,漏极控制力减弱。b. 漏致势垒降低: 高V_ds导致V_th进一步降低。c. 迁移率退化: 高电场下载流子迁移率下降。d. 热载流子注入: 可能导致器件退化。4. 模型抽象: 在电路仿真中,使用BSIM(Berkeley Short-channel IGFET Model)等紧凑模型来描述这些复杂行为。模型参数通过硅测量提取。5. 在交换机芯片中的角色: 数亿至数百亿个这样的晶体管构成组合逻辑(如查找表)、时序逻辑(如寄存器)、存储器(如SRAM)和模拟电路(如PLL),共同实现交换功能。变量/常量V_gs: 栅源电压。 V_ds: 漏源电压。 V_th: 阈值电压。 W: 沟道宽度。 L: 沟道长度。 μ: 载流子迁移率。 C_ox: 单位面积栅氧电容。 I_ds: 漏极电流。

非线性: I-V特性非线性。
工艺敏感: 参数随工艺角变化大。
功耗组成: 动态功耗(∝ CV^2f)和静态功耗(∝ I_offV)。
速度限制*: 开关延迟受RC时间常数限制。

1. 器件仿真: 使用TCAD工具基于物理方程仿真晶体管电学特性。 2. 模型提取: 从硅测试数据提取BSIM模型参数。 3. 电路设计: 基于晶体管模型设计逻辑门和标准单元。 4. 工艺角仿真: 在典型、快、慢等工艺角下仿真电路性能。 5. 物理实现: 通过光刻等工艺制造晶体管。

Roce-ASIC-0002

集成电路级

标准单元, 逻辑综合

交换芯片标准单元库模型

定义构成交换芯片的基本逻辑单元(如与门、或门、非门、触发器、锁存器、存储器单元)的物理、时序、功耗特性库,用于逻辑综合、布局布线和时序分析。

多电压阈值: 提供高阈值(HVT)、标准阈值(SVT)、低阈值(LVT)单元以权衡速度和功耗。
多驱动强度: 同一逻辑功能有不同驱动强度的版本。
时序/功耗/面积: 每个单元都有对应的.lib文件描述。

数字集成电路设计, 逻辑综合, 标准单元。

ASIC设计流程。

单元延迟: 上升延迟t_rise, 下降延迟t_fall
输入电容C_in
输出驱动电阻R_drive
漏电功耗P_leakage
内部功耗P_internal

单元延迟模型Delay = f(input_transition, output_load), 通常由查找表描述。
功耗模型P_total = P_internal + P_switching + P_leakage

1. 标准单元组成: a. 逻辑单元: 基本门(INV, NAND, NOR, XOR, MUX), 复杂门(AOI, OAI)。b. 时序单元: D触发器(DFF), 锁存器(Latch), 带复位/置位。c. 存储器单元: SRAM单元, Register File单元。d. 特殊单元: 时钟缓冲器(CLKBUF), 延时单元(DELAY), 填充单元(FILLER), 去耦电容(DECAP)。2. 物理特性: 每个单元有固定的高度(与芯片行高匹配),可变的宽度。布局视图(.lef)定义了金属层、多晶硅、有源区等几何形状。3. 时序特性: 以.lib格式描述。对于每个输入引脚到输出引脚的路径,定义其延迟为输入转换时间(input transition)和输出负载(output load)的函数,通常通过二维查找表表示。还包括建立时间、保持时间、恢复时间、移除时间等时序约束。4. 功耗特性: 包括内部功耗(cell internal power)、开关功耗(switching power)和漏电功耗(leakage power)。内部功耗也通过查找表模型化,依赖于输入转换时间和输出负载。5. 电气特性: 输入引脚的输入电容,输出引脚的驱动能力(驱动电阻)。6. 单元库优化: 针对不同的设计目标(高性能、低功耗、高密度),会有不同的库版本。通常通过调整晶体管的尺寸和阈值电压来实现。7. 在交换芯片中的应用: 交换芯片中的查找引擎、流量管理器、包处理器、调度器等模块,均由这些标准单元经逻辑综合、布局布线后形成。变量/常量A: 单元面积。 t_su: 建立时间。 t_hold: 保持时间。 t_cq: 时钟到输出延迟。 C_in: 输入引脚电容。 C_load: 输出负载电容。 slew: 信号转换时间。

查表模型: 延迟、功耗等通过多维查找表建模。
工艺角: 提供不同工艺、电压、温度下的特性。
可扩展性: 针对不同驱动强度、阈值电压有不同版本。
设计工具输入: 是逻辑综合、布局布线、静态时序分析的输入文件。

1. 单元设计: 晶体管级设计每个标准单元,优化尺寸。 2. 特性提取: 在多种输入转换时间和输出负载组合下仿真,提取延迟、功耗、时序约束等数据。 3. 库文件生成: 生成时序库(.lib)、物理库(.lef)、网表库(.v)。 4. 模型验证: 确保库文件与晶体管级仿真结果一致。 5. 库交付: 将库文件提供给RTL设计团队用于综合。

Roce-ASIC-0003

集成电路级

同步设计, 时钟分布

交换芯片全局时钟树合成(CTS)模型

在芯片物理设计阶段,构建一个从时钟源(PLL)到所有时序单元(触发器)时钟端的低偏移(skew)、低延迟的时钟分布网络,确保芯片各区域时钟同步。

低偏移: 目标时钟偏移<芯片时钟周期的5%-10%。
低延迟: 从源到末端触发器的延迟尽可能小。
低功耗: 时钟网络功耗可占芯片总功耗的30%-40%,需优化。

时钟分布网络, 树形结构, 缓冲器插入。

数字ASIC的时钟树设计。

时钟偏移skew = max(t_clk_i - t_clk_j), 任意两个触发器时钟到达时间之差。
时钟延迟latency, 从时钟源到触发器时钟端的最大延迟。
插入延迟insertion delay, 从时钟根节点到叶节点的平均延迟。

Elmore延迟模型: 用于估算RC树延迟, t_p = Σ R_i * C_i, 其中R_i是到根路径上的电阻, C_i是节点i的电容。
缓冲区插入优化: 通过插入缓冲器减小RC延迟和偏移。

1. 时钟树结构: 时钟分布网络通常采用H树(H-tree)或网格(Clock Mesh)结构,以平衡各分支的负载和延迟。从PLL输出(时钟根)开始,通过多级缓冲器驱动,扇出到各个区域,最终连接到每个触发器的时钟引脚。2. 设计目标: a. 最小化偏移: 确保所有触发器在几乎相同的时间收到时钟边沿,这对保持时间(hold time)满足至关重要。b. 可控延迟: 时钟延迟应可预测且稳定。c. 降低功耗: 时钟网络开关活动因子为1,功耗巨大。采用时钟门控、多电压频率域等技术降低功耗。d. 应对工艺变异: 设计需对工艺、电压、温度的变化具有鲁棒性。3. 时钟树合成步骤: a. 时钟定义: 定义时钟源、频率、占空比、不确定性(uncertainty)。b. 布局规划: 确定宏模块(如存储器、PLL)位置,为时钟树预留布线资源。c. 缓冲区插入: 在长连线上插入缓冲器,以分割RC线,减少延迟和偏移。通常采用平衡的缓冲器树。d. 布线: 使用高层金属(低电阻)布线时钟网络。e. 偏移优化: 通过调整缓冲区尺寸、位置和线长来平衡各路径延迟。f. 时钟门控插入: 在无需时钟的模块插入时钟门控单元,降低动态功耗。4. 时钟网格: 对于高性能设计,在局部使用网格结构,网格由强驱动力的缓冲器驱动,网格上的点具有极低的偏移,但功耗和面积开销大。5. 在交换芯片中的重要性: 交换芯片通常运行在高频(如1GHz以上),时钟偏移控制至关重要。时钟网络的抖动(jitter)和偏移会直接影响交换机的吞吐量和数据路径的时序收敛。变量/常量t_clk: 时钟周期。 t_skew: 时钟偏移。 t_jitter: 时钟抖动。 C_load: 负载电容(所有触发器时钟引脚电容之和)。 R_wire: 连线电阻。 C_wire: 连线电容。 buffer_strength: 缓冲器驱动强度。

树形结构: 通常为平衡树(H-tree, X-tree)。
缓冲器插入: 用于驱动大负载, 分割长线。
时钟门控: 在非活动模块关闭时钟以省电。
多时钟域: 芯片可能有多个异步时钟域。

1. 时钟源定义: 定义PLL位置、输出时钟频率、占空比。 2. 布局规划: 规划模块位置,预留时钟布线通道。 3. 构建时钟树: 从根节点开始,递归地将负载分组,为每组插入缓冲器,并布线。 4. 偏移优化: 通过调整缓冲器位置、尺寸和线长,平衡各分支延迟。 5. 时钟门控插入: 在寄存器组前插入时钟门控单元,由使能信号控制。 6. 签核分析: 进行时钟树上的时序、功耗、信号完整性分析,确保满足要求。

Roce-ASIC-0004

集成电路级

存储单元, 高密度

交换芯片嵌入式SRAM编译器模型

自动生成高密度、高性能的静态随机存取存储器(SRAM)宏模块,用于交换芯片中的各种缓存,如包缓冲区、查找表、状态存储器。模型根据需求(大小、端口、速度、功耗)优化存储单元阵列、译码器、灵敏放大器、写驱动器的设计。

可配置: 容量、位宽、端口数可配置。
高密度: 6T SRAM单元面积约0.1-0.3μm²(16nm工艺)。
多端口: 支持单端口、双端口、真双端口,满足多读多写需求。

SRAM设计, 存储器编译器, 阵列结构。

片上缓存, TCAM, 寄存器文件。

存储阵列: M行 x N列, 每个单元存储1位。
访问时间t_access = t_decoder + t_wordline + t_bitline + t_senseamp
静态噪声容限SNM, 表征单元抗干扰能力。
读写裕量WMRM

SRAM单元结构: 6个晶体管(4个NMOS, 2个PMOS)构成交叉耦合反相器。
位线放电模型ΔV_bitline = (I_cell * t_access) / C_bitline

1. SRAM单元: 核心是6晶体管(6T)单元,两个交叉耦合的反相器存储一个比特,两个访问晶体管控制读写。设计考虑:a. 面积: 优化晶体管尺寸和布局。b. 稳定性: 静态噪声容限(SNM)需足够大,以防止数据被干扰。c. 读写裕量: 确保在工艺角变化下仍能可靠读写。d. 漏电: 亚阈值漏电是静态功耗的主要来源。2. 存储阵列: 单元排列成M行x N列的阵列。行地址译码器选择一行(字线),列多路选择器(MUX)选择一列或多列(位线)。3. 外围电路: a. 行译码器: 将地址转换为字线选择信号。b. 灵敏放大器: 检测位线上的微小电压变化,放大为全摆幅数字信号,是决定读取速度的关键。c. 写驱动器: 在写入时,将位线驱动到强0或强1,覆盖单元原有数据。d. 预充电电路: 在读写操作前,将位线预充电到VDD/2或VDD。e. 列多路选择器: 从多列中选择一列输出。4. 编译器功能: 用户输入容量、位宽、端口数、速度、功耗等需求,编译器自动生成:a. 电路网表: 优化晶体管尺寸。b. 布局: 单元排列、电源网格、信号布线。c. 时序模型: .lib文件,描述访问时间、建立保持时间、功耗。d. 抽象模型: .lef文件,用于顶层集成。5. 在交换芯片中的应用: a. 包缓冲区: 大容量SRAM存储正在转发的数据包。b. 转发表: TCAM或SRAM存储路由表、MAC表、ACL。c. 队列描述符: 存储队列状态(头尾指针、深度)。d. 统计计数器: 存储流量统计信息。6. 先进技术: 为了降低功耗,可采用降低电压操作,但需解决稳定性问题。也可能会采用8T、10T单元以提高读写稳定性或实现多端口。变量/常量M: 行数。 N: 列数。 C_bitline: 位线电容。 R_wordline: 字线电阻。 I_cell: 存储单元电流。 V_bitline: 位线电压。 t_cycle: 读写周期。

阵列结构: 单元按行列排列, 共享外围电路。
多端口支持: 通过增加访问晶体管实现多端口。
编译器优化: 根据需求自动优化阵列分割、电路尺寸。
模型抽象: 提供时序、功耗、面积模型供顶层集成。

1. 需求输入: 用户指定容量、位宽、端口数、速度、功耗目标。 2. 架构选择: 编译器选择阵列分割方式(如分成多个子阵列以减少位线电容)。 3. 电路优化: 优化存储单元和外围电路晶体管尺寸,在速度、功耗、面积间权衡。 4. 布局生成: 自动生成物理布局,包括单元排列、电源网络、信号布线。 5. 模型提取: 从布局提取寄生参数,生成时序模型(.lib)和物理抽象(.lef)。 6. 验证: 进行DRC/LVS检查,仿真验证功能、时序、功耗。

Roce-PCB-0005

PCB板级

信号完整性, 传输线

高速PCB差分传输线阻抗模型

精确建模PCB板上高速差分信号对的特性阻抗、传播延迟、损耗,确保信号完整性,满足交换机芯片间高速SerDes(如112G PAM4)的严格要求。

高频: 信号速率达112Gbps, 需要考虑趋肤效应、介质损耗。
差分: 差分对间耦合紧密, 需控制差分阻抗和共模阻抗。
阻抗匹配: 阻抗不连续会导致反射, 需匹配。

传输线理论, 麦克斯韦方程组, 分布参数电路。

交换机主板, 线卡, 芯片间互连。

特性阻抗Z_diff(差分), Z_comm(共模)。
传播常数γ = α + jβ, 其中α为衰减常数, β为相位常数。
传播延迟t_pd = L * √(ε_eff) / c

传输线方程∂V/∂z = -L ∂I/∂t - R I, ∂I/∂z = -C ∂V/∂t - G V
特性阻抗Z_0 = √((R+jωL)/(G+jωC)), 对于低损耗线, Z_0 ≈ √(L/C)

1. 传输线结构: PCB上的差分对通常采用边缘耦合微带线或带状线结构。关键几何参数包括:线宽W、线间距S、介质厚度H、铜厚T、介电常数ε_r2. 特性阻抗计算: 通过求解麦克斯韦方程或使用经验公式(如Wheeler公式)或二维场求解器,计算特定几何结构下的特性阻抗。差分阻抗Z_diff约为单端阻抗Z_0的两倍减去耦合效应调整。3. 损耗模型: a. 导体损耗: 由于导体电阻引起,与频率的平方根成正比(趋肤效应)。b. 介质损耗: 由于介质极化弛豫引起,与频率成正比,由损耗角正切tanδ表征。c. 辐射损耗: 在高频时不可忽略。总衰减常数α = α_cond + α_diel + α_rad4. 传播延迟: 信号传播速度v = c / √(ε_eff),其中ε_eff是有效介电常数,考虑了介质和空气的混合。传播延迟t_pd = length / v5. 耦合与串扰: 相邻信号线间的容性和感性耦合会导致串扰。需要控制线间距、使用地平面隔离、采用正交布线等方式减少串扰。6. 模型用途: 在PCB设计前,通过模型确定满足目标阻抗(如85Ω或100Ω差分)的几何参数。在设计后,提取频域S参数模型(如Touchstone文件)用于系统级信号完整性仿真。7. 在交换机PCB中的重要性: 交换芯片间的高速SerDes通道对阻抗匹配和损耗非常敏感。不匹配会导致反射,引起码间干扰,增加误码率。过高的损耗会限制传输距离。变量/常量W: 线宽。 S: 线间距。 H: 介质厚度。 T: 铜厚。 ε_r: 相对介电常数。 tanδ: 损耗角正切。 f: 频率。 Z_diff: 目标差分阻抗。 L: 传输线长度。

分布参数: 电压电流是位置和时间的函数。
频变参数: R, L, C, G随频率变化。
模式分析: 存在差分模式和共模模式, 特性不同。
S参数: 用散射参数描述多端口网络特性。

1. 目标设定: 确定目标阻抗(如100Ω差分)、最大损耗、长度。 2. 几何参数化: 选择层叠结构,参数化线宽、间距、介质厚度。 3. 场求解: 使用2D场求解器计算特定几何下的特性阻抗和有效介电常数。 4. 迭代优化: 调整几何参数,直至阻抗和损耗满足目标。 5. 模型提取: 提取频域RLGC参数或S参数模型。 6. 系统仿真: 将传输线模型与芯片IO模型、连接器模型一起进行系统级SI仿真。

Roce-PCB-0006

PCB板级

电源完整性, 直流压降

交换机PCB电源分配网络(PDN)模型

建模从电压调节模块(VRM)到芯片电源焊盘的整个电源分配网络,包括直流电阻、寄生电感、电容,确保在芯片动态电流需求下,电源纹波和压降在允许范围内。

低阻抗: 从DC到高频(如100MHz)的目标阻抗需足够低(如<1mΩ)。
频域分析: 阻抗是频率的函数, Z(f) = V_ripple / I(f)
时域分析: 负载阶跃响应, 电压跌落和过冲。

电路理论, 分布参数, 阻抗分析。

交换机主板电源设计。

目标阻抗Z_target = (V * ripple%) / I_max
PDN阻抗Z_PDN(f) = sqrt( (R + j2πfL) / (1 + j2πfC) )(简化)。
自谐振频率f_SR = 1/(2π√(LC))

欧姆定律ΔV = I * R
电容阻抗Z_C = 1/(j2πfC)
电感压降V_L = L * dI/dt

1. PDN组成: a. 电压调节模块: 提供直流电压,通常具有较大的输出电容。b. PCB电源平面: 由多层PCB的电源层和地层面形成,提供低电感通路和分布式电容。c. 去耦电容: 包括大容量电解电容(低频)、陶瓷电容(中频)、芯片嵌入式电容(高频),用于在频域提供低阻抗路径。d. 过孔: 连接不同层的垂直互联,引入电感。e. 封装和芯片内部: 封装引脚、键合线、片上电源网格。2. 目标阻抗: 为确保电源纹波在允许范围内(如±5%),PDN在感兴趣频率范围内的阻抗必须低于目标阻抗:Z_target = V * ripple% / I_max。其中I_max是芯片最大瞬态电流变化(di/dt)。3. 频域分析: PDN阻抗是频率的函数。在低频,VRM的闭环控制起主导作用,阻抗很低。在中频,去耦电容的ESL和ESR起主要作用,阻抗曲线出现谷值。在高频,PCB电源平面的电感起主导作用,阻抗随频率升高。设计目标是让阻抗曲线在所有频率都低于目标阻抗。4. 去耦电容策略: 使用不同类型、不同容值的电容,使其自谐振频率分散,以覆盖从kHz到GHz的频段。电容的放置应尽可能靠近芯片电源引脚,以减少回路电感。5. 直流压降分析: 由于PCB铜箔的电阻,从VRM到芯片电源引脚会有直流压降(IR Drop)。需确保在最坏情况下,芯片电源引脚处的电压仍在允许范围内。这需要分析电源平面的电阻网络。6. 在交换机PCB中的挑战: 交换芯片功耗大(数百瓦),电流大(数百安培),且开关活动剧烈(di/dt大),对PDN设计提出极高要求。多相VRM、密集的去耦电容阵列、厚铜电源层、低电感过孔是常用技术。变量/常量V: 标称电源电压(如0.8V)。 I_max: 最大瞬态电流变化。 di/dt: 电流变化率。 R_pcb: PCB电源平面电阻。 L_pkg: 封装电感。 C_decap: 去耦电容。 ESR: 等效串联电阻。 ESL: 等效串联电感。

频域阻抗: PDN阻抗随频率变化, 需在全频带满足目标。
去耦电容谐振: 电容与寄生电感形成谐振, 阻抗在谐振频率最低。
电流路径: 高频电流回路面积要小, 以减少电感。
多电压域: 芯片通常有多个电压域(核心, IO, 模拟)。

1. 电流谱估计: 根据芯片活动因子,估计电流的频域分量。 2. 设定目标阻抗: 根据电压容限和最大电流变化计算Z_target。 3. PDN建模: 建立从VRM到芯片焊盘的分布参数电路模型(RLC网络)。 4. 频域仿真: 仿真PDN阻抗曲线Z(f),检查是否低于Z_target。 5. 优化: 调整去耦电容的种类、数量、位置,优化阻抗曲线。 6. 直流压降分析: 进行IR Drop分析,确保电压在允许范围内。 7. 时域仿真: 仿真负载阶跃响应,检查电压跌落和恢复。

Roce-Optics-0007

光模块级

光电转换, 调制格式

高速光模块(如400G DR4)光电集成模型

描述400G及以上速率光模块内部的光电转换过程,包括电信号处理(CDR,均衡,调制驱动)、光发射(激光器,调制器)、光接收(光电探测器,TIA,LA)、以及数字诊断监控(DDM)功能。

高速: 单通道速率达100Gbps(PAM4)或更高。
高密度: 多通道并行(如4x100G)。
低功耗: 功耗是光模块关键指标,需优化。
数字诊断: 实时监控温度、电压、偏置电流、光功率等。

光通信, 半导体激光器, 光电探测器, 数字信号处理。

数据中心互联, 交换机光端口。

激光器阈值电流I_th
斜率效率η, 单位电流变化对应的光功率变化。
消光比ER = P_1 / P_0
接收机灵敏度P_sens, 满足误码率要求的最小平均接收光功率。

激光器速率方程dN/dt = I/(qV) - N/τ_s - v_g g S, dS/dt = Γ v_g g S - S/τ_p + β Γ R_sp
眼图参数: 眼高, 眼宽, 抖动。

1. 发射端: a. 电信号处理: 来自交换芯片的电气信号(如56G PAM4 x 8 lane)经过时钟数据恢复(CDR)、均衡(如FFE)、预加重,然后驱动激光驱动器。b. 激光器: 通常采用直接调制激光器(DML)或外调制激光器(EML)。对于PAM4调制,激光器的线性度和带宽要求高。c. 调制: 电信号调制激光器的光强(强度调制)。对于相干模块,则采用IQ调制器。d. 复用: 对于多通道模块(如DR4),四个不同波长的光通过波分复用器(MUX)合到一根光纤。2. 接收端: a. 解复用: 对于多通道模块,先将光纤中的多个波长解复用(DEMUX)到不同通道。b. 光电探测器: PIN光电二极管将光信号转换为微弱的电流信号。c. 跨阻放大器: TIA将电流信号转换为电压信号并放大。d. 限幅放大器: LA进一步放大信号,提供稳定的幅度。e. 均衡与时钟恢复: 通过均衡器(如CTLE, DFE)补偿信道损耗,CDR恢复时钟和数据。f. 判决: 对PAM4信号进行3电平判决,恢复出原始数据。3. 数字诊断监控: 微控制器通过I2C接口监控激光器温度、偏置电流、发射光功率、接收光功率、供电电压等参数,并存储在EEPROM中,供主机查询。4. 封装与散热: 光模块尺寸小(如QSFP-DD),功耗大(~10W),需要高效的散热设计。内部有驱动芯片、DSP芯片、激光器阵列、探测器阵列等,通过COB(Chip-on-Board)或硅光集成技术实现高密度封装。5. 在交换机中的应用: 光模块插入交换机前面板的光端口,通过高速连接器与交换机ASIC的SerDes接口对接,实现光电转换,延长传输距离。变量/常量λ: 波长。 P_out: 输出光功率。 I_bias: 激光器偏置电流。 I_mod: 调制电流。 R: 光电探测器响应度(A/W)。 T: 温度。 VCC: 供电电压。 BER: 误码率。

PAM4调制: 每个符号携带2比特信息, 有3个眼图。
多通道并行: 多根光纤或多波长并行传输以提高总速率。
集成化: 激光器、调制器、探测器、DSP集成在硅光芯片上。
热管理: 激光器波长和效率对温度敏感,需温控。

1. 电信号输入: 来自交换芯片SerDes的PAM4电信号进入光模块。 2. 发射DSP: 电信号经过CDR、均衡、预加重。 3. 电光转换: DSP输出的信号驱动激光器或调制器,产生调制光信号。 4. 光复用: 多波长光信号合波(对于WDM模块)。 5. 光纤传输: 光信号通过光纤传输。 6. 光解复用: 在接收端分波。 7. 光电转换: 光电探测器将光信号转换为电流。 8. 接收DSP: TIA、LA、均衡、CDR、判决,恢复出电信号。 9. 电信号输出: 将恢复的电信号输出到交换芯片。 10. 监控: MCU实时监控各参数并通过I2C上报。

Roce-Optics-0008

光端口级

光路控制, 波长选择

可调谐光模块波长锁定与控制模型

描述可调谐光模块(如可调谐XFP或QSFP)中,通过温度控制或电流控制改变分布式反馈激光器的光栅周期,从而精确输出目标波长的机制,包括波长探测、反馈控制和稳定。

可调范围: 典型范围约几十纳米(如C波段1530-1565nm)。
波长精度: 通常±0.1nm。
稳定时间: 从切换到波长稳定所需时间(毫秒级)。

半导体激光器, 热光效应, 电光效应, 反馈控制。

波长路由光网络, 可重构光分插复用器。

波长温度系数dλ/dT, 约0.1 nm/°C(DFB激光器)。
波长电流系数dλ/dI, 约0.01 nm/mA。
锁定误差Δλ = λ_actual - λ_target

布拉格条件λ_B = 2 * n_eff * Λ, 其中Λ为光栅周期, n_eff为有效折射率。
热光效应Δn_eff / ΔT > 0
控制律I_heater = K_p * Δλ + K_i * ∫Δλ dt(PI控制)。

1. 可调谐激光器原理: 分布式反馈激光器在激活区上方制作了光栅,其输出波长由光栅周期Λ和有效折射率n_eff决定:λ = 2 * n_eff * Λ。通过改变温度或注入电流,可以改变n_eff,从而调谐波长。a. 温度调谐: 在激光器上集成微型加热器,通过焦耳热改变芯片温度,进而改变n_eff。调谐范围宽,但速度较慢(毫秒级)。b. 电流调谐: 改变激光器偏置电流,通过载流子浓度变化改变n_eff。调谐速度快(纳秒级),但范围窄,且会同时改变输出功率。2. 波长锁定: 为了将波长精确锁定在ITU-T网格上(如50GHz间隔),需要波长探测和反馈控制。常用方法:a. 法布里-珀罗标准具: 在模块内部集成一个FP标准具,其透射谱是周期的。监测通过标准具的光功率,其与波长相关,可作为误差信号。b. 波长 locker 芯片: 集成一个微型分光计,将部分光分到探测器阵列,通过比较不同探测器的光强来确定波长。4. 控制回路: 误差信号(实际波长与目标波长之差)输入到PID控制器,控制器输出驱动加热器电流或激光器偏置电流,使波长向目标值收敛。5. 数字诊断: 微控制器管理整个波长调谐和锁定过程,通过I2C接口接收主机下发的目标波长命令,并上报当前波长、温度、功率等状态。6. 在可调谐光模块中的应用: 可调谐光模块允许网络运营商在不更换模块的情况下改变工作波长,从而实现灵活的波长路由和库存简化。在数据中心互联中,可用于减少备件种类。变量/常量λ_target: 目标波长。 λ_actual: 实际波长。 I_heater: 加热器电流。 T_laser: 激光器温度。 P_out: 输出光功率。 error: 波长误差。 K_p, K_i: PID控制器的比例和积分系数。

热调谐: 通过加热改变折射率, 范围宽, 速度慢。
电流调谐: 通过载流子等离子体效应, 速度快, 范围窄。
波长锁定: 通过标准具或光栅提供反馈。
ITU网格: 波长需锁定在标准频率网格上(如50GHz间隔)。

1. 波长设置: 主机通过I2C写入目标波长值到光模块寄存器。 2. 粗略调谐: 微控制器根据查找表设置加热器电流的初始值,使波长接近目标。 3. 波长探测: 分出一小部分光,通过标准具或波长 locker,探测器产生与波长相关的电信号。 4. 误差计算: 微控制器读取探测器信号,计算当前波长与目标波长的误差。 5. 反馈控制: PID控制器根据误差计算加热器电流的调整量。 6. 驱动调整: 调整加热器电流,改变激光器温度,从而微调波长。 7. 锁定: 重复步骤3-6,直至误差小于容限,波长稳定。 8. 状态上报: 通过I2C上报波长锁定状态。

Roce-Switch-0009

交换网络

多级互连, 无阻塞

Clos多级交换网络拓扑模型

描述一种多级、可扩展的无阻塞或可重排无阻塞交换网络结构,用于构建大型交换机(如核心交换机)的交换矩阵。通过多个小规模交换单元(如crossbar)的级联,以较低成本实现大规模端口数的交换。

可扩展: 端口数可从几十扩展到数万。
无阻塞: 在特定条件下,任何空闲输入端口都能连接到任何空闲输出端口。
多路径: 输入和输出对之间存在多条路径,提供负载均衡和容错能力。

图论, 组合数学, 多级互连网络。

数据中心核心/汇聚交换机, 路由器交换矩阵。

级数: 通常3级(Ingress, Middle, Egress)。
交换单元: 规模为n x m
扩展性: 总端口数 N = n * k, 其中k为中间级交换单元数。

无阻塞条件: 严格无阻塞(Clos网络): m >= 2n - 1; 可重排无阻塞: m >= n
交换单元数量: 第一级和第三级各有kn x m单元, 第二级有mk x k单元。

1. 三级Clos网络结构: a. 第一级(Ingress): 有kn x m交换单元,每个单元有n个输入端口和m个输出端口。总输入端口数N = n * k。b. 第二级(Middle): 有mk x k交换单元,每个单元连接所有第一级单元的一个输出。c. 第三级(Egress): 有km x n交换单元,每个单元有m个输入端口和n个输出端口。总输出端口数N = n * k2. 连接模式: 第一级第i个单元的第j个输出连接到第二级第j个单元的第i个输入。第二级第j个单元的第i个输出连接到第三级第i个单元的第j个输入。3. 无阻塞性质: a. 严格无阻塞: 如果中间级交换单元数m >= 2n - 1,则任何新的连接请求(从空闲输入到空闲输出)都可以建立,而无需重新配置现有连接。b. 可重排无阻塞: 如果m >= n,则通过重新配置(重排)现有连接,总能建立新的连接请求。4. 路由算法: 对于新的连接请求(输入i,输出o),需要在第二级选择一个可用的中间交换单元。这可以建模为一个二分图匹配问题,可以使用集中式或分布式算法解决,如Paull's算法。5. 扩展: 可以递归地应用Clos结构,构建更多级的网络(如Benes网络)。6. 在交换机芯片中的应用: 大型交换芯片内部通常采用Clos或类似的多级网络作为片上网络,连接多个输入/输出端口和共享内存或缓存。7. 与负载均衡: 由于存在多条路径,可以将流量均匀地分布到中间级单元,以实现负载均衡。这需要调度算法的配合。变量/常量n: 第一级交换单元的输入数(也是第三级交换单元的输出数)。 m: 第一级交换单元的输出数(也是第二级交换单元的大小,也是第三级交换单元的输入数)。 k: 第一级(和第三级)交换单元的数量。 N: 总端口数,N = n * kC(i, j): 从输入i到输出j的连接。

多级结构: 通过小规模交换单元级联实现大规模交换。
无阻塞条件: 满足特定条件时无阻塞。
对称性: 通常设计为对称的(输入数等于输出数)。
递归构造: 可递归扩展。

1. 拓扑构造: 确定端口数N,选择n和k(N = n*k),然后确定m以满足无阻塞条件。 2. 连接建立请求: 收到从输入i到输出o的连接请求。 3. 路径查找: 在第二级中查找一个中间交换单元,该单元连接到第一级中i所在的单元,并且也连接到第三级中o所在的单元,且这两条链路都空闲。 4. 连接建立: 如果找到,则在第一级、第二级、第三级的相应交换单元中建立交叉连接。 5. 连接释放: 当连接结束时,释放路径上的资源。 6. 重排: 如果无空闲路径且网络是可重排无阻塞的,则通过重新配置一些现有连接来建立新连接。

Roce-Switch-0010

交换网络

输出排队, 虚拟输出队列

输入排队+交叉开关+虚拟输出队列(VOQ)模型

描述一种解决交换机输入排队的HOL阻塞的交换结构。在每个输入端口为每个输出端口维护一个独立的队列(VOQ)。调度器(如iSLIP)在每个时隙选择一组无冲突的输入-输出匹配,然后交叉开关(crossbar)按此配置连接输入和输出。

解决HOL阻塞: VOQ消除了队头阻塞。
高吞吐量: 配合高效调度算法,可实现100%吞吐量。
可扩展: 调度算法可分布式实现。

交换结构, 调度算法, 排队论。

高性能交换机, 路由器核心交换。

VOQVOQ(i, j), 输入端口i发往输出端口j的队列。
请求矩阵R = [r_ij]r_ij = 1如果VOQ(i,j)非空。
匹配矩阵M = [m_ij]m_ij = 1表示输入i匹配到输出j

无冲突匹配: 对任意iΣ_j m_ij <= 1; 对任意jΣ_i m_ij <= 1
iSLIP迭代: 多轮请求-授予-接受。

1. 交换结构: a. 输入排队: 每个输入端口有N个VOQ,分别对应N个输出端口。b. 交叉开关: 一个N x N的交换矩阵,每个时隙(时间片)可以配置为一种无冲突的匹配(permutation),即每个输入最多连接到一个输出,每个输出最多连接到一个输入。c. 调度器: 每个时隙观察所有VOQ的状态(哪些非空),计算一个无冲突匹配,并配置交叉开关。2. 调度算法(iSLIP): 一种迭代的、多轮的匹配算法。a. 请求: 每个输入端口向其有数据包等待的输出端口发送请求。b. 授予: 每个输出端口在收到的请求中随机选择一个(或基于轮询指针)授予。c. 接受: 每个输入端口在收到的授予中选择一个(基于轮询指针)接受。d. 多轮迭代: 重复请求-授予-接受多轮(通常2-4轮),直到没有新的匹配产生。每轮后,已匹配的输入输出不再参与后续轮次。iSLIP算法简单、高效、公平,且可并行实现。3. 性能: 在均匀流量下,iSLIP算法只需一次迭代即可达到100%吞吐量。在非均匀流量下,多次迭代可提高匹配率。4. 扩展: 对于支持多播的交换,VOQ结构可以扩展为每个输入端口为每个输出端口组维护一个队列。调度算法也更复杂。5. 在交换芯片中的应用: 现代交换芯片通常采用输入排队+交叉开关+VOQ的结构。调度器集成在芯片内,以线速运行。6. 与信元交换: 将变长数据包分割成固定长度的信元,在交叉开关中以信元为单位进行交换,在输出端口重组。这简化了调度和交换。变量/常量N: 输入/输出端口数。 VOQ(i,j): 从输入i到输出j的虚拟输出队列。 R(t): 时隙t的请求矩阵。 G(t): 时隙t的授予矩阵。 A(t): 时隙t的接受矩阵。 M(t): 最终匹配矩阵。 pointer_i: 输入i的轮询指针(指向下一个偏好的输出)。 pointer_j: 输出j的轮询指针(指向下一个偏好的输入)。

虚拟输出队列: 每个输入为每个输出维护独立队列, 消除HOL。
交叉开关: 可配置的无阻塞交换矩阵。
迭代匹配: 多轮请求-授予-接受, 逐步增加匹配数。
轮询指针: 确保公平性, 避免饿死。

1. 信元到达: 变长包被分割为固定长度信元,根据目的输出端口存入相应的VOQ。 2. 请求阶段: 每个输入端口检查其VOQ,向有信元等待的输出端口发送请求。 3. 授予阶段: 每个输出端口在收到的请求中,选择指针指向的请求(如果该请求未被其他输出在本轮授予),并更新指针。 4. 接受阶段: 每个输入端口在收到的授予中,选择指针指向的授予(如果该授予未被其他输入在本轮接受),并更新指针。 5. 迭代: 重复步骤2-4多轮。 6. 配置交叉开关: 根据最终匹配矩阵配置交叉开关,将匹配的VOQ队首信元传输到相应输出端口。 7. 信元离开: 在输出端口,信元被重组为变长包。

Roce-Switch-0011

交换网络

共享内存, 统一缓冲

共享内存交换结构模型

所有输入和输出端口共享一个统一的数据包缓冲区。数据包从输入端口直接写入共享内存,然后根据目的输出端口从共享内存中读取。通过高效的存储体(bank)组织和仲裁,实现高吞吐量和低延迟。

高内存利用率: 缓冲区在所有端口间共享, 统计复用增益高。
无HOL阻塞: 输出端口可访问任何数据包。
复杂仲裁: 需要解决多个端口对共享内存的并发访问冲突。

共享内存交换, 存储体交叉, 多端口内存。

中高端交换机, 路由器。

共享缓冲区大小B(字节)。
存储体数M, 通常等于端口数或2倍端口数。
写指针W_ptr, 写入位置。
读指针R_ptr, 读取位置。

存储体冲突: 如果两个端口同时访问同一存储体, 则发生冲突, 需仲裁。
吞吐量: 理想情况下, 每个端口每个周期都能访问内存, 总吞吐量为N * line_rate

1. 共享内存组织: 共享缓冲区通常由多个存储体(bank)组成,每个存储体可以独立访问。存储体数量通常等于或大于端口数,以减少访问冲突。数据包被分割成固定大小的切片(cell),分散存储在多个存储体中,以实现并行访问。2. 写入过程: 数据包从输入端口到达,被分割成多个信元。每个信元根据其地址映射到特定的存储体。写入逻辑为每个信元分配一个空闲缓冲区指针(从空闲链表中获取),并将信元数据和元数据(如输出端口号、下一个信元指针)写入相应存储体。3. 读取过程: 每个输出端口维护一个待读取数据包的链表。调度器根据队列状态和调度算法(如RR、WRR)选择下一个要发送的数据包。然后,从共享内存中按顺序读取该数据包的所有信元,重组后发送到输出端口。4. 缓冲区管理: 采用动态缓冲区分配。每个信元有一个状态位(空闲/占用)。空闲信元通过链表连接。当信元被释放(数据包被发送后),它被回收到空闲链表。5. 仲裁与调度: 挑战在于多个输入端口可能同时写入同一个存储体,或多个输出端口可能同时读取同一个存储体。需要仲裁器来解决冲突。通常采用轮询(RR)或固定优先级仲裁。调度器还需要决定哪个输出端口在哪个时刻发送哪个数据包,这类似于输出排队调度。6. 优势: a. 高内存效率: 缓冲区完全共享,可吸收突发流量。b. 无HOL阻塞: 因为任何输出端口可以访问任何数据包。c. 易于实现多播: 数据包只需在内存中存储一份,多个输出端口可以读取其指针。7. 在交换芯片中的应用: 共享内存结构常用于中高端交换芯片,因为它能提供良好的吞吐量和延迟性能,但设计复杂,尤其是仲裁逻辑和高速内存接口。变量/常量N: 端口数。 M: 存储体数。 cell_size: 信元大小(如64字节)。 bank_id: 存储体ID, bank_id = (address / cell_size) mod Mfree_list: 空闲缓冲区指针链表。 queue_head[j]: 输出端口j的队列头指针。 queue_tail[j]: 输出端口j的队列尾指针。

存储体交叉: 数据包切片存储在多个存储体以实现并行访问。
动态分配: 缓冲区按需动态分配给数据包。
链表管理: 通过指针链表连接同一数据包的信元, 以及管理空闲缓冲区。
仲裁复杂度: 需要解决对存储体的访问冲突。

1. 包到达: 输入端口接收数据包,分割成信元。 2. 缓冲区分配: 为每个信元从空闲链表中分配一个缓冲区指针。 3. 写入仲裁: 输入端口请求写入存储体。如果多个端口请求同一存储体,仲裁器选择一个。 4. 写入: 将信元数据和元数据写入共享内存的指定位置。 5. 队列管理: 如果是该包的最后一个信元,将包描述符(链表头指针、长度、输出端口)放入相应输出端口的队列。 6. 调度: 输出端口调度器根据调度算法选择下一个要发送的包。 7. 读取仲裁: 输出端口请求从存储体读取信元。仲裁器解决访问冲突。 8. 读取与重组: 按链表顺序读取信元,在重组缓冲区中重组为完整数据包。 9. 包发送: 重组后的包从输出端口发送出去。 10. 缓冲区释放: 包发送完毕后,其所有信元的缓冲区被释放回空闲链表。

Roce-Protocol-0012

交换协议

标签交换, 多协议

多协议标签交换(MPLS)数据平面转发模型

描述MPLS网络中标签交换路由器(LSR)对带标签的数据包进行转发的全过程,包括标签压入(Push)、交换(Swap)和弹出(Pop)操作,以及下一跳标签转发项(NHLFE)和标签映射表的查询。

标签转发: 基于短而定长的标签(20位)进行快速转发。
层次化标签: 支持标签栈, 实现层次化转发。
多协议: 可承载多种网络层协议。

标签交换, 快速转发。

运营商核心网, 大型企业网, VPN。

MPLS标签: 20位标签, 3位EXP(实验位), 1位S(栈底), 8位TTL。
标签栈: 多个标签的堆叠, 栈顶标签用于转发。
NHLFE: 下一跳标签转发项, 包含下一跳、操作、输出标签等。

标签操作Push(压入), Swap(交换), Pop(弹出)。
TTL处理TTL_out = TTL_in - 1, 如果TTL_in == 1则丢弃。

1. MPLS标签结构: 标签位于二层头部和三层头部之间,共32位,包括20位标签值、3位EXP(用于QoS)、1位栈底标志(S,指示是否为标签栈底)、8位TTL。2. 转发信息库: LSR维护两个关键表:a. 标签信息库: 存储入标签到NHLFE的映射。b. 转发等价类到NHLFE映射: 用于未标签包的标签压入操作。3. 转发过程: 当LSR收到一个带标签的数据包时:a. 提取栈顶标签。b. 在标签信息库中查找该入标签,得到对应的NHLFE。c. 根据NHLFE执行操作:i. Swap: 将栈顶标签替换为NHLFE中指定的出标签,然后将数据包从指定接口发给下一跳。ii. Pop: 弹出栈顶标签。如果弹出后标签栈非空(即暴露下一个标签),则用暴露的标签作为新的栈顶标签,再次查找标签信息库(这称为“次末跳弹出”过程)。如果弹出后标签栈为空,则进行IP转发(如果包是IP包)或根据其他规则处理。iii. Push: 在栈顶压入一个新的标签(或多个标签)。这通常发生在入口LSR,为未标签的IP包压入标签。d. 处理TTL: 将MPLS TTL减1(如果来自IP包,则从IP TTL复制而来)。如果TTL减为0,则丢弃包并发送ICMP超时消息。e. 处理EXP: 可以将EXP位映射到输出接口的队列调度优先级。4. 标签分发协议: 标签绑定信息(哪个FEC对应哪个标签)通过标签分发协议(如LDP、RSVP-TE、BGP)在LSR之间分发,从而建立端到端的标签交换路径。5. 在SDN中的应用: 在SDN中,控制器可以通过OpenFlow等协议直接下发表项,实现MPLS标签转发,而无需传统的标签分发协议。变量/常量label_in: 入标签。 label_out: 出标签。 TTL_mpls: MPLS TTL。 TTL_ip: IP TTL。 FEC: 转发等价类。 NHLFE: 下一跳标签转发项。 operation: 标签操作(swap, push, pop)。

标签交换: 基于标签查表转发, 比IP最长前缀匹配快。
标签栈: 支持多层标签, 用于隧道和层次化网络。
TTL传播: TTL可以从IP头部复制到MPLS头部, 反之亦然。
QoS映射: EXP位可用于优先级调度。

1. 接收包: 从接口收到数据包。 2. 识别: 识别以太网类型为MPLS(0x8847或0x8848)。 3. 提取标签: 读取栈顶标签。 4. 查表: 以入标签为键查找标签信息库,得到NHLFE。 5. 执行操作: 根据NHLFE执行swap、pop或push操作。 6. TTL处理: TTL减1,若为0则丢弃。 7. 转发: 从NHLFE指定的接口将包发送给下一跳。 8. 未标签包处理: 若是IP包,则根据FEC查找,执行push操作,压入标签后转发。

Roce-Protocol-0013

路由协议

链路状态, 最短路径

开放最短路径优先(OSPF)协议状态机与计算模型

描述OSPF协议如何通过洪泛链路状态宣告(LSA)来同步链路状态数据库(LSDB),并运行Dijkstra最短路径优先算法计算到达所有网络的最短路径树,最终形成IP路由表。

链路状态: 每个路由器了解全网拓扑。
区域划分: 支持分层路由, 分多个区域。
快速收敛: 在拓扑变化时快速重新计算路由。

图论, Dijkstra算法, 状态机。

企业网, 数据中心网络, 运营商网络。

链路状态数据库LSDB, 包含所有路由器的LSA。
邻接关系: 与邻居路由器建立邻接, 同步LSDB。
开销: 链路度量, 通常与带宽成反比。

Dijkstra算法d[v] = min(d[v], d[u] + cost(u,v))
状态机: Down, Init, 2-Way, ExStart, Exchange, Loading, Full。

1. 邻居发现与邻接建立: 通过发送Hello报文发现直连的OSPF邻居。邻居之间经过一系列状态(Down, Init, 2-Way, ExStart, Exchange, Loading, Full)建立邻接关系,并同步LSDB。在广播网络中,会选举指定路由器(DR)和备份指定路由器(BDR)来减少邻接数量。2. 链路状态宣告: 每个路由器生成描述自身链路状态的LSA(类型1:路由器LSA)。当链路状态变化时,路由器生成新的LSA,并通过洪泛机制传播到整个区域。所有路由器维护相同的LSDB。3. 最短路径树计算: 每个路由器以自己为根,运行Dijkstra算法计算最短路径树:a. 初始化:将所有节点距离设为无穷大,根节点距离为0。将根节点加入候选集合。b. 迭代:从候选集合中选择距离最小的节点u,将其加入最短路径树。对于u的每个邻居v,如果通过u到达v的距离更短,则更新v的距离,并将v的前驱设为u。将v加入候选集合。c. 结束:当所有节点都加入最短路径树或候选集合为空时结束。4. 路由表生成: 根据最短路径树,为每个目的地(网络或路由器)生成路由表项,包括下一跳和出接口。如果有多条等开销路径,可以安装多条进行负载均衡。5. 区域划分: 大型网络划分为多个区域。区域0是骨干区域,其他区域必须连接到骨干区域。区域边界路由器连接多个区域,负责区域间路由汇总和传播。这限制了LSA的传播范围,提高了可扩展性。6. 在SDN中的实现: 在SDN中,OSPF可以作为一个应用程序运行在控制器上。路由器仍然运行OSPF协议,但将链路状态信息上报给控制器。控制器拥有全局LSDB,运行Dijkstra算法,然后通过OpenFlow下发光流表。这提供了集中式的路由计算和控制。变量/常量Router_ID: 路由器标识符。 LSA: 链路状态宣告。 LSDB: 链路状态数据库。 cost(u,v): 从u到v的链路开销。 d[v]: 从根到节点v的当前最短距离。 SPT: 最短路径树。 Adjacency: 邻接关系。

洪泛: LSA通过洪泛机制同步。
Dijkstra算法: 计算单源最短路径。
分层: 多区域设计提高可扩展性。
DR/BDR: 在广播网络中减少邻接数量。

1. 启动: 路由器启动,所有接口处于Down状态。 2. 发现邻居: 发送Hello报文,收到Hello后进入2-Way状态。 3. 建立邻接: 如果是与DR/BDR或其他必要邻居,则进入ExStart状态,交换DD报文选举主从,然后进入Exchange状态交换LSA头,再进入Loading状态请求完整的LSA,最后进入Full状态,邻接建立完成。 4. 同步LSDB: 在邻接建立过程中,LSDB被同步。 5. 运行SPF: 当LSDB发生变化时,以自己为根运行Dijkstra算法,计算最短路径树。 6. 生成路由表: 根据最短路径树生成路由表项。 7. 维护: 定期发送Hello报文维护邻居关系,在链路状态变化时洪泛新的LSA。

Roce-Protocol-0014

交换协议

生成树, 无环网络

生成树协议(STP)状态机与端口角色模型

描述STP如何在具有冗余链路的二层网络中,通过交换网桥协议数据单元,动态选举根桥,并计算出一棵覆盖所有交换机的无环生成树,阻塞冗余端口以防止环路。

无环拓扑: 通过阻塞冗余端口消除环路。
根桥选举: 基于桥ID选举根桥。
端口角色: 根端口, 指定端口, 阻塞端口。

图论, 生成树算法, 状态机。

以太网环路避免, 二层网络。

桥ID: 优先级(2字节) + MAC地址(6字节)。
路径开销: 到根桥的累积开销, 基于链路带宽。
端口ID: 优先级(1字节) + 端口号(1字节)。

根桥选举: 桥ID最小的交换机成为根桥。
根端口选择: 每个非根桥选择到根桥路径开销最小的端口为根端口。
指定端口选择: 在每个网段上, 连接到根桥路径开销最小的交换机的端口成为指定端口。

1. 桥协议数据单元: 交换机之间定期发送BPDU,包含根桥ID、到根桥的路径开销、发送桥ID、发送端口ID等信息。2. 根桥选举: 所有交换机初始都认为自己是根桥。通过交换BPDU,比较桥ID(优先级+MAC地址),桥ID最小的交换机被选举为根桥。3. 根端口选举: 每个非根交换机选择一个根端口,该端口是到根桥的路径开销最小的端口。如果路径开销相同,则比较上行交换机的桥ID,再比较上行端口的端口ID。4. 指定端口选举: 在每个物理网段(冲突域)上,需要选举一个指定端口,该端口负责向该网段转发流量。选举规则:a. 连接到该网段的交换机中,到达根桥路径开销最小的交换机上的端口成为指定端口。b. 如果路径开销相同,则比较交换机的桥ID,桥ID小的获胜。c. 如果仍相同(即同一交换机的两个端口连接到同一网段,如通过集线器),则比较端口ID,端口ID小的获胜。5. 端口状态: 端口经历一系列状态以防止临时环路:a. 阻塞: 不转发数据帧,但接收BPDU。b. 侦听: 不转发数据帧,但发送/接收BPDU,确定端口角色。c. 学习: 不转发数据帧,但学习MAC地址。d. 转发: 正常转发数据帧。e. 禁用: 端口被管理关闭。6. 拓扑变化: 当链路故障或恢复时,检测到变化的交换机会向根桥发送拓扑变更通知。根桥随后泛洪拓扑变更BPDU,指示所有交换机缩短MAC地址表的老化时间,从而快速收敛。7. 改进版本: RSTP在STP基础上大幅缩短收敛时间(秒级到亚秒级),端口状态简化为丢弃、学习和转发,并引入了替代端口和备份端口角色。变量/常量Bridge_ID: 桥标识符。 Root_Bridge_ID: 根桥ID。 Root_Path_Cost: 到根桥的路径开销。 Port_ID: 端口标识符。 BPDU: 桥协议数据单元。 Forward_Delay: 转发延迟计时器(默认15秒)。

分布式选举: 通过交换BPDU分布式选举根桥和端口角色。
状态机: 端口经历阻塞、侦听、学习、转发状态以消除临时环路。
收敛慢: STP收敛时间慢(30-50秒)。
拓扑变化机制: 通过TCN BPDU通知拓扑变化。

1. 初始状态: 所有交换机初始认为自己是根桥,所有端口处于阻塞状态但发送BPDU。 2. 交换BPDU: 交换机从所有端口发送BPDU,并接收来自邻居的BPDU。 3. 根桥选举: 比较收到的BPDU中的根桥ID和自己的桥ID,选择较小的作为根桥ID。最终全网唯一根桥被选出。 4. 根端口选举: 每个非根交换机根据到根桥的路径开销选举根端口。 5. 指定端口选举: 在每个网段上选举指定端口。 6. 端口状态转换: 根端口和指定端口经过侦听、学习状态后进入转发状态;其他端口保持阻塞状态。 7. 拓扑变化处理: 当检测到拓扑变化,交换机向根桥发送TCN BPDU,根桥泛洪TC BPDU,所有交换机缩短MAC地址表老化时间。

编号

层级

核心理论

模型名称

目标与描述

精度与特征

理论基础

应用场景

数学要素

关键方程/状态机

数学模型/算法描述

实现步骤/工作流程

软硬件工具

Roce-ASIC-0015

集成电路级

模拟电路,时钟生成

锁相环频率合成器模型

为交换芯片提供稳定、低抖动的时钟信号,通过负反馈控制压控振荡器(VCO)的频率,使其与参考时钟保持固定的相位/频率关系,并可进行频率倍频。

低抖动:输出时钟的周期抖动和相位噪声需极低(如<1ps)。
宽频率范围:VCO可调频率范围覆盖所需频率。
锁定时间:从启动到锁定所需时间短。

反馈控制理论,模拟电路,相位频率检测。

交换芯片时钟生成,SerDes时钟。

参考频率f_ref
输出频率f_out = N * f_ref,其中N为分频比。
相位误差θ_e = θ_ref - θ_div
环路带宽ω_c

相位频率检测器:输出脉冲宽度与相位差成正比。
VCO控制电压V_ctrl = K_pd * θ_e * Z(s),其中Z(s)为环路滤波器传递函数。
VCO输出频率f_out = f_0 + K_vco * V_ctrl

1. 组成模块:a. 相位频率检测器:比较参考时钟和分频后时钟的相位和频率,产生与相位差成正比的脉冲信号。b. 电荷泵:将PFD的输出脉冲转换为电流脉冲。c. 环路滤波器:通常为低通滤波器,将电流脉冲平滑为控制电压,并决定环路稳定性、带宽和噪声特性。d. 压控振荡器:产生输出时钟,其频率由控制电压线性控制。e. 分频器:将输出时钟分频N倍,反馈到PFD。2. 工作原理:PFD检测参考时钟和反馈时钟的相位差,输出UP/DN脉冲。电荷泵将脉冲转换为电流,注入环路滤波器产生控制电压。控制电压改变VCO频率,使反馈时钟相位跟踪参考时钟。当锁定时,反馈时钟与参考时钟相位对齐,输出频率为f_out = N * f_ref3. 关键参数:a. 环路带宽:决定了PLL的跟踪速度和噪声滤除特性。带宽越大,锁定时间越短,但对参考时钟噪声抑制越差。b. 相位噪声:由各个模块的噪声贡献,环路带宽内VCO噪声占主导,带宽外参考噪声占主导。c. 抖动:时域上的相位不稳定,由相位噪声积分得到。4. 在交换芯片中的应用:PLL为芯片各个模块(如核心逻辑、SerDes、存储器接口)提供时钟。多个PLL可能用于不同频率需求。SerDes对时钟抖动要求极高,通常采用LC振荡器的VCO以获得更好的相位噪声性能。变量/常量f_ref: 参考时钟频率。 f_out: 输出时钟频率。 N: 分频比。 θ_e: 相位误差。 V_ctrl: 控制电压。 K_pd: 相位检测器增益。 K_vco: VCO增益(Hz/V)。 I_cp: 电荷泵电流。 Z(s): 环路滤波器阻抗。

负反馈: 通过反馈使相位误差趋于零。
频率合成: 通过分频比N实现频率倍频。
环路滤波器: 决定动态特性和噪声性能。
多模分频器: 支持小数分频以实现更精细的频率步进。

1. 设定频率: 根据所需输出频率设置分频比N。 2. 启动: 上电后,VCO以自由振荡频率开始振荡。 3. 相位检测: PFD比较参考时钟和反馈时钟的相位,产生UP/DN脉冲。 4. 电荷泵与滤波: 电荷泵产生电流,环路滤波器积分成控制电压。 5. 频率调整: 控制电压调整VCO频率,使反馈时钟相位向参考时钟对齐。 6. 锁定: 当相位误差为零(或很小)且频率相等时,PLL进入锁定状态。 7. 监控: 锁定检测电路监控锁定状态,锁定后输出锁定信号。

Roce-ASIC-0016

集成电路级

数字逻辑,高速接口

高速SerDes发送端均衡模型

描述高速串行接口发送端为补偿信道损耗,采用前馈均衡技术,通过预加重或去加重来增强高频分量,以改善接收端眼图的张开度。

预加重/去加重: 增强高频分量或衰减低频分量。
可编程抽头系数: 抽头系数可调以适配不同信道。
多电平调制: 支持PAM4调制,每个符号代表2比特。

数字信号处理,信道均衡,有限冲激响应滤波器。

芯片间高速互连,背板,光纤通道。

抽头系数c_{-1}, c_0, c_{+1}(对于3抽头)。
去加重de-emphasis = 20 * log10(V_low / V_high)
摆幅:差分输出电压摆幅。

FIR滤波器y[n] = Σ c_i * x[n-i]
预加重y[n] = c_{-1} * x[n+1] + c_0 * x[n] + c_{+1} * x[n-1],其中c_{-1}c_{+1}为负值。

1. 信道损耗:高速信号通过PCB走线、连接器等信道时,高频分量衰减更大,导致码间干扰,眼图闭合。2. 均衡原理:在发送端对信号进行预处理,提升高频分量(或衰减低频分量),以补偿信道的低通特性,使接收端收到的信号眼图张开。3. 前馈均衡:常用有限冲激响应滤波器实现。对于3抽头FFE,输出y[n]是当前比特x[n]、前一个比特x[n-1]和后一个比特x[n+1]的加权和。系数可设置为:y[n] = -α * x[n+1] + (1+α) * x[n] - β * x[n-1]4. 预加重与去加重:a. 预加重:在信号跳变时增加幅度,以增强高频成分。通常用主抽头c_0和预抽头c_{-1}实现,c_{-1}为负。b. 去加重:在信号保持不变时降低幅度,等效于衰减低频。通常用主抽头c_0和后抽头c_{+1}实现,c_{+1}为负。两者本质相同,只是归一化方式不同。5. PAM4调制:对于PAM4信号,每个符号有4个电平,代表2比特。均衡器需要处理多电平信号,原理类似。6. 自适应均衡:更高级的SerDes可以基于接收端反馈(如错误计数或眼图监测)动态调整发送端均衡系数,以适应信道变化。7. 在交换芯片中的应用:交换芯片的SerDes接口通过背板或直连电缆连接到其他芯片或光模块,速率可达112Gbps PAM4。发送端均衡是保证信号完整性的关键技术之一。变量/常量x[n]: 输入比特序列。 y[n]: 均衡后输出。 c_i: FIR滤波器抽头系数。 α, β: 预加重/去加重系数。 V_high: 跳变后的电压幅度。 V_low: 非跳变时的电压幅度。

FIR滤波器: 有限冲激响应滤波器实现均衡。
预加重: 跳变时增强幅度。
去加重: 非跳变时降低幅度。
PAM4: 4电平脉冲幅度调制。

1. 信道分析: 通过仿真或测量得到信道频域响应或脉冲响应。 2. 系数计算: 根据信道特性和均衡目标(如零强迫或最小均方误差)计算FIR系数。 3. 滤波器实现: 用数字电路实现FIR滤波器,输入为串行数据流。 4. 驱动: 均衡后的信号经过驱动器发送到信道。 5. 自适应调整: 接收端通过反馈路径(如边带信道)指示发送端调整系数,以优化接收眼图。

Roce-PCB-0017

PCB板级

信号完整性,串扰

高速PCB并行总线串扰模型

建模PCB上多条平行传输线之间的电磁耦合(容性和感性),预测近端串扰和远端串扰,并通过设计规则(如间距、端接)将其控制在允许范围内。

近端串扰: 在攻击线近端感应的噪声,与耦合长度有关。
远端串扰: 在攻击线远端感应的噪声,与信号边沿时间有关。
多导体传输线: 需考虑所有线间的耦合。

电磁耦合,多导体传输线理论。

DDR内存接口,并行高速总线。

耦合系数K_b(近端串扰系数),K_f(远端串扰系数)。
互容C_m
互感L_m

近端串扰电压V_{near} = K_b * (V_a / 4) * (1 - e^{-2l/λ}),其中l为耦合长度,λ为衰减长度。
远端串扰电压V_{far} = K_f * (t_r / 2T) * V_a,其中t_r为上升时间,T为传播延迟。

1. 串扰机制:当攻击线上的信号变化时,通过互容和互感在受害线上感应噪声。a. 容性耦合:变化的电场通过线间电容注入电流。b. 感性耦合:变化的磁场通过互感感应电压。2. 近端串扰:受害线上靠近驱动端的噪声。由于耦合信号向两个方向传播,近端串扰是攻击线信号在受害线上两个相反方向感应信号的叠加。对于均匀介质中的对称耦合线,近端串扰系数K_b ≈ 1/4 (C_m / C + L_m / L)。近端串扰随耦合长度增加而增加,达到饱和。3. 远端串扰:受害线上靠近接收端的噪声。远端串扰是攻击线信号在受害线上同方向感应信号的叠加。远端串扰系数K_f ≈ 1/2 (C_m / C - L_m / L)。对于均匀介质,若介电常数恒定,则C_m/C = L_m/L,此时K_f=0。但实际PCB中由于非均匀性,远端串扰不为零。远端串扰与信号边沿时间成正比,与耦合长度无关(但会累积)。4. 影响因素:a. 线间距:减小间距增加耦合。通常要求间距至少为线宽的2倍。b. 并行长度:近端串扰随并行长度增加。c. 端接:适当的端接可以减少反射,从而影响串扰。d. 信号边沿:更快的边沿导致更大的串扰。5. 模型建立:通过电磁场仿真提取多导体传输线的RLGC矩阵,然后求解电报方程得到频域或时域响应。或者使用简化的耦合系数模型进行估算。6. 在交换机PCB中的应用:交换芯片与内存(如DDR4/5)之间的并行总线速度很高,线间距小,串扰是限制速率和时序裕量的关键因素。需要严格控制布线规则,如使用地线隔离、增加线间距、减少并行长度等。变量/常量V_a: 攻击线信号电压。 V_n: 近端串扰电压。 V_f: 远端串扰电压。 C: 单位长度自容。 L: 单位长度自感。 C_m: 单位长度互容。 L_m: 单位长度互感。 l: 耦合长度。 t_r: 信号上升时间。 T: 传输线延迟。

耦合系数: 近端和远端串扰系数与互容互感有关。
饱和效应: 近端串扰随耦合长度饱和。
远端串扰累积: 远端串扰与耦合长度成正比。
非均匀介质: 在非均匀介质中远端串扰不为零。

1. 提取参数: 通过2D场求解器提取传输线的RLGC矩阵,包括自参数和互参数。 2. 建立模型: 基于RLGC矩阵建立多导体传输线模型,可表示为N端口网络。 3. 仿真: 在电路仿真器中加入攻击线驱动和受害线接收端,进行瞬态仿真,观察串扰噪声波形。 4. 设计优化: 调整线宽、间距、介质厚度、端接等,使串扰噪声低于噪声容限。 5. 规则制定: 制定布线规则,如最小间距、最大并行长度等。

Roce-PCB-0018

PCB板级

电源完整性,同步开关噪声

芯片封装与PCB的电源分布网络谐振模型

建模芯片封装和PCB的电源分布网络,分析其谐振特性,预测在芯片动态电流激励下可能产生的电压噪声放大,并通过去耦电容优化抑制谐振峰值。

谐振频率: 由封装和PCB的等效电感和去耦电容决定。
阻抗峰值: 谐振频率处PDN阻抗最大,可能导致电压噪声放大。
频域阻抗: 目标是使PDN阻抗在全频段低于目标阻抗。

谐振电路,分布参数,阻抗分析。

高速数字芯片供电网络。

等效电感L_pkg(封装电感),L_pcb(PCB电感)。
等效电容C_decap(去耦电容)。
谐振频率f_res = 1/(2π√(L_equiv * C_equiv))
品质因数Q = (1/R)√(L/C)

RLC串联阻抗Z(f) = R + j2πfL + 1/(j2πfC)
谐振频率f_0 = 1/(2π√(LC))

1. PDN谐振机理:PDN由电压调节模块、PCB电源平面、过孔、封装引线、片上电容等构成,每个部分都有寄生电感、电容和电阻。这些电感和电容会形成谐振电路,在特定频率下阻抗达到峰值。当芯片电流变化频率接近谐振频率时,即使很小的电流变化也会引起较大的电压波动。2. 模型简化:可以将PDN简化为一个由电感、电容、电阻组成的网络。例如,封装电感与芯片附近的去耦电容构成串联谐振电路。谐振频率f_res = 1/(2π√(L_pkg * C_decap))。在谐振频率处,阻抗最小(如果电阻小,实际上由于电阻存在,阻抗为R),但通常我们关注的是阻抗峰值,这发生在并联谐振点。3. 多谐振点:实际PDN是复杂的分布网络,有多个谐振点,对应不同部分之间的相互作用。例如,封装电感和片上电容谐振频率较高,PCB电感和大容量去耦电容谐振频率较低。4. 去耦电容优化:通过合理选择去耦电容的种类、容值和放置位置,可以阻尼谐振峰,使PDN阻抗在宽频带内低于目标阻抗。a. 电容值:不同容值的电容谐振在不同频率。b. 等效串联电感:ESL决定电容的高频特性,ESL越小,高频去耦效果越好。c. 放置:尽可能靠近芯片,以减小回路电感。d. 阻尼:有时需要额外添加阻尼电阻以降低Q值,抑制谐振峰值。5. 在交换芯片中的应用:交换芯片功耗大,电流变化快,对PDN要求极高。封装设计(如使用倒装芯片、多电源引脚)可以降低电感。PCB上需要大量去耦电容,从低频的大电容到高频的小电容,以覆盖从kHz到GHz的频段。变量/常量L_pkg: 封装电源路径的等效电感。 L_pcb: PCB电源平面的等效电感。 C_decap: 去耦电容的容值。 ESL: 去耦电容的等效串联电感。 ESR: 去耦电容的等效串联电阻。 f_res: 谐振频率。 Z_max: 谐振频率处的最大阻抗。

谐振峰: 在谐振频率处阻抗出现峰值。
阻尼: 电阻可以降低谐振峰值。
多谐振点: 复杂PDN网络有多个谐振频率。
去耦策略: 使用多种电容覆盖宽频带。

1. 提取寄生参数: 通过电磁仿真或测量提取PDN的寄生电感、电容、电阻。 2. 建立电路模型: 将PDN建模为包含VRM、PCB平面、过孔、封装、芯片的RLC网络。 3. 频域阻抗分析: 计算从芯片电源焊盘看进去的阻抗Z(f)。 4. 识别谐振点: 找到阻抗曲线的峰值点,即谐振频率。 5. 优化去耦: 调整去耦电容的种类、数量、位置,使阻抗曲线在目标频率范围内低于目标阻抗,并阻尼谐振峰。 6. 时域仿真: 在时域仿真中验证电压噪声是否满足要求。

Roce-Optics-0019

光模块级

光电转换,相干检测

相干光通信接收机数字信号处理模型

描述相干光接收机中,通过混频、模数转换和数字信号处理算法,恢复高速光信号中调制的幅度、相位和偏振信息,以支持高阶调制格式和色散补偿。

相干检测: 利用本地振荡器激光器提高灵敏度。
数字信号处理: 在数字域实现均衡、载波恢复等复杂算法。
高阶调制: 支持QPSK, 16-QAM等,提高频谱效率。

相干光通信,数字信号处理,自适应均衡。

长距离光传输,数据中心互联。

本地振荡器频率f_LO
信号光频率f_s
中频:`f_IF =

f_s - f_LO

。<br>**误差矢量幅度**:EVM`,衡量调制质量。

相干混频I(t) ∝ √(P_s P_LO) cos(2π(f_s - f_LO)t + φ_s - φ_LO)
自适应均衡: 如最小均方算法更新滤波器系数。

1. 相干接收机结构:信号光与本地振荡器激光器发出的光在90度混频器中混合,产生四个输出,分别对应两个偏振态(X和Y)的同相(I)和正交(Q)分量。这四个分量被光电探测器转换为电信号,然后被模数转换器采样,送入DSP处理。2. DSP处理流程:a. 前端校正:补偿ADC的偏移、增益不平衡和时序偏差。b. 正交化:校正I/Q之间的90度相位误差。c. 时钟恢复:通过Gardner算法等恢复符号时钟,实现重采样。d. 色散补偿:在数字域使用有限冲激响应滤波器补偿光纤色散。e. 自适应均衡:使用多输入多输出自适应均衡器(如基于CMA算法)补偿偏振模色散和偏振旋转,并分离X和Y偏振信号。f. 载波恢复:通过相位估计算法(如Viterbi-Viterbi算法)补偿载波相位噪声和频偏。g. 判决:根据调制格式(如QPSK,16-QAM)对符号进行判决,并映射为比特。h. 前向纠错:通过FEC解码纠正误码。3. 优势:相干检测将光信号的幅度、相位和偏振信息全部转换为电信号,使得在数字域进行复杂的均衡和补偿成为可能,从而支持高阶调制、长距离传输和色散容忍。4. 在高速光模块中的应用:400G ZR等相干光模块用于数据中心互联,在80km以上的距离上提供高速连接。模块内集成相干DSP芯片,实现上述所有处理。变量/常量E_s: 信号光电场。 E_LO: 本地振荡器电场。 I, Q: 同相和正交分量。 φ_s: 信号相位。 φ_LO: 本振相位。 h(t): 均衡器冲激响应。 w: 均衡器抽头系数。

Roce-Optics-0020

光端口级

光放大,自发辐射

掺铒光纤放大器噪声系数模型

描述EDFA在放大光信号的同时,由于自发辐射产生噪声,导致信号信噪比劣化的过程。噪声系数定义为输入信噪比与输出信噪比的比值,是放大器的重要指标。

增益G,输出功率与输入功率之比。
噪声系数NF,理想为3dB,实际更高。
自发辐射: 放大的自发辐射噪声。

受激辐射,自发辐射,噪声理论。

长距离光传输,光中继。

增益G = P_out / P_in
噪声系数NF = (SNR_in) / (SNR_out)
ASE功率谱密度ρ_ase = n_sp * hν * (G-1),其中n_sp为粒子数反转因子。

噪声系数NF = 2 n_sp (G-1)/G + 1/G,高增益时NF ≈ 2 n_sp
信噪比SNR = P_signal / P_noise

1. EDFA原理:铒离子在泵浦光激励下发生粒子数反转,信号光通过时受激辐射放大。同时,部分反转的粒子会自发辐射,产生宽带噪声,即放大的自发辐射噪声。2. ASE噪声:ASE噪声在整个放大器带宽内存在,其功率谱密度为ρ_ase = n_sp * hν * (G-1),其中n_sp是粒子数反转因子(≥1),h是普朗克常数,ν是光频率。3. 噪声系数:定义为输入信噪比与输出信噪比之比。对于理想放大器(仅受散粒噪声限制),噪声系数为3dB(2倍)。实际EDFA的噪声系数通常为4-6dB。噪声系数与粒子数反转程度有关,反转越充分,n_sp越接近1,噪声系数越低。4. 多级放大:在长距离传输中,多个EDFA级联。总噪声系数主要由第一级放大器决定,因此要确保第一级放大器具有低噪声系数和高增益。5. 在光网络中的应用:EDFA用于补偿光纤损耗,延长传输距离。在交换机光端口中,可能用于长距离输出的光放大。但更常见的是在长途干线中使用。变量/常量P_in: 输入信号功率。 P_out: 输出信号功率。 G: 增益。 n_sp: 粒子数反转因子。 h: 普朗克常数。 ν: 光频率。 B_0: 光带宽。 SNR_in: 输入信噪比。 SNR_out: 输出信噪比。

自发辐射: 粒子自发跃迁产生噪声。
噪声系数: 信噪比劣化的度量。
粒子数反转: 反转因子影响噪声系数。
级联噪声: 多级放大噪声累积。

1. 泵浦: 泵浦激光器(980nm或1480nm)激发铒离子。 2. 信号输入: 信号光(1550nm波段)进入掺铒光纤。 3. 受激辐射: 信号光引发受激辐射,得到放大。 4. 自发辐射: 部分激发态离子自发辐射,产生ASE噪声。 5. 滤波: 通常使用光滤波器减少带外ASE噪声。 6. 输出: 放大后的信号和ASE噪声一起输出。

Roce-Switch-0021

交换网络

多播,复制

基于交叉开关的多播调度与复制模型

描述在输入排队的交换结构中,如何高效地调度多播流量(一个输入到多个输出)。多播信元在输入端口被复制到多个虚拟输出队列,调度器需要协调多个输出端口的资源,避免输出冲突。

多播复制: 信元需要复制到多个输出端口。
调度复杂度: 需要协调多个输出端口,避免冲突。
负载均衡: 多播流量增加交换结构负载。

多播调度,匹配问题,组合优化。

视频分发,软件分发,广播应用。

多播信元: 目的端口集合D,大小为k
复制: 在输入端口复制k份,分别进入对应VOQ。
调度: 每个输出端口每时隙只能服务一个信元。

最大匹配: 在二分图中寻找最大基数匹配,其中输入节点和输出节点为两部,边表示有待发送信元的VOQ。
多播调度算法: 如基于扇出的轮询。

1. 多播VOQ:每个输入端口为每个多播组维护一个队列?实际上,多播通常在每个输入端口为每个输出端口维护一个队列(VOQ),而多播信元需要复制到多个VOQ。更常见的做法是,每个输入端口为每个多播组(目的端口集合)维护一个多播队列,但调度复杂。简化模型:多播信元到达输入端口,其目的端口集合为D。输入端口将该信元复制

D

份,分别放入对应每个输出端口的单播VOQ中。这样,多播调度转化为单播调度,但需要保证同一信元的多个副本在时间上对齐,否则会占用更多缓冲区。2. 调度挑战:由于一个多播信元需要多个输出端口同时可用,调度器需要找到一个匹配,使得每个输入端口最多被匹配一次(假设一次只能发送一个信元),每个输出端口最多被匹配一次。这比单播调度更复杂,因为一个信元对应多个输出端口。3. 调度算法:a. 基于扇出的轮询:每个输入端口维护一个指针,轮流服务其多播信元。对于每个多播信元,尝试匹配其所有目的端口。如果某个输出端口已被占用,则跳过。b. 两级调度:第一级,每个输入端口选择一个多播信元,请求其所有目的端口。第二级,每个输出端口在收到的请求中选择一个授予。然后输入端口接受部分授予(可能只匹配部分目的端口),未匹配的目的端口等待下一时隙。c. 复制然后调度:先将多播信元复制到多个VOQ,然后使用单播调度算法(如iSLIP)调度这些VOQ。但需要确保同一信元的多个副本在时间上相近,否则接收端重组问题。4. 性能:多播流量会增加交换结构的负载,因为一个信元需要占用多个输出端口。在输入排队中,多播可能导致HOL阻塞,即使使用VOQ,也需要更复杂的调度算法。5. 在交换机中的应用:数据中心中,多播用于一对多通信(如分布式计算、视频流)。交换芯片需要支持高效的多播复制和调度。通常,复制可以在输入端口、交叉开关内部或输出端口进行。变量/常量M: 多播信元。 D(M): 信元M的目的端口集合。 k: 扇出数(

Roce-Switch-0022

交换网络

负载均衡,多路径

等价多路径路由的流哈希模型

描述在存在多条等价路径的网络中,如何通过哈希函数将数据流均匀地分配到不同路径上,以实现负载均衡,同时保证同一流的数据包按序到达。

流定义: 通常由五元组(源IP,目的IP,源端口,目的端口,协议)定义。
哈希函数: 将流标识映射到路径索引。
负载均衡: 使流量均匀分布。

哈希函数,负载均衡,流一致性。

数据中心网络,ECMP,链路聚合。

流键key = hash(5-tuple)
路径索引index = key mod N,其中N为路径数。
哈希冲突: 不同流映射到同一路径。

哈希函数hash = (src_ip, dst_ip, src_port, dst_port, protocol)通过Toeplitz或其他哈希计算。
均匀性: 哈希结果应均匀分布在[0, N-1]

1. 等价多路径:在路由协议中,到达同一目的地可能存在多条等开销路径。ECMP允许使用所有这些路径转发流量,以提高带宽和冗余。2. 流哈希:为了保证同一流的数据包走同一路径(避免乱序),交换机使用哈希函数基于数据包的五元组(或部分字段)计算一个哈希值,然后根据哈希值选择路径。通常路径选择为路径索引 = 哈希值 mod N,其中N为路径数。3. 哈希函数:需要具有良好的均匀性和随机性,以确保负载均匀分布。常用哈希函数包括CRC、Toeplitz哈希等。哈希函数的输入还可以包括其他字段,如IPv6流标签、MPLS标签等,以增加熵。4. 非对称流量:如果流量本身不均匀(如大象流),简单的流哈希可能导致负载不均衡。此时需要更复杂的负载均衡机制,如基于流的动态调整。5. 路径故障:当一条路径故障时,哈希表需要更新,将原映射到故障路径的流重新哈希到其他路径。这可能导致流路径变更,但对于TCP流,会触发重传,可以容忍。6. 在交换机中的应用:交换机芯片的ECMP组通常有多个下一跳,通过流哈希选择下一跳。哈希计算在硬件中实现,以线速进行。变量/常量5-tuple: (源IP,目的IP,源端口,目的端口,协议)。 N: 等价路径数量。 hash_result: 哈希值。 path_index: 路径索引(0 到 N-1)。

流保持: 同一流的包走同一路径, 避免乱序。
均匀分布: 哈希函数应使流均匀分布到各路径。
快速计算: 哈希计算需在硬件中快速完成。
路径变化: 路径数变化时, 尽可能少影响现有流。

1. 提取键值: 从数据包头部提取五元组。 2. 计算哈希: 使用预设的哈希函数计算哈希值。 3. 映射路径: 将哈希值对路径数N取模,得到路径索引。 4. 转发: 根据路径索引查找下一跳,将数据包转发到对应端口。 5. 路径变更: 当路径增加或删除时,更新路径数N,新流按新N哈希,现有流可能重新映射。

Roce-Protocol-0023

交换协议

虚拟局域网,标签

IEEE 802.1Q VLAN标签处理模型

描述交换机如何基于VLAN标签进行帧的转发、过滤和标签操作(添加、删除、修改),实现二层网络的逻辑隔离和广播域控制。

VLAN标签: 4字节标签,包含VLAN ID(12位)。
端口类型: Access, Trunk, Hybrid。
标签操作: 入向和出向的标签处理。

VLAN协议,二层转发。

企业网络,数据中心网络。

VLAN IDvid,范围1-4094。
优先级PCP,3位,用于QoS。
标签协议标识TPID,0x8100。

标签处理规则: 根据端口类型和VLAN ID决定转发、丢弃或标签操作。
转发数据库FDB[mac, vid] -> port

1. VLAN标签格式:在以太网帧的源MAC地址和类型/长度字段之间插入4字节VLAN标签,包括TPID(0x8100)、PCP、DEI和VID。2. 端口类型:a. Access端口:通常连接用户设备,不接受带标签的帧,发送的帧不带标签。当收到无标签帧时,打上端口的默认VLAN ID(PVID)。当发送帧时,如果帧的VLAN ID等于PVID,则剥离标签。b. Trunk端口:通常连接交换机,允许多个VLAN的帧通过。可以接收和发送带标签帧。可以配置允许通过的VLAN列表。c. Hybrid端口:可以同时发送带标签和无标签帧,针对不同VLAN配置。3. 入向处理:a. 帧到达端口。b. 确定帧的VLAN标签:如果帧带标签,检查VID是否在端口允许的VLAN列表中;如果帧不带标签,则分配PVID。c. 基于目的MAC和VID查找MAC表,决定转发端口列表。d. 对于每个出端口,根据出端口类型决定是否保留、添加或剥离标签。4. 转发数据库:MAC地址表(FDB)条目包括MAC地址、VLAN ID和端口号。即同一个MAC地址在不同VLAN中可对应不同端口。5. 标签操作:a. 添加标签:当帧从Access端口进入或从某些Hy端口发出时,添加VLAN标签。b. 剥离标签:当帧从Access端口发出或从某些Hy端口发出时,如果VID等于PVID,则剥离标签。c. 标签交换:在Q-in-Q中,可以修改外层标签。6. 在交换机中的应用:交换机芯片的入端口流水线识别VLAN标签,根据配置进行过滤和转发。芯片的MAC表支持基于VLAN的查找。变量/常量vid: VLAN ID。 PVID: 端口默认VLAN ID。 TPID: 标签协议标识。 PCP: 优先级代码点。 FDB: 转发数据库。

端口VLAN成员: 端口可以属于多个VLAN。
基于MAC+VLAN转发: 转发决策基于目的MAC和VLAN ID。
标签操作: 添加, 剥离, 交换。
广播域隔离: 不同VLAN的广播帧不互通。

1. 入端口处理: 接收帧,判断是否带标签,确定帧的VLAN(如果无标签,使用PVID)。 2. VLAN过滤: 检查帧的VLAN是否在端口的允许列表中,否则丢弃。 3. MAC学习: 学习源MAC地址、VLAN和入端口的映射。 4. 查找转发: 以目的MAC和VLAN为键查找FDB,得到出端口列表。 5. 出端口处理: 对于每个出端口,检查该VLAN是否允许通过,并决定标签操作(根据出端口类型和VLAN配置,决定发送带标签还是无标签帧)。 6. 转发: 将帧发送到出端口。

Roce-Protocol-0024

路由协议

路径矢量,策略路由

边界网关协议路径属性与选路模型

描述BGP如何通过路径属性(如AS_PATH、NEXT_HOP、LOCAL_PREF、MED等)传播可达性信息,并基于策略和属性比较选择最佳路径,实现自治系统间的路由。

路径矢量: 携带所经过的AS路径, 防止环路。
策略控制: 基于策略决定路由的发布和选择。
增量更新: 仅传播变化。

路径矢量协议,策略路由,图论。

互联网核心路由,运营商之间。

AS路径: 所经过的AS序列。
下一跳: 下一跳IP地址。
本地优先级LOCAL_PREF,用于AS内选路。
多出口鉴别器MED,用于向相邻AS建议入口。

选路规则: 比较LOCAL_PREFAS_PATH长度、ORIGINMED等属性。
路由映射: 基于条件匹配和动作修改属性。

1. BGP消息:BGP通过UPDATE消息交换路由信息,包含网络层可达性信息(NLRI)和路径属性。2. 路径属性:a. 公认强制:必须所有BGP实现都识别,且必须包含在UPDATE中,如ORIGIN、AS_PATH、NEXT_HOP。b. 公认自选:必须识别,但不要求包含,如LOCAL_PREF。c. 可选传递:不要求识别,但如果收到应转发给邻居,如COMMUNITY。d. 可选非传递:不要求识别,且不应转发给邻居,如MED。3. 选路过程:当收到多条到达同一前缀的路由时,BGP路由器按顺序比较以下属性选择最佳路径:a. 权重(厂商特定,仅本地有效)。b. LOCAL_PREF:较高的优先。c. 本地发起:本地通过network或aggregate命令发起的路由优先于从邻居学到的。d. AS_PATH长度:较短者优先。e. ORIGIN:IGP < EGP < INCOMPLETE。f. MED:较低者优先。g. eBGP优于iBGP。h. 到NEXT_HOP的IGP度量:较小者优先。i. 如果配置了负载均衡,可以同时安装多条。4. 策略控制:通过路由映射(route-map)在入向和出向上过滤路由或修改属性。例如,可以设置LOCAL_PREF来影响AS内选路,设置MED来影响相邻AS的入向选路,通过过滤AS_PATH来避免经过特定AS。5. 在互联网中的应用:BGP是互联网的核心路由协议,各个自治系统通过BGP交换路由信息。路由策略体现了商业关系(如提供商-客户、对等)。变量/常量NLRI: 网络层可达性信息(前缀)。 AS_PATH: AS路径属性。 NEXT_HOP: 下一跳IP地址。 LOCAL_PREF: 本地优先级。 MED: 多出口鉴别器。 ORIGIN: 路由来源(IGP, EGP, incomplete)。

路径矢量: 通过AS_PATH防止环路。
策略丰富: 可以通过多种属性控制路由选择。
增量更新: 仅发送变化的路由。
TCP承载: 使用TCP作为传输协议,可靠。

1. 建立连接: 与BGP邻居建立TCP连接(端口179)。 2. 交换路由: 通过UPDATE消息交换路由信息。 3. 输入策略: 对从邻居学到的路由应用入向路由映射,修改属性或过滤。 4. 路由选择: 根据选路规则选择最佳路径,安装到路由表。 5. 输出策略: 对要发布给邻居的路由应用出向路由映射。 6. 路由传播: 将路由通过UPDATE消息发布给其他邻居。 7. 维护: 通过KEEPALIVE消息保活,通过NOTIFICATION消息报告错误。

Roce-Protocol-0025

交换协议

最短路径桥接,多路径

最短路径桥接(802.1aq)IS-IS路由计算模型

描述SPB如何基于IS-IS协议,在二层网络中计算所有节点对之间的最短路径,并为每个服务实例(VLAN)构建无环的转发树,实现多路径负载均衡。

链路状态协议: 使用IS-IS传播拓扑信息。
最短路径树: 为每个节点计算到其他节点的最短路径树。
多拓扑: 支持多个逻辑拓扑。

IS-IS协议,最短路径树,二层多路径。

数据中心二层网络,运营商以太网。

节点ID: 交换机的系统ID。
链路度量: 链路开销。
服务标识符I-SID,标识服务实例。

最短路径计算: 使用Dijkstra算法计算最短路径树。
等开销多路径: 存在多条等开销路径时,均可使用。

1. SPB概述:SPB是IEEE 802.1aq标准,旨在提供大规模的二层网络,支持多路径、快速收敛和流量工程。它基于IS-IS协议,通过扩展IS-IS PDU来传递网络拓扑和服务实例信息。2. 链路状态数据库:每个SPB交换机运行IS-IS,与邻居交换链路状态信息,构建全网统一的LSDB。LSDB中包含所有交换机的节点信息和链路信息(包括链路度量)。3. 最短路径计算:每个交换机以自己为根,使用Dijkstra算法计算到所有其他交换机的最短路径树。如果存在多条等开销路径,SPB可以同时使用它们进行负载均衡。4. 服务实例:服务实例由I-SID标识,类似于VLAN,但范围是全局的(24位)。每个服务实例可以关联一组接入交换机(边缘交换机)。5. 转发树构建:对于每个服务实例,SPB构建两组无环转发树:a. 基于VLAN的转发树:为每个服务实例计算一棵以某个节点为根的最短路径树,用于转发该服务实例的BUM流量。b. 基于MAC的转发树:对于单播流量,使用源节点到目的节点的最短路径。6. 转发:数据帧进入边缘交换机时,根据其I-SID(在帧头中)确定服务实例。然后根据目的MAC和I-SID查找转发表,转发表条目是通过SPB计算得到的,包含出端口和下一跳。7. 优势:相比传统的生成树协议,SPB支持多路径,提高了链路利用率;收敛速度快;支持大规模二层网络。变量/常量System_ID: 交换机的系统标识符。 Bridge_ID: 桥ID。 I-SID: 服务标识符。 LSDB: 链路状态数据库。 SPT: 最短路径树。

IS-IS扩展: 使用IS-IS传播拓扑和服务信息。
最短路径树: 为每个节点计算到其他节点的最短路径。
多路径: 支持等开销多路径负载均衡。
服务实例: 通过I-SID标识服务, 全局唯一。

1. IS-IS邻居发现: 交换机通过发送IS-IS Hello报文发现邻居。 2. 链路状态同步: 交换LSP,同步LSDB。 3. 最短路径计算: 每个交换机以自己为根运行Dijkstra算法,计算到所有其他交换机的最短路径树。 4. 服务实例通告: 边缘交换机通过LSP通告其连接的服务实例(I-SID)。 5. 转发树计算: 对于每个服务实例,计算无环转发树。 6. 转发表生成: 根据最短路径树和转发树生成转发表。 7. 数据转发: 根据目的MAC和I-SID查找转发表,从相应端口转发。

Roce-Protocol-0026

路由协议

距离矢量,环路避免

增强型内部网关路由协议(EIGRP)弥散更新算法模型

描述EIGRP使用的DUAL算法,通过维护可行距离、报告距离和可行后继,实现无环路由和快速收敛。当最优路径失效时,如果有可行后继,可立即切换,无需重新计算。

可行条件: 邻居到达目的地的报告距离小于当前可行距离,则该邻居为可行后继。
无环: 可行条件保证无环。
快速收敛: 有可行后继时立即切换。

弥散更新算法,距离矢量,无环路由。

企业网络,小型数据中心。

可行距离FD,当前到达目的地的最佳距离。
报告距离RD,邻居报告的到达目的地的距离。
可行后继: 满足可行条件的邻居。

可行条件RD_neighbor < FD_current
后继: 当前使用的最优下一跳。
可行后继: 满足可行条件的备用下一跳。

1. 邻居发现:EIGRP路由器通过Hello报文发现邻居,建立邻接关系。2. 拓扑表:每个路由器维护一个拓扑表,包含所有从邻居学到的到达目的网络的路由条目,每条路由包含以下信息:目的网络、后继、可行后继、可行距离、报告距离等。3. 可行距离和报告距离:a. 可行距离:路由器到达目的网络的最佳距离。b. 报告距离:邻居报告给路由器的距离,即邻居到达目的网络的距离。4. 可行条件:如果邻居的报告距离小于路由器当前的可行距离,则该邻居满足可行条件,成为可行后继。可行条件保证无环,因为如果邻居报告的距离比路由器自己当前的最佳距离还短,那么通过该邻居不会形成环路。5. 后继和可行后继:a. 后继:当前使用的下一跳,是所有下一跳中距离最小的(即最优路径)。b. 可行后继:满足可行条件的邻居,是备份路径。当后继失效时,如果有可行后继,可以立即将可行后继提升为后继,无需重新计算,实现快速收敛。6. 扩散计算:如果没有可行后继,路由器将启动扩散计算,向邻居查询是否有到达目的地的路径。在收到所有邻居的回复后,重新计算距离,并选择新的后继。7. 度量计算:EIGRP使用复合度量,考虑带宽、延迟、可靠性、负载等,默认仅使用带宽和延迟。变量/常量FD: 可行距离。 RD: 报告距离。 Successor: 后继。 Feasible Successor: 可行后继。 Neighbor: 邻居。

可行条件: 保证无环的关键。
拓扑表: 存储所有邻居的路由信息。
快速收敛: 有可行后继时无需重新计算。
复合度量: 基于带宽和延迟等。

1. 邻居发现: 发送Hello报文建立邻居关系。 2. 拓扑交换: 与邻居交换拓扑信息,更新拓扑表。 3. 计算可行距离: 对于每个目的地,基于拓扑表计算可行距离和后继。 4. 检查可行条件: 对于每个邻居,检查其报告距离是否小于可行距离,若是则标记为可行后继。 5. 路由安装: 将后继路由安装到路由表。 6. 故障处理: 如果后继失效,检查是否存在可行后继,若存在则立即切换;若不存在,则启动扩散计算,向邻居查询路径,重新计算。

Roce-Protocol-0027

交换协议

链路聚合,负载均衡

链路聚合控制协议(LACP)状态机与聚合模型

描述LACP如何将多个物理链路捆绑成一个逻辑链路聚合组,提供高带宽和冗余。通过交换LACPDU,协商聚合组的形成,并监控链路状态。

链路聚合: 将多个物理链路聚合成一个逻辑链路。
负载均衡: 流量在成员链路上分布。
冗余: 成员链路故障不影响聚合组。

链路聚合,状态机,负载均衡。

交换机间互联,服务器高可用。

聚合组LAG,由多个物理链路组成。
系统优先级: 用于确定主动端。
端口优先级: 用于选择活动端口。

状态机: 初始化, 超时, 聚合, 分发, 默认, 过期。
负载均衡算法: 基于流哈希选择成员链路。

1. LACP协议:LACP是IEEE 802.3ad标准的一部分,允许交换机自动协商将多个物理端口聚合成一个逻辑通道。2. LACPDU:交换机周期性地发送LACPDU,包含系统ID、端口ID、密钥、状态等信息。3. 聚合协商:a. 参数匹配:只有系统ID、密钥、端口参数(速度、双工等)匹配的端口才能聚合在一起。b. 主动端选举:比较系统优先级和系统MAC地址,值小者为主动端。主动端决定哪些端口处于活动状态。c. 端口选择:主动端根据端口优先级和端口号选择活动端口,最多可达聚合组允许的最大端口数。4. 状态机:端口有以下状态:a. 聚合:端口已聚合到聚合组中。b. 非聚合:端口未聚合。c. 分发:端口可以发送和接收用户数据。d. 非分发:端口不发送用户数据。e. 默认:端口使用默认参数。f. 过期:未收到LACPDU超时。g. 初始化:初始化状态。5. 负载均衡:聚合组形成后,流量通过哈希算法(基于源/目的MAC、IP、端口等)分布到各成员链路上,保证同一流的数据包走同一链路。6. 故障切换:当成员链路故障时,LACP会检测到并将该链路从聚合组中移除,流量重新哈希到剩余链路。7. 在交换机中的应用:交换机芯片支持链路聚合,硬件实现流量分布和故障检测。变量/常量System_ID: 系统标识符(优先级+MAC)。 Port_ID: 端口标识符(优先级+端口号)。 Key: 聚合密钥,标识聚合组。 State: 端口状态(聚合、分发等)。

自动协商: 通过LACPDU自动协商聚合。
活动端口选择: 主动端选择活动端口。
负载均衡: 基于流哈希分布流量。
故障切换: 成员链路故障时自动移除。

1. 初始化: 端口启用LACP,处于初始化状态。 2. 发送LACPDU: 周期发送LACPDU,包含系统ID、端口ID、密钥、状态。 3. 接收LACPDU: 接收对端的LACPDU。 4. 参数匹配: 检查系统ID、密钥等是否匹配。 5. 状态同步: 如果匹配,端口进入聚合状态,并与对端同步状态。 6. 端口选择: 主动端根据优先级选择活动端口,进入分发状态。 7. 流量分发: 通过哈希算法将流量分布到活动端口。 8. 监控: 持续监控链路状态和LACPDU,故障时端口移出聚合组。

Roce-Protocol-0028

交换协议

生成树,快速收敛

快速生成树协议(RSTP)状态与角色模型

描述RSTP如何通过引入新的端口角色和状态,以及快速收敛机制,在保持与STP兼容的同时,将收敛时间从30-50秒缩短到亚秒级。

快速收敛: 利用提议-同意机制快速迁移到转发状态。
端口角色: 根端口, 指定端口, 替代端口, 备份端口。
端口状态: 丢弃, 学习, 转发。

生成树协议,快速收敛。

二层网络环路避免。

端口角色: 根端口, 指定端口, 替代端口, 备份端口。
端口状态: 丢弃, 学习, 转发。

提议-同意机制: 在点对点链路上,通过交换BPDU快速迁移到转发状态。
同步: 在收到提议后,阻塞其他端口,然后发送同意。

1. 端口角色:RSTP定义了4种端口角色:a. 根端口:非根桥上去往根桥的最优路径端口。b. 指定端口:每个网段上负责转发流量的端口。c. 替代端口:到根桥的备用路径端口,当根端口失效时,替代端口可以立即转换为根端口。d. 备份端口:为指定端口提供备份,当指定端口失效时,备份端口可以转换为指定端口。2. 端口状态:RSTP将端口状态简化为3种:丢弃、学习、转发。丢弃状态对应STP的禁用、阻塞、侦听状态。3. 快速收敛机制:a. 提议-同意机制:在点对点链路上,当两个交换机连接时,下游交换机会向上游交换机发送提议BPDU,上游交换机收到后,将下游端口设置为指定端口并进入转发状态,然后回复同意BPDU。下游交换机收到同意后,将其端口设置为根端口并立即进入转发状态。这样就无需等待转发延迟计时器。b. 同步:在提议-同意过程中,下游交换机在收到提议后,会阻塞其他所有端口(除了边缘端口),然后发送同意。这样可以确保不会引入临时环路。4. 边缘端口:连接到终端设备的端口可以配置为边缘端口,这些端口立即进入转发状态,不参与生成树计算。5. 拓扑变化机制:RSTP中,只有非边缘端口进入转发状态才会触发拓扑变化。检测到拓扑变化的交换机会向所有非边缘指定端口发送TC BPDU,收到TC BPDU的交换机会清空MAC地址表(除了收到TC的端口),从而快速收敛。6. 与STP兼容:RSTP可以向后兼容STP,当检测到邻居运行STP时,会自动切换到STP兼容模式。变量/常量port_role: 端口角色。 port_state: 端口状态。 proposal_flag: 提议标志。 agreement_flag: 同意标志。 edge_port: 是否为边缘端口。

端口角色细化: 增加了替代端口和备份端口。
快速过渡: 通过提议-同意机制快速进入转发状态。
边缘端口: 连接到终端的端口立即转发。
拓扑变化快速传播: TC BPDU快速泛洪。

1. 选举根桥: 与STP相同,选举根桥。 2. 选举根端口和指定端口: 与STP类似,但增加了替代端口和备份端口的识别。 3. 提议-同意: 在点对点链路上,上游交换机发送提议,下游交换机阻塞其他端口后回复同意,双方端口快速进入转发状态。 4. 边缘端口: 边缘端口立即进入转发状态。 5. 拓扑变化处理: 当非边缘端口进入转发状态,交换机产生TC BPDU,泛洪到所有非边缘指定端口,收到TC的交换机清空MAC地址表。

Roce-Protocol-0029

路由协议

距离矢量,毒性反转

路由信息协议(RIP)距离矢量与毒性反转模型

描述RIP协议如何通过距离矢量算法交换路由信息,并使用毒性反转、水平分割、触发更新等机制防止路由环路,但最大跳数限制为15。

距离矢量: 每个路由器向邻居通告到达目的网络的距离(跳数)。
毒性反转: 将失效路由的跳数设为16(无穷大)并通告,以清除路由。
最大跳数: 15跳,16为不可达。

距离矢量算法,环路避免。

小型网络, legacy网络。

跳数hops,到达目的网络经过的路由器数。
无穷大16,表示不可达。
计时器: 更新定时器(30秒), 失效定时器(180秒), 刷新定时器(120秒)。

距离矢量更新D_x(y) = min_v { c(x,v) + D_v(y) },其中c(x,v)为x到邻居v的成本。
毒性反转: 如果通过邻居v到达网络y,则向v通告到达y的距离为无穷大。

1. 距离矢量算法:每个路由器维护一张路由表,包含目的网络、下一跳、距离(跳数)。定期(每30秒)向所有邻居发送整个路由表(路由更新)。当从邻居收到路由更新时,比较到达同一目的网络的距离,如果邻居提供的距离加1小于当前距离,则更新路由表。2. 环路避免机制:a. 最大跳数:最大跳数为15,16表示不可达,限制了网络规模。b. 水平分割:不从接收路由更新的接口再通告该路由。即如果路由的下一跳是某个邻居,则不会向该邻居通告该路由。c. 毒性反转:一种增强的水平分割,向邻居通告路由时,如果该路由的下一跳就是该邻居,则通告距离为无穷大(16)。这可以加速坏消息的传播。d. 触发更新:当路由变化时,立即发送更新,而不等待定期更新时间。e. 抑制计时器:当一条路由失效后,在一段时间内不接受关于该路由的更新,以防止旧的路由信息被重新使用。3. 路由失效:如果一条路由在180秒内没有更新,则将其距离设为16(不可达),并启动120秒的刷新计时器,在刷新计时器超时前,该路由仍保留在路由表中(标记为不可达),超时后删除。4. RIPv2改进:RIPv2支持无类路由、组播更新、认证等。5. 局限性:收敛慢,最大跳数限制,不适合大型网络。变量/常量D_x(y): 路由器x到网络y的距离。 c(x,v): x到邻居v的成本(RIP中为1)。 next_hop: 下一跳路由器。 timer_update: 更新定时器。 timer_invalid: 失效定时器。 timer_flush: 刷新定时器。

定期更新: 每30秒广播整个路由表。
跳数限制: 最大15跳。
毒性反转: 向下一跳路由器通告无穷大距离。
触发更新: 路由变化时立即更新。

1. 初始化: 路由器启动,初始化路由表,直连网络距离为0。 2. 定期更新: 每30秒向所有邻居发送路由表。 3. 接收更新: 从邻居接收路由更新。 4. 路由计算: 对更新中的每条路由,跳数加1,如果优于现有路由,则更新路由表。 5. 触发更新: 如果路由表变化,立即发送触发更新。 6. 失效处理: 如果180秒内没有收到某路由的更新,将其距离设为16,并启动120秒刷新计时器,超时后删除。

这15个模型涵盖了从芯片内部的PLL、SerDes均衡,到PCB级的串扰、电源谐振,到光模块的相干接收、EDFA,到交换网络的多播、负载均衡,以及多种路由协议和交换协议。这些模型从不同层次和角度揭示了交换机信元交换的实现细节。

编号

层级

核心理论

模型名称

目标与描述

精度与特征

理论基础

应用场景

数学要素

关键方程/状态机

数学模型/算法描述

实现步骤/工作流程

软硬件工具

Roce-ASIC-0015

集成电路级

模拟电路,时钟恢复

高速SerDes时钟数据恢复(CDR)模型

描述高速串行接口(如56G/112G SerDes)中从数据流中恢复时钟和重定时数据的电路,包括相位检测、环路滤波、压控振荡器等模块,以补偿信道带来的抖动和频偏。

高速: 处理速率达56Gbps或更高。
低抖动: 恢复时钟抖动需满足标准(如PCIe, Ethernet)。
自适应: 可适应不同信道特性。

锁相环, 相位检测, 模拟/混合信号电路。

交换芯片SerDes, 光模块DSP。

相位误差φ_e = φ_data - φ_vco
抖动: 时间间隔误差(TIE)。
环路带宽f_loop, 决定跟踪速度。
阻尼系数ζ

相位检测器特性V_pd = K_pd * φ_e
VCO特性f_vco = f_center + K_vco * V_ctrl
环路滤波器F(s), 通常为低通。

1. CDR结构: 通常基于锁相环(PLL)或延迟锁相环(DLL)。包括:a. 相位检测器: 比较输入数据边沿与恢复时钟的相位,产生误差信号。类型有bang-bang(二元)或线性相位检测器。b. 环路滤波器: 通常为低通滤波器,平滑误差信号,控制环路动态特性。c. 压控振荡器: 产生恢复时钟,频率受控制电压调整。d. 分频器(可选): 将VCO输出分频到所需频率。2. 工作原理: 输入数据流通常是不归零码,没有独立的时钟信息。CDR通过调整VCO的相位和频率,使恢复时钟的边沿与数据眼图的中心对齐,从而在最佳时刻对数据采样。3. 抖动容忍: CDR需要容忍输入数据中的抖动(如随机抖动、确定性抖动),环路带宽决定了跟踪抖动和抑制抖动的能力。4. 频偏补偿: 输入数据速率可能与本地参考时钟有频偏,CDR需能补偿一定范围内的频偏(如±300ppm)。5. 在SerDes中的应用: 现代SerDes通常采用基于数字PLL的CDR,其中相位检测和环路滤波可能部分或全部数字化,以节省面积和提高可配置性。6. 与均衡器的协同: CDR通常与均衡器(如CTLE、DFE)一起工作,均衡器补偿信道损耗,CDR恢复时钟。变量/常量f_data: 数据速率。 f_ref: 参考时钟频率。 φ_e: 相位误差。 V_ctrl: VCO控制电压。 K_pd: 相位检测器增益。 K_vco: VCO增益。 ω_n: 自然频率。 ζ: 阻尼系数。

相位检测: 二元(bang-bang)或线性相位检测。
环路带宽: 带宽大则跟踪快但抖动传递高。
抖动传递函数: 描述抖动从输入到输出的传递。
数字CDR: 数字环路滤波器, 数字控制振荡器。

1. 相位检测: 比较输入数据边沿和恢复时钟边沿,产生相位误差信号。 2. 环路滤波: 对误差信号进行滤波,产生控制电压。 3. 频率调整: 控制电压调整VCO频率,使恢复时钟相位与数据边沿对齐。 4. 数据重定时: 用恢复时钟对输入数据采样,得到重定时数据。 5. 自适应: 根据信道条件调整环路参数(如带宽)。

Roce-ASIC-0016

集成电路级

信号处理,均衡

高速SerDes自适应均衡器模型

描述高速串行链路中用于补偿信道损耗(如插入损耗、反射、串扰)的均衡技术,包括连续时间线性均衡器、判决反馈均衡器和前馈均衡器,通过自适应算法调整抽头系数以最小化误码率。

自适应: 抽头系数根据信道条件自适应调整。
多级均衡: 常组合使用CTLE、FFE、DFE。
高带宽: 均衡器带宽需覆盖奈奎斯特频率。

数字信号处理, 自适应滤波, 信道均衡。

高速串行接口, 背板, 光纤通道。

抽头系数w_i, 均衡器系数。
误差信号e[n] = d[n] - y[n]
均方误差MSE = E[e^2[n]]

均衡器输出y[n] = Σ w_i * x[n-i](FFE), 或 y[n] = x[n] - Σ w_i * d[n-i](DFE)。
LMS更新w_i[n+1] = w_i[n] + μ * e[n] * x[n-i]

1. 信道损耗: 高速信号经过PCB走线、连接器、电缆等信道后,高频分量衰减更大,导致码间干扰(ISI)。均衡器旨在补偿这些损耗,打开闭合的眼图。2. 均衡器类型: a. 连续时间线性均衡器: 一种模拟均衡器,提供高频增益,衰减低频,从而补偿信道的低通特性。通常位于接收端前端。b. 前馈均衡器: 一种线性滤波器,其输出是当前及过去输入的加权和。可以位于发送端(预加重)或接收端。发送端预加重增强高频分量,接收端FFE直接对信号滤波。c. 判决反馈均衡器: 非线性均衡器,利用先前符号的判决反馈来消除后光标ISI。由于反馈的是判决后的数据,不会放大噪声,但可能有错误传播。3. 自适应算法: 均衡器系数需要自适应调整以适应信道变化(如温度、电压)。常用最小均方算法:a. 定义误差信号e[n]为期望信号(如训练序列或判决输出)与均衡器输出之差。b. 通过LMS算法更新系数,使均方误差最小。c. 对于DFE,由于反馈的是判决值,更新公式为w_i[n+1] = w_i[n] + μ * e[n] * d[n-i],其中d[n-i]是判决后的数据。4. 训练序列: 在链路初始化时,发送已知的训练模式(如PRBS),接收端利用已知序列计算误差,快速收敛均衡器系数。5. 在SerDes中的应用: 现代高速SerDes(如56G PAM4)通常采用多级均衡:发送端FFE预加重、接收端CTLE、接收端DFE,可能还有数字滤波器。自适应算法可能结合LMS和最小均方误差准则。变量/常量x[n]: 接收到的采样序列。 y[n]: 均衡器输出。 d[n]: 期望信号(训练序列或判决输出)。 e[n]: 误差信号。 w_i: 均衡器抽头系数。 μ: 步长参数。 N_ffe: FFE抽头数。 N_dfe: DFE抽头数。

线性均衡: CTLE, FFE。
非线性均衡: DFE。
自适应算法: LMS, 递归最小二乘。
训练模式: PRBS, 其他已知序列。

1. 初始化: 发送训练序列,均衡器系数初始化为默认值。 2. 接收信号: 接收经过信道的信号,可能经过CTLE模拟均衡。 3. 采样: ADC对信号采样(如果使用数字均衡)。 4. 均衡滤波: FFE和/或DFE对采样值滤波。 5. 判决: 对均衡后信号进行判决,得到数据比特。 6. 误差计算: 比较判决输出与训练序列(训练模式)或利用判决导向(正常模式)计算误差。 7. 系数更新: 根据LMS算法更新均衡器系数。 8. 收敛: 重复步骤4-7直至系数收敛。 9. 正常操作: 切换到正常数据模式,可能继续使用判决导向自适应。

Roce-PCB-0017

PCB板级

电源完整性, 频域阻抗

交换机PCB电源分配网络(PDN)频域阻抗模型

在频域建模PDN阻抗,包括电压调节模块、去耦电容、电源/地平面、封装寄生参数等,通过频域分析确保在目标频率范围内(从DC到高频)的阻抗低于目标阻抗,以满足芯片的瞬态电流需求。

宽频带: 从DC到数百MHz甚至GHz。
分布参数: 考虑平面阻抗的分布特性。
多谐振点: 电容与寄生电感形成谐振。

电路理论, 分布参数电路, 阻抗分析。

高速数字系统电源设计。

PDN阻抗Z_PDN(f), 随频率变化。
目标阻抗Z_target = V * ripple% / I_max
谐振频率f_res = 1/(2π√(LC))

阻抗公式: 单个电容模型: Z_C(f) = ESR + j2πf ESL + 1/(j2πf C)
并联谐振: 多个电容并联可能产生反谐振峰。

1. PDN组件模型: a. VRM模型: 在低频(通常<100kHz),VRM通过闭环控制提供低阻抗。可以用输出阻抗Z_vrm(f)模型,通常表现为电感特性。b. 去耦电容模型: 每个去耦电容不是理想的,具有等效串联电阻、等效串联电感、电容。阻抗公式为Z_cap = ESR + j2πf ESL + 1/(j2πf C)。在自谐振频率处阻抗最小。c. 电源/地平面模型: 可以建模为传输线或二维分布RLC网格。其阻抗在低频表现为电阻,在高频表现为电感。d. 封装和芯片模型: 包括封装引脚电感、键合线电感、片上去耦电容。2. 频域阻抗曲线: 将所有这些组件在频域的阻抗并联和串联,得到从芯片焊盘看进去的PDN阻抗Z_PDN(f)。典型的阻抗曲线在低频由VRM主导,中频由去耦电容主导(出现多个谷点),高频由平面电感主导。3. 目标阻抗: 为确保电源噪声在允许范围内,PDN阻抗必须低于目标阻抗Z_target。目标阻抗由芯片允许的电压纹波(如±5%)和最大瞬态电流变化(di/dt)决定。4. 反谐振峰: 当不同电容的阻抗曲线交叉时,如果一个是感性另一个是容性,可能会产生并联谐振,导致阻抗峰值,可能超过目标阻抗。需要通过选择电容值、ESL、放置位置来避免。5. 优化方法: a. 电容选择: 选择不同容值、不同封装的电容,使其自谐振频率分布均匀,覆盖目标频段。b. 电容放置: 将高频电容尽可能靠近芯片电源引脚,以减小回路电感。c. 电源平面设计: 使用薄介质层以增大平面电容,使用多对电源/地层,减少平面电感。d. 过孔阵列: 使用多个过孔连接电源/地层,减少电感。6. 在交换机PCB中的挑战: 交换芯片功耗大,电流变化快,需要极低的PDN阻抗(可能低于1mΩ)。需要大量的去耦电容、优化的电源层设计和封装设计。变量/常量f: 频率。 Z_PDN(f): PDN阻抗。 Z_target: 目标阻抗。 C_i: 第i个电容的容值。 ESR_i: 第i个电容的等效串联电阻。 ESL_i: 第i个电容的等效串联电感。 L_plane: 电源平面电感。 R_plane: 电源平面电阻。

宽频分析: 从DC到GHz。
目标阻抗: 全频带阻抗需低于目标值。
电容谐振: 电容与寄生电感谐振, 阻抗最小。
反谐振: 不同电容相互作用可能产生阻抗峰值。

1. 设定目标阻抗: 根据芯片电压容限和最大瞬态电流计算目标阻抗曲线。 2. 组件建模: 建立VRM、去耦电容、电源平面、封装、芯片的频域阻抗模型。 3. 系统阻抗计算: 将各组件阻抗组合,计算从芯片焊盘看进去的阻抗Z_PDN(f)。 4. 对比与优化: 比较Z_PDN(f)与目标阻抗,在超标频段增加或调整去耦电容。 5. 迭代: 重复步骤3-4直至满足要求。 6. 时域验证: 进行时域瞬态分析,验证电压纹波。

Roce-PCB-0018

PCB板级

信号完整性,串扰

高速PCB并行总线串扰模型

建模PCB上相邻信号线之间的容性耦合和感性耦合(串扰),分析近端串扰和远端串扰,通过调整线间距、线长、介电常数、端接等参数来控制串扰,确保信号完整性。

近端与远端: 串扰分为近端串扰和远端串扰,特性不同。
耦合长度: 串扰与耦合长度、信号上升时间相关。
端接影响: 端接方式影响串扰幅度。

电磁耦合, 传输线理论, 模态分析。

高速并行总线(如DDR, PCIe)。

耦合系数K_b(后向串扰系数), K_f(前向串扰系数)。
近端串扰V_nearend
远端串扰V_farend

串扰公式: 对于均匀耦合传输线, 近端串扰: V_nearend = (1/4) * (C_m / C_0 + L_m / L_0) * (V_in * (1 - e^{-2t/τ})), 远端串扰: V_farend = (1/2) * (C_m / C_0 - L_m / L_0) * (t/τ) * V_in, 其中τ为传播延迟。

1. 串扰机理: 当信号在 aggressor 线上传播时,通过互电容和互电感在 victim 线上感应出噪声。a. 容性耦合: 由信号间电场引起,与信号电压变化率dV/dt成正比。b. 感性耦合: 由信号间磁场引起,与信号电流变化率dI/dt成正比。2. 串扰类型: a. 近端串扰: 发生在victim线上靠近驱动端的一端,与耦合长度成正比,达到饱和值。极性通常与aggressor信号相同。b. 远端串扰: 发生在victim线上远离驱动端的一端,与耦合长度和信号上升时间有关。对于均匀介质中的微带线,由于容性耦合和感性耦合系数相近,远端串扰通常很小;但在带状线中,两者相抵消,远端串扰可能更显著。3. 影响因素: a. 线间距: 串扰随间距增大而指数衰减。b. 耦合长度: 近端串扰随耦合长度增加而增加,直到饱和。远端串扰在长度小于饱和长度时随长度增加。c. 信号边沿: 边沿越快,串扰越大。d. 介质常数: 介电常数影响耦合系数。e. 端接: 端接可以减少反射,从而影响串扰。4. 建模方法: a. 解析模型: 对于简单的2线或3线系统,可以用耦合传输线方程求解。b. 电磁仿真: 使用3D电磁场求解器提取多端口S参数或SPICE模型。c. 电路仿真: 将提取的模型放入电路仿真器,加入驱动和接收模型进行时域仿真。5. 设计规则: 通常要求串扰低于一定的比例(如5%)。通过控制线间距(如3倍线宽)、减小平行走线长度、在关键信号间加地线屏蔽、使用差分信号等方式减少串扰。6. 在交换机PCB中的应用: 交换机中高速并行总线如DDR内存接口、芯片间互联,信号速率高,布线密集,串扰是主要挑战。需要精细的布局布线约束和仿真验证。变量/常量S: 线间距。 W: 线宽。 H: 到参考平面距离。 ε_r: 介电常数。 L_c: 耦合长度。 t_r: 信号上升时间。 C_m: 互容。 L_m: 互感。 C_0: 对地电容。 L_0: 自感。 V_nearend: 近端串扰电压。 V_farend: 远端串扰电压。

容性感性耦合: 串扰由互容和互感引起。
近端饱和: 近端串扰随耦合长度增加趋于饱和。
远端脉冲: 远端串扰表现为一个窄脉冲。
差分对串扰: 差分对间串扰较小。

1. 几何参数定义: 定义线宽、线间距、介质厚度、介电常数、耦合长度。 2. 电磁参数提取: 使用2D场求解器提取单位长度的电容矩阵和电感矩阵。 3. 建立模型: 构建耦合传输线SPICE模型(如W-element模型)。 4. 仿真: 在电路仿真器中加入驱动和接收模型,仿真串扰波形。 5. 评估: 测量串扰噪声峰值,与噪声容限比较。 6. 优化: 如果串扰过大,调整几何参数(如增加间距、减小平行长度)并重新仿真。

Roce-Optics-0019

光模块级

光电集成,硅光

硅基光电集成(硅光)调制器模型

描述基于硅波导的电光调制器,利用载流子浓度变化改变硅的折射率,从而调制通过的光波强度。包括马赫-曾德尔干涉仪或微环谐振器结构,以及高速电极设计。

高速: 调制速率可达50Gbps以上。
小尺寸: 硅波导尺寸在纳米量级,集成度高。
CMOS兼容: 可与CMOS工艺集成。

电光效应, 等离子色散效应, 波导光学。

硅光收发器, 光互连。

折射率变化Δn = - (e^2 λ^2 / (8π^2 c^2 ε_0 n)) * (ΔN_e / m_ce + ΔN_h / m_ch), 其中ΔN_eΔN_h为电子和空穴浓度变化。
相位变化Δφ = (2π/λ) Δn L

MZI传输函数I_out = I_in * (1 + cos(Δφ))/2
微环谐振条件2π n_eff L = m λ, m为整数。

1. 调制原理: 硅虽然没有强的线性电光效应,但可以通过载流子浓度变化改变折射率(等离子色散效应)。注入或耗尽载流子(电子和空穴)可以改变硅的折射率和吸收系数。2. 调制器结构: a. 马赫-曾德尔干涉仪: 输入光分束到两个臂,一个臂为相位调制器,通过载流子注入、耗尽或积累改变相位,另一个臂为参考。两束光干涉后,相位差转换为强度变化。b. 微环谐振器: 微环与直波导耦合。通过改变微环的折射率,改变其谐振波长,从而改变通过直波导的光强。微环调制器尺寸小,但对工艺变化敏感。3. 相位调制器实现: a. 载流子注入型: 采用PIN二极管结构,正向偏置时注入载流子,相位变化大,但速度受限于载流子寿命。b. 载流子耗尽型: 采用PN结,反向偏置时耗尽区宽度变化,改变载流子浓度,速度高但相位变化小。c. 积累型: 采用MOS电容结构,在积累层改变载流子浓度。4. 高速设计: 为了达到高速调制,需要减小RC时间常数。采用行波电极设计,使电信号和光信号速度匹配,获得高带宽。5. 性能参数: a. 调制深度: 输出光强的变化幅度。b. 3dB带宽: 调制响应下降3dB的频率。c. 插入损耗: 调制器本身的光功率损耗。d. 消光比: 导通和截止状态的光功率比。e. 驱动电压: 达到所需相位差所需的电压。6. 在硅光模块中的应用: 硅光调制器与硅波导、锗探测器、激光器(可能异质集成)集成在同一芯片上,实现高度集成的光收发器,用于数据中心短距互连。变量/常量Δn: 折射率变化。 Δα: 吸收系数变化。 ΔN: 载流子浓度变化。 V_π: 半波电压,产生π相位变化所需的电压。 L: 相位调制器长度。 V_drive: 驱动电压。 ER: 消光比。 IL: 插入损耗。 BW: 3dB带宽。

等离子色散效应: 载流子浓度变化改变折射率和吸收系数。
干涉/谐振: 利用干涉或谐振将相位变化转换为强度变化。
高速电极: 行波电极设计以获得高带宽。
CMOS集成: 与CMOS电子集成在同一芯片。

1. 结构设计: 设计波导结构(如脊形波导)和电极结构(PIN、PN或MOS)。 2. 静态特性: 计算不同偏压下载流子分布,进而计算折射率变化和相位变化。 3. 动态特性: 求解载流子输运方程和光波方程,得到调制响应。 4. 器件优化: 优化器件尺寸、掺杂等参数,权衡速度、损耗、驱动电压。 5. 版图与制造: 绘制版图,通过CMOS工艺制造。 6. 测试: 测试调制器的带宽、消光比、插入损耗等。

Roce-Optics-0020

光模块级

光电探测,噪声

高速光电探测器(如锗探测器)模型

描述基于锗或III-V族材料的光电探测器,将入射光信号转换为电流信号。包括吸收区、耗尽区、载流子输运、响应度、带宽、噪声等特性。

高响应度: 在目标波长(如1310nm, 1550nm)有高响应度。
高带宽: 响应带宽可达数十GHz。
低暗电流: 暗电流产生噪声。

光电效应, 载流子输运, 噪声理论。

光接收机, 光模块。

响应度R = I_ph / P_opt, 单位A/W。
量子效率η = (I_ph / q) / (P_opt / (hν))
带宽: 3dB带宽, 受限于载流子渡越时间和RC时间常数。
噪声等效功率NEP

光电流I_ph = R * P_opt
带宽限制f_3dB = 1 / √( (1/(2π f_tr)^2 + (RC)^2 ), 其中f_tr为渡越时间限制带宽。

1. 结构: 常见的光电探测器是PIN二极管。本征区(I区)是光吸收区,两侧是P型和N型区。光入射到I区,被吸收产生电子-空穴对。2. 工作原理: 在反向偏压下,耗尽区(主要是I区)内有强电场。光生载流子在电场作用下漂移,形成光电流。3. 关键参数: a. 响应度: 单位光功率产生的光电流,取决于量子效率。量子效率是每个入射光子产生的电子-空穴对数。为了提高响应度,需要让光在吸收区被充分吸收,因此吸收区需要足够厚,或采用波导结构增加光与物质的相互作用长度。b. 带宽: 受限于载流子渡越时间和RC时间常数。载流子渡越时间t_tr = d / v_d,其中d为耗尽区宽度,v_d为载流子饱和漂移速度。为了高速,需要减小耗尽区宽度,但这会降低量子效率。因此需要权衡。采用波导型探测器可以同时获得高效率和高速。c. 暗电流: 在无光照时,由于热激发等产生的电流。暗电流是噪声源,需要尽量降低。d. 噪声: 主要包括散粒噪声和热噪声。噪声等效功率是信噪比为1时所需的光功率,衡量灵敏度。4. 材料: 对于1310nm和1550nm通信波段,硅吸收效率低,因此常用锗(与硅工艺兼容)或III-V族材料(如InGaAs)作为吸收层。5. 在接收机中的应用: 光电探测器后接跨阻放大器将电流转换为电压并放大。探测器和TIA之间的寄生电容会影响带宽。6. 集成: 在硅光平台上,通常通过外延生长或键合集成锗探测器,实现片上探测。变量/常量P_opt: 入射光功率。 I_ph: 光电流。 R: 响应度。 η: 量子效率。 λ: 波长。 d: 吸收区厚度。 v_d: 载流子饱和漂移速度。 C_j: 结电容。 R_L: 负载电阻。 I_dark: 暗电流。 BW: 3dB带宽。

PIN结构: 本征吸收区, 两侧P和N区。
波导型: 光沿波导传播, 垂直探测, 提高效率。
带宽效率积: 带宽和量子效率需要权衡。
噪声: 散粒噪声, 热噪声。

1. 光吸收: 光入射到吸收区,被吸收产生电子-空穴对。 2. 载流子输运: 在电场作用下,电子和空穴向两极漂移。 3. 电流产生: 漂移的载流子形成光电流,在外电路产生电流。 4. 带宽限制: 载流子渡越时间和RC常数限制带宽。 5. 噪声: 散粒噪声(来自信号光和暗电流)和热噪声叠加。 6. 信号放大: 光电流输入到TIA进行放大。

Roce-Switch-0021

交换网络

多播, 复制

多播交换与包复制引擎模型

描述交换机中多播数据包的复制和转发机制,包括多播组管理、多播转发表、以及复制引擎(在输入端口、输出端口或交叉点复制)的设计,确保高效、无丢包的多播转发。

多播组: 一组接收者, 用多播地址标识。
复制: 一个输入包复制到多个输出端口。
避免环路: 多播转发需避免形成环路。

多播转发, 复制机制, 生成树。

IPTV, 视频会议, 软件分发。

多播组G, 一组输出端口集合。
多播转发表: 条目(多播地址, 出端口列表)
复制因子: 每个多播包复制的份数。

多播转发: 对每个多播组G, 从入端口复制到所有出端口 ∈ G
生成树: 多播转发沿生成树进行, 避免环路。

1. 多播组管理: 交换机通过多播路由协议(如PIM)或组管理协议(如IGMP snooping)学习多播组信息,建立多播转发表。转发表将多播地址映射到一组出端口。2. 复制位置: a. 输入复制: 在输入端口将多播包复制多份,每份发往不同的输出端口。这需要输入端口有足够的带宽将多份副本发送到交换结构。b. 输出复制: 单播包通过交换结构发送到所有目标输出端口,在输出端口复制。这需要交换结构支持多播,即一个输入可同时发往多个输出。c. 交叉点复制: 在交叉开关内部复制,例如使用多播感知的调度算法。3. 交换结构支持: 交叉开关需要支持多播,即一个输入可以同时连接到多个输出。这需要调度算法能够处理多播请求。一种方法是将多播请求拆分为多个单播请求,但这可能效率低下。更好的方法是在调度算法中直接支持多播。4. 避免环路: 在多播中,环路会导致数据包被无限复制。通过生成树协议或多播路由协议(如PIM)确保多播转发路径无环。5. 缓冲管理: 多播包在复制前需要存储在缓冲区中。复制后,每个副本可以独立调度。6. 在交换机芯片中的实现: 现代交换芯片通常支持多播。多播组由组ID标识。当多播包进入交换机,根据目的多播地址查找组ID,然后根据组ID得到输出端口掩码。复制引擎根据掩码将包复制到多个输出队列。调度器需要确保多播包在所有目标端口都被调度。变量/常量MGID: 多播组标识符。 port_mask: 输出端口位图,每一位表示一个端口是否在组中。 replication_factor: 复制因子,即port_mask中1的个数。 input_queue: 输入队列。 output_queues: 输出队列数组。

复制位置: 输入, 输出, 或交叉点复制。
组管理: 通过协议学习多播组成员。
多播调度: 调度算法需处理多播请求。
避免环路: 通过生成树或RPF检查。

1. 多播包到达: 输入端口收到多播包,提取目的多播地址。 2. 查找: 查多播转发表,得到输出端口掩码。 3. 复制: 根据掩码,复制多份包副本。复制可能发生在输入端口、交换结构内部或输出端口。 4. 调度: 每个副本被调度到相应的输出队列。 5. 转发: 输出端口将包发送出去。 6. 组管理: 运行IGMP snooping或PIM,动态更新多播转发表。

Roce-Switch-0022

交换网络

负载均衡, 拥塞控制

多路径负载均衡(如ECMP)模型

描述在多条等价路径上分发流量的机制,以充分利用网络带宽、提高吞吐量、实现容错。包括流分类、路径选择算法(如哈希)、以及避免重排序的方法。

等价路径: 多条到达同一目的地的等开销路径。
流保持: 同一流的数据包走同一路径,避免乱序。
负载均衡: 流量均匀分布在多条路径上。

负载均衡, 流分类, 哈希。

数据中心网络, 运营商网络。

路径集合P = {p1, p2, ..., p_n}, 到达同一目的地的n条等价路径。
哈希键: 如五元组(源IP, 目的IP, 源端口, 目的端口, 协议)。
哈希值hash(key) mod n用于选择路径。

哈希函数h(key) → {0, 1, ..., n-1}
流定义: 同一五元组的数据包属于同一流。

1. 等价路径: 路由协议(如OSPF、BGP)或SDN控制器可以计算多条到达同一目的地的等开销路径。2. 流分类: 为了保持数据包顺序,同一流的所有数据包应走同一路径。流通常由五元组(源IP、目的IP、源端口、目的端口、协议)定义。有时为了更细的粒度,可能使用更多字段(如VLAN、MPLS标签)。3. 路径选择: 对流的五元组进行哈希,将哈希值映射到路径之一。常用的哈希算法包括CRC、MD5等。为了在路径数变化时最小化流重分布,可以使用一致性哈希。4. 负载均衡粒度: a. 流级: 同一流的所有包走同一路径。简单,但可能导致负载不均衡(如大象流)。b. 包级: 每个包独立选择路径。可以实现更细的负载均衡,但会导致乱序。通常不采用。c. 流let级: 将流分割成小块,每个块独立选择路径,但块足够大以避免乱序。5. 重排序问题: 如果同一流的数据包走不同路径,由于路径延迟不同,可能导致接收端乱序。这会影响TCP性能。因此,通常采用流级负载均衡。6. 路径故障处理: 当一条路径故障时,哈希表需要更新,将受影响的流重新映射到其他路径。为了最小化影响,可以使用一致性哈希,使得只有少量流需要重映射。7. 在交换机中的实现: 交换机硬件通常支持ECMP。转发表中,一个前缀对应多个下一跳。当数据包匹配该前缀时,根据五元组哈希结果从多个下一跳中选择一个。哈希算法通常可配置。变量/常量flow_key: 流标识符,如五元组。 n: 等价路径数量。 path_index: 路径索引,path_index = hash(flow_key) mod nhash_function: 哈希函数,如CRC16。 next_hop_list: 下一跳列表。

流保持: 同一流走同一路径。
哈希: 通过哈希将流映射到路径。
一致性哈希: 路径数变化时最小化流重分布。
等价路径: 多条等开销路径。

1. 路径计算: 路由协议或控制器计算到目的地的等价路径,并下发到交换机。 2. 流识别: 对到达的数据包,提取五元组(或其他字段)作为流键。 3. 哈希计算: 计算流键的哈希值。 4. 路径选择: 哈希值对路径数取模,得到路径索引。 5. 转发: 根据路径索引选择下一跳,转发数据包。 6. 路径监控: 监控路径状态,如果某路径失效,从等价路径集中移除,并更新哈希表(或使用一致性哈希避免更新)。

Roce-Protocol-0023

交换协议

VLAN, 隔离

虚拟局域网(VLAN)标签处理与转发模型

描述基于IEEE 802.1Q标准的VLAN标签的添加、删除、替换,以及交换机根据VLAN ID进行流量隔离和转发的机制,包括入口处理、VLAN表查找、出口处理。

标签格式: 4字节VLAN标签, 包含12位VLAN ID。
端口类型: 接入端口, 干线端口。
VLAN隔离: 不同VLAN间流量隔离。

IEEE 802.1Q, VLAN, 二层隔离。

企业网络, 数据中心网络。

VLAN ID: 12位, 范围1-4094。
优先级: 3位, 用于CoS。
TPID: 0x8100, 标识802.1Q标签。

标签处理: 入口: 打标签; 出口: 剥标签或保留标签。
VLAN表(VLAN ID, 端口成员列表)

1. VLAN标签格式: 在以太网帧的源MAC地址和类型/长度字段之间插入4字节的802.1Q标签。包括2字节TPID(0x8100)、3位优先级、1位CFI、12位VLAN ID。2. 端口类型: a. 接入端口: 通常连接终端设备。接收未标记的帧,根据端口默认VLAN(PVID)打上标签。发送时剥除标签。b. 干线端口: 连接交换机之间。通常允许多个VLAN的带标签帧通过。接收时,如果帧带标签,则保留标签;如果未带标签,则根据PVID打标签。发送时,根据出口规则决定是否保留标签。3. VLAN表: 交换机维护VLAN表,记录每个VLAN包含哪些端口(即哪些端口属于该VLAN)。只有同一VLAN内的端口才能转发流量(除非有路由器或三层交换机介入)。4. 转发过程: a. 入口处理: 根据端口类型和帧是否带标签,决定帧所属的VLAN,并打上相应的VLAN标签。b. 查找: 根据目的MAC地址和VLAN ID查找MAC表,得到出端口。如果找不到,则在VLAN内泛洪。c. 出口处理: 根据出端口的类型(接入或干线)和VLAN允许列表,决定是否保留标签。对于接入端口,剥除标签后发送;对于干线端口,如果该VLAN在允许列表中,则带标签发送(或根据本地VLAN配置决定是否剥标签)。5. VLAN间路由: 要实现不同VLAN间通信,需要三层设备(路由器或三层交换机)。三层交换机具有虚拟接口(SVI),每个VLAN对应一个SVI,通过IP转发实现VLAN间路由。6. 在交换机芯片中的实现: 交换芯片硬件支持VLAN标签的识别、添加、删除、替换。MAC表查询时,需要同时匹配MAC地址和VLAN ID。变量/常量VLAN_ID: 12位VLAN标识。 PVID: 端口默认VLAN ID。 TPID: 标签协议标识,0x8100。 ingress_port: 入端口。 egress_port: 出端口。 MAC_table: MAC地址表,条目为(MAC, VLAN_ID, port)VLAN_table: VLAN表,条目为(VLAN_ID, port_list)

标签处理: 入口打标签, 出口剥标签。
端口类型: 接入端口和干线端口行为不同。
MAC表查询: 基于MAC地址和VLAN ID。
VLAN间路由: 需要三层设备。

1. 接收帧: 从端口接收以太网帧。 2. 标签识别: 检查是否有802.1Q标签,读取VLAN ID(如果有)。 3. 入口处理: 根据端口类型和帧标签,确定帧的VLAN ID(如果端口是接入端口且帧无标签,使用PVID)。 4. 查找: 以目的MAC地址和VLAN ID为键查找MAC表,得到出端口列表(如果未找到,则在VLAN内泛洪)。 5. 出口处理: 对于每个出端口,检查该端口是否允许该VLAN通过。如果允许,则根据端口类型决定是否保留标签:如果是接入端口,剥除标签后发送;如果是干线端口,通常保留标签发送(除非配置为本征VLAN)。 6. 发送帧: 将帧从出端口发送出去。

Roce-Protocol-0024

路由协议

路径矢量, 策略

边界网关协议(BGP)路径矢量与决策过程模型

描述BGP如何通过路径矢量算法交换自治系统之间的可达性信息,以及基于属性(如AS_PATH、NEXT_HOP、LOCAL_PREF、MED)的决策过程,选择最佳路径并防止路由环路。

路径矢量: 携带所经过的AS列表, 用于环路检测。
策略路由: 基于策略而非单纯度量选择路径。
增量更新: 仅发送变化的路由更新。

路径矢量协议, 策略路由, 分布式算法。

互联网骨干, 跨域路由。

AS_PATH: 路径属性, 记录路径所经过的AS序列。
LOCAL_PREF: 本地优先级, 用于出站流量控制。
MED: 多出口鉴别器, 用于入站流量影响。
NEXT_HOP: 下一跳IP地址。

决策过程: 1. 最高LOCAL_PREF; 2. 最短AS_PATH; 3. 最低ORIGIN类型; 4. 最低MED; ...
环路检测: 如果收到的更新中AS_PATH包含自己的AS号, 则拒绝。

1. BGP对等会话: BGP运行在TCP端口179上,在路由器之间建立对等会话(iBGP用于同一AS内,eBGP用于不同AS间)。2. 路径属性: BGP路由更新包含网络前缀和一系列路径属性,重要属性包括:a. AS_PATH: 所经过的AS序列,用于环路检测和路径选择。b. NEXT_HOP: 下一跳IP地址。c. LOCAL_PREF: 本地优先级,用于在AS内影响出站流量选择。d. MED: 多出口鉴别器,用于向邻居AS建议入站流量选择。e. ORIGIN: 路由来源(IGP、EGP、不完整)。f. COMMUNITY: 标记路由,便于应用策略。3. 决策过程: 当BGP路由器收到通往同一前缀的多条路径时,按顺序应用以下规则选择最佳路径:a. 忽略下一跳不可达的路由。b. 选择具有最高LOCAL_PREF的路由。c. 选择具有最短AS_PATH的路由。d. 选择最低ORIGIN类型(IGP < EGP < INCOMPLETE)。e. 选择最低MED值。f. 优先eBGP over iBGP。g. 选择到下一跳IGP度量最低的路径。h. 如果配置了负载均衡,可以安装多条路径。i. 选择BGP路由器ID最小的路径。4. 环路防止: 通过AS_PATH属性,如果路由器在收到的AS_PATH中看到自己的AS号,则拒绝该路由,防止环路。5. 路由聚合: 可以聚合多个更具体的前缀为一个聚合前缀,减少路由表规模。6. 策略控制: BGP的强大之处在于策略控制。通过路由映射、过滤器等工具,可以基于AS_PATH、COMMUNITY等属性控制路由的接收、发布和修改。7. 在SDN中的应用: SDN控制器可以作为一个BGP speaker,与物理网络中的BGP路由器对等,学习全网路由,并基于全局策略计算最佳路径,通过OpenFlow等协议下发流表。变量/常量prefix: IP前缀。 AS_PATH: AS路径列表。 LOCAL_PREF: 本地优先级。 MED: 多出口鉴别器。 NEXT_HOP: 下一跳IP地址。 BGP_table: BGP路由表,包含多条路径及其属性。 best_path: 最佳路径。

路径矢量: 记录路径用于环路检测和策略应用。
决策过程: 多属性比较, 顺序重要。
策略丰富: 基于属性过滤和修改路由。
增量更新: 仅发送变化的路由更新。

1. 建立对等会话: 与BGP邻居建立TCP连接,交换OPEN消息。 2. 交换路由: 交换所有BGP路由(通过UPDATE消息)。 3. 接收更新: 收到UPDATE消息,验证并检查AS_PATH是否包含自己的AS(若是则丢弃)。 4. 运行决策过程: 对于同一前缀的多条路径,运行决策过程选择最佳路径。 5. 安装路由: 将最佳路径安装到IP路由表中。 6. 发布路由: 根据出站策略,将最佳路径发布给其他BGP邻居。 7. 保持激活: 定期发送KEEPALIVE消息保持会话。 8. 增量更新: 当路由变化时,发送增量UPDATE消息。

Roce-Protocol-0025

交换协议

链路聚合, 负载均衡

链路聚合组(LAG)与负载均衡模型

描述将多个物理端口捆绑成一个逻辑端口(链路聚合组)的机制,以提高带宽、提供冗余和负载均衡。包括成员端口管理、流量分发算法(如基于哈希)、以及故障切换。

逻辑端口: 多个物理端口作为一个逻辑端口。
负载均衡: 流量在成员端口间分发。
故障切换: 成员端口故障时流量切换到其他端口。

IEEE 802.1ax, 链路聚合, 负载均衡。

交换机上行链路, 服务器网卡绑定。

LAG ID: 链路聚合组标识符。
成员端口: 物理端口列表。
哈希键: 用于选择成员端口的字段组合。

流量分发member_index = hash(flow_key) mod N, 其中N为活动端口数。
故障检测: 通过LACP或定期检测。

1. 链路聚合组: 将多个物理端口捆绑成一个逻辑端口,称为聚合组。上层协议(如生成树、路由协议)将LAG视为一个逻辑端口。2. 成员管理: 通过链路聚合控制协议(LACP)动态管理成员端口,或静态配置。LACP通过交换LACPDU来协商聚合。3. 流量分发: 为了保持数据包顺序,同一流的数据包应走同一物理端口。分发算法通常基于流的哈希值选择端口。哈希键可以包括源/目的MAC地址、IP地址、端口号、VLAN ID等。可以配置不同的哈希键组合以适应不同流量模式。4. 负载均衡模式: a. 基于流的负载均衡: 同一流的所有包走同一端口。b. 基于包的负载均衡: 每个包独立选择端口,但会导致乱序,通常不推荐。5. 故障切换: 当成员端口故障时,LAG自动将流量重新分配到剩余的活动端口。故障检测可以通过物理层信号丢失、LACP超时或定期探测实现。6. 链路聚合控制协议: LACP是IEEE 802.1ax标准的一部分,用于自动协商聚合。设备通过发送LACPDU通告自己的系统和端口信息,协商后决定哪些端口可以聚合。7. 在交换机中的实现: 交换芯片硬件支持LAG。配置LAG后,芯片内部为LAG分配一个逻辑端口号。流量分发逻辑根据配置的哈希字段计算哈希值,然后映射到物理端口。MAC表学习基于逻辑端口,而不是物理端口。变量/常量LAG_ID: 链路聚合组标识符。 member_ports: 成员物理端口列表。 active_ports: 当前活动端口列表。 hash_key: 哈希字段组合(如src MAC, dst MAC, VLAN ID, src IP, dst IP, src port, dst port)。 hash_function: 哈希函数。 N_active: 活动端口数量。

逻辑端口: 多个物理端口捆绑为一个逻辑端口。
流保持: 同一流走同一物理端口。
LACP: 动态协商聚合。
故障切换: 自动切换到活动端口。

1. 配置: 创建LAG,将物理端口加入LAG。 2. 协商: 如果启用LACP,与对端交换LACPDU,协商聚合参数。 3. 流量分发: 当数据包需要从LAG发送时,提取哈希键字段,计算哈希值,然后对活动端口数取模,得到选择的物理端口。 4. 发送: 从选定的物理端口发送数据包。 5. 故障检测: 定期检测成员端口状态。 6. 故障处理: 如果端口故障,将其从活动端口列表中移除,重新计算哈希映射(可能导致部分流切换端口)。 7. 恢复处理: 端口恢复后,将其加入活动端口列表,重新计算哈希映射。

Roce-Protocol-0026

交换协议

生成树增强, 快速收敛

快速生成树协议(RSTP)状态机与端口角色模型

描述RSTP如何改进STP,通过引入新的端口角色(替代端口、备份端口)和状态(丢弃、学习、转发),以及快速切换机制,实现亚秒级的收敛速度。

快速收敛: 通常在1秒内收敛。
端口角色: 根端口, 指定端口, 替代端口, 备份端口。
快速切换: 利用提议/同意机制快速迁移到转发状态。

生成树协议, 快速收敛, 状态机。

二层网络环路避免。

端口角色: 根端口, 指定端口, 替代端口, 备份端口。
端口状态: 丢弃, 学习, 转发。

状态迁移: 边缘端口可以直接进入转发状态。
提议/同意: 在点对点链路上快速建立转发状态。

1. 端口角色: a. 根端口: 非根桥上去往根桥的最优路径的端口。b. 指定端口: 每个网段上负责转发流量的端口。c. 替代端口: 到达根桥的备用路径的端口,是根端口的备份。d. 备份端口: 指定端口的备份,由于连接到一个共享网段(如通过集线器)而产生。2. 端口状态: 简化为三种:丢弃、学习、转发。丢弃状态等同于STP的阻塞和侦听状态。3. 快速收敛机制: a. 提议/同意机制: 在点对点链路上,当端口被选为指定端口,它立即进入丢弃状态并向邻居发送提议BPDU。如果邻居同意,则回复同意BPDU,然后端口可以快速进入转发状态。b. 边缘端口: 直接连接终端的端口可以立即进入转发状态,无需经过侦听和学习状态。c. 拓扑变化机制: 当拓扑变化时,检测到变化的交换机在根端口和指定端口上发送TCN BPDU,其他交换机收到后刷新MAC地址表,无需等待老化。4. BPDU处理: RSTP的BPDU作为Hello报文定期发送,即使没有收到根桥的BPDU,每个交换机也会自己生成并发送包含当前信息的BPDU。这允许快速检测链路故障。5. 与STP兼容: RSTP可以与STP兼容运行,但一旦检测到STP,端口将退回到STP模式。6. 在交换机中的实现: 现代交换机默认运行RSTP或MSTP。硬件支持快速状态迁移。变量/常量port_role: 端口角色(根端口、指定端口、替代端口、备份端口)。 port_state: 端口状态(丢弃、学习、转发)。 edge_port: 布尔值,是否为边缘端口。 proposed: 布尔值,是否已发送提议。 agreed: 布尔值,是否已收到同意。

端口角色增加: 引入替代和备份端口。
状态简化: 三种状态。
快速切换: 提议/同意机制实现快速转发。
边缘端口: 连接终端的端口立即转发。

1. 初始状态: 所有端口初始为指定端口,处于丢弃状态。 2. 选举根桥: 与STP类似,选举根桥。 3. 确定端口角色: 根据BPDU信息确定每个端口的角色。 4. 提议/同意: 在点对点链路上,指定端口发送提议BPDU。如果对端端口是根端口,则回复同意BPDU,然后指定端口和根端口都进入转发状态(经过学习状态)。 5. 边缘端口: 边缘端口立即进入转发状态。 6. 拓扑变化: 当链路故障,相关端口立即进入丢弃状态,并发送TCN BPDU,其他交换机收到后刷新MAC表。

Roce-Protocol-0027

交换协议

数据中心桥接, 无损

基于优先级的流量控制(PFC)模型

描述IEEE 802.1Qbb定义的基于优先级的流量控制机制,允许在以太网中针对不同的优先级队列独立进行暂停/恢复流控,从而为高优先级流量(如存储、计算)提供无损传输,同时不影响低优先级流量。

基于优先级: 8个优先级独立控制。
无损: 避免缓冲区溢出导致的丢包。
反压: 向发送方发送暂停帧。

IEEE 802.1Qbb, 流量控制, 无损网络。

数据中心, 存储网络, RoCE。

优先级: 0-7, 对应8个队列。
暂停时间: 请求暂停的时间长度(单位为512比特时间)。
门限: 触发暂停的队列占用门限。

发送条件: 当队列占用超过高门限Xon时, 发送暂停帧。
恢复条件: 当队列占用低于低门限Xoff时, 发送暂停帧(暂停时间为0)。

1. PFC帧格式: PFC帧是以太网控制帧,类型为0x8808,子类型为0x0101。包含8个优先级的暂停时间,每个优先级2字节,表示该优先级流量应暂停的时间(单位为512比特时间)。暂停时间为0表示恢复。2. 工作机制: 接收端每个优先级队列有独立的占用计数器。当某个优先级队列的占用超过设定的高门限(Xoff)时,接收端向发送端发送PFC帧,其中该优先级的暂停时间设为非零(如最大65535,表示无限长暂停)。发送端收到后,暂停发送该优先级的数据帧,但其他优先级的流量不受影响。当该队列占用下降到低门限(Xon)以下时,接收端发送暂停时间为0的PFC帧,通知发送端恢复发送。3. 门限设置: Xoff和Xon的设置需要考虑链路延迟和缓冲区大小。Xoff应足够早触发,以便在发送端停止前缓冲区不会溢出。Xon应足够低,以便在恢复发送后有足够空间接收新数据。4. 与普通流控的区别: 标准以太网流控是端口级别的,暂停所有优先级流量。PFC是优先级级别的,允许高优先级流量暂停低优先级流量,而高优先级流量本身可能不被暂停。5. 在无损网络中的应用: 在数据中心中,RDMA over Converged Ethernet需要无损传输以保证性能。PFC可以避免由于缓冲区溢出导致的丢包,但需注意防止PFC死锁和拥塞扩散。通常与显式拥塞通知(ECN)和量化拥塞通知(QCN)结合使用。6. 在交换机中的实现: 交换机芯片需要为每个端口和每个优先级维护独立的队列和计数器。当队列占用超过Xoff时,生成PFC帧并发送到上游设备。同时,当收到PFC帧时,停止调度相应优先级队列的流量。变量/常量priority: 优先级,0-7。 Xon: 恢复门限(字节)。 Xoff: 暂停门限(字节)。 queue_occupancy: 队列当前占用(字节)。 pause_time: 暂停时间(单位:512比特时间)。 PFC_frame: PFC暂停帧。

优先级独立: 8个优先级独立暂停/恢复。
门限触发: 队列占用超过Xoff触发暂停,低于Xon触发恢复。
反压: 向发送方发送暂停帧。
无损传输: 避免缓冲区溢出丢包。

1. 监控队列: 监控每个优先级队列的占用情况。 2. 触发暂停: 当某个优先级队列占用超过Xoff,构造PFC帧,设置该优先级的暂停时间(如65535),发送给上游邻居。 3. 接收暂停: 当收到PFC帧,解析各优先级的暂停时间,对非零优先级的队列停止调度发送。 4. 监控恢复: 当被暂停的优先级队列占用下降到Xon以下,构造PFC帧,设置该优先级的暂停时间为0,发送给上游邻居。 5. 恢复发送: 当收到暂停时间为0的PFC帧,恢复相应优先级队列的调度。

Roce-Protocol-0028

路由协议

多路径, 等开销

等开销多路径(ECMP)与Unequal-Cost Multi-Path (UCMP) 路由模型

描述在多条路径(等开销或非等开销)上分发流量的机制,以充分利用网络带宽。包括路径计算、路径选择、负载均衡,以及UCMP中基于权重的流量分配。

多路径: 多条路径到达同一目的地。
负载均衡: 流量在多条路径上分发。
权重: UCMP中不同路径的流量分配比例。

负载均衡, 路由, 多路径。

数据中心, 企业网, 运营商网络。

路径集合P = {p1, p2, ..., p_n}
路径开销cost(p_i)
权重w_i, 用于UCMP, 与开销成反比。
哈希: 用于将流映射到路径。

ECMP路径选择path_index = hash(flow_key) mod N, 其中N为等开销路径数。
UCMP流量分配: 流量按权重比例分配, 如流量比例 = w_i / Σ w_i

1. 路径计算: 路由协议(如OSPF、IS-IS、BGP)或SDN控制器计算到目的地的多条路径。对于ECMP,这些路径的开销相等。对于UCMP,路径开销可以不等。2. 路径安装: 在路由表中,为同一前缀安装多条下一跳。对于UCMP,每条路径可能有关联的权重(如开销的倒数)。3. 负载均衡算法: a. 逐流负载均衡: 通过哈希(如基于五元组)将流映射到一条路径。同一流的所有包走同一路径,避免乱序。这是最常用的方法。b. 逐包负载均衡: 每个包独立选择路径。可能导致乱序,通常避免。c. 基于权重的负载均衡: 对于UCMP,流量按权重比例分配。可以通过修改哈希范围实现,例如,如果有两条路径,权重为2:1,则哈希值模3,如果结果0或1走路径1,结果2走路径2。4. 故障处理: 当一条路径失效,将其从路径集合中移除,流量重新分配到剩余路径。对于逐流哈希,部分流会切换到新路径。5. 路径差异: 在UCMP中,不同路径的开销可能不同,但路由协议可能仍然安装它们。权重可以基于开销、带宽或其他度量计算。6. 在交换机中的实现: 交换芯片硬件支持多个下一跳。转发表中,一个前缀对应一个下一跳组,组内包含多个下一跳及其权重。哈希逻辑根据权重将流量分配到不同下一跳。7. 与链路聚合的区别: ECMP/UCMP是三层负载均衡,基于IP路由;链路聚合是二层负载均衡,将多个物理端口绑定为一个逻辑端口。变量/常量prefix: IP前缀。 next_hop_group: 下一跳组,包含多个下一跳条目。 next_hop_entry: 下一跳条目,包含(IP, interface, weight)hash_key: 哈希键(五元组)。 hash_value: 哈希值。 weight_sum: 权重总和。

多路径: 多条路径到达同一目的地。
等开销与不等开销: ECMP要求路径开销相等, UCMP允许不等。
权重: UCMP中按权重分配流量。
哈希: 逐流哈希保持流内有序。

1. 路径计算: 路由协议计算到目的地的多条路径。 2. 路径选择: 如果启用ECMP/UCMP,将所有等开销路径(或所有路径,对于UCMP)加入下一跳组,并为每条路径分配权重(ECMP等权重,UCMP基于开销计算权重)。 3. 转发: 当数据包匹配该前缀,提取五元组计算哈希值。 4. 路径选择: 根据哈希值和权重选择下一跳。例如,对于权重w_i,总权重W,计算hash mod W,根据落在哪个权重区间选择对应下一跳。 5. 发送: 从选定的下一跳发送数据包。 6. 故障处理: 如果下一跳不可达,将其从组中移除,并重新计算总权重和哈希映射。

Roce-Protocol-0029

交换协议

最短路径, 多实例

多生成树协议(MSTP)模型

描述IEEE 802.1s定义的MSTP,通过映射VLAN到多个生成树实例,实现在不同VLAN间负载均衡,同时保持无环拓扑,并兼容STP和RSTP。

多实例: 多个生成树实例, 每个实例有独立拓扑。
VLAN映射: VLAN映射到实例。
负载均衡: 不同VLAN走不同路径。

生成树协议, 多实例, VLAN。

大型二层网络, 需要负载均衡。

MST区域: 一组交换机, 具有相同的配置(区域名, 修订级别, VLAN-实例映射)。
实例: 生成树实例, 实例0为公共和内部生成树。

VLAN映射: 每个VLAN映射到一个MST实例。
CIST: 公共和内部生成树, 实例0, 连接所有MST区域和STP/RSTP网络。

1. MST区域: 一组具有相同MST配置的交换机构成一个区域。配置包括区域名称、修订级别、VLAN到生成树实例的映射表。区域间通过公共和内部生成树(CIST)交互。2. 生成树实例: 每个MST实例运行一个独立的生成树,包括实例0(CIST)和多个MST实例(1-4094)。每个实例有独立的根桥、端口角色和状态。3. VLAN映射: 每个VLAN映射到一个MST实例。属于同一实例的VLAN共享相同的生成树拓扑。通过将不同VLAN映射到不同实例,可以在不同VLAN间使用不同路径,实现负载均衡。4. 公共和内部生成树: 实例0是CIST,它连接所有MST区域以及传统的STP/RSTP网络。CIST在区域间提供无环路径。5. 端口角色: 每个端口在每个实例中可能有不同的角色。在CIST中,端口角色与RSTP类似。在MST实例中,端口角色有:根端口、指定端口、替代端口、备份端口、主端口、边界端口等。6. BPDU: MSTP使用MST BPDU,它携带多个实例的信息。在区域内部,交换机交换MST BPDU以计算每个实例的生成树。在区域边界,交换机交换STP/RSTP BPDU以计算CIST。7. 兼容性: MSTP可以与STP和RSTP互操作。当检测到STP时,端口会退回到STP模式。8. 在交换机中的实现: 交换机需要维护每个实例的生成树状态,并为每个端口维护每个实例的角色和状态。转发时,根据数据包的VLAN ID映射到的实例,决定该端口在该实例中是转发还是阻塞状态。变量/常量MST_region: MST区域,包含区域名、修订级别、VLAN-实例映射。 instance: 生成树实例ID,0-4094。 VLAN_instance_map: VLAN到实例的映射。 CIST: 公共和内部生成树,实例0。 port_role[instance]: 端口在不同实例中的角色。 port_state[instance]: 端口在不同实例中的状态。

多实例: 多个生成树实例, 独立拓扑。
VLAN映射: VLAN映射到实例, 实现负载均衡。
CIST: 实例0连接整个网络。
区域概念: 区域简化配置和管理。

1. 配置: 配置MST区域(区域名、修订级别、VLAN-实例映射)。 2. 选举CIST根桥: 在整个网络选举CIST根桥。 3. 区域内部计算: 在每个区域内,为每个MST实例计算生成树,选举区域根桥。 4. 区域间计算: 通过CIST计算区域间路径。 5. 端口角色确定: 确定每个端口在每个实例中的角色和状态。 6. 转发: 当数据包到达,根据其VLAN ID查找映射的实例,然后根据该实例中端口的状态决定是否转发。 7. BPDU交互: 在区域内交换MST BPDU,在区域边界交换STP/RSTP BPDU。

编号

层级

核心理论

模型名称

目标与描述

精度与特征

理论基础

应用场景

数学要素

关键方程/状态机

数学模型/算法描述

实现步骤/工作流程

软硬件工具

Roce-Package-0015

封装与互连

2.5D/3D集成, 中介层

2.5D硅中介层(Silicon Interposer)互连与热应力模型

描述采用硅中介层(或有机中介层)实现多芯片(如ASIC与HBM)高密度互连的电气、热、机械特性。硅中介层包含高密度TSV和布线,连接上方芯片与下方封装基板,实现高带宽、低功耗互连,但引入热机械应力挑战。

高密度互连: 线宽/线距可达亚微米级(~1μm)。
高带宽: 通过中介层实现数千个高带宽互连。
热失配: 芯片、中介层、基板材料(CTE)不同,产生热应力。

半导体封装, 多物理场耦合, 热力学。

高性能计算, AI芯片, 交换芯片与HBM集成。

凸点间距pitch(如55μm, 110μm)。
TSV电阻R_TSV
热膨胀系数CTE, 单位 ppm/°C。
热应力σ_thermal

TSV电阻模型R_TSV = ρ * h / (π * r^2), 其中h为深度,r为半径。
热应力模型σ_thermal = E * Δα * ΔT, 其中E为杨氏模量,Δα为CTE差,ΔT为温度变化。

1. 结构组成: a. 硅中介层: 一块带TSV的薄硅片,顶部有高密度再布线层,用于连接芯片。b. 微凸点: 连接芯片与中介层,间距小(~55μm)。c. 硅通孔: 穿过中介层,连接顶部再布线层与底部C4凸点。d. C4凸点: 连接中介层与有机基板,间距较大(~150μm)。e. 高带宽存储器: 通过中介层与ASIC相连。2. 电气模型: a. TSV模型: TSV可建模为RLCG分布参数电路。电阻R_TSV由铜电阻率决定。电感L_TSV较小,但对高速信号重要。TSV与硅衬底间形成MOS电容C_TSV。b. 再布线层: 模型类似于片上互连,但线宽更宽。c. 通道模型: 从ASIC驱动器经过中介层到HBM接收器的完整通道,需进行信号完整性分析。3. 热模型: 由于中介层导热性较差,且芯片功耗大,热管理至关重要。需建立从芯片结到散热器的热阻网络,分析温度分布。4. 热机械应力模型: 芯片(如ASIC)、中介层(硅)、有机基板(如ABF)的材料热膨胀系数不同。在温度变化(如回流焊、功耗发热)时,产生应力,可能导致凸点开裂、界面分层。通过有限元分析计算应力分布。5. 优势: 提供远超传统封装的互连密度和带宽,是CoWoS等先进封装的核心。变量/常量pitch: 凸点间距。 R_TSV: TSV电阻。 C_TSV: TSV电容。 L_TSV: TSV电感。 CTE: 热膨胀系数。 E: 杨氏模量。 ΔT: 温度变化。 σ_max: 最大应力。

2.5D集成: 芯片并排集成在中介层上。
TSV: 实现垂直互连, 减少布线长度。
热应力: 材料CTE不匹配导致应力和可靠性问题。
多物理场: 电、热、机械耦合分析。

1. 设计: 设计中继层布线,规划TSV和凸点布局。 2. 制造中介层: 在硅片上刻蚀TSV,沉积绝缘层和种子层,电镀填充铜,制作再布线层。 3. 芯片贴装: 将ASIC和HBM芯片通过微凸点倒装焊到中介层上。 4. 中介层贴装: 将中介层通过C4凸点倒装焊到有机基板上。 5. 封装: 塑封、安装散热器。 6. 测试: 电学测试、热测试、可靠性测试。

Roce-Thermal-0016

系统级

热传导, 计算流体力学

交换机系统级强制风冷散热与气流组织模型

描述交换机机箱内部空气流动、温度分布及散热过程。通过风扇产生强制对流,空气流经散热器和热源(芯片),其流动状态(层流/湍流)、风道设计、散热器翅片密度与高度共同决定换热效率,最终需保证芯片结温低于额定值。

三维流动: 空气在复杂机箱内的三维流动, 可能存在回流、涡流。
共轭传热: 固体(芯片, 散热器)与流体(空气)的耦合传热。
湍流模型: 常用k-ε等湍流模型。

传热学, 计算流体力学。

交换机, 路由器, 服务器机箱散热设计。

雷诺数Re = ρ * v * L / μ, 判断层流或湍流。
努塞尔数Nu = h * L / k, 对流换热强度。
热阻R_ja = (T_j - T_a) / P, 结到环境热阻。

能量方程ρ c_p (∂T/∂t + u·∇T) = ∇·(k∇T) + Q
Navier-Stokes方程ρ (∂u/∂t + u·∇u) = -∇p + μ∇²u + ρ g
连续性方程∇·u = 0

1. 系统组成: a. 热源: 交换芯片、CPU、PHY芯片等,功耗密度高。b. 散热器: 附着在芯片上,通常为铝或铜材质,带有翅片以增大换热面积。c. 风扇: 提供强制气流,通常为轴流风扇,有PWM调速功能。d. 风道: 机箱、导风罩、挡板等形成的空气流动路径。e. 空气: 冷却介质,入口温度T_in2. 传热过程: a. 传导: 芯片内部热量从结传导到壳,再通过导热材料(如导热垫、硅脂)传导到散热器基座。b. 对流: 空气流经散热器翅片,通过对流(强制对流)带走热量。对流换热系数h取决于空气流速、翅片几何形状等。c. 辐射: 在高温下辐射换热也起作用,但在强制风冷中通常占比小。3. 流动过程: 空气从入口进入,在风扇驱动下流经各散热器,从出口排出。风道设计应避免短路、回流,并确保气流均匀通过所有散热器。4. 热阻网络: 从结到环境的总热阻R_ja = R_jc + R_cs + R_sa。其中R_jc是结到壳热阻(芯片属性),R_cs是壳到散热器热阻(界面材料属性),R_sa是散热器到环境热阻(取决于散热器设计和气流)。5. 设计目标: 在最坏环境温度(如40°C)和最大功耗下,确保芯片结温T_j低于最大允许结温(如105°C)。通常需要T_j = T_a + P * R_ja < T_j_max6. 优化变量: 风扇转速(影响风量和噪声)、散热器翅片密度和高度、风道形状、导流罩设计。变量/常量T_j: 芯片结温。 T_c: 芯片壳温。 T_s: 散热器基座温度。 T_a: 环境空气温度。 P: 芯片功耗。 h: 对流换热系数。 v: 空气流速。 Δp: 系统风压损失。 Q_fan: 风扇风量。

强制对流: 风扇驱动气流, 换热系数高。
湍流: 高雷诺数下为湍流, 换热增强但压降增大。
风道设计: 优化气流分配, 避免热点。
热仿真: 通常需要CFD软件进行三维仿真。

1. 几何建模: 建立交换机机箱、PCB、芯片、散热器、风扇、导风罩的3D模型。 2. 网格划分: 生成计算网格,在边界层和关键区域加密。 3. 边界条件: 设置风扇风量/压力曲线、芯片功耗(热源)、环境温度、出口压力。 4. 求解: 求解Navier-Stokes方程和能量方程,得到速度场、压力场、温度场。 5. 后处理: 分析芯片结温、气流分布、风速云图、流线图。 6. 优化迭代: 若温度过高,则调整散热器设计、风扇转速或风道,重新仿真,直至满足热设计目标。

Roce-Optics-0017

光通信

相干通信, 数字信号处理

相干光通信(如400G ZR)数字信号处理模型

描述在相干光模块中,通过数字信号处理在电域补偿光纤传输损伤的过程。发射端:对输入比特流进行编码、映射(如QAM)、脉冲整形、预均衡。接收端:对相干接收的信号进行损伤补偿(色散、偏振模色散、非线性)、载波相位恢复、均衡、解映射、解码,最终恢复原始比特。

高阶调制: 使用QPSK, 16/64-QAM等, 高频谱效率。
全数字处理: 在电域补偿所有线性损伤。
自适应均衡: 使用自适应滤波器(如CMA, LMS)跟踪信道变化。

数字通信, 信号处理, 相干检测。

长距离光传输, 数据中心互联, 城域网/骨干网。

调制格式: 如QPSK, 16QAM, 64QAM。
符号率Baud Rate
色散D, 单位ps/(nm·km)。
信噪比SNR
误码率BER

QAM星座点s = I + jQ, 其中I, Q∈ {±1, ±3, ...}。
色散补偿: 在频域, H_CD(f) = exp(-j π D λ^2 f^2 L / c)
自适应均衡w[k+1] = w[k] + μ * e[k] * x*[k](LMS)。

1. 发射端DSP: a. 前向纠错编码: 如LDPC码,增加冗余比特。b. 比特到符号映射: 将编码后的比特流映射到QAM星座点,产生复数符号流I + jQ。c. 脉冲整形: 通过升余弦滤波器对符号流进行脉冲整形,限制带宽。d. 预失真/预均衡: 可预补偿已知的信道损伤。e. 数字上变频: 将基带信号上变频到中频。2. 光电调制: DSP输出的数字信号经DAC转换为模拟信号,驱动I/Q调制器。激光器产生的连续光被分成两路,分别由I和Q信号调制,然后合成为调制光信号。3. 光纤传输损伤: a. 色散: 不同频率分量传播速度不同,导致脉冲展宽。b. 偏振模色散: 光在光纤中两个正交偏振模的传播速度不同。c. 非线性效应: 如自相位调制、交叉相位调制、四波混频。d. 噪声: 放大自发辐射噪声。4. 相干接收: 接收到的光信号与本振激光器混合,经90°混频器产生I和Q两路基带信号,由光电探测器检测,再经ADC转换为数字信号。5. 接收端DSP: a. 正交性补偿: 校正I/Q两路的不平衡。b. 色散补偿: 在频域或时域应用与色散相反的滤波器。c. 时钟恢复: 从信号中恢复符号时钟。d. 偏振解复用与均衡: 使用2x2 MIMO自适应均衡器(如CMA、LMS)补偿偏振模色散,并分离两个偏振态的信号。e. 载波相位恢复: 使用Viterbi-Viterbi等算法估计和补偿激光器相位噪声和频偏。f. 符号判决: 对均衡后的符号进行判决,映射回比特。g. 前向纠错解码: 根据冗余比特纠正传输错误。6. 在400G ZR模块中的应用: 使用16QAM调制,单波道实现400G传输,用于80km数据中心互联。变量/常量I, Q: 同相和正交分量。 T_s: 符号周期。 L: 光纤长度。 D: 色散系数。 PMD: 偏振模色散。 LO: 本振激光器。 ADC: 模数转换器。 DSP: 数字信号处理器。

相干检测: 使用本振激光器, 保留幅度、相位、偏振信息。
数字域补偿: 在DSP中补偿色散、PMD等, 无需物理色散补偿光纤。
高阶调制: 提高频谱效率, 但对信噪比要求高。
自适应均衡: 实时跟踪信道变化。

1. 发射端: 输入数据 -> FEC编码 -> 星座映射 -> 脉冲整形 -> 预失真 -> 数字上变频 -> DAC -> I/Q调制器 -> 光纤。 2. 光纤传输: 信号受到色散、非线性、噪声等损伤。 3. 接收端: 相干接收(90°混频+光电检测) -> ADC -> DSP。 4. DSP处理链: 正交补偿 -> 色散补偿 -> 时钟恢复 -> 偏振解复用与均衡(MIMO) -> 载波相位恢复 -> 符号判决 -> FEC解码 -> 输出数据。

Roce-Test-0018

测试与验证

可测性设计, 扫描链

芯片可测性设计(DFT)之扫描链插入与ATPG模型

描述在芯片设计阶段插入可测试性结构(主要是扫描链),以及通过自动测试向量生成(ATPG)产生测试向量,用于制造后检测芯片中的制造缺陷(如stuck-at故障)。扫描链将时序单元(触发器)连接成移位寄存器,在测试模式下可控制和观测内部节点。

高故障覆盖率: 目标>99%的stuck-at故障覆盖率。
低开销: 扫描链面积、功耗、时序开销通常<5%。
ATPG效率: 生成测试向量的时间和内存消耗。

可测性设计, 组合电路测试, 自动测试向量生成。

所有数字ASIC, 包括交换芯片。

扫描链长度: 一条扫描链中触发器的数量。
故障覆盖率Fault Coverage = (检测到的故障数 / 总故障数) * 100%
测试压缩比: 原始测试数据量与压缩后数据量之比。

Stuck-at故障模型: 节点固定为0(stuck-at-0)或1(stuck-at-1)。
D算法: 一种ATPG算法, 包括激活故障(D驱赶)和传播故障(D传播)。

1. 扫描设计: 将芯片中所有正常的触发器(或一个子集)替换为带多路选择器的扫描触发器。在功能模式下,它们作为普通触发器工作;在测试模式下,它们连接成一条或多条扫描链。2. 扫描链操作: a. 移位: 在测试模式下,扫描触发器构成移位寄存器。测试向量从扫描输入(SI)引脚串行移入,同时将前一个测试的响应从扫描输出(SO)引脚移出。b. 捕获: 在施加测试向量后,应用一个或多个功能时钟周期,捕获组合逻辑对测试向量的响应。c. 移出: 将捕获的响应通过扫描链移出,同时移入下一个测试向量。3. ATPG过程: a. 故障列表: 提取电路网表中的所有可能的stuck-at故障。b. 向量生成: 对每个故障,使用算法(如D算法、FAN算法)生成一个测试向量,该向量能够激活故障(在故障点产生与无故障电路不同的值)并将故障效应传播到一个可观测点(扫描触发器或原始输出)。c. 故障模拟: 用生成的测试向量模拟电路,标记该向量能检测到的所有故障,并从故障列表中移除。d. 压缩: 对测试向量进行压缩,以减小测试数据量和测试时间。4. 测试压缩: 通过将多条扫描链的输入复用,或使用片上解压缩器(如解压缩扫描输入)和压缩器(如X-Compact),减少测试所需的IO引脚和测试数据量。5. 在交换芯片中的应用: 交换芯片规模庞大(数十亿晶体管),DFT至关重要。扫描测试覆盖组合逻辑的stuck-at故障。此外,交换芯片还需要内存BIST、逻辑BIST、JTAG等DFT技术。6. 测试应用: 在芯片制造完成后,使用自动测试设备(ATE)将ATPG生成的测试向量施加到芯片上,并比较输出响应与预期值,从而筛选出有缺陷的芯片。变量/常量SI: 扫描输入。 SO: 扫描输出。 SE: 扫描使能。 scan_chain_length: 扫描链长度。 test_pattern: 测试向量。 fault_list: 故障列表。 test_clock: 测试时钟。

扫描链: 将时序单元连接成移位寄存器, 实现可控可观测。
ATPG: 自动生成检测制造缺陷的测试向量。
故障模型: 最常用的是stuck-at模型。
测试压缩: 减少测试数据量和测试时间。

1. 扫描插入: 在设计综合后,用扫描触发器替换普通触发器,并连接成扫描链。 2. ATPG准备: 生成带扫描链的网表,提取故障列表。 3. 向量生成: 运行ATPG工具,为故障列表中的故障生成测试向量。 4. 故障模拟: 模拟生成的向量,计算故障覆盖率。 5. 测试压缩: 对测试向量进行压缩,生成最终的测试程序。 6. 测试程序生成: 生成ATE可执行的测试程序(如STIL格式)。 7. 芯片测试: 在ATE上运行测试程序,筛选芯片。

Roce-ASIC-0019

集成电路级

异步设计, 握手协议

异步片上网络(NoC)路由器与GALS模型

描述在全局异步局部同步(GALS)系统中,连接多个同步时钟域(如处理器核心、加速器、内存控制器)的异步片上网络。异步路由器使用握手协议(如四相捆绑数据或延迟不敏感编码)进行通信,无全局时钟,具有高能效、可扩展、无时钟偏斜的优点。

异步通信: 无全局时钟, 通过握手(请求/应答)控制数据传递。
延迟不敏感: 对数据路径延迟不敏感, 可容忍工艺偏差。
GALS: 各同步模块运行在各自时钟域, 通过异步接口互连。

异步电路, 握手协议, 片上网络。

多核SoC, 大型交换芯片内的模块互连。

请求信号Req
应答信号Ack
数据Data(可编码)。
周期: 完成一次数据传输的时间。

四相握手协议: 1) 发送方置Req有效, 数据就绪; 2) 接收方接收数据后置Ack有效; 3) 发送方置Req无效; 4) 接收方置Ack无效。
流水线阶段延迟T_cycle = max(T_logic) + T_handshake

1. GALS系统结构: 芯片划分为多个同步时钟域(局部同步),每个域有自己的时钟。不同时钟域之间通过异步通信接口(如FIFO)连接,实现全局异步。2. 异步通信协议: a. 四相捆绑数据: 数据与一个请求信号(Req)捆绑。发送方在数据稳定后置Req有效;接收方在捕获数据后置应答信号(Ack)有效;然后发送方置Req无效,接收方再置Ack无效,完成一个周期。b. 双相协议: 用Req的跳变(上升沿和下降沿)表示数据有效,只需两个相位,但电路更复杂。c. 延迟不敏感编码: 如1-of-4编码,数据本身包含完成信息,无需独立的Ack信号。3. 异步NoC路由器结构: 类似于同步NoC路由器,但由异步电路实现。包括:输入缓冲区、路由计算单元、虚拟通道分配器、交叉开关分配器、交叉开关。每个模块之间通过握手协议通信。4. 握手电路实现: 通常使用延迟匹配的 Muller C-element 实现握手控制。例如,在四相协议中,发送方的Req由接收方的Ack(取反)和本地使能信号控制。5. 优势: a. 低功耗: 无时钟分布网络功耗,且仅在有数据活动时消耗动态功耗。b. 无时钟偏斜: 无需担心全局时钟树偏移。c. 模块化: 易于集成不同时钟频率的模块。d. 对工艺变化鲁棒: 对延迟变化不敏感。6. 挑战: 设计复杂,验证困难,缺乏成熟的EDA工具支持。7. 在大型交换芯片中的应用: 在拥有数百个处理单元或存储块的交换芯片中,异步NoC可作为可扩展的互连结构,连接这些模块,同时适应不同模块的不同性能需求。变量/常量C: Muller C-element。 D: 数据通道。 valid: 数据有效信号。 ready: 接收就绪信号。 FIFO_depth: 异步FIFO深度。

握手协议: 通过请求/应答信号同步数据传递。
无时钟: 无全局时钟, 功耗低, 无时钟偏斜问题。
延迟不敏感: 对组合逻辑和互连延迟不敏感。
模块化: 易于集成不同时钟域的模块。

1. 数据发送请求: 发送方将数据放在总线上,然后置Req有效。 2. 数据接收与应答: 接收方在检测到Req有效且数据稳定后,锁存数据,然后置Ack有效。 3. 发送方复位: 发送方检测到Ack有效后,将Req置为无效,并可以准备下一数据。 4. 接收方复位: 接收方检测到Req无效后,将Ack置为无效。至此,一次数据传输完成。 5. 流水线: 多个这样的握手阶段可以构成流水线,数据在握手控制下从一级流到下一级。

Roce-Protocol-0020

路由协议

边界网关, 路径属性

边界网关协议版本4(BGP)路径属性决策与路由传播模型

描述BGP发言人在收到通往同一目的网络的多条路径时,如何根据路径属性(如AS_PATH、NEXT_HOP、LOCAL_PREF、MED、ORIGIN等)执行多步决策过程,选择最佳路径,并将其安装到路由表中,同时根据策略决定是否以及如何传播给其他BGP邻居。

路径向量: 通过AS_PATH属性记录路径经过的AS序列, 用于防环。
策略驱动: 路由决策和传播高度基于策略(如商业关系)。
增量更新: 仅传播变化的路由信息。

路径向量协议, 策略路由, 图论。

互联网核心路由, 多宿主网络, 数据中心边界。

AS号: 自治系统标识。
路径属性: AS_PATH, NEXT_HOP, LOCAL_PREF, MED, ORIGIN等。
BGP表: 存储所有学习到的BGP路由。
路由表: 存储最佳路由。

决策过程: 1) 优选最高WEIGHT(厂商特定); 2) 优选最高LOCAL_PREF; 3) 优选本机始发的路由; 4) 优选最短AS_PATH; 5) 优选最低ORIGIN类型; 6) 优选最低MED; 7) 优选eBGP over iBGP; 8) 优选到NEXT_HOP最低IGP度量; 9) 负载均衡(如果启用); 10) 优选最老的eBGP路由; 11) 优选最低路由器ID。

1. BGP消息: BGP发言人之间通过OPEN、UPDATE、KEEPALIVE、NOTIFICATION消息交换路由信息。UPDATE消息包含网络层可达性信息和路径属性。2. 路径属性分类: a. 公认强制: 所有BGP实现必须识别和包含,如AS_PATH、NEXT_HOP、ORIGIN。b. 公认自决: 所有实现必须识别,但可选择是否包含,如LOCAL_PREF。c. 可选传递: 不要求所有实现都识别,但应传递给其他BGP邻居,如AGGREGATOR、COMMUNITY。d. 可选非传递: 不要求识别,且不应传递给其他邻居,如MULTI_EXIT_DISC。3. BGP决策过程: 当收到多条到同一目的网络的路由时,按顺序应用以下规则选择最佳路径:a. Weight(思科专有,本地有效):最高者优先。b. LOCAL_PREF: 最高者优先。通常在本AS内设置,表示出口优先级。c. 本地起源: 本机始发的路由(通过network或aggregate命令)优于从邻居学习的。d. 最短AS_PATH: AS_PATH属性中AS号数量最少者优先。e. 最低ORIGIN类型: IGP < EGP < Incomplete。f. 最低MED: 多出口鉴别器,值越低越优先。用于影响入站流量。g. eBGP优于iBGP: 从eBGP邻居学到的路由优于从iBGP邻居学到的。h. 最低IGP度量到NEXT_HOP: 如果多条iBGP路由,则选择到BGP下一跳的IGP度量最小的路径。i. 负载均衡: 如果开启,可安装多条等成本路径。j. 最老eBGP路径: 优选最先学到的eBGP路由(稳定性)。k. 最低路由器ID: 优选BGP路由器ID最小的邻居发来的路由。l. 最低集群列表长度(如果使用路由反射器)。m. 最低邻居地址4. 路由传播规则: a. 从eBGP对等体学到的路由: 可发布给所有eBGP和iBGP对等体。b. 从iBGP对等体学到的路由: 不会发布给其他iBGP对等体(防止环路),除非使用路由反射器。可发布给eBGP对等体。c. 路由反射: 路由反射器可反射路由给其客户端,打破iBGP全连接要求。5. 在数据中心中的应用: 在数据中心中,BGP可用于Leaf-Spine架构,Leaf和Spine之间运行eBGP,实现等价多路径负载均衡。变量/常量NLRI: 网络层可达性信息(前缀/掩码)。 AS_PATH: AS路径属性。 NEXT_HOP: 下一跳IP地址。 LOCAL_PREF: 本地优先级。 MED: 多出口鉴别器。 ORIGIN: 起源(IGP, EGP, Incomplete)。 Community: 团体属性。

多属性决策: 按照既定顺序比较多个属性。
策略控制: 可通过route-map等工具操作属性, 影响路径选择。
路由反射: 解决iBGP全连接可扩展性问题。
增量更新: 仅发送变化的路由, 高效。

1. 建立邻居: 与BGP邻居建立TCP连接,交换OPEN消息。 2. 接收路由更新: 从邻居收到UPDATE消息,包含新的或撤销的路由。 3. 路由验证: 检查AS_PATH防环,验证下一跳可达性。 4. 运行决策过程: 将新路由与BGP表中已有的到同一目的的路由进行比较,按照决策步骤选择最佳路径。 5. 安装路由: 将最佳路径安装到IP路由表中(如果优于其他协议的路由)。 6. 路由传播: 根据BGP传播规则和配置的策略,决定是否将这条最佳路径通告给其他BGP邻居,通告时可修改属性。 7. 路由维护: 定期发送KEEPALIVE消息,在路由失效时发送WITHDRAWN消息。

Roce-SDN-0021

控制平面

集中控制, 开放接口

软件定义网络(SDN)OpenFlow协议交换机流水线处理模型

描述支持OpenFlow协议的交换机(OpenFlow交换机)如何根据流表(Flow Table)处理数据包。流水线由多个流表组成,数据包按顺序经过这些流表,在每个流表中匹配优先级最高的流表项,并执行相应的指令(如转发、修改、丢弃),最终可能被发送到控制器。

流表匹配: 匹配包头多个字段(如MAC, IP, TCP端口)。
流水线处理: 数据包可依次经过多个流表。
指令集: 支持转发、修改、组表、计量等指令。
开放接口: 通过OpenFlow协议与控制器通信。

软件定义网络, 流表匹配, 流水线处理。

SDN交换机, 可编程网络。

流表项: 匹配域, 优先级, 计数器, 指令, 超时。
匹配域: 可匹配12元组(如入端口, eth_src, eth_dst, ip_src, ip_dst, tcp_src, tcp_dst等)。
Cookie: 控制器指定的不透明值。

流水线处理Packet -> Table 0 -> ... -> Table N -> Action Set Execution
匹配-动作: 匹配流表项, 执行关联的指令。

1. OpenFlow交换机架构: 由一组流表、一个组表和一个OpenFlow通道(连接控制器)组成。2. 流表: 每个流表包含多个流表项。每个流表项包含:a. 匹配域: 用于匹配数据包头的字段,支持通配符。b. 优先级: 决定匹配顺序。c. 计数器: 匹配该表项的数据包/字节计数。d. 指令: 匹配后要执行的动作列表。e. 超时: 空闲超时和硬超时。f. Cookie: 控制器设置的标签。3. 流水线处理: 数据包进入交换机后,从第一个流表(Table 0)开始处理。a. 查找: 在流表中查找匹配的流表项(最高优先级优先)。b. 执行指令: 执行匹配表项中的指令。指令可以包括:i. 动作集: 添加动作到动作集。ii. 写元数据: 更新数据包的元数据字段。iii. 跳转: 跳转到另一个流表继续处理。iv. 转到表: 转到指定表继续处理。v. 应用动作: 立即执行某些动作(如弹出标签)。c. 继续: 如果指令是转到另一个表,则数据包(携带更新的元数据和动作集)进入下一个表继续处理。如果没有跳转指令,或匹配的表项指定转到控制器,则处理结束。4. 动作集执行: 流水线处理结束后,执行动作集中的所有动作。动作包括:输出到端口、修改包头、推送/弹出标签等。如果动作集中没有输出动作,数据包默认被丢弃。5. 组表: 用于实现更复杂的动作,如广播、多路径、故障转移。一个组包含多个桶,每个桶包含一个动作列表。6. 计量表: 用于实现QoS,如限速。7. 与控制器交互: 如果数据包匹配到“发送到控制器”的动作(或没有匹配到任何表项且Table 0有table-miss条目指向CONTROLLER),则数据包被封装在Packet-In消息中发送给控制器。控制器可以下发流表项(Flow-Mod)来指导后续类似数据包的处理。8. 在SDN交换机中的应用: 支持OpenFlow的交换芯片(如Intel Tofino)实现了可编程流水线,可以自定义匹配-动作流程,从而支持各种新型网络协议和应用。变量/常量match_fields: 匹配字段集合。 priority: 优先级。 instructions: 指令列表。 action_set: 动作集合。 metadata: 元数据, 在表间传递。 table_id: 流表ID。 group_id: 组ID。 meter_id: 计量器ID。

匹配-动作: 核心抽象, 匹配包头执行动作。
多级流表: 流水线处理, 不同流表可负责不同功能。
控制器南向接口: OpenFlow协议是SDN控制器与交换机的南向接口标准之一。
可编程: 流水线行为可通过流表项编程。

1. 包接收: 从端口接收数据包,提取匹配字段,初始化元数据和动作集为空。 2. 表查找: 从当前表(从Table 0开始)中查找匹配的流表项(最高优先级)。 3. 执行指令: 执行匹配表项中的指令(如添加到动作集、写元数据、跳转到另一张表)。 4. 表跳转: 如果指令指定跳转到另一张表,则更新当前表ID,回到步骤2。 5. 流水线结束: 如果没有更多跳转,则处理结束。 6. 执行动作集: 执行动作集中的所有动作(如修改包头,输出到端口)。 7. 包发送: 如果动作集中包含输出动作,则将处理后的数据包从指定端口发出。 8. 控制器交互: 如果指令是发送到控制器,则将包封装在Packet-In消息中发送给控制器。

Roce-Silicon-0022

硅光集成

波导, 调制器

硅基光子集成芯片(PIC)中的微环谐振器调制与滤波模型

描述在硅光子芯片中,利用微环谐振器的谐振波长对外部折射率变化的敏感性,实现电光调制或波长滤波的功能。通过热光或载流子色散效应改变波导的有效折射率,从而改变谐振波长,实现光信号的调制或选路。

高Q值: 微环谐振器品质因子高, 谐振峰尖锐。
小尺寸: 微环半径仅几微米, 集成度高。
可调谐: 通过热或电调谐谐振波长。
波长选择性: 对波长高度敏感, 可用作滤波器。

集成光学, 谐振腔, 波导光学。

硅光集成芯片, 光互连, 波长选择开关。

谐振波长λ_res = (n_eff * L) / m, 其中m为谐振阶数。
自由光谱范围FSR = λ^2 / (n_g * L), 其中n_g为群折射率。
品质因子Q = λ_res / ΔλΔλ为半高全宽。
消光比ER = 10 * log10(T_max / T_min)

传输函数: 对于通过端口, `T =

(t - a e^(jθ)) / (1 - t a e^(jθ))

^2, 其中t为耦合系数,a为环内振幅衰减因子,θ为单程相位变化。<br>**热光效应**:Δn_eff = (dn/dT) * ΔT。<br>**载流子色散效应**:Δn_eff = - (e^2 λ^2 / (8 π^2 c^2 ε_0 n)) * (ΔN_e / m_e + ΔN_h / m_h)`。

1. 微环谐振器结构: 由一个环形波导和一个或多个直波导(总线波导)通过倏逝波耦合构成。环形波导的周长L满足谐振条件:n_eff * L = m * λ,其中m为整数。2. 工作原理: 当通过总线波导输入的光波长满足谐振条件时,光被强烈耦合进环形腔,并在环内谐振增强。对于“通过”端口,谐振波长处的光强最小(下陷);对于“下载”端口,谐振波长处的光强最大(峰值)。这实现了波长选择性滤波。3. 调制机制: 在环形波导附近制作热调相器或载流子注入/耗尽管。a. 热光调制: 通过加热器改变波导温度,从而通过热光效应改变硅的折射率n_eff,进而改变谐振波长λ_res。速度较慢(微秒级),但功耗低,无啁啾。b. 载流子色散调制: 通过正向偏置PN结注入载流子,或反向偏置PIN结耗尽载流子,改变载流子浓度,从而通过等离子体色散效应改变n_eff。速度快(纳秒级),但有吸收损耗。4. 传输特性: 微环的传输谱线呈洛伦兹线型。关键参数包括:自由光谱范围、品质因子Q(决定滤波器的带宽和尖锐度)、消光比(通带和阻带的对比度)。5. 在光互连中的应用: 在波长分复用系统中,多个不同半径的微环谐振器可以分别调谐到不同的WDM波长,实现波长路由、调制或解复用。例如,每个微环对应一个波长通道,当调谐到该波长时,光从“下载”端口输出,实现解复用。6. 设计挑战: 对制造偏差敏感,需要精确控制波导尺寸以实现目标谐振波长。通常需要集成热调谐器进行波长微调。7. 在硅光交换中的应用: 用作高速调制器(将电信号转换为光信号)或可调谐滤波器(在接收端选择特定波长)。变量/常量λ_res: 谐振波长。 n_eff: 波导有效折射率。 L: 环周长。 m: 谐振阶数。 t: 耦合系数。 a: 振幅衰减因子(a = exp(-α L/2)α为损耗系数)。 θ: 单程相位变化(θ = 2π n_eff L / λ)。 Q: 品质因子。 FSR: 自由光谱范围。

Roce-Network-0023

网络功能

网络虚拟化, 数据平面

网络功能虚拟化(NFV)服务功能链(SFC)编排与部署模型

描述在NFV架构中,如何将传统的物理网络设备(如防火墙、负载均衡器、NAT)虚拟化为软件实现的虚拟网络功能,并将这些VNF按照业务需求(服务功能链)动态编排、部署和串联,实现灵活的网络服务交付。

虚拟化: VNF运行在通用硬件(服务器)上。
服务链: 业务流量需按序经过一系列VNF。
编排: 自动化部署、配置、监控VNF实例。

网络虚拟化, 服务功能链, 资源编排。

电信云, 企业网, 数据中心。

VNF描述符: 描述VNF的部署模板(如CPU, 内存, 镜像)。
网络服务描述符: 描述VNF的连接顺序和策略。
资源: 计算, 存储, 网络资源。

有向图: 服务功能链可表示为有向图 G=(V, E), 其中V是VNF集合,E是虚拟链路集合。
资源约束: 对每个物理节点iΣ_j x_ij * R_jk <= C_ik, 其中R_jk是VNF j对资源k的需求,C_ik是节点i的资源k容量。

1. NFV架构: a. NFVI: 网络功能虚拟化基础设施,包括计算、存储、网络资源,通常基于云。b. VNF: 虚拟网络功能,是传统网络设备的软件实现。c. MANO: 管理与编排,包括NFV编排器、VNF管理器、虚拟化基础设施管理器,负责生命周期管理。2. 服务功能链: 一个有序的VNF序列,定义了流量必须经过的网络功能顺序。例如:互联网接入 -> 防火墙 -> 入侵检测系统 -> 负载均衡器 -> Web服务器。SFC可以由网络服务描述符定义。3. 编排过程: a. 接收请求: NFV编排器接收网络服务实例化请求。b. 资源发现: 查询VIM,获取可用的计算、存储、网络资源。c. 放置与调度: 根据VNF的需求(CPU、内存、带宽)和SFC的延迟要求,决定在哪个物理服务器上实例化每个VNF,以及如何连接它们(虚拟链路)。这是一个优化问题,目标可能是最小化资源使用、最大化性能或负载均衡。d. 资源分配: 通过VIM在选定的服务器上分配虚拟机或容器资源,并创建虚拟网络(如VLAN、VxLAN)连接VNF。e. 配置: 配置VNF的参数(如防火墙策略、负载均衡算法)。f. 监控与弹性伸缩: 监控VNF的性能和资源使用情况,根据策略自动扩缩容。4. 数据平面转发: 为了引导流量按顺序通过VNF链,需要使用服务功能链转发器(如基于NSH-网络服务头,或基于策略路由)。在每个网络节点,根据数据包的SFC标识,决定下一个要经过的VNF。5. 挑战: 性能(软件VNF可能不如专用硬件)、资源隔离、安全、跨厂商VNF互操作性。6. 在数据中心的应用: 在云数据中心,租户可以按需定义自己的服务链,快速部署安全的虚拟网络。变量/常量VNF_i: 第i个虚拟网络功能。 SFC: 服务功能链。 NSD: 网络服务描述符。 VNFD: VNF描述符。 NFVI-PoP: NFVI节点。 vCPU: 虚拟CPU。 vRAM: 虚拟内存。 vLink: 虚拟链路。

虚拟化: 网络功能以软件形式运行在通用硬件上。
服务链: 流量按预定顺序经过VNF。
编排自动化: 自动化部署、配置、监控、扩缩容。
标准接口: 如ETSI NFV标准。

1. 需求描述: 管理员通过门户或API提交网络服务请求,指定所需的VNF类型、顺序、性能要求。 2. 编排器处理: NFV编排器解析请求,查询VIM获取资源状态。 3. 调度决策: 编排器运行调度算法,决定每个VNF实例放置在哪台物理服务器上,以及虚拟网络拓扑。 4. 资源准备: 通过VIM在目标服务器上创建虚拟机/容器,加载VNF镜像,分配虚拟网络。 5. 配置下发: 编排器通过VNF管理器配置每个VNF(如防火墙规则)。 6. 服务链注入: 在网络中配置策略,将特定流量引导至服务链的第一个VNF。 7. 监控与优化: 持续监控VNF性能和资源使用,必要时进行弹性伸缩或迁移。

Roce-Protocol-0024

交换协议

数据中心桥接, 流量控制

基于优先级的流量控制与增强传输选择(PFC & ETS)模型

描述数据中心桥接(DCB)标准中的两项关键技术。PFC在链路层提供基于优先级的暂停帧机制,实现无损传输。ETS在多个优先级组之间分配带宽,确保关键流量(如存储)的带宽,并允许共享剩余带宽。

无损传输: PFC通过暂停帧实现零丢包, 适用于RDMA。
优先级: 802.1p优先级(0-7)。
带宽分配: ETS为每个优先级组分配最小保证带宽。

数据中心网络, 无损以太网, 服务质量。

RDMA over Converged Ethernet, 存储网络。

优先级: 8个优先级(0-7)。
暂停时间pause_time, 单位是512比特时间。
XOFF/XON阈值: 队列占用阈值。
保证带宽B_guaranteed

PFC暂停帧: 接收方在队列占用超过XOFF阈值时, 发送指定优先级和暂停时间的暂停帧。
ETS调度: 在优先级组间, 先按保证带宽调度, 剩余带宽按权重分配。

1. 基于优先级的流量控制: a. 背景: 传统以太网暂停帧会暂停所有流量,PFC允许针对8个优先级中的任意一个或多个独立发送暂停帧。b. 机制: 接收方交换机端口为每个优先级维护一个队列。当某个优先级的队列占用超过预设的XOFF阈值时,接收方向发送方发送一个PFC暂停帧,帧中指明要暂停的优先级和暂停时间。发送方收到后,立即停止发送该优先级的数据帧,直到暂停时间超时或收到XON(暂停时间为0的帧)。其他优先级的流量不受影响。c. 应用: 在RoCEv2中,通常将RDMA流量映射到某个高优先级(如优先级3),并启用PFC,实现无损传输,避免因丢包导致的性能下降。2. 增强传输选择: a. 背景: 在DCB网络中,有多种流量类型(如存储、IPC、LAN),需要带宽隔离和保证。b. 机制: ETS允许将8个优先级分组(如3个组:存储、IPC、LAN)。为每个组分配一个最小保证带宽(可以为0)。调度器首先确保每个组获得其保证带宽,然后如果有剩余带宽,则按照预先配置的权重在组间分配。组内部的不同优先级可以进一步通过严格优先级或加权轮询调度。c. 配置示例: 优先级3-4映射到存储组,保证带宽40%;优先级5-6映射到IPC组,保证带宽30%;剩余优先级映射到LAN组,保证带宽0%(即Best Effort)。剩余30%的带宽(如果有)可以在组间按权重共享。3. 协同工作: PFC和ETS共同工作,为数据中心的不同流量类型提供有保证的无损服务。PFC确保在拥塞时关键流量不丢包,ETS确保关键流量获得所需带宽。4. 挑战: 不正确的PFC配置可能导致“暂停帧风暴”和队头阻塞。ETS需要仔细规划带宽分配。5. 在交换机中的实现: 交换芯片需要支持每个端口每个优先级的独立队列和计数器,以支持PFC。还需要支持灵活的队列调度机制(如SP+WRR)以实现ETS。变量/常量priority: 优先级(0-7)。 pause_time: 暂停时间。 XOFF_threshold: 触发发送暂停帧的队列占用阈值。 XON_threshold: 触发发送XON(恢复)的队列占用阈值。 B_guaranteed_i: 优先级组i的保证带宽。 weight_i: 优先级组i的共享带宽权重。 Q_depth: 队列深度。

基于优先级: 可对不同优先级流量独立启停。
无损: 通过流量控制实现零丢包。
带宽保证: ETS为优先级组提供最小带宽保证。
队列管理: 需要每个优先级独立的队列和计数器。

1. 配置: 在交换机端口启用DCB,配置PFC的XON/XOFF阈值,配置ETS的优先级组映射、保证带宽和权重。 2. 监控: 持续监控每个优先级队列的深度。 3. 触发PFC: 当某个优先级的队列深度超过XOFF阈值时,构造并发送该优先级的PFC暂停帧给上行邻居。 4. 响应PFC: 收到PFC暂停帧的端口,立即停止发送指定优先级的数据帧。 5. 恢复: 当队列深度降至XON阈值以下,发送暂停时间为0的PFC帧(XON)给邻居,通知恢复发送。 6. ETS调度: 调度器在输出调度时,首先确保每个优先级组获得其保证带宽,然后按权重分配剩余带宽。组内按严格优先级调度。

编号

层级

核心理论

模型名称

目标与描述

精度与特征

理论基础

应用场景

数学要素

关键方程/状态机

数学模型/算法描述

实现步骤/工作流程

软硬件工具

Roce-Congestion-0025

网络协议

显式拥塞通知, 速率控制

数据中心量化拥塞通知与拥塞控制模型

描述一种用于RDMA over Converged Ethernet的端到端拥塞控制机制。交换机在队列长度超过阈值时,对数据包进行ECN标记;接收方通过CNP帧将拥塞信号反馈给发送方;发送方基于此信息调整发送速率,从而实现高吞吐、低延迟、低丢包的数据中心网络传输。

基于ECN: 利用IP/ECN字段进行带内拥塞通知。
量化反馈: 接收方量化拥塞程度并反馈。
速率控制: 发送方使用类似TCP的AI/MD算法调整速率。

拥塞控制, 闭环反馈, AIMD。

RoCEv2网络, 数据中心AI/ML训练, 分布式存储。

队列占用qlen, 交换机队列当前长度。
ECN阈值K_min, K_max, 标记阈值。
反馈报文: CNP, 携带拥塞信息。
发送速率R, 单位Gbps。

ECN标记概率P_mark = max(0, (qlen - K_min) / (K_max - K_min))
速率更新: 当收到CNP时, R = R * (1 - α); 否则每隔时间TR = R + β

1. 网络拥塞信号生成: 交换机为每个端口每个优先级维护一个队列。当数据包进入队列时,交换机检查当前队列长度qlen。如果K_min < qlen < K_max,则按照概率(qlen - K_min)/(K_max - K_min)标记该数据包的IP ECN字段为拥塞经历(CE)。如果qlen >= K_max,则所有数据包都被标记。K_minK_max是可配置参数。2. 拥塞反馈: 接收端(通常是网卡)检查接收到的数据包。如果一个数据包的ECN被标记为CE,接收端会生成一个拥塞通知包(CNP),并通过带内或带外方式发送回流的源端。CNP包含了被标记的数据包的流信息(如源QP、源端口等)。3. 发送端速率控制: 发送端(网卡)维护每个流的当前发送速率R。当收到CNP时,发送端执行乘性减少,将速率降低一个因子(1 - α),即R_new = R_old * (1 - α)。在未收到CNP的时间间隔内,发送端执行加性增加,每隔固定时间T将速率增加一个固定值β,即R_new = R_old + β。这构成了一个类似TCP的AIMD(加性增、乘性减)算法。4. 在RoCEv2中的集成: DCQCN是RoCEv2协议栈的一部分。它运行在网卡硬件上,以实现微秒级的快速反应。通过结合交换机端的ECN标记和接收端的CNP反馈,DCQCN能有效避免PFC导致的队头阻塞等问题,同时保持网络的高利用率和低队列延迟。5. 参数调优αβTK_minK_max等参数需要根据网络规模、流量模式和延迟要求进行精细调优,以达到稳定、公平和高效的目标。变量/常量qlen: 队列长度。 K_min: 最小标记阈值。 K_max: 最大标记阈值。 P_mark: 标记概率。 R: 发送速率。 α: 乘性减少因子。 β: 加性增加量。 T: 加性增加间隔。 CNP: 拥塞通知包。

ECN标记: 交换机主动标记拥塞, 而非丢包。
硬件实现: 关键逻辑在网卡和交换芯片硬件实现, 反应快。
AIMD: 经典拥塞控制算法, 保证公平性和收敛性。
量化反馈: CNP提供明确的拥塞信号。

1. 交换机标记: 数据包进入队列,若qlen[K_min, K_max]间,以概率(qlen-K_min)/(K_max-K_min)标记IP-ECN为CE;若qlen >= K_max,则全部标记。 2. 接收端反馈: 接收方网卡检测到CE标记的数据包,生成CNP报文,发回发送方。 3. 发送方处理CNP: 发送方网卡收到CNP,对该流执行乘性减少:R = R * (1 - α)。 4. 发送方加性增加: 每隔时间T,若未收到该流的CNP,则执行加性增加:R = R + β。 5. 速率执行: 发送方根据更新后的速率R调度数据包发送。

Roce-Arch-0026

交换机架构

可编程流水线, 匹配-动作

可编程交换芯片(如Tofino)PISA架构与P4编程模型

描述可编程交换芯片的“协议无关交换机架构”(PISA),及其配套的高级编程语言P4。PISA将数据平面处理抽象为由解析器、可编程匹配-动作流水线、逆解析器组成的流水线。P4允许网络程序员定义数据包的解析、处理和重构方式,实现网络协议的快速创新和部署。

协议无关: 不固定支持任何特定协议, 由P4程序定义。
可编程流水线: 匹配-动作表的逻辑和顺序可编程。
高性能: 保持ASIC级线速性能。

可编程网络, 数据包处理, 领域特定语言。

可编程交换机, 网络功能卸载, 网络遥测, 负载均衡。

包头: 由P4程序定义的层次化结构体。
元数据: 在流水线中传递的临时数据。
匹配关键字: 从包头和元数据中提取的字段组合。
动作: 对数据包执行的操作(修改、转发、丢弃等)。

流水线处理packet -> parser -> ingress pipeline (match+action) -> traffic manager -> egress pipeline -> deparser -> packet out
P4程序结构: 包含headers, parser, control, deparser等块。

1. PISA架构概览: a. 解析器: 根据P4程序定义的语法,将输入的原始字节流解析为有结构的包头和元数据。解析器可以处理变长、嵌套的协议头。b. 入口流水线: 由一系列可编程的匹配-动作阶段组成。每个阶段包含多个匹配-动作单元。数据包携带其包头和元数据依次流过这些阶段。在每个阶段,根据匹配关键字查表,执行对应的动作(如修改字段、添加元数据、更新状态寄存器)。c. 流量管理器: 连接入口和出口流水线,负责队列管理、数据包缓冲、调度、组播复制和递归路由。d. 出口流水线: 结构与入口流水线类似,用于处理出端口前的数据包(如出口ACL、计数)。e. 逆解析器: 根据数据包的出端口和元数据,将处理后的包头序列化回原始字节流。2. P4编程语言: P4是一种声明式语言,用于描述数据包的处理逻辑。一个P4程序主要包含:a. 包头类型定义: 定义每个协议头的字段和长度。b. 解析器: 定义状态机,说明如何从字节流中识别和提取包头。c. 控制块: 定义匹配-动作表的逻辑,包括表的键、动作、默认动作等。d. 动作和计算: 定义原子操作,如修改字段、添加包头、丢弃数据包等。3. 状态存储: PISA架构还提供了可编程的状态存储,如寄存器、计量器和计数器,允许P4程序维护跨数据包的流状态,实现有状态处理。4. 优势: 实现了数据平面可编程性,使网络设备能够快速支持新协议(如Geneve、INT),或实现自定义网络功能(如自定义负载均衡、网络测量),而无需等待芯片厂商提供新功能。5. 在数据中心网络的应用: 用于实现高性能、可定制的负载均衡器(如Maglev)、带内网络遥测、网络验证、特定应用的路由等。变量/常量header: 包头结构体。 metadata: 元数据。 table: 匹配-动作表。 key: 匹配键。 action: 动作。 register: 状态寄存器。 counter: 计数器。 meter: 计量器。

协议无关: 通过编程支持任意协议, 而非固化。
可重构流水线: 匹配字段、动作、流水线阶段均可编程。
高性能: 并行匹配-动作单元实现线速处理。
P4语言: 高级抽象, 将算法与硬件细节分离。

1. 程序编写: 网络程序员用P4语言编写数据平面程序,定义协议解析、处理逻辑。 2. 编译: 使用P4编译器(针对特定架构,如Tofino)将P4程序编译为两个部分:a. 芯片配置(用于配置可编程流水线);b. 控制平面API(供SDN控制器填充流表)。 3. 加载配置: 将芯片配置加载到可编程交换芯片。 4. 控制平面交互: SDN控制器或交换机本地Agent通过控制平面API,向芯片的匹配-动作表中插入、修改或删除流表项。 5. 数据平面处理: 数据包进入芯片,按P4程序定义的流水线进行处理。 6. 动态重配: 可在运行时更新流表项,实现策略变更。

Roce-Network-0027

网络架构

高性能, 无损, 拥塞控制

数据中心无损网络优化模型

描述在RoCEv2等要求零丢包的数据中心网络中,如何协同配置PFC、ECN/DCQCN、缓冲区管理等技术,以实现高吞吐、低延迟、无丢包、无拥塞扩散的网络环境。模型分析PFC的阈值设置、ECN标记策略、缓冲区分配、以及端到端拥塞控制参数的联合优化。

零丢包: 通过PFC保证链路层不丢包。
低延迟: 通过ECN/DCQCN和缓冲区管理控制队列长度。
高吞吐: 通过端到端拥塞控制充分利用带宽。
无拥塞扩散: 防止PFC死锁和PFC风暴。

网络优化, 队列理论, 控制理论。

AI/ML训练集群, 高性能计算, 分布式存储。

PFC阈值XOFF, XON, 触发/恢复流量控制的队列深度。
ECN阈值K_min, K_max
缓冲区大小Buffer_size
队列延迟queueing_delay = qlen / line_rate

PFC死锁条件: 当存在环路且所有链路上的反向流量都被PFC暂停时发生。
理想缓冲区Buffer_size >= RTT * BW, 以吸收突发流量。

1. 挑战: 无损网络(PFC使能)在提供零丢包保证的同时,引入了新的挑战:a. PFC死锁: 在网络出现环路时,PFC暂停帧可能相互等待,导致全网流量停止。b. 拥塞扩散: 一个链路上的拥塞可能通过PFC向上游逐跳传播,影响无关流量。c. 缓冲区膨胀: 低速接收端可能导致高速发送端积压大量数据,占用大量缓冲区。d. 不公平性: 多个流共享瓶颈时,PFC可能导致不公平的带宽分配。2. 优化模型要素: a. PFC阈值优化: 设置合适的XOFF和XON阈值。XOFF过小会导致频繁触发PFC,增加延迟;过大则可能来不及防止丢包。XON与XOFF的差值(hysteresis)需足够大以防止振荡。b. ECN/DCQCN参数调优: 与PFC协同工作。ECN标记阈值K_minK_max应设置在PFC阈值之下,以便在触发PFC前通过端到端拥塞控制降低发送速率。DCQCN的αβT参数需要精细调优以实现快速收敛和公平性。c. 缓冲区分配与管理: 为每个优先级队列分配合理的缓冲区大小。采用动态阈值或共享缓冲区池以提高利用率。结合ECN,可以设置更积极的队列管理策略(如RED)。d. 拓扑与路由优化: 使用无阻塞或Clos拓扑,结合多路径路由(如ECMP),分散流量,减少拥塞点。e. 流量隔离: 将RDMA流量映射到独立的优先级队列,并启用PFC和ETS,与非RDMA流量隔离。3. 协同工作流程: 1. 轻微拥塞时,交换机队列超过K_min,开始ECN标记。2. 接收端通过CNP反馈给发送端。3. 发送端通过DCQCN降低发送速率,缓解拥塞。4. 如果拥塞加剧,队列超过XOFF阈值,交换机发送PFC暂停帧,立即停止上游发送,实现零丢包。5. 当队列降至XON以下,发送恢复帧。4. 监控与调整: 使用网络遥测技术监控队列长度、PFC触发次数、ECN标记率等指标,动态调整参数,实现网络性能的最优化。变量/常量Q_pfc_off: PFC XOFF 阈值。 Q_pfc_on: PFC XON 阈值。 Q_ecn_min: ECN最小标记阈值。 Q_ecn_max: ECN最大标记阈值。 Buffer_per_queue: 每队列缓冲区大小。 RTT: 往返时间。 BW: 链路带宽。

多技术协同: PFC、ECN、DCQCN、缓冲区管理联合优化。
参数敏感: 性能高度依赖参数配置, 需精细调优。
监控驱动: 需要实时网络遥测数据来指导优化。
拓扑依赖: 优化策略与网络拓扑(如Clos)强相关。

1. 基线配置: 在交换机上启用PFC和ECN,为RDMA流量分配独立优先级队列和缓冲区。配置初始的XOFF/XON和K_min/K_max阈值。 2. 部署DCQCN: 在主机端部署支持DCQCN的RoCEv2网卡驱动,配置初始的α、β、T参数。 3. 压力测试: 运行典型应用(如All-Reduce),生成流量模式。 4. 监控: 收集交换机队列深度、PFC暂停帧计数、ECN标记率、端到端吞吐和延迟等数据。 5. 分析与调优: a. 如果PFC触发频繁,尝试调大XOFF阈值或调优DCQCN参数使其更积极。 b. 如果队列延迟过高,尝试调低ECN阈值,使拥塞通知更早。 c. 如果吞吐不理想,检查缓冲区是否足够,或调整DCQCN的加性增加参数。 6. 迭代优化: 重复步骤4-5,直到在目标工作负载下达到理想的吞吐、延迟和零丢包目标。

Roce-Accelerator-0028

系统级

异构计算, 智能网卡

数据处理器(DPU)卸载与加速架构模型

描述DPU作为数据中心的新型处理单元,如何通过集成的多核CPU、高性能网络接口、硬件加速引擎和可编程数据平面,卸载、加速和隔离主机CPU的基础设施任务(如网络、存储、安全、虚拟化),从而释放主机CPU资源用于应用业务。

异构集成: 多核Arm CPU + 网络接口 + 硬件加速引擎。
功能卸载: 将网络协议栈、存储服务、安全策略等从主机卸载到DPU。
性能隔离: DPU独立运行基础设施服务, 与主机应用隔离。

异构计算, 硬件卸载, 资源隔离。

云数据中心服务器, 超融合基础设施, 边缘计算。

CPU核心: DPU上的通用计算核心(如Arm A72)。
加速引擎: 专用硬件(加解密、压缩、正则表达式匹配)。
主机接口: PCIe。
网络接口: 高速以太网(如200G)。

卸载比Offload_Ratio = (Host_CPU_cycles_saved) / (Total_CPU_cycles_without_offload)
吞吐量: DPU处理网络/存储IO的速率。

1. DPU架构组成: a. 多核CPU子系统: 通常基于Arm架构,运行控制平面软件和轻量级数据面处理。b. 高性能网络接口: 支持高达200/400G以太网,具备RoCEv2、VXLAN/GENEVE封装/解封装、流量分类等硬件卸载能力。c. 硬件加速引擎: 一系列专用硬件单元,如:i. 加解密引擎: 支持AES-GCM、国密等算法,用于TLS/IPsec卸载。ii. 压缩/解压引擎: 支持DEFLATE等算法。iii. 存储引擎: 支持NVMe-oF加速,包括端到端数据保护。iv. 正则表达式引擎: 用于深度包检测。d. 可编程数据平面: 类似可编程交换芯片的流水线,用于自定义数据包处理。e. 内存与互连: 高速片上互连和DDR内存控制器。f. 主机与外部接口: PCIe接口连接主机,管理口等。2. 功能卸载模式: a. 网络虚拟化卸载: 虚拟交换机(如OVS)的流量转发、隧道封装、ACL策略等卸载到DPU硬件,主机内仅保留控制平面。b. 存储服务卸载: 将NVMe-oF目标端、分布式存储客户端、数据压缩/加密卸载到DPU。c. 安全功能卸载: 将防火墙、入侵检测/防御、TLS/SSL终端卸载到DPU。d. 管理功能: 带外管理、监控遥测数据收集。3. 软件栈: DPU运行一个轻量级、安全的操作系统,管理硬件资源,并提供API供主机或网络控制器调用。例如,NVIDIA的DOCA和Intel的IPU SDK。4. 优势: 大幅降低主机CPU在基础设施任务上的开销(可达30%以上),提高应用性能;实现更好的安全隔离(基础设施与租户应用隔离);提供一致的基础设施服务,简化管理。5. 在数据中心中的应用: 作为服务器内的独立“基础设施域”,统一提供网络、存储、安全和管理服务,使服务器成为可组合的、安全的计算单元。变量/常量C_host: 主机CPU。 C_dpu: DPU CPU。 Accel_engine: 硬件加速引擎。 PCIe_bandwidth: 主机-DPU带宽。 Network_bandwidth: 网络带宽。

异构计算: 通用CPU + 专用加速器。
硬件卸载: 将特定功能从CPU移至专用硬件, 提升性能功耗比。
资源解耦: 将计算资源与基础设施资源解耦, 提高利用率。
可编程性: 通过软件定义, 灵活部署新服务。

1. 初始化: 服务器启动,DPU上电,加载固件和操作系统。DPU通过PCIe与主机建立连接。 2. 服务发现与配置: 主机操作系统或管理软件发现DPU,并通过API配置所需服务(如虚拟交换机、存储目标)。 3. 流量卸载: 当主机应用产生网络流量时,数据包被重定向到DPU(如通过Virtio-net)。 4. 硬件加速处理: DPU的可编程数据平面或加速引擎对数据包进行处理(如VXLAN封装、安全策略检查、加密)。 5. 网络发送/接收: 处理后的数据包通过DPU的高速网络接口发送出去。接收路径反之亦然。 6. 存储访问: 主机应用通过NVMe over Fabrics协议访问远程存储,NVMe命令被DPU的存储引擎处理并转发至网络。 7. 监控与管理: DPU持续收集性能和安全遥测数据,上报给管理平台。

Roce-Memory-0029

系统互连

缓存一致性, 内存语义

Compute Express Link 内存池与共享模型

描述CXL如何通过在PCIe物理层上定义新的协议层,实现CPU与设备(如加速器、内存扩展卡)之间、设备与设备之间的缓存一致性内存访问。CXL.io提供非一致性I/O,CXL.cache支持设备缓存CPU内存,CXL.mem支持CPU访问设备内存,从而实现内存池化和共享。

缓存一致性: 基于目录或监听协议, 维持CPU与设备间缓存一致性。
内存语义: 支持加载/存储操作, 而不仅仅是DMA。
内存池化: 将多个设备的内存聚合为统一可寻址空间。

缓存一致性协议, 内存系统架构。

异构计算(CPU+GPU/FPGA), 内存分解/池化, 存储级内存扩展。

CXL链路: 基于PCIe 5.0+物理层。
缓存行: 一致性粒度, 通常64字节。
目录: 记录缓存行状态的分布式结构。
内存地址: 全局统一地址空间。

缓存一致性请求: 如Read, Read_Invalidate, Write_Invalidate等。
目录协议状态机: 状态如I(Invalid), S(Shared), E(Exclusive), M(Modified)。
内存访问延迟latency_local < latency_cxl < latency_network

1. CXL协议栈: a. CXL.io: 基于PCIe,提供非一致性I/O操作,用于设备发现、配置、中断等。b. CXL.cache: 定义设备缓存CPU内存的协议。设备可以向CPU发起缓存一致性请求,CPU的Home Agent负责响应并维护一致性。c. CXL.mem: 定义CPU访问设备附加内存的协议。CPU可以使用加载/存储指令直接访问设备内存,就像访问本地内存一样。2. 缓存一致性模型: CXL.cache通常采用基于目录的协议。CPU内存的Home Agent维护一个目录,记录每个缓存行在哪些CXL设备中有副本及其状态。当设备需要读写一个缓存行时,会向Home Agent发送请求,Home Agent根据目录状态,向相关设备发送失效或更新请求,以维护一致性。3. 内存池化架构: 多台服务器通过CXL交换机连接到共享的CXL内存池设备。每台服务器可以看到一个超大容量的共享内存空间。操作系统或虚拟机管理器可以将这部分内存作为常规内存(易失性)或持久性内存使用。内存池管理器负责内存的分配、回收和故障隔离。4. 优势: a. 高带宽低延迟: 比传统网络(如以太网)访问远程内存延迟低得多。b. 内存解耦: 服务器可按需从内存池中分配内存,提高利用率。c. 共享内存: 多台服务器或设备可以直接共享同一块物理内存,便于数据交换。5. 在数据中心的应用: 用于构建内存密集型应用(如内存数据库、AI训练)的资源池,实现内存与计算资源的独立扩展。6. 与RDMA的关系: CXL提供比RDMA更低延迟、更细粒度(缓存行 vs. 消息)的内存访问,且具有硬件一致性。RDMA则更适合跨机架、跨节点的远距离内存访问。两者在数据中心中互补。变量/常量CXL_Link: CXL链路。 Home_Agent: 负责特定内存区域一致性代理。 Directory: 目录,记录缓存行状态。 Cache_Line: 64字节缓存行。 Memory_Pool: 共享内存池。

缓存一致性: 基于目录的协议, 设备可缓存CPU内存。
内存语义: CPU可直接加载/存储设备内存。
池化: 将离散内存设备聚合成逻辑上统一的大内存。
低延迟: 基于PCIe物理层, 延迟在百纳秒级。

1. 设备发现与枚举: 通过CXL.io发现连接的CXL设备(如内存扩展卡)。 2. 内存映射: BIOS/操作系统将CXL设备的内存映射到系统的物理地址空间。 3. 一致性访问(CXL.cache): 当CXL设备(如GPU)需要读取CPU内存数据时,向该内存地址的Home Agent发送读请求。Home Agent查询目录,若其他设备有该行修改副本,则令其写回并更新目录,然后将数据返回给请求设备。 4. 直接访问(CXL.mem): CPU执行加载指令访问映射的CXL设备内存地址。内存控制器将请求路由到CXL链路,CXL设备返回数据。 5. 内存池访问: 通过CXL交换机,多个CPU可以访问共享的内存池设备,内存池管理器处理地址转换和冲突。

Roce-Interconnect-0030

芯片互连

缓存一致性, 加速器互连

缓存一致性互连协议模型

描述一种支持缓存一致性的片间或板级互连协议(如CXL或CCIX),允许多个处理器(如CPU、GPU、FPGA、加速器)共享一个统一的内存地址空间,并以缓存一致的方式访问彼此的内存。协议定义了事务类型、一致性状态、请求/响应流程和基于目录或监听的维护机制。

全局地址空间: 所有参与设备共享统一的物理地址空间。
缓存一致性: 通过硬件协议自动维护所有缓存副本的一致性。
低延迟: 针对板级或机架内互连优化。

缓存一致性, 互连协议, 分布式共享内存。

异构计算平台, CPU与加速器紧耦合, 高性能计算节点。

一致性粒度: 通常是缓存行(64字节)。
一致性状态: Modified, Exclusive, Shared, Invalid。
事务类型: Read, Write, Read_Invalidate, Write_Invalidate, Evict等。
目录: 记录每个缓存行的全局状态和拥有者列表。

MESI状态转换: 基于监听或目录的MESI(或MOESI)状态机。
请求-响应: 发起者发送请求, 家(Home)节点协调并响应。
访存排序: 定义内存模型的排序规则(如Release/Acquire)。

1. 系统架构: 多个处理单元(请求者)通过一致性互连网络连接。每个请求者可能有自己的本地缓存和内存。一个或多个“家”(Home)节点负责管理特定地址范围的内存和一致性。2. 基于目录的一致性协议: a. 目录结构: Home节点为每个它管理的缓存行维护一个目录项,记录该行的状态(如Shared, Modified)和拥有该行副本的请求者列表(共享向量)。b. 读未命中: 当一个请求者(Requester A)读一个缓存行未命中时,它向该行的Home节点发送读请求。Home检查目录:若状态为Invalid或Shared,则从内存读取数据返回给A,并将A加入共享列表,状态改为Shared。若状态为Modified,则找到当前持有者(Requester B),令其将数据写回内存并降级为Shared,然后将数据返回给A,并将A加入共享列表。c. 写未命中/升级: Requester A要写一个缓存行。若A无副本,发送写请求。Home检查目录:若状态为Invalid,则返回数据并将状态置为Modified,清空共享列表,仅记录A。若状态为Shared,则向共享列表中的所有其他请求者发送失效请求,收到所有失效确认后,返回数据给A,状态置为Modified,共享列表仅留A。若状态为Modified且持有者是B,则令B写回并失效,然后处理类似Invalid状态。d. 写回/替换: 当一个请求者需要从缓存中替换一个Modified行时,它必须将该行写回到Home节点。3. 事务类型与消息: 协议定义了一系列请求和响应消息,如ReadReq, ReadResp, WriteReq, WriteResp, InvalidateReq, InvalidateAck等。4. 内存模型: 定义了对内存操作的全局可见顺序,如x86的TSO或Arm的弱内存模型。一致性协议需要满足该内存模型。5. 在异构计算中的应用: 在CPU-GPU系统中,CPU和GPU可以一致地访问同一块内存,无需显式拷贝,简化了编程并提升了性能。6. 与CXL/CCIX的关系: CXL.cache和CXL.mem,以及CCIX,都是此类缓存一致性互连协议的具体工业标准实现。变量/常量Requester: 发起请求的设备(如CPU, GPU)。 Home: 负责特定地址内存和一致性的节点。 Directory_Entry: 目录项,包含状态和共享者列表。 Cache_Line_Addr: 缓存行地址。 Coherence_State: 一致性状态(M, E, S, I)。

基于目录: 集中式或分布式目录记录缓存行状态, 可扩展性好。
状态机: 每个缓存行在请求者和Home处都有状态, 按协议转换。
请求-响应: 通过消息传递完成一致性操作。
全局有序: 互连需提供一定的全局排序保证。

1. 读操作: Requester读本地缓存缺失 -> 发送ReadReq到Home -> Home查目录,若状态为S/I,从内存取数据,返回ReadResp,更新目录(S, 添加Requester);若状态为M,找到持有者B,发送DataRecall请求 -> B写回数据到Home/内存,发送应答 -> Home返回数据给原始Requester,更新目录。 2. 写操作: Requester写缓存行,若状态非M/E,发送WriteReq到Home -> Home查目录,向所有其他共享者发送InvalidateReq,等待InvalidateAck -> Home返回数据给Requester,更新目录状态为M,共享者列表仅该Requester。 3. 替换: Requester缓存满,需替换一个状态为M的行 -> 发送WriteBackReq到Home,包含数据 -> Home更新内存,将目录状态改为I或S(若还有其他共享者)。

Roce-Optics-0031

光通信

硅光集成, 共封装

共封装光学与片上光互连模型

描述将光模块/光引擎与交换芯片/计算芯片在封装层面紧密集成(共封装)甚至片上集成,以取代传统的可插拔光模块,实现更高带宽密度、更低功耗和更低成本的芯片间/板间光互连。涉及光I/O芯片设计、混合集成、封装耦合和热管理。

高密度: 单位面积/体积的带宽密度极高(>1 Tbps/mm²)。
低功耗: 传输距离短, 功耗显著低于可插拔模块。
共封装: 光引擎与电芯片在同一封装基板或中介层上。

硅光子学, 先进封装, 光电协同设计。

下一代交换芯片, AI集群互连, 芯片间光互连。

耦合损耗: 激光器到波导、波导到光纤的耦合损耗(dB)。
带宽密度BW_density = Total_bandwidth / Area
功耗效率Power_efficiency = Power / Bandwidth, 单位pJ/bit。

链路功率预算P_rx = P_tx - Insertion_Loss, 其中Insertion_Loss包括耦合损耗、波导传播损耗、调制器损耗等。
热光效应: 波长漂移 Δλ = (dλ/dT) * ΔT

1. 集成层次: a. 可插拔模块: 传统方式,光模块通过面板插座连接交换机。b. 板上光学: 光引擎安装在PCB上,通过短电缆连接交换芯片。c. 共封装光学: 光引擎与交换芯片/ASIC集成在同一封装基板或硅中介层上,通过封装内高密度互连连接。d. 片上光学: 光器件(调制器、探测器)与晶体管一起制造在同一硅芯片上(长期愿景)。2. 光引擎关键组件: a. 光源: 外部激光器(如硅上外接III-V族激光器)或未来可能的片上激光器。b. 调制器: 硅基电光调制器(如微环谐振器或MZI),将电信号转换为光信号。c. 光波导: 硅波导,用于在芯片上传输光信号。d. 光电探测器: 锗硅探测器,将光信号转换回电信号。e. 耦合器: 光栅耦合器或边缘耦合器,用于将光耦合进/出芯片和光纤。3. CPO封装集成: 将硅光芯片(PIC)和电芯片(如交换ASIC)通过高密度互连(如微凸点)贴装在同一个硅中介层或有机基板上。硅光芯片处理光信号,电芯片处理电信号,两者间距离极短(毫米级),通过数千个并行电互连连接,实现高带宽和低功耗。光纤阵列通过封装边缘的耦合器连接到硅光芯片。4. 优势与挑战: a. 优势: 大幅提高I/O带宽密度,降低功耗(减少驱动SerDes的电功率),降低单位比特成本,减小尺寸。b. 挑战: 封装复杂度和成本高,热管理困难(激光器对温度敏感),测试和维修难度大,供应链不成熟。5. 在交换芯片中的应用: 对于51.2T及更高速率的交换芯片,传统可插拔光模块的功耗和面板空间已成为瓶颈。CPO可以将16个3.2T的光引擎与交换芯片共封装,实现51.2T的总带宽。变量/常量PIC: 光子集成电路。 CPO: 共封装光学。 SerDes: 串行器/解串器。 Coupling_Loss: 耦合损耗。 IL: 插入损耗。 P_tx: 发射光功率。 P_rx: 接收灵敏度。 TEC: 热电制冷器。

高密度互连: 封装内数千个高速并行电通道连接电芯片和光芯片。
混合集成: 硅光芯片与III-V族激光器异质集成。
热管理: 激光器波长对温度敏感, 需精密温控。
协同设计: 光电芯片与封装必须协同设计优化。

1. 芯片设计: 分别设计电ASIC和硅光PIC。PIC包含调制器、探测器、波导、耦合器。 2. 制造: 分别制造电芯片和光芯片。 3. 集成: 将电芯片和光芯片通过微凸点倒装焊集成到硅中介层或有机基板上。 4. 激光器集成: 将外部激光器光源通过光纤或片上耦合引入PIC。 5. 封装: 进行塑封,安装散热器,并将光纤阵列连接到封装边缘的光耦合器。 6. 测试: 进行光电测试、高温老化测试等。 7. 系统集成: 将CPO模块安装在系统板上。

Roce-Telemetry-0032

网络运维

带内遥测, 可观测性

带内网络遥测数据收集与处理模型

描述INT和IOAM等带内网络遥测技术,通过在数据包内嵌入指令或添加遥测头部,使数据包在通过网络设备时,能自动收集并记录设备的实时状态信息(如队列延迟、队列占用、拥塞标记、时间戳、设备ID等),并将这些信息带内携带至接收端或遥测收集器,用于网络性能监控、故障定位和优化。

带内: 遥测数据由数据包自身携带, 路径与流量一致。
实时: 反映网络实时状态, 延迟低。
细粒度: 可获取逐跳、逐队列的详细信息。

网络测量, 可编程数据平面。

数据中心网络, 广域网, 云网络。

跳数hop_count, 数据包经过的设备数。
交换机IDswitch_id
队列延迟q_delay, 数据包在队列中等待的时间。
时间戳t_ingress, t_egress

延迟计算link_delay = t_egress(hop_i) - t_ingress(hop_i+1), 或 node_delay = t_egress - t_ingress
数据包格式: 在原有数据包(如以太网/IP)中插入INT或IOAM头部。

1. 带内网络遥测概述: INT和IOAM是两种主要技术。INT(In-band Network Telemetry)由P4/PISA架构推动,允许数据包携带指令,指示交换机收集和写入哪些信息。IOAM(In-situ OAM)是IETF标准,预定义数据字段,交换机按标准格式填充。2. INT工作流程: a. 指令嵌入: 发送端(如网卡或边缘交换机)在数据包中插入INT指令头部,指定要收集的元数据类型(如交换机ID、入口/出口时间戳、队列占用、队列延迟等)。b. 逐跳收集: 支持INT的交换机在流水线中解析INT指令,根据指令收集指定的元数据,并将这些数据追加到数据包的INT元数据栈中。c. 数据导出: 当数据包到达接收端(或指定的遥测收集点)时,接收端剥离INT头部和累积的遥测数据,将其通过带外方式(如gRPC)发送到遥测收集器。d. 处理与分析: 遥测收集器接收数据,进行聚合、分析和可视化,用于实时监控、故障诊断(如定位高延迟链路)、网络优化。3. IOAM工作流程: 与INT类似,但数据格式是标准化的。IOAM定义了一系列“数据字段”,如节点ID、接口ID、时间戳、队列深度等。网络管理员配置需要收集的数据字段。数据包在进入IOAM域时被插入IOAM头部,经过的每个节点填充指定的字段,在离开IOAM域时头部被移除,数据被导出。4. 优势与挑战: a. 优势: 提供前所未有的网络内部可视性,可精确测量路径性能,定位微突发和瞬时拥塞。b. 挑战: 增加了数据包长度(可能导致分片);对交换机处理能力有额外开销;产生大量数据,需要高效的后端处理系统。5. 在数据中心网络的应用: 用于监控RDMA网络的队列延迟和PFC暂停事件,优化DCQCN参数;快速定位网络故障点;验证服务等级协议。变量/常量INT_header: INT指令头。 INT_metadata: 遥测元数据栈。 IOAM_trace_option: IOAM跟踪选项。 hop_data: 单跳的遥测数据。 telemetry_collector: 遥测收集器地址。

指令驱动: 数据包携带指令, 告诉交换机收集什么数据。
逐跳累积: 遥测数据像栈一样在数据包内累积。
带内携带: 数据包自身将状态信息带出网络。
实时精细: 可测量纳秒级延迟和瞬时队列深度。

1. 配置: 在网络管理员处定义需要收集的遥测数据(如交换机ID、队列延迟、时间戳)。 2. 指令插入: 发送端(或入口交换机)在特定数据包中插入INT指令头或IOAM头部。 3. 数据收集: 数据包经过的每个支持INT/IOAM的交换机,根据指令收集本地信息(如当前时间戳、出端口队列深度),并将这些信息追加到数据包的遥测数据区。 4. 数据导出: 在接收端或网络出口点,剥离遥测数据,并通过带外通道发送到遥测收集器。 5. 分析: 遥测收集器解析数据,重建数据包的路径和每跳状态,进行可视化、告警和根因分析。

Roce-Security-0033

安全

可信执行环境, 内存加密

基于硬件的可信执行环境模型

描述通过硬件扩展(如Intel SGX, AMD SEV, Intel TDX)在CPU中创建隔离的、受保护的内存区域(称为“飞地”或“可信执行环境”),即使操作系统、虚拟机监控器或物理攻击者也无法访问其内部代码和数据,为敏感计算(如密钥处理、隐私数据计算)提供安全保障。

硬件隔离: 通过CPU硬件实现内存加密和访问控制。
远程证明: 可向远程方证明TEE中运行代码的完整性和真实性。
运行时保护: 保护TEE内代码和数据在运行时的机密性和完整性。

可信计算, 硬件安全, 机密计算。

云计算(保护租户虚拟机), 区块链, 数字版权管理, 多方安全计算。

飞地: 受保护的内存区域。
证明: 验证TEE和其中代码真实性的过程。
密封: 将TEE内数据用硬件唯一密钥加密存储到外部。
内存加密引擎: 透明加解密飞地内存的硬件单元。

内存加密Ciphertext = Encrypt(Key, Plaintext, Address)
证明签名Quote = Sign(Attestation_Key, Hash(Code_measurement, Data))

1. TEE创建: 应用程序调用CPU特殊指令(如Intel的ECREATE)创建一个飞地。CPU分配一块受保护的内存区域(飞地页缓存,EPC),并初始化飞地控制结构。2. 代码加载与度量: 将受信任的代码和数据加载到飞地内存中。CPU的硬件模块(如Intel的ME)会计算加载代码的哈希值(度量),这个度量值唯一标识了飞地内的代码和初始数据。3. 远程证明: 当远程方(如服务提供商)需要验证飞地的真实性时,飞地可以请求一个“证明”。CPU硬件(或与平台固件合作)生成一个“证明报告”,其中包含飞地的度量值,并用一个只有CPU或特权硬件才知道的密钥进行签名。远程方可以使用Intel/AMD的证明服务验证此签名,从而确信飞地运行在真实的硬件上,并且运行了预期的代码。4. 运行时保护: a. 内存加密: 飞地内存中的数据在离开CPU芯片(写入DRAM)时被自动加密,并在读回CPU时解密。加密密钥由CPU内部生成并存储,对软件不可见。b. 内存完整性保护: 部分TEE(如SGX)还使用消息认证码保护内存完整性,防止物理攻击者篡改DRAM中的数据。c. 访问控制: 只有飞地内的代码可以访问其内存,操作系统、虚拟机监控器等其他软件无法访问。5. 安全I/O: 一些TEE支持安全I/O,允许飞地直接与特定外设(如安全键盘)通信,避免被主机操作系统窃听。6. 在云计算中的应用: 允许云租户在不受信任的云基础设施上运行敏感代码。云服务商无法窥探或篡改飞地内的计算。例如,在区块链中用于保护私钥;在机器学习中用于保护模型和输入数据。7. 挑战: 性能开销(内存加密、上下文切换)、编程模型复杂、侧信道攻击风险(如Spectre, Meltdown针对推测执行漏洞)。变量/常量Enclave: 飞地/TEE。 EPC: 飞地页缓存。 MRENCLAVE: 飞地度量值(哈希)。 MRSIGNER: 飞地签名者。 Report: 证明报告。 Seal_Key: 密封密钥, 用于加密飞地数据到外部存储。

硬件强制隔离: 通过CPU模式和内存加密实现强隔离。
远程证明: 基于硬件密钥的数字签名, 提供信任根。
内存加密: 透明加解密, 保护静止和运行时数据。
最小化可信计算基: 只有CPU硬件和飞地内代码是可信的。

1. 飞地创建: 应用程序调用CPU指令创建飞地,分配EPC内存。 2. 代码加载: 将受信任的代码和数据加载到EPC。CPU硬件计算其度量值。 3. 飞地初始化: 完成加载后,飞地进入就绪状态。 4. 进入飞地: 应用程序通过特殊指令(EENTER)进入飞地执行。 5. 安全执行: 代码在飞地内安全运行,访问外部数据需通过特定接口(OCALL)。 6. 证明(可选): 飞地可生成证明报告,供远程方验证。 7. 退出飞地: 执行完成后,通过EEXIT离开飞地。 8. 密封(可选): 飞地可将敏感数据用硬件唯一密钥加密后存储到外部不安全的存储中,供后续恢复。

Roce-Crypto-0034

安全加速

国密算法, 硬件加速

国密算法硬件加速引擎模型

描述在芯片(如SoC、DPU、智能网卡)中集成专用的硬件电路,加速中国商用密码算法(简称“国密算法”,如SM2/3/4/9)的加解密、签名验签、杂凑运算。硬件加速引擎通过并行处理、流水线和专用指令集,实现比软件实现高数个量级的吞吐量和低延迟,满足高安全性应用的需求。

专用硬件: 针对特定算法(如SM4的S盒)优化的电路。
高吞吐量: 并行处理多个数据块, 可达数十Gbps。
低延迟: 硬件流水线, 延迟在数十纳秒级。
符合国标: 严格遵循GM/T系列标准。

密码学, 硬件安全, 集成电路设计。

金融、政务、通信等需要国密合规的领域, VPN网关, 区块链, 身份认证。

SM4块大小: 128位。
SM4轮数: 32轮。
SM3分组大小: 512位。
SM3输出长度: 256位。
SM2密钥长度: 256位(基于椭圆曲线)。

SM4轮函数X_{i+4} = F(X_i, X_{i+1}, X_{i+2}, X_{i+3}, rk_i) = X_i ⊕ T(X_{i+1} ⊕ X_{i+2} ⊕ X_{i+3} ⊕ rk_i)
SM3压缩函数CF(V, B), 其中V是256位链变量,B是512位消息分组。
SM2签名(r, s), 其中 r = (e + x1) mod n, s = ((1+d)^-1 * (k - r*d)) mod n

1. 国密算法概述: a. SM4: 分组对称密码算法,分组长度128位,密钥长度128位,用于数据加密。b. SM3: 密码杂凑算法,输出长度256位,用于数字签名和消息认证。c. SM2: 基于椭圆曲线的公钥密码算法,用于数字签名、密钥交换和公钥加密。d. SM9: 基于身份标识的密码算法。2. 硬件加速引擎架构: a. 算法核心: 针对每种算法设计的专用数据通路。i. SM4核心: 包含32轮轮函数的流水线或展开实现。每轮包括S盒替换、非线性变换、线性变换。支持ECB、CBC、CTR等模式。ii. SM3核心: 包含消息扩展和压缩函数的流水线。iii. SM2核心: 包含大数模乘、模加、点乘等椭圆曲线运算单元。b. 控制单元: 状态机,控制数据流和运算顺序。c. 接口: 通过AHB/AXI等总线与主机CPU连接。d. DMA引擎: 用于高效搬移大块数据。e. 密钥管理单元: 安全存储和处理密钥。3. 工作模式: a. 轮询模式: CPU通过读写寄存器启动和读取结果,适合小数据。b. DMA模式: 配置好源/目的地址和长度后,引擎通过DMA读取数据,处理完成后中断CPU,适合大数据。c. 异步模式: 支持多个并发请求。4. 性能优化技术: a. 流水线: 在SM4/SM3中,将多轮操作流水化,每个时钟周期可以处理一个数据块。b. 并行: 多个核心并行处理多个数据流。c. 指令集扩展: 在CPU中增加国密算法指令(如ARMv8的SM4扩展),由硬件直接执行。5. 在网络安全设备中的应用: 用于VPN网关的IPsec加密、SSL/TLS加速、服务器通信加密、数字签名验证等。6. 安全考虑: 硬件引擎本身需具备防侧信道攻击(如功耗分析、电磁分析)的防护措施,如随机化、掩码技术。变量/常量plaintext/ciphertext: 明文/密文。 key: 密钥。 IV: 初始化向量。 hash: 哈希值。 signature: 签名。 private_key/public_key: 私钥/公钥。 S-box: S盒, SM4的非线性变换表。

专用电路: 针对算法操作(如S盒, 模乘)高度优化。
高并行度: 支持多数据块/多上下文并行处理。
流水线: 提高吞吐量, 隐藏延迟。
指令加速: CPU指令集扩展, 进一步降低延迟。

1. 初始化: CPU配置加速引擎:选择算法(如SM4-CBC)、设置密钥、IV(如果需要)。 2. 数据传输: CPU将要处理的数据(明文或密文)地址和长度告知引擎,或通过DMA传输到引擎缓冲区。 3. 处理启动: CPU写控制寄存器启动处理。 4. 硬件处理: 加速引擎从缓冲区读取数据,在专用数据通路上进行加解密/哈希/签名运算。 5. 结果返回: 处理完成后,引擎将结果写回指定内存位置,或放入输出缓冲区。 6. 中断通知: 引擎产生中断通知CPU处理完成。 7. 后续处理: CPU读取结果或进行后续操作。

编号

层级

核心理论

模型名称

目标与描述

精度与特征

理论基础

应用场景

数学要素

关键方程/状态机

数学模型/算法描述

实现步骤/工作流程

软硬件工具

Roce-Switching-0035

交换架构

固定长度分组, 异步传输

ATM信元交换与虚通道/虚通路模型

描述异步传输模式(ATM)网络中,使用固定长度(53字节,5字节信头+48字节净荷)的信元作为传输和交换的基本单位。通过建立虚通道连接(VPC)和虚通路连接(VCC),实现面向连接、服务质量保证的高速数据交换。ATM交换机根据信头中的虚通路标识符和虚通道标识符(VPI/VCI)进行信元的路由和转发。

固定信元: 53字节固定长度, 便于硬件快速处理。
面向连接: 通信前需建立虚连接(VPC/VCC)。
服务质量: 可为不同连接提供不同的QoS保证(CBR, VBR, ABR, UBR)。
统计复用: 多个连接的信元异步时分复用在同一链路上。

快速分组交换, 虚电路交换, 流量工程。

早期宽带综合业务数字网(B-ISDN), 部分遗留的电信骨干网, 某些专网。

信元: 53字节, 其中5字节信头, 48字节净荷。
VPI: 虚通道标识符(8-12比特)。
VCI: 虚通路标识符(16比特)。
PT: 净荷类型。
CLP: 信元丢失优先级。

信元到达过程: 通常建模为泊松过程或马尔可夫调制泊松过程。
交换时延Delay = propagation_delay + queueing_delay + switching_delay
排队模型: 通常使用M/D/1或M/G/1队列分析。

1. ATM协议层: a. ATM适配层: 将上层协议(如IP、语音、视频)的数据分割成48字节的净荷,或从信元重组。b. ATM层: 负责信元的复用/解复用、VPI/VCI的翻译和路由、流量整形和拥塞控制。c. 物理层: 定义如何在物理介质(如SONET/SDH、光纤、铜缆)上传输信元。2. 信元结构: 信头包含:GFC(一般流量控制,通常不用)、VPI、VCI、PT(净荷类型,如用户数据或OAM信元)、CLP(信元丢失优先级,CLP=1的信元在网络拥塞时优先丢弃)、HEC(信头差错控制,用于检错和纠错)。3. 连接建立: 在数据传输前,通过信令协议(如Q.2931)建立一条从源到目的地的虚连接。连接可以是永久虚连接(PVC,手动配置)或交换虚连接(SVC,动态建立)。连接建立过程中,会分配VPI/VCI值,并协商流量参数和QoS。4. 交换过程: a. 输入处理: 交换机输入端口接收信元,检查HEC。若错误可纠正则纠正,否则丢弃。b. VPI/VCI翻译: 根据输入端口和信元中的VPI/VCI值,查转发表,得到输出端口和新的VPI/VCI值(因为VPI/VCI只在每段链路上有局部意义)。c. 信头替换: 将信元信头中的VPI/VCI替换为新的值。d. 排队与调度: 信元被送入输出队列(或中央队列、输入队列)。交换机根据调度算法(如基于优先级的加权公平队列)和QoS要求,从队列中选择信元发送到输出端口。e. 输出处理: 信元被发送到输出链路上。5. 服务质量: 通过流量合同、流量整形、连接接纳控制和用法参数控制实现。a. CBR: 恒定比特率,用于语音、视频会议。b. VBR: 可变比特率,分实时和非实时。c. ABR: 可用比特率,根据网络状况动态调整速率。d. UBR: 未指定比特率,尽力而为。6. 衰落: 随着IP技术的成熟和成本降低,ATM逐渐被IP/MPLS取代,但其许多概念(如面向连接、QoS)影响了后续技术。变量/常量VPI: 虚通道标识符。 VCI: 虚通路标识符。 HEC: 信头差错控制。 PCR: 峰值信元速率。 SCR: 可持续信元速率。 MBS: 最大突发长度。 CTD: 信元传输时延。 CDV: 信元时延变化。

固定信元: 53字节固定长度, 简化了交换机的缓冲区和调度器设计。
虚电路: 基于连接, 支持QoS保证和流量工程。
统计复用: 多个连接共享带宽, 提高利用率。
硬件交换: 易于用硬件实现高速交换。

1. 连接建立: 源端通过信令协议(如Q.2931)发起呼叫建立请求,沿途交换机分配VPI/VCI,预留资源,最终建立一条虚连接。 2. 数据封装: 上层数据在ATM适配层被分割成48字节的段,加上5字节的信头,形成53字节的信元。 3. 信元传输: 信元被异步时分复用到链路上传输。 4. 信元交换: 每个ATM交换机根据输入VPI/VCI查找转发表,替换为输出VPI/VCI,并将信元调度到输出端口。 5. 信元重组: 目的端收到信元后,根据顺序重组为原始数据,上交高层。 6. 连接释放: 通信结束,通过信令释放连接。

Roce-Switching-0036

交换架构

输入排队, 调度算法

输入排队交换机与iSLIP调度算法模型

描述一种采用输入排队(输入端口有队列)的交换机架构,及其解决队头阻塞和实现高吞吐量的调度算法——迭代串行最久匹配(iSLIP)。该算法通过多轮迭代,在输入端口和输出端口之间进行匹配,以解决多个输入端口同时竞争同一个输出端口的问题,从而近似实现无阻塞交换。

输入排队: 每个输入端口有多个虚拟输出队列, 避免队头阻塞。
迭代匹配: 通过多轮请求-授予-接受三步迭代, 实现端口匹配。
高效率: 在均匀流量下可达到100%吞吐量。
可扩展: 易于硬件实现。

组合优化, 二分图匹配, 调度算法。

高速路由器/交换机核心交换结构, 数据中心网络交换芯片。

输入端口数N
虚拟输出队列: 每个输入端口为每个输出端口维护一个队列 VOQ(i, o)
匹配矩阵M, 其中 M(i,j)=1表示输入i与输出j匹配。
迭代轮数k

请求: 输入i向所有有数据要发送的输出j发送请求。
授予: 输出j在所有请求的输入中, 选择下一个优先级最高的输入(基于轮询指针 g_j)。
接受: 输入i在所有授予它的输出中, 选择下一个优先级最高的输出(基于轮询指针 a_i)。
指针更新: 被接受的输入/输出将其指针移动到被接受位置的下一个。

1. 输入排队与队头阻塞: 在输入排队交换机中,每个输入端口有N个虚拟输出队列,分别对应N个输出端口。这避免了传统单一输入队列的队头阻塞(一个队头数据包阻塞了后面去往空闲输出端口的数据包)。2. 调度挑战: 每个时隙,需要决定哪些VOQ中的数据包可以通过交换结构发送到输出端口。由于交换结构通常是N x N的,且每个输入/输出端口在一个时隙内只能发送/接收一个数据包,这相当于在输入和输出端口之间找到一个匹配(二分图匹配)。3. iSLIP算法流程: 每个时隙执行一次调度,包含多轮迭代(通常1-4轮),每轮包含三步:a. 请求: 每个输入端口检查其非空VOQ,并向对应的输出端口发送一个请求。b. 授予: 每个输出端口可能收到多个输入端口的请求。输出端口j维护一个轮询指针g_j,指向下一个有资格被授予的输入端口。输出端口从所有请求中选择指针g_j所指的输入端口(如果该输入发出了请求),或者从请求中按轮询顺序选择第一个。然后向选中的输入端口发送一个授予。c. 接受: 每个输入端口可能收到多个输出端口的授予。输入端口i维护一个轮询指针a_i,指向下一个有资格接受的输出端口。输入端口从所有授予中选择指针a_i所指的输出端口(如果该输出发出了授予),或者从授予中按轮询顺序选择第一个。然后向选中的输出端口发送一个接受。d. 指针更新: 如果一个输出端口在授予阶段授予了一个输入端口,并且该输入端口接受了,那么该输出端口将其指针g_j更新为(被接受的输入端口编号 + 1)mod N。同样,如果一个输入端口接受了一个输出端口,那么该输入端口将其指针a_i更新为(被接受的输出端口编号 + 1)mod N。这确保了每个端口的机会公平性。e. 迭代: 可以重复进行请求-授予-接受多轮,以增加匹配数。通常1-3轮就能达到接近最大匹配。4. 性能: iSLIP算法是迭代的、贪婪的、分布式的,易于硬件实现。在均匀流量下,只需一轮迭代就能达到100%吞吐量;在非均匀流量下,多轮迭代可提高吞吐量。5. 变体: 有诸多变体,如DRRM、FIRM等,旨在提高效率、公平性或降低延迟。变量/常量N: 端口数量。 VOQ(i,o): 输入i中目的地为输出o的队列。 g_j: 输出端口j的授予指针。 a_i: 输入端口i的接受指针。 Request[i][j]: 布尔值,输入i是否向输出j发出请求。 Grant[i][j]: 布尔值,输出j是否授予输入i。 Accept[i][j]: 布尔值,输入i是否接受输出j。

虚拟输出排队: 每个输入端口为每个输出维护一个队列, 消除队头阻塞。
迭代匹配: 通过多轮请求-授予-接受, 逐步增加匹配数。
轮询指针: 保证公平性, 避免饥饿。
分布式: 每个输入/输出端口独立决策, 易于并行硬件实现。

1. 初始化: 每个输出端口j的授予指针g_j随机初始化,每个输入端口i的接受指针a_i随机初始化。 2. 请求阶段: 对于每个输入端口i,对于每个输出端口j,如果VOQ(i,j)非空,则设置Request[i][j] = 1。 3. 授予阶段: 对于每个输出端口j,在Request[*][j] == 1的输入端口集合中,从g_j开始按轮询顺序选择第一个,并设置Grant[selected_i][j] = 1。 4. 接受阶段: 对于每个输入端口i,在Grant[i][*] == 1的输出端口集合中,从a_i开始按轮询顺序选择第一个,并设置Accept[i][selected_j] = 1。 5. 指针更新: 对于每个输出端口j,如果它在授予阶段授予了某个输入i且被接受,则更新g_j = (i + 1) mod N。对于每个输入端口i,如果它接受了某个输出j,则更新a_i = (j + 1) mod N。 6. 可选迭代: 清除所有Request, Grant, Accept,重复步骤2-5进行下一轮迭代(通常最多3轮)。 7. 传输: 根据最终的Accept匹配,每个匹配的输入端口从其相应的VOQ中发送一个数据包到交换结构,交换结构将其传送到对应的输出端口。

Roce-Switching-0037

交换架构

光交换, 光突发交换

光突发交换网络模型

描述一种在光域内交换数据的网络技术。它将数据分成“突发”,每个突发包含一个控制分组和一个数据突发。控制分组在电域处理,用于预留资源,而数据突发在光域透明传输,无需光电光转换,从而降低延迟和功耗。适用于承载突发性、高带宽的数据中心或城域网流量。

光透明传输: 数据突发在光域交换, 无需光电转换。
带外信令: 控制分组与数据突发分离, 在独立信道传输。
突发性: 适合突发流量, 提高带宽利用率。
无缓存: 光域难以存储, 需精确时间同步。

光通信, 资源预留, 突发交换。

光数据中心网络, 城域光网络, 高性能计算光互连。

突发: 由多个IP分组聚合成的数据单元。
偏置时间: 控制分组提前于数据突发发送的时间差。
突发长度L, 单位时间或字节。
信道: 数据信道和控制信道。

资源预留: 控制分组在数据突发到达前, 沿路径预留波长和时隙。
阻塞概率: 由于资源竞争导致突发丢失的概率, 可通过排队论或仿真分析。

1. 网络架构: OBS网络由边缘节点和核心节点组成。边缘节点负责将IP分组聚合为突发,并产生控制分组。核心节点是全光交换机,根据控制分组的信息配置光交换矩阵,引导数据突发通过。2. 工作流程: a. 突发组装: 在入口边缘节点,去往同一出口边缘节点和具有相同服务质量要求(如延迟)的IP分组被聚合为一个突发。突发达到一定长度或超时时,被组装完成。b. 控制分组发送: 边缘节点生成一个控制分组,包含路由信息、突发长度、偏置时间等。控制分组通过独立的控制信道(通常是带外波长)提前发送。c. 资源预留: 控制分组经过每个核心节点时,在电域被处理。节点根据其信息,在预期的数据突发到达时间,为该突发预留一个输出波长和时段。如果资源不可用,则控制分组被拒绝,并发送一个否定确认给源节点。d. 数据突发传输: 在控制分组发送后,经过一个偏置时间,数据突发在光域通过数据信道发送。数据突发在光域透明传输,经过核心节点时,光交换矩阵已根据控制分组的指令配置好,将突发交换到正确的输出端口。e. 突发拆解: 在出口边缘节点,数据突发被接收,解复用为原始的IP分组,并转发给上层。3. 资源预留协议: 主要有两种:a. 立即预留: 控制分组在每一跳立即预留资源,无论后续节点是否可用。可能导致资源碎片。b. 延迟预留: 控制分组在收到来自下游节点的确认后才预留资源。更可靠但延迟更大。4. 冲突解决: 由于光缓存困难,当两个突发竞争同一输出端口和波长时,会发生冲突。解决方案包括:a. 波长转换: 将冲突的突发转换到另一个可用波长。b. 光缓存: 使用光纤延迟线(FDL)提供有限的延迟。c. 偏射路由: 将冲突的突发路由到另一条路径。d. 突发丢弃: 丢弃其中一个突发(可能需要重传)。5. 优势与挑战: a. 优势: 充分利用光纤带宽,透明传输,低延迟,低功耗。b. 挑战: 缺乏光随机存储器,冲突解决困难;控制分组处理延迟和偏置时间设置影响性能;组装和拆解带来额外延迟。变量/常量Burst: 数据突发。 Control Packet: 控制分组。 Offset Time: 偏置时间。 Burst Length: 突发长度。 FDL: 光纤延迟线。 Wavelength: 波长。 Burst Loss Probability: 突发丢失概率。

带外信令: 控制信道与数据信道分离。
光透明性: 数据突发在光域透明传输, 支持任意比特率和协议。
无光缓存: 光域难以存储, 冲突解决困难。
偏置时间: 控制分组提前发送, 为处理预留时间。

1. 入口边缘节点: 接收IP分组,根据目的地址和QoS分类,放入不同的组装队列。当队列长度达到阈值或计时器超时,组装完成,形成一个突发。 2. 控制分组生成与发送: 为突发生成控制分组,包含路由、长度、偏置时间等信息。通过控制信道提前发送。 3. 核心节点处理控制分组: 控制分组在每一跳被光电转换,电处理器解析分组,在调度器中为即将到来的数据突发预留资源(波长和时段)。 4. 光交换矩阵配置: 在数据突发预计到达的时间,根据预留信息配置光交换矩阵(如MEMS, 半导体光放大器开关)。 5. 数据突发传输: 偏置时间后,数据突发在光域通过数据信道发送,经过已配置好的光交换矩阵。 6. 冲突处理: 如果发生冲突,根据策略(如使用FDL延迟、波长转换或丢弃)处理。 7. 出口边缘节点: 接收数据突发,光电转换,拆解为IP分组,并向上转发。

Roce-Switching-0038

交换架构

信元交换, 多级互连网络

多级互连网络与Banyan交换结构模型

描述一种由多个小型交换单元(如2x2交叉开关)级联构成的大型交换网络,用于连接大量输入端口和输出端口。Banyan网络是其中一种自路由、阻塞型多级互连网络,其路由决策仅基于输出端口地址的比特位,结构规则,易于VLSI实现。

自路由: 信元根据输出端口地址的比特位逐级选择路径。
阻塞性: 内部链路竞争可能导致阻塞, 即使输入输出空闲。
规则结构: 由相同的小交换单元规则排列, 易于扩展。
成本低: 复杂度为O(N log N), 低于Crossbar的O(N^2)。

互连网络, 多级交换, 自路由。

早期ATM交换机, 并行计算互连, 芯片网络。

级数n = log2(N), 其中N是端口数。
交换单元: 2x2交叉开关, 可配置为直通或交叉。
路由标签: 输出端口地址的二进制表示, 如d0 d1 ... d_{n-1}

自路由算法: 在第i级, 交换单元查看路由标签的第i位(从最高位或最低位开始), 如果为0, 选择上输出; 如果为1, 选择下输出。
阻塞条件: 当两个信元需要同时使用同一内部链路时发生阻塞。

1. Banyan网络结构: 一个N x N的Banyan网络由n = log2(N)级组成,每级有N/2个2x2交换单元。每个2x2交换单元有两个输入和两个输出,可配置为直通(输入0->输出0, 输入1->输出1)或交叉(输入0->输出1, 输入1->输出0)。相邻级之间以固定的洗牌方式连接(如完美洗牌)。2. 自路由: 每个信元携带一个路由标签,即其目的输出端口的二进制地址(n位)。当信元进入第一级时,每个交换单元查看其路由标签的最高位(或最低位,取决于设计)。如果该位为0,信元被路由到交换单元的上输出端口;如果为1,则路由到下输出端口。在第二级,交换单元查看路由标签的次高位,以此类推。经过n级后,信元将到达正确的输出端口。3. 阻塞性: Banyan网络是内部阻塞的。即使两个信元去往不同的输出端口,它们也可能在某个中间级的内部链路上发生冲突。例如,两个信元从不同的输入端口进入,但它们在某一级需要使用同一个交换单元的同一个输出链路。解决阻塞的方法包括:a. 增加内部速度: 提高内部链路速率。b. 使用缓冲: 在交换单元内部或之间设置缓冲区。c. 使用排序网络: 在Banyan网络前增加一个排序网络(如Batcher排序网络),将信元按目的地址排序,可消除阻塞,构成非阻塞的排序-Banyan网络。d. 多条并行平面: 使用多个并行的Banyan平面。4. 扩展性: Banyan网络的交叉点数量为(N/2) * log2(N),远小于Crossbar的N^2,因此更适合构建大规模交换机。5. 在ATM交换机中的应用: 由于ATM信元固定长度,且Banyan网络适合信元交换,早期许多ATM交换机采用Banyan或多级互连网络作为交换结构。变量/常量N: 输入/输出端口数。 n: 级数, n = log2(N)SE: 2x2交换单元。 Routing Tag: 路由标签, n位二进制数。 d_i: 路由标签的第i位。

自路由: 路由决策完全基于输出地址的比特位, 无需中央调度器。
多级结构: 由多级小交换单元构成, 复杂度O(N log N)。
内部阻塞: 由于规则的互连模式, 可能存在内部冲突。
规则性: 结构规则, 易于VLSI布局布线。

1. 信元进入: 信元到达输入端口,携带目的输出端口地址。 2. 生成路由标签: 将目的输出端口地址转换为n位二进制路由标签。 3. 逐级路由: 信元从第一级开始。在第i级(i从0到n-1),每个交换单元检查信元路由标签的第i位。若为0,交换单元将信元从其“上”输出端口送出;若为1,从“下”输出端口送出。 4. 处理冲突: 如果两个信元同时竞争同一个交换单元的同一个输出端口,则根据缓冲策略处理(如输入缓冲、内部缓冲、输出缓冲),或丢弃其中一个。 5. 信元输出: 经过n级后,信元到达其目的输出端口。

Roce-Switching-0039

交换架构

信元交换, 光交换

光分组/信元交换网络模型

描述一种直接在光域对分组/信元进行路由和转发的网络技术。光分组交换旨在实现像电分组交换一样的灵活性和统计复用,但克服了OPS在光缓存和同步方面的巨大挑战。光信元交换是OPS的一种,使用固定长度的光分组(信元)。

全光交换: 数据在光域交换, 无需光电转换。
分组/信元粒度: 交换粒度是可变分组或固定信元。
光缓存: 使用光纤延迟线(FDL)提供有限的延迟。
同步: 需要精确的时间同步以实现信元对齐。

光通信, 分组交换, 光缓存。

未来全光网络, 光数据中心网络, 超高速骨干网。

光分组: 包含光分组头(可能带外)和净荷。
光纤延迟线: 不同长度的光纤, 提供固定的延迟时间。
同步: 信元时间对齐的精度要求(如纳秒级)。

交换时延: 主要由FDL长度决定, delay = length / (c/n), 其中c为光速,n为光纤折射率。
冲突概率: 多个分组竞争同一输出端口的概率。

1. 光分组/信元结构: 一个光分组包括净荷(用户数据)和分组头。分组头可以以较低速率在带外波长传输(并行)或在带内以特殊调制格式传输(串行)。净荷在光域透明传输。2. 网络节点架构: a. 输入接口: 对分组头进行光电转换和处理,净荷保持光信号。b. 交换矩阵: 基于光开关(如半导体光放大器、液晶、MEMS),在控制单元控制下,将输入光信号切换到指定输出端口。c. 输出接口: 可能包括FDL用于解决冲突和同步,以及波长转换器。d. 控制单元: 电处理器,处理分组头信息,控制交换矩阵和FDL。3. 关键挑战与技术: a. 光缓存: 光随机存取存储器尚不实用,目前主要使用光纤延迟线。FDL是固定长度的光纤,提供固定的延迟。通过一组不同长度的FDL,可以实现有限的、离散的延迟值。b. 同步: 为了在交换矩阵中精确对齐信元,需要复杂的同步电路,精度需达到纳秒级。c. 分组头处理: 分组头需要在电域处理,这带来光电转换的瓶颈和延迟。d. 冲突解决: 当多个分组竞争同一输出端口时,解决方案包括:i. FDL: 让冲突的分组进入不同长度的FDL延迟,然后在不同时间送出。ii. 波长转换: 将冲突的分组转换到另一个波长,从同一输出端口的不同波长信道送出。iii. 偏射路由: 将分组路由到非最短路径。iv. 分组丢弃: 丢弃冲突的分组。4. 与OBS的区别: OPS交换粒度更小(分组/信元),而OBS交换粒度是突发(多个分组聚合)。OPS需要更快的交换速度和更精细的同步,实现难度更高。5. 研究现状: 由于技术挑战,OPS尚未大规模商用,但仍是研究热点,被视为未来全光网络的终极形态。变量/常量Optical packet/cell: 光分组/信元。 FDL: 光纤延迟线, 长度LDelay: 固定延迟, Delay = L * n / cSwitch fabric: 光交换矩阵(SOA, MEMS等)。 Header processing: 分组头处理。

全光透明: 净荷在光域传输和交换, 支持任意比特率。
无光RAM: 使用FDL实现有限、固定的延迟。
高速交换: 交换速度需达到纳秒级以处理高速流量。
同步要求高: 信元需要时间对齐, 同步精度高。

1. 分组到达与同步: 光分组到达输入端口,通过光同步模块对齐到本地时隙。 2. 分组头提取与处理: 通过分光器,分出一小部分光信号进行光电转换,提取分组头信息(目的地址、优先级等)。控制单元(电)处理分组头。 3. 路由决策与资源预约: 控制单元根据分组头信息查找路由表,确定输出端口,并检查输出端口的可用性(波长、时隙)。 4. 冲突解决: 如果输出端口冲突,控制单元决定解决方案(如分配FDL延迟、波长转换或丢弃)。 5. 交换矩阵配置: 控制单元在分组净荷到达前配置光交换矩阵,将其引导到正确的输出端口(可能经过FDL)。 6. 分组传输: 光分组净荷通过交换矩阵,可能经过FDL延迟,然后从输出端口发送出去。

Roce-Switching-0040

网络协议

信元中继, 服务质量

ATM适配层类型5模型

描述ATM适配层(AAL)中最常用的一种类型,用于在ATM网络上高效传输面向连接或无连接的可变长度数据包(如IP包)。AAL5将上层协议数据单元分割成48字节的段,作为ATM信元的净荷,并提供简单的检错和帧定界功能,但不提供纠错或重传。

简单高效: 开销小, 仅尾部有8字节开销。
面向报文: 支持可变长度数据包。
检错: 使用CRC-32检测整个帧的错误。
消息模式: 确保一个帧的所有信元按顺序传递。

分段与重组, 适配层。

在ATM上承载IP(Classic IP over ATM), 局域网仿真(LANE)。

CPCS-PDU: 公共部分会聚子层协议数据单元, 即AAL5帧。
SAR-PDU: 分段与重组子层协议数据单元, 即48字节的ATM信元净荷。
CRC-32: 32位循环冗余校验码。

帧格式: `

Payload (1-65535 bytes)

Pad (0-47 bytes)

CPCS-UU (1 byte)

Roce-Switching-0041

交换架构

信元交换, 多路径, 负载均衡

负载均衡的Birkhoff-von Neumann交换结构模型

描述一种基于Birkhoff-von Neumann定理的交换结构。该定理表明任何双随机矩阵都可以分解为置换矩阵的凸组合。在交换中,可以预先计算一组固定的匹配(置换矩阵)及其对应的时间比例(权重),然后周期性地调度这些匹配。这种调度是确定的、无竞争的,但需要流量满足一定的条件才能达到100%吞吐量。

确定性调度: 调度序列是预先计算好的, 周期性重复。
无竞争: 每个匹配矩阵是置换矩阵, 无内部竞争。
可证明的吞吐量: 在允许的流量矩阵下可达100%吞吐量。
低复杂度: 调度决策简单, 无需实时计算。

组合数学, 双随机矩阵分解, 调度理论。

高速交换机, 数据中心网络交换结构。

双随机矩阵: 矩阵A满足行和与列和均为1, 元素非负。
置换矩阵: 每行每列只有一个1, 其余为0的矩阵。
权重φ_i, 对应置换矩阵P_i的时间比例。

Birkhoff-von Neumann分解: 任何双随机矩阵A可以表示为有限个置换矩阵P_i的凸组合:A = Σ φ_i * P_i, 其中Σ φ_i = 1φ_i > 0
调度: 在一个周期T内, 分配φ_i * T个时隙给匹配P_i

1. 理论基础: Birkhoff-von Neumann定理指出,任何n x n的双随机矩阵都可以表示为不超过n^2 - 2n + 2个置换矩阵的凸组合。在交换的上下文中,双随机矩阵A可以表示流量需求,其中a_ij表示从输入i到输出j的流量占总输入/输出容量的比例。如果实际流量矩阵是双随机的(即每个输入的总输出需求不超过1,每个输出的总输入需求不超过1),那么存在一种调度,使得每个输入输出对都能得到其所需的带宽。2. 调度机制: a. 分解: 离线计算给定双随机矩阵A的分解:A = φ_1 P_1 + φ_2 P_2 + ... + φ_k P_k,其中P_i是置换矩阵,φ_i > 0Σ φ_i = 1。b. 调度: 将时间划分为帧,每个帧长度为T时隙。在帧内,分配t_i = φ_i * T个时隙给匹配P_i。由于t_i可能不是整数,需要通过某种方式取整(如轮询)。在每个时隙,根据当前激活的匹配P_i,将输入连接到对应的输出。c. 实现: 这种调度可以很容易地用Crossbar开关实现,因为每个P_i对应一个输入到输出的连接配置。3. 性能: 在流量矩阵是双随机且稳定的情况下,该调度可以达到100%吞吐量。然而,实际流量是动态变化的,且可能不满足双随机条件。解决方案包括:a. 速率量化: 将流量需求量化为离散的速率。b. 联合使用输入队列: 结合输入队列和VOQ,并使用基于BvN的调度来服务队列。c. 自适应: 根据队列长度动态调整流量矩阵的估计,并重新计算分解。4. 优势与局限: a. 优势: 调度是确定性的,无竞争,易于实现,可提供带宽保证。b. 局限: 对动态流量适应性较差;分解计算可能复杂;如果流量不是双随机的,可能无法达到100%吞吐量。5. 在交换机中的应用: 通常用于需要提供带宽保证的场景,如数据中心中的负载均衡交换机。可以与负载均衡结合使用,例如在负载均衡的Birkhoff-von Neumann交换机中,第一级是负载均衡器,将流量均匀分散到中间级,第二级是BvN调度器,实现无竞争的交换。变量/常量A: 双随机流量矩阵, a_ij表示从输入i到输出j的流量比例。 P_i: 置换矩阵。 φ_i: 权重, φ_i > 0, Σ φ_i = 1T: 帧长(时隙数)。 t_i: 分配给匹配P_i的时隙数。

双随机分解: 将流量矩阵分解为置换矩阵的加权和。
确定性调度: 按预计算的时间表切换连接, 无需实时仲裁。
无内部竞争: 每个匹配矩阵是置换, 输入输出一一对应, 无冲突。
带宽保证: 可为每个输入输出对提供有保证的带宽。

1. 流量矩阵估计: 测量或估计流量需求矩阵A。确保A是双随机的(行和与列和均为1)。如果不是,可以通过标准化处理。 2. 矩阵分解: 使用Birkhoff-von Neumann算法(或匈牙利算法)将A分解为置换矩阵P_i和权重φ_i的凸组合。 3. 调度表生成: 给定帧长T,计算每个匹配P_i应分配的时隙数t_i = round(φ_i * T),可能需要微调以满足Σ t_i = T。然后生成一个周期为T的调度表,按顺序激活各个匹配P_i,每个持续t_i个时隙。 4. 交换: 在每个时隙,根据调度表激活对应的匹配P_i,配置Crossbar开关,将输入连接到输出。 5. 更新: 定期(如每毫秒)根据新的流量矩阵估计,重复步骤1-3,更新调度表。

Roce-Switching-0042

交换架构

信元交换, 并行平面

并行平面交换结构与负载均衡 Birkhoff-von Neumann 交换机模型

描述一种结合了负载均衡和Birkhoff-von Neumann调度的多平面交换结构。该结构包含两个阶段:第一阶段是负载均衡器,将流量均匀分散到多个中间级;第二阶段是多个并行的交换平面(每个平面是一个Birkhoff-von Neumann调度器),每个平面处理一部分流量。这种结构可扩展性好,并能提供高吞吐量和低延迟。

负载均衡: 第一阶段将流量均匀分散到中间级, 简化了调度。
并行平面: 多个交换平面并行工作, 提高容量。
确定性调度: 每个平面使用预计算的BvN调度表。
可扩展: 容量随平面数线性增加。

负载均衡, 并行交换, 确定性调度。

大型数据中心核心交换机, 高性能路由器。

平面数m, 中间级的交换平面数量。
负载均衡器: 将输入流量均匀分散到m个平面。
BvN调度器: 每个平面是一个BvN调度器, 有预定的匹配序列。

流量分散: 负载均衡器将每个输入流(i, j)的流量均匀分到m个平面, 每个平面得到1/m的流量。
吞吐量: 在均匀流量下, 可达到100%吞吐量。

1. 交换机架构: 交换机有N个输入端口和N个输出端口。它由三部分组成:a. 负载均衡器: 第一级,通常是一个简单的固定或随机调度器,将每个输入端口的流量均匀地分散到m个中间交换平面。例如,对于输入i,它可能以轮询或随机方式将信元发送到m个平面之一。b. 中间交换平面: 有m个独立的交换平面,每个平面是一个N x N的交换结构,运行Birkhoff-von Neumann调度。每个平面有自己预定的、周期性的匹配序列。c. 输出缓冲与重排序: 由于来自同一流的不同信元可能通过不同平面传输,导致乱序,因此在输出端口需要缓冲区对信元进行重排序。2. 工作原理: a. 信元到达输入端口,被放入VOQ(虚拟输出队列)。b. 负载均衡器从每个VOQ中取信元,并以均匀的方式将其发送到m个平面之一。例如,可以基于流(输入输出对)的哈希值选择平面,以保证同一流的所有信元走同一平面,避免乱序;或者基于每个信元随机选择平面,但需要更复杂的重排序。c. 每个中间平面根据其预计算的BvN调度表,周期性地将其输入连接到输出。由于BvN调度是确定的,每个平面内部无冲突。d. 信元从平面到达输出端口。由于不同平面的延迟可能不同,来自同一流但通过不同平面的信元可能乱序到达。输出端口需要根据序列号对信元进行重排序。3. 负载均衡的效果: 通过将流量均匀分散到各个平面,每个平面看到的流量矩阵近似是双随机的(行和与列和都接近1/m)。这使得每个平面可以使用固定的BvN调度表(例如,对应于均匀流量矩阵)来达到高吞吐量,而无需根据实时流量调整调度。4. 重排序机制: 为了避免乱序,可以采用流保持(同一流的所有信元走同一平面),但这可能降低负载均衡的效果。或者,允许乱序但使用序列号在输出端口重排序。重排序缓冲区需要足够大以容纳不同平面的最大延迟差。5. 优势: 将复杂的动态调度问题分解为简单的负载均衡和静态调度,降低了调度复杂度,易于扩展到高速和大端口数。6. 挑战: 重排序缓冲区的管理;负载均衡的不完美可能导致平面间负载不均,影响性能。变量/常量N: 输入/输出端口数。 m: 中间平面数。 LB: 负载均衡器。 Plane_k: 第k个交换平面。 BvN_Schedule_k: 平面k的BvN调度表。 Resequencing_Buffer: 输出端口的重排序缓冲区。

负载均衡: 将流量均匀分散到多个平面, 使每个平面的流量矩阵近似双随机。
并行平面: 多个平面并行工作, 提高总容量。
静态调度: 每个平面使用预计算的BvN调度表, 无需实时计算。
可扩展: 容量和端口数可随平面数线性增加。

1. 流量分散: 对于每个到达输入端口i、目的为输出端口j的信元,负载均衡器根据哈希(i, j)或轮询策略,选择一个中间平面k(0 <= k < m)。 2. 平面内交换: 信元被发送到平面k的输入端口i。平面k根据其预定的BvN调度表,在时隙t将输入i连接到输出j(如果匹配允许)。 3. 输出接收: 信元从平面k的输出端口j离开,到达交换机的输出端口j。 4. 重排序: 输出端口j的重排序缓冲区根据信元的序列号(或时间戳)对信元进行排序,然后按序发送。 5. 调度表生成: 离线为每个平面计算一个BvN调度表,对应于均匀流量矩阵(即a_ij = 1/N)。 6. 周期性调度: 每个平面独立地、周期性地执行其调度表。

Roce-Switching-0043

交换架构

信元交换, 输入排队, 组合调度

组合输入交叉点排队与并行迭代匹配模型

描述一种结合了输入排队和交叉点排队的交换机架构。在CICQ中,每个交叉点都有一个缓冲区。信元从输入端口发送到交叉点缓冲区,然后从交叉点缓冲区发送到输出端口。这允许输入和输出调度可以解耦并行进行,从而降低调度复杂度并可能实现高吞吐量。

交叉点缓冲: 在交叉点(输入和输出的交叉处)设置缓冲区。
解耦调度: 输入调度和输出调度可以独立、并行地进行。
高吞吐量: 在均匀和非均匀流量下都能实现高吞吐量。
适中缓冲: 需要N^2个交叉点缓冲区, 但每个缓冲区可以很小。

输入输出排队, 分布式调度, 并行迭代匹配。

高速交换机, 片上网络。

交叉点缓冲区C(i,j), 位于输入i和输出j的交叉点。
输入调度器: 每个输入i的调度器, 决定从哪个VOQ发送信元到交叉点缓冲区。
输出调度器: 每个输出j的调度器, 决定从哪个交叉点缓冲区读取信元发送。

输入调度: 输入i从其非空的VOQ中, 根据某种策略(如轮询、最长队列优先)选择一个VOQ, 发送一个信元到对应的交叉点缓冲区C(i,j)
输出调度: 输出j从其非空的交叉点缓冲区C(*,j)中, 根据某种策略选择一个缓冲区, 读取一个信元发送。

1. CICQ结构: 一个N x N的CICQ交换机,在每个交叉点有一个缓冲区(通常是FIFO)。每个输入端口有N个VOQ,分别对应N个输出端口。每个输入端口有一个输入调度器,每个输出端口有一个输出调度器。2. 工作原理: 每个时隙分为两个阶段(或流水线进行):a. 输入调度阶段: 每个输入端口i的输入调度器查看其N个VOQ。如果某个VOQ非空,且对应的交叉点缓冲区C(i,j)未满(或低于阈值),则输入调度器根据某种策略(如轮询、最长队列优先)选择一个VOQ,从其头部取一个信元,发送到交叉点缓冲区C(i,j)。b. 输出调度阶段: 每个输出端口j的输出调度器查看N个交叉点缓冲区C(1,j), C(2,j), ..., C(N,j)。如果某个缓冲区非空,则输出调度器根据某种策略(如轮询、最长队列优先)选择一个缓冲区,从其头部取一个信元,发送到输出端口j。3. 调度解耦: 输入调度和输出调度可以独立、并行地进行,因为它们操作不同的缓冲区集合。输入调度器只关心交叉点缓冲区是否有空间,输出调度器只关心交叉点缓冲区是否有数据。这简化了调度算法的设计,避免了输入输出调度之间的复杂协调。4. 缓冲区管理: 交叉点缓冲区通常较小(可能只有几个信元)。需要流控制机制防止溢出,例如当交叉点缓冲区满时,通知输入调度器停止向该缓冲区发送信元。5. 性能: 由于交叉点缓冲区可以吸收短暂的突发,CICQ在均匀和非均匀流量下都能实现高吞吐量(接近100%)。此外,由于调度解耦,可以实现低延迟。6. 变体: 输入和输出调度策略可以多种多样,如轮询、最长队列优先、基于年龄的调度等。也可以采用更复杂的调度算法,如iSLIP的变体用于输入和输出调度。7. 与输入排队和输出排队的比较: 纯输入排队(IQ)有队头阻塞问题;纯输出排队(OQ)需要输出端口以N倍速度运行;而CICQ折衷,需要N^2个交叉点缓冲区,但每个缓冲区小,且输入输出端口以线速运行。变量/常量VOQ(i,j): 输入i中目的地为输出j的虚拟输出队列。 C(i,j): 交叉点缓冲区。 Input_Scheduler(i): 输入i的调度器。 Output_Scheduler(j): 输出j的调度器。 Threshold: 交叉点缓冲区的流控制阈值。

交叉点缓冲: 在交换矩阵的每个交叉点设置小缓冲区, 解耦输入输出调度。
并行调度: 输入调度和输出调度可同时进行, 降低调度复杂度。
高吞吐量: 在多种流量模式下接近100%吞吐量。
流控制: 需要防止交叉点缓冲区溢出。

1. 信元到达: 信元到达输入端口,根据目的输出端口放入对应的VOQ。 2. 输入调度: 每个输入调度器i检查其VOQ和对应的交叉点缓冲区状态。对于每个输出j,如果VOQ(i,j)非空且C(i,j)未满,则VOQ有资格被调度。输入调度器i根据某种策略(如轮询)选择一个有资格的VOQ,从其头部取出一个信元,发送到交叉点缓冲区C(i,j)。 3. 交叉点缓冲: 信元存储在交叉点缓冲区C(i,j)中。 4. 输出调度: 每个输出调度器j检查所有交叉点缓冲区C(*,j)。对于每个输入i,如果C(i,j)非空,则该缓冲区有资格被调度。输出调度器j根据某种策略(如轮询)选择一个有资格的缓冲区,从其头部取出一个信元,发送到输出端口j。 5. 信元离开: 信元从输出端口离开交换机。 6. 流控制: 当交叉点缓冲区C(i,j)达到阈值时,向输入i发送反压信号,阻止其再向C(i,j)发送信元。

Roce-Switching-0044

交换架构

信元交换, 光学, 缓存

光纤延迟线光缓存模型

描述在光分组/信元交换网络中,由于缺乏光随机存取存储器,使用光纤延迟线来提供光信号缓存的技术。FDL是一段固定长度的光纤,光信号在其中传播会经历固定的延迟。通过将光信号送入不同长度的FDL,可以实现离散的、固定的延迟时间,用于解决冲突、同步和排队。

无源缓存: 光纤延迟线是无源器件, 仅提供传播延迟。
固定延迟: 延迟时间由光纤长度决定, delay = length / (c/n)
离散延迟: 只能提供有限几种固定的延迟值。
损耗和色散: 长距离光纤会导致信号衰减和色散。

光缓存, 光纤延迟线, 排队论。

光分组交换, 光突发交换, 全光网络。

FDL长度L, 单位米。
延迟时间τ = L * n / c, 其中n是光纤折射率,c是光速。
FDL池: 一组不同长度的FDL, 提供不同的延迟。

最大延迟: 由最长FDL决定, τ_max = L_max * n / c
缓存粒度: 不同FDL提供的延迟差, 通常是固定时间片的整数倍。

1. FDL作为光缓存: 在电域,数据包可以存储在RAM中,等待任意长时间。在光域,没有等效的光RAM。光纤延迟线利用光在光纤中的传播延迟来暂时“存储”光信号。信号进入一段光纤,经过固定时间后从另一端出来。2. FDL结构: 通常,一个FDL子系统包括一个1 x k的光开关,将输入光信号引导到k条不同长度的光纤之一,然后一个k x 1的光开关将各条光纤的输出合并。通过选择不同的光纤,可以得到不同的延迟时间。最简形式是单个FDL环,信号可以在环中循环多次,但每次循环会有损耗。3. 应用场景: a. 冲突解决: 在光分组交换节点,当两个分组竞争同一输出端口时,可以将其中一个分组送入FDL延迟几个时隙,等输出端口空闲时再发送。b. 同步: 在光分组交换中,分组需要对齐到时隙边界。FDL可以用来调整分组到达时间,使其与本地时钟同步。c. 排队: 多个FDL可以组合成排队结构,如反馈型或前馈型,提供有限的排队能力。4. 排队结构: a. 反馈型: 分组在输出竞争失败后,被送入FDL延迟,然后重新参与竞争。这类似于电域的重传。b. 前馈型: 有多级FDL,分组可以逐级通过不同的FDL,每级提供一定的延迟。这类似于多级排队。5. 性能分析: 由于FDL只能提供离散的、固定的延迟,分组只能被延迟固定的时间片(时隙)的整数倍。这导致性能通常不如电缓存灵活。分析FDL系统的排队性能通常使用离散时间排队模型,如Geom/Geom/1/K。6. 挑战: a. 损耗: 光信号在光纤中传播会有衰减,需要光放大器,但会引入噪声。b. 色散: 长距离光纤会导致光脉冲展宽,需要色散补偿。c. 体积和集成: 长光纤占用空间大,难以集成。d. 有限的缓存深度: 只能提供有限的、离散的延迟值。7. 替代技术: 慢光技术(利用电磁感应透明等效应降低光速)有望提供更紧凑的光缓存,但尚不成熟。变量/常量FDL: 光纤延迟线, 长度Lτ: 延迟时间。 n: 光纤折射率 (~1.5)。 c: 真空光速。 Loss: 光纤损耗, 单位dB/km。 Number_of_FDLs: FDL数量。

固定延迟: 延迟由光纤长度决定, 不可动态调整。
离散值: 只能提供有限几种延迟值。
无源: 无需电源, 但信号有衰减。
体积大: 长的光纤需要较大空间。

1. 冲突检测: 当两个光分组同时竞争同一输出端口时,冲突检测模块检测到冲突。 2. FDL选择: 根据调度算法,选择一条长度合适的空闲FDL(如延迟1个时隙)。 3. 光开关配置: 配置光开关,将其中一个冲突分组引导到选定的FDL输入端。 4. 延迟: 分组在FDL中传播,经历固定延迟τ。 5. 输出: 延迟后,分组从FDL输出,此时输出端口应已空闲,分组被送到输出端口。 6. 损耗补偿: 如果FDL较长,可能需要光放大器来补偿损耗。

编号

层级

核心理论

模型名称

目标与描述

精度与特征

理论基础

应用场景

数学要素

关键方程/状态机

数学模型/算法描述

精度与特征

实现步骤/工作流程

软硬件工具

Roce-Switching-0045

流量管理

信元交换, 流量整形

流量整形与通用信元速率算法模型

描述ATM网络中用于控制信元发送速率、确保流量符合合约参数的算法。GCRA是ATM论坛定义的一种连续性算法,用于检查信元是否符合流量合约(如PCR, CDVT, SCR, MBS),是实施用法参数控制和流量整形的核心机制。

虚拟调度: 通过理论到达时间(TAT)来监管信元。
连续状态: 算法是连续的, 状态为TAT。
双漏桶: GCRA(1/PCR, CDVT) 和 GCRA(1/SCR, BT) 组合实现双漏桶。

漏桶算法, 流量监管, 流量整形。

ATM网络中的用法参数控制, 流量整形器。

PCR: 峰值信元速率。
CDVT: 信元延迟变化容限。
SCR: 可持续信元速率。
BT: 突发容限(MBS相关)。
TAT: 理论到达时间。

GCRA(T, τ)算法: 对于到达时间t_a, 计算TAT = max(t_a, TAT_old) + T。 如果t_a >= TAT - τ, 信元合格, 更新TAT; 否则不合格。

1. GCRA定义: GCRA(T, τ)是一个算法,其中T是信元到达的理想间隔(1/速率),τ是容限参数。它模拟一个漏桶,桶深为τ+T,信元到达时增加T,以1的速率泄漏。2. 算法过程: 维护一个状态变量TAT(理论到达时间)。当信元在时间t_a到达时:a. 如果这是第一个信元,或者t_a >= TAT - τ,则信元符合合约。b. 更新TAT:TAT = max(t_a, TAT_old) + T。c. 如果t_a < TAT - τ,则信元不符合合约(可能被标记或丢弃)。3. 流量合约检查: a. 峰值信元速率和CDVT:用GCRA(1/PCR, CDVT)检查。b. 可持续信元速率和突发容限:用GCRA(1/SCR, BT)检查,其中BT = (MBS-1)(1/SCR - 1/PCR)。4. 实现: GCRA可以用一个虚拟调度器或一个连续状态漏桶实现。变量/常量*: TAT: 理论到达时间。 T: 信元间隔(1/速率)。 τ: 容限参数。 t_a: 信元实际到达时间。

虚拟调度: 通过维护理论到达时间来判断信元合规性。
连续状态: 状态变量TAT连续变化, 与时间相关。
双漏桶: 用两个GCRA分别检查PCR和SCR。

1. 初始化: TAT = 0。 2. 信元到达: 在时间t_a信元到达。 3. 合规检查: 如果t_a >= TAT - τ,信元合格;否则不合格(标记或丢弃)。 4. 状态更新: 如果信元合格,则TAT = max(t_a, TAT) + T。 5. 重复: 对每个到达信元重复步骤2-4。

硬件: ATM交换机中的流量管理芯片。
软件: 网络仿真器(如OPNET, NS-2)中的流量整形模块。

Roce-Switching-0046

流量管理

信元交换, 拥塞控制

拥塞控制与显式前向拥塞指示模型

描述ATM网络中一种简单的拥塞指示机制。当网络发生拥塞时,交换机在途经信元的PTI字段中设置EFCI位,通知目的端,目的端再通过资源管理信元(RM信元)将拥塞信息反馈给源端,源端据此调整发送速率。

二进制指示: EFCI是一个比特, 表示是否经历拥塞。
前向通知: 拥塞指示在数据信元中前向传递。
反向反馈: 目的端通过RM信元将拥塞信息反向传递。
端到端控制: 源端根据反馈调整速率。

反馈控制, 拥塞指示。

ATM ABR服务, 早期拥塞通知。

EFCI位: PTI字段中的1个比特(在ATM信元头中)。
RM信元: 资源管理信元, 携带拥塞信息。
CI, NI: RM信元中的拥塞指示和No Increase比特。

交换机动作: 如果队列长度超过阈值, 将经过的数据信元的EFCI置1。
目的端动作: 收到EFCI=1的数据信元, 在下一个反向RM信元中设置CI=1。

1. EFCI机制: 每个ATM数据信元的净荷类型指示符(PTI)字段中有一个比特用作EFCI。默认值为0(无拥塞)。2. 交换机行为: 当交换机的队列长度超过某个阈值时,将该交换机转发的数据信元的EFCI位设置为1。这是一种前向显式拥塞通知。3. 目的端行为: 目的端监控收到的数据信元的EFCI位。当收到一个EFCI=1的数据信元时,目的端在其生成的下一个反向资源管理(RM)信元中将拥塞指示(CI)比特置1。4. 源端行为: 源端定期发送前向RM信元。目的端收到后,将其转换为反向RM信元并返回。源端收到反向RM信元后,检查CI比特。如果CI=1,则降低允许信元速率(ACR);否则,如果没有拥塞(NI=0),则增加ACR。5. 局限性: EFCI是一种二进制、粗略的拥塞指示,反馈延迟较大,控制不够精细。ABR服务后来采用了更精细的显式速率(ER)机制。变量/常量EFCI: 显式前向拥塞指示位。 RM Cell: 资源管理信元。 CI: 拥塞指示比特(在RM信元中)。 NI: 不增加比特(在RM信元中)。 ACR: 允许信元速率。

前向指示: 拥塞信息在数据信元中前向传递。
二进制反馈: 只有拥塞/不拥塞两种状态。
延迟反馈: 从拥塞发生到源端调整有往返延迟。
端到端调整: 源端根据反馈调整发送速率。

1. 拥塞检测: 交换机监控输出队列长度。当队列长度超过阈值时,进入拥塞状态。 2. 设置EFCI: 交换机将随后转发的数据信元的EFCI位设置为1。 3. 目的端检测: 目的端收到EFCI=1的数据信元。 4. 反馈: 目的端在下一个要返回的反向RM信元中设置CI=1。 5. 源端调整: 源端收到CI=1的RM信元,降低其允许信元速率(ACR)。 6. 拥塞缓解: 队列长度下降,交换机停止设置EFCI,最终源端速率恢复。

硬件: ATM交换机中的队列管理逻辑。
软件: ATM终端系统中的ABR拥塞控制算法。

Roce-Switching-0047

流量管理

信元交换, 拥塞控制

可用比特率流量控制模型

描述ATM网络中一种复杂的闭环、基于速率的拥塞控制机制,用于支持“可用比特率”服务类别。ABR通过源端、目的端和网络交换机之间的资源管理信元交换信息,动态调整源的发送速率,以充分利用可用带宽,同时保持低信元丢失率。

基于速率: 控制源端的发送速率。
闭环反馈: 通过RM信元在源、目的和网络间传递控制信息。
显式速率: 交换机可以计算并通知源端明确的允许速率。
公平性: 目标是在多个连接间公平分配带宽。

反馈控制, 速率控制, 公平性。

ATM ABR服务, 数据通信。

RM信元: 资源管理信元, 携带控制信息。
ER: 显式速率, RM信元中的一个字段。
ACR: 允许信元速率, 源端实际发送速率。
MCR, PCR: 最小和峰值信元速率。

源端行为ACR = max(MCR, min(ER, ACR + RIF*PCR)), 其中RIF为速率增加因子。
交换机算法: 如ERICA算法, 计算公平份额并设置在RM信元的ER字段。

1. ABR服务: ABR是一种ATM服务类别,为数据应用设计。它不提供严格的延迟或丢失保证,但保证低信元丢失率(CLR),并通过反馈控制动态调整速率。2. RM信元: 源端定期(如每N个数据信元发送一个RM信元)发送前向RM信元。RM信元包含方向(DIR)、拥塞指示(CI)、不增加(NI)、显式速率(ER)等字段。目的端将前向RM信元转换为反向RM信元并返回。3. 源端行为: 源端根据反向RM信元中的信息调整允许信元速率(ACR)。如果RM信元中CI=1,则降低ACR;如果NI=0且没有拥塞,则增加ACR。ACR始终在MCR和PCR之间,且不超过ER。4. 交换机行为: 交换机可以监控其链路利用率和队列长度,并计算公平共享速率。当RM信元经过时,交换机可以将其ER字段减小为计算出的公平速率。交换机也可以设置CI/NI比特。5. 交换机算法: 有多种算法,如ERICA(Explicit Rate Indication for Congestion Avoidance)。ERICA周期性地测量输入速率和可用带宽,计算公平份额,并在RM信元中设置ER。6. 目的端行为: 目的端将前向RM信元转换为反向RM信元,并可设置CI/NI比特(基于EFCI或本地拥塞)。7. 性能目标: 高链路利用率、公平性、低信元丢失、快速收敛。变量/常量RM Cell: 资源管理信元。 ER: 显式速率。 ACR: 允许信元速率。 MCR: 最小信元速率。 PCR: 峰值信元速率。 RIF: 速率增加因子。 RDF: 速率减少因子。 CI: 拥塞指示。 NI: 不增加。

闭环反馈: 通过RM信元在源、目的、网络间传递控制信息。
显式速率: 交换机可计算并通知源端明确的速率值。
公平分配: 目标是在多个连接间公平分配可用带宽。
动态调整: 根据网络状况动态调整发送速率。

1. 源端发送RM信元: 源端定期(如每N个数据信元)插入前向RM信元,其中ER字段设置为当前ACR。 2. 交换机处理: 前向RM信元经过交换机时,交换机根据其算法(如ERICA)计算公平速率,并将RM信元中的ER字段减小为min(ER, 公平速率)。也可能设置CI/NI比特。 3. 目的端处理: 目的端收到前向RM信元,将其转换为反向RM信元,并可设置CI/NI(例如,如果收到EFCI=1的数据信元,则设置CI=1)。 4. 反向RM信元返回: 反向RM信元经网络返回源端,途中交换机也可修改ER字段。 5. 源端调整速率: 源端收到反向RM信元,根据CI/NI和ER调整ACR。例如,如果CI=1,则ACR = ACR * (1 - RDF);否则如果NI=0,则ACR = min(ACR + RIF * PCR, ER)。 6. 持续监控: 此过程持续进行,动态调整速率。

软件: ATM终端中的ABR源端、目的端软件, 交换机中的ABR算法(如ERICA)。
硬件: ATM交换机的流量管理模块。

Roce-Switching-0048

网络管理

信元交换, 操作维护

操作、管理和维护功能模型

描述ATM网络中用于监控、管理和维护连接与网络性能的OAM信元流。ATM OAM提供故障管理、性能管理和配置管理功能,通过定期或按需发送特殊的OAM信元来实现。

专用信元: 使用特定VPI/VCI值的OAM信元。
分层: 对应ATM层的不同层次(物理层、ATM层、AAL层)。
环回: 用于连接验证和故障定位。
性能监测: 测量信元丢失率、误码率等。

网络管理, 故障检测, 性能监测。

ATM网络管理, 服务保障。

OAM信元类型: 故障管理(AIS, RDI, Loopback), 性能管理(PM), 激活/去激活。
VPI/VCI: 通常VPI=0, VCI=3/4用于段OAM, VCI=3/4用于端到端OAM。

信元间隔: 在正常数据信元流中插入OAM信元, 如每N个信元插入一个OAM信元。

1. OAM层级: 对应ATM协议栈的不同层次:物理层OAM、ATM层OAM(又分为虚通道(VP)和虚通路(VC)级别)、AAL层OAM。2. OAM信元类型: a. 故障管理: 告警指示信号(AIS)、远程缺陷指示(RDI)、环回(Loopback)、连续性检查(CC)。b. 性能管理: 前向监视(PM)、后向报告(PM)、监测信元。c. 激活/去激活: 用于启动/停止OAM流。3. OAM信元格式: OAM信元也是53字节,与数据信元格式相同,但净荷类型标识符(PTI)指示为OAM信元。净荷中包含OAM类型、功能类型、相关信息等。4. 工作原理: a. 故障管理: 当检测到故障(如信号丢失)时,下游节点向上游发送AIS信元,上游节点向下游发送RDI信元。b. 性能管理: 定期插入监测信元,用于测量信元丢失率、信元误插入率、信元传输延迟等。c. 环回: 网络管理者可以发送环回信元,指定节点应将其环回,用于连接验证和故障定位。5. 段OAM和端到端OAM: 段OAM在单个网络段内运行,使用VCI=3;端到端OAM在整个连接上运行,使用VCI=4。变量/常量OAM Cell: 操作维护信元。 AIS: 告警指示信号。 RDI: 远程缺陷指示。 Loopback: 环回信元。 PM: 性能管理信元。 VCI=3/4: 用于OAM的虚通路标识符。

分层管理: 对应物理层、ATM层、AAL层有不同的OAM功能。
专用信元: 使用特定VPI/VCI的OAM信元, 与数据信元复用。
故障检测与定位: 通过AIS/RDI和环回实现快速故障定位。
性能监测: 定期插入监测信元测量性能参数。

1. 连续性检查: 源端定期发送连续性检查(CC)OAM信元。如果目的端在一定时间内未收到CC信元,则认为连接中断。 2. 故障指示: 当节点检测到故障(如输入信号丢失),它向下游发送AIS信元,向上游发送RDI信元。 3. 环回测试: 管理者发送环回OAM信元,指定某个中间节点或目的端将其环回。通过检查环回信元,验证连接和定位故障。 4. 性能监测: 源端定期插入前向监测OAM信元,包含序列号和时间戳。目的端收到后,计算信元丢失率、延迟等,并通过后向监测OAM信元报告。 5. 告警清除: 故障修复后,节点停止发送AIS/RDI。

硬件: ATM交换机中的OAM处理模块。
软件: 网络管理系统, OAM协议栈。

Roce-Switching-0049

控制平面

信元交换, 路由协议

专用网络-网络接口路由协议模型

描述ATM论坛制定的用于在专用ATM网络(如企业网)中进行动态路由和信令的协议。P-NNI基于链路状态路由协议,支持层次化路由、服务质量路由和动态信令,用于在大型ATM网络中建立SVC。

层次化路由: 支持多级层次, 可扩展到大网络。
QoS路由: 基于带宽、延迟等约束计算路径。
源路由: 入口交换机计算完整路径, 并在建立消息中携带。
软状态: 路由信息需定期刷新。

链路状态路由, 层次化路由, QoS路由。

大型企业ATM网络, 运营商ATM网络。

逻辑组: 节点组成对等组, 有逻辑组节点代表组。
拓扑状态元素: 描述链路状态, 包括可用带宽、延迟等。
设计传输列表: 路径计算得到的节点列表。

分层路由: 节点在组内交换链路状态信息, 组间通过逻辑组节点抽象信息。
路径选择: 基于约束的最短路径算法, 如CSPF。

1. P-NNI层次: 网络被组织成对等组。每个对等组有一个逻辑组节点(代表节点)代表该组到上层。层次结构允许网络扩展到很大规模。2. 路由协议: a. 邻居发现: 节点通过Hello协议发现邻居。b. 链路状态信息交换: 节点在组内泛洪链路状态信息,包括链路属性(如最大带宽、可用带宽、管理权重、延迟等)。c. 层次化抽象: 对等组内的细节被抽象成一条逻辑链路,由逻辑组节点代表,并向上层对等组通告。3. 路径计算: 当需要建立SVC时,入口交换机(源)使用收到的拓扑状态信息,基于约束(如所需带宽、服务类别)计算一条到目的端的路径。路径是源路由的,即入口交换机指定路径上所有节点(或组)的列表。4. 信令: 使用P-NNI信令协议(基于ATM论坛的UNI信令扩展)沿计算好的路径建立连接。建立消息(SETUP)携带设计传输列表(DTL),指定路径。5. 软状态: 路由信息(拓扑状态)有生存时间,需要定期刷新。变量/常量PG: 对等组。 LGN: 逻辑组节点。 PTSE: P-NNI拓扑状态元素。 DTL: 设计传输列表。 CAC: 连接接纳控制。

层次化: 网络组织成对等组层次, 可扩展。
源路由: 路径由入口交换机计算, 并在信令消息中携带。
QoS路由: 基于拓扑状态(如可用带宽)计算满足QoS约束的路径。
软状态: 路由信息需要定期刷新以维持。

1. 邻居发现: 节点通过发送Hello信元发现邻居,建立P-NNI路由控制通道。 2. 拓扑信息交换: 节点生成PTSE,描述本地链路状态。PTSE在组内泛洪。 3. 层次化抽象: 对等组的逻辑组节点将组内拓扑抽象为一条逻辑链路,并将抽象信息通告到上层对等组。 4. 路径计算: 当需要建立SVC时,源节点使用收集的拓扑信息,运行约束最短路径算法,计算一条满足带宽等约束的路径,生成DTL。 5. 连接建立: 源节点发出SETUP信令消息,包含DTL。路径上的每个节点根据DTL转发SETUP,并执行CAC。 6. 连接拆除: 通信结束,发出RELEASE消息拆除连接。 7. 拓扑信息维护: 节点定期刷新PTSE,链路状态变化时触发更新。

软件: ATM交换机中的P-NNI路由协议栈, 路径计算模块。
硬件: ATM交换机控制平面处理器。

Roce-Switching-0050

控制平面

信元交换, 地址注册

集成本地管理接口地址注册模型

描述ATM论坛制定的用于ATM终端与ATM交换机之间自动配置和地址注册的协议。ILMI运行在ATM UNI上,基于SNMP,允许终端动态获取网络侧信息(如网络前缀),并向网络注册其ATM地址。

自动配置: 终端自动获取网络信息。
地址注册: 终端向网络注册其ATM地址。
状态监控: 监控UNI链路状态。
基于SNMP: 使用SNMP协议和MIB。

自动配置, 地址管理, SNMP。

ATM用户-网络接口, SVC自动配置。

ILMI MIB: 管理信息库, 包含地址、链路状态等信息。
网络前缀: 网络侧的ATM地址前缀。
终端地址: 终端完整的ATM地址。

地址注册: 终端地址 = 网络前缀 + 终端后缀。
心跳: 定期发送ILMI消息以监控连接状态。

1. ILMI协议栈: ILMI运行在ATM UNI上,使用VPI=0, VCI=16的默认信令通道。它基于SNMP,但使用AAL5进行传输。2. MIB: ILMI定义了一个管理信息库,包括系统信息、地址信息、服务注册信息等。终端和交换机都维护一个ILMI MIB。3. 地址注册过程: a. 终端启动后,向交换机发送GetRequest,获取网络前缀。b. 交换机回复网络前缀。c. 终端组合网络前缀和自己的终端标识符(如MAC地址)形成自己的ATM地址。d. 终端通过SetRequest将自己的ATM地址注册到交换机。4. 服务注册: 终端还可以注册其支持的服务(如所支持的信令协议版本)。5. 连接状态监控: 终端和交换机定期交换ILMI消息(心跳),以确认对方仍在工作。如果一段时间未收到消息,则认为连接断开。6. 自动配置: 通过ILMI,终端可以自动获取网络信息,无需手动配置ATM地址,简化了SVC的建立。变量/常量ILMI: 集成本地管理接口。 MIB: 管理信息库。 Network Prefix: 网络前缀。 ATM Address: ATM地址(20字节)。 VPI=0, VCI=16: ILMI默认的VPI/VCI。

自动地址配置: 终端自动获取网络前缀并组合成自己的ATM地址。
双向注册: 终端向网络注册地址, 网络向终端提供前缀。
基于SNMP: 使用SNMP协议格式, 运行在AAL5上。
心跳机制: 定期交换消息以监控UNI状态。

1. 初始化: 终端和交换机建立物理连接和ATM层连接。 2. 获取网络前缀: 终端发送ILMI GetRequest消息,查询网络前缀。 3. 响应: 交换机回复ILMI GetResponse,包含网络前缀。 4. 地址组合: 终端将自己的终端标识符(如MAC地址)附加到网络前缀后,形成完整的ATM地址。 5. 地址注册: 终端发送ILMI SetRequest,将自己的ATM地址注册到交换机。 6. 服务注册: 终端也可注册支持的服务。 7. 定期轮询: 终端和交换机定期交换ILMI消息,以确认对方活跃。 8. 状态变化: 如果链路状态变化,通过Trap消息通知。

软件: ATM终端和交换机中的ILMI协议栈。
硬件: ATM接口卡。

Roce-Switching-0051

局域网仿真

信元交换, 局域网仿真

局域网仿真协议模型

描述ATM论坛制定的协议,用于在ATM网络上仿真传统的局域网(如以太网、令牌环),使现有局域网应用无需修改即可在ATM网络上运行。LANE通过仿真服务器(LES、LECS、BUS)将MAC地址映射到ATM地址,并在ATM网络上转发广播/多播和未知单播帧。

透明桥接: 使ATM网络对上层协议表现为一个共享介质局域网。
地址解析: 将MAC地址解析为ATM地址。
广播/多播仿真: 通过广播和未知服务器转发广播/多播帧。
客户端-服务器模型: 客户端(LEC)与服务器(LES, LECS, BUS)交互。

局域网仿真, 地址解析, 广播仿真。

在ATM上运行传统局域网应用, 如IP over ATM。

LEC: 局域网仿真客户端。
LES: 局域网仿真服务器。
LECS: 局域网仿真配置服务器。
BUS: 广播和未知服务器。

地址解析: LEC向LES发送LE_ARP请求, 解析MAC地址到ATM地址。
数据转发: 单播通过直接数据连接(VCC), 广播/多播通过BUS。

1. LANE组件: a. 局域网仿真客户端: 每个参与LANE的终端(如ATM主机、ATM路由器)都有一个LEC。LEC仿真一个MAC地址,并处理数据帧的发送和接收。b. 局域网仿真服务器: 负责MAC地址到ATM地址的映射。LEC向LES发送LE_ARP请求,解析目的MAC地址的ATM地址。c. 广播和未知服务器: 处理广播、多播和未知单播帧。所有LEC都与BUS建立连接,广播/多播帧发送给BUS,由BUS转发给所有LEC。d. 局域网仿真配置服务器: 提供配置信息,如LES的ATM地址。2. 初始化过程: a. LEC与LECS建立连接,获取LES地址。b. LEC与LES建立控制连接,注册自己的MAC地址和ATM地址。c. LEC与BUS建立连接,用于广播/多播。3. 数据转发: a. 单播: 当LEC要发送单播帧时,它检查本地缓存是否有目的MAC地址对应的ATM地址。如果没有,向LES发送LE_ARP请求。得到ATM地址后,建立直接数据VCC(如果尚未建立),并通过该VCC发送数据帧。b. 广播/多播/未知单播: 发送给BUS,由BUS转发给所有LEC。4. 优缺点: 优点:允许传统应用在ATM上运行。缺点:广播/多播通过BUS转发,效率低;BUS是单点故障;地址解析延迟。变量/常量LEC: 局域网仿真客户端。 LES: 局域网仿真服务器。 LECS: 局域网仿真配置服务器。 BUS: 广播和未知服务器。 LE_ARP: 局域网仿真地址解析协议。 Control VCC: 控制连接。 Data Direct VCC: 直接数据连接。 Multicast Send VCC: 到BUS的发送连接。

客户端-服务器架构: LEC与LES、LECS、BUS交互。
地址解析: 通过LE_ARP将MAC地址解析为ATM地址。
广播仿真: 通过BUS转发广播/多播帧, 仿真局域网广播。
透明性: 上层协议无需修改。

1. 初始化: LEC通过ILMI或已知地址联系LECS,获取LES地址。 2. 加入仿真局域网: LEC与LES建立控制连接,注册自己的MAC和ATM地址。 3. 连接BUS: LEC与BUS建立连接,用于发送/接收广播/多播。 4. 地址解析: 当LEC需要发送单播帧到目的MAC时,检查本地缓存。若没有,向LES发送LE_ARP请求。 5. 建立数据连接: 收到LE_ARP应答后,LEC与目的LEC建立直接数据VCC。 6. 数据发送: 单播帧通过直接数据VCC发送;广播/多播/未知单播帧发送给BUS,由BUS转发给所有LEC。 7. 数据接收: 从直接数据VCC或BUS接收帧,交给上层协议。

软件: ATM终端中的LANE客户端软件, LANE服务器软件。
硬件: ATM网络接口卡。

Roce-Switching-0052

网络层

信元交换, 多协议

ATM上的多协议模型

描述ATM论坛制定的协议,用于在ATM网络上直接承载网络层协议(如IP、IPX),而无需经过局域网仿真。MPOA集成了LANE和NHRP,允许跨子网的直接ATM连接,从而在ATM网络上提供路由功能,并优化跨子网通信。

直通路由: 允许跨子网建立直接ATM连接, 避免路由器瓶颈。
集成LANE和NHRP: 使用LANE进行地址解析, 使用NHRP进行跨子网地址解析。
边缘设备: MPOA客户端(MPC)和MPOA服务器(MPS)。
捷径建立: 建立直接VCC进行数据传输。

多协议, 直通路由, 地址解析。

ATM骨干网, 跨子网通信优化。

MPC: MPOA客户端, 位于边缘设备(如主机、路由器)。
MPS: MPOA服务器, 通常与路由器集成。
NHRP: 下一跳解析协议, 用于解析跨子网地址。
直通VCC: 跨子网直接连接。

地址解析: MPC向MPS发送NHRP请求, 解析跨子网目的地的ATM地址。
直通建立: 解析成功后, MPC与目的MPC建立直接VCC。

1. MPOA组件: a. MPOA客户端: 位于边缘设备(如主机、路由器),负责发起直通连接请求,并与MPS通信。b. MPOA服务器: 通常位于路由器中,维护网络层地址到ATM地址的映射,并响应MPC的查询。c. 默认转发路径: 在直通建立之前,流量通过路由器以传统方式转发。2. 工作流程: a. 当MPC需要发送数据包到另一个子网的目的地时,初始流量通过默认路径(经过路由器)转发。b. MPC监控流量,当检测到长寿命流时,向MPS发送NHRP请求,查询目的网络层地址对应的ATM地址。c. MPS可能通过查询其他MPS或路由器,获得目的MPC的ATM地址,并回复给源MPC。d. 源MPC使用该ATM地址与目的MPC建立直接VCC(直通)。e. 后续该流的数据包通过直通VCC直接发送,绕过路由器。3. 与LANE的关系: MPOA使用LANE进行本地子网的地址解析和广播。对于跨子网,使用NHRP。4. 优势: 减少路由器负担,降低延迟,提高吞吐量。5. 挑战: 复杂性高,部署较少。变量/常量MPC: MPOA客户端。 MPS: MPOA服务器。 NHRP: 下一跳解析协议。 Default Path: 默认路径(通过路由器)。 Shortcut VCC: 直通VCC。

直通连接: 跨子网通信建立直接ATM连接, 绕过路由器。
流驱动: 当检测到长寿命流时触发直通建立。
集成LANE/NHRP: 本地子网用LANE, 跨子网用NHRP。
减少路由器负载: 数据流量不经过路由器。

1. 初始通信: 当MPC要发送数据包到不同子网的目的地时,通过默认路径(经过路由器)发送。 2. 流检测: MPC监控流量,如果检测到长寿命流(如一定数量的数据包),则触发直通建立。 3. 地址解析: 源MPC向MPS发送NHRP请求,请求目的IP地址对应的ATM地址。 4. 查询转发: MPS可能需要查询其他MPS或路由器,最终获得目的MPC的ATM地址。 5. 回复: MPS将目的ATM地址回复给源MPC。 6. 建立直通VCC: 源MPC使用目的ATM地址建立直接VCC。 7. 数据转发: 后续该流的数据包通过直通VCC直接发送到目的MPC,绕过路由器。 8. 连接维护: 直通VCC在空闲超时后拆除。

软件: MPOA客户端和服务器软件, 集成在路由器或主机中。
硬件: ATM接口卡。

Roce-Switching-0053

适配层

信元交换, 电路仿真

ATM电路仿真模型

描述在ATM网络上透明传输传统电路交换业务(如T1/E1、T3/E3)的技术。CES将恒定比特率的电路数据流适配到ATM信元中,在ATM网络中传输,并在接收端重建原始电路数据流,包括定时和同步信息。

透明传输: 在ATM网络上透明传输电路业务。
定时恢复: 在接收端恢复原始电路的定时。
结构化/非结构化: 支持结构化(如N64kbps)和非结构化(整个电路)仿真。
AAL1适配*: 通常使用AAL1。

电路仿真, 定时恢复, 同步。

在ATM上承载传统TDM业务, 如语音中继。

CESoPSN: 电路仿真业务。
结构化: 仿真电路中的时隙。
非结构化: 仿真整个电路。
定时恢复方法: 同步、自适应、差分。

信元组装: 电路数据被分段为47字节的SAR-PDU净荷(AAL1)。
定时恢复: 通过SRTS或自适应时钟恢复。

1. 电路仿真概述: CES允许传统电路交换设备(如PBX、路由器串口)通过ATM网络互连,就像它们通过物理电路直接连接一样。2. 工作方式: a. 发送端从电路接口接收连续的比特流。b. 将比特流分段,封装到ATM信元中。通常使用AAL1,因为它支持恒定比特率业务。c. 信元通过ATM网络传输。d. 接收端从信元中提取数据,重组为连续的比特流,并恢复原始定时。3. 定时恢复: 这是CES的关键。方法包括:a. 同步定时: 发送和接收端都同步于同一个主时钟(如网络时钟)。b. 自适应时钟恢复: 接收端根据信元到达间隔来调整本地时钟。c. 差分法: 发送端将定时信息编码在信元中(如SRTS)。4. 结构化与非结构化: a. 非结构化CES: 将整个电路(如整个T1的1.544 Mbps)作为比特流处理,不关心内部结构。b. 结构化CES: 只仿真电路中的特定时隙(如T1中的某些64 kbps时隙)。5. 性能指标: 主要包括信元丢失、信元延迟变化、定时抖动。变量/常量CES: 电路仿真业务。 AAL1: ATM适配层类型1。 SRTS: 同步剩余时间戳。 CDV: 信元延迟变化。 Jitter: 抖动。

透明传输: ATM网络对电路设备透明, 像直连电路一样。
定时恢复: 关键挑战, 需在接收端恢复原始定时。
结构化支持: 可只仿真电路中的部分时隙。
AAL1适配: 使用AAL1进行恒定比特率适配。

1. 数据收集: 发送端从电路接口接收恒定比特流。 2. 信元组装: 将比特流分段,封装到AAL1 SAR-PDU净荷(47字节)。对于结构化CES,可能只封装选择的时隙。 3. 定时信息插入: 如果需要,插入定时信息(如SRTS)到AAL1 SAR-PDU头。 4. 信元传输: 将AAL1 SAR-PDU作为ATM信元净荷,加上ATM信头,发送到ATM网络。 5. 信元接收: 接收端接收ATM信元,提取AAL1 SAR-PDU。 6. 定时恢复: 使用同步、自适应或SRTS方法恢复时钟。 7. 数据重建: 将SAR-PDU净荷按顺序重组为连续的比特流,并以恢复的时钟发送到电路接口。

硬件: CES接口卡, 带时钟恢复电路的ATM接口。
软件: CES协议栈, 定时恢复算法。

Roce-Switching-0054

适配层

信元交换, 语音适配

AAL2语音适配模型

描述ATM适配层类型2,用于支持可变比特率的实时业务,如压缩语音。AAL2允许来自多个低速连接(如语音信道)的数据在一个ATM连接上复用,以减少信元填充开销,并提供低延迟。

复用: 多个AAL2信道复用在单个ATM VCC上。
可变长度: 数据单元长度可变(1-45/64字节)。
低延迟: 允许部分填充信元, 减少组装延迟。
定时传递: 支持定时信息传递。

语音适配, 统计复用, 低延迟。

语音 over ATM, 无线接入网(如3G的Iu接口)。

CPS: 公共部分子层, 处理复用和分帧。
SSCS: 业务特定会聚子层, 可选。
CID: 信道标识符, 标识AAL2信道。
LI: 长度指示, CPS分组长度。

复用效率: 多个短分组打包到一个ATM信元, 减少开销。
组装延迟: 定时器控制, 超时或信元满时发送。

1. AAL2结构: AAL2分为公共部分子层(CPS)和业务特定会聚子层(SSCS)。CPS负责将多个AAL2信道的CPS分组复用到一个ATM信元的净荷中。SSCS提供特定业务功能,如定时恢复、前向纠错。2. CPS分组: 每个CPS分组包括3字节的CPS头和CPS净荷(1-45字节或1-64字节,取决于标准)。CPS头包含信道标识符(CID,8比特)、长度指示(LI,6比特)、用户到用户指示(UUI,5比特)和头差错控制(HEC,5比特)。3. 复用: 多个AAL2信道的CPS分组被打包到一个ATM信元的净荷中。由于CPS分组长度可变,一个ATM信元可以包含多个CPS分组,可能属于不同CID。这允许高效地复用多个低速实时流。4. 定时和部分填充: 为了减少语音的端到端延迟,AAL2允许在定时器超时或CPS分组达到最大长度时,即使ATM信元未填满也发送。这减少了组装延迟。5. 应用: 主要用于压缩语音的传输,如G.729、G.723.1。在无线网络中,用于基站控制器和移动交换中心之间的传输(如3G的Iu接口)。变量/常量CPS: 公共部分子层。 SSCS: 业务特定会聚子层。 CID: 信道标识符(0-255)。 LI: 长度指示。 UUI: 用户到用户指示。 HEC: 头差错控制。

信道复用: 多个AAL2信道(语音连接)复用在单个ATM VCC上。
可变长度分组: CPS分组长度可变, 适应压缩语音的变长帧。
低延迟: 定时器控制发送, 允许部分填充信元, 减少组装延迟。
高效: 减少了信元填充开销, 特别适合短分组。

1. 数据接收: AAL2从上层(如语音编码器)接收数据块(如压缩语音帧)。 2. CPS分组组装: 加上CPS头(CID, LI, UUI, HEC),形成CPS分组。 3. 复用: 将多个CPS分组(可能来自不同CID)按顺序放入CPS-PDU(即ATM信元净荷)。 4. 定时控制: 当第一个CPS分组开始放入CPS-PDU时启动定时器。如果定时器超时或CPS-PDU满,则发送该CPS-PDU。 5. ATM信元组装: 将CPS-PDU作为ATM信元净荷,加上ATM信头,形成ATM信元。 6. 接收端处理: 接收端从ATM信元中提取CPS-PDU,根据CID将CPS分组分发到不同的AAL2信道,去掉CPS头,将数据块递交给上层。

硬件: 支持AAL2的ATM接口卡, 语音网关。
软件: AAL2协议栈, 语音编码/解码软件。

Roce-Switching-0055

适配层

信元交换, 恒定比特率

AAL1恒定比特率适配模型

描述ATM适配层类型1,用于支持恒定比特率的实时业务,如非压缩语音、视频。AAL1将恒定比特率数据流分段为47字节的SAR-PDU净荷,并在接收端重建原始数据流,包括定时和同步信息。

恒定比特率: 适配恒定比特率业务。
定时恢复: 提供定时信息传递机制(如SRTS)。
结构化数据传输: 支持结构化数据传输(如N64kbps)。
前向纠错*: 可选的前向纠错功能。

恒定比特率适配, 定时恢复, 结构化数据。

电路仿真, 非压缩语音/视频 over ATM。

SAR-PDU: 分段与重组子层协议数据单元, 47字节净荷加1字节头。
SN: 序列号, 用于检测信元丢失/误插。
SNP: 序列号保护, 提供CRC和偶校验。
SRTS: 同步剩余时间戳, 传递定时信息。

定时恢复: 通过SRTS或自适应时钟恢复。
信元组装: 每47字节原始数据作为一个SAR-PDU净荷。

1. AAL1结构: 分为会聚子层(CS)和分段与重组子层(SAR)。CS处理定时、结构化数据和前向纠错。SAR处理分段和重组。2. SAR-PDU格式: 每个SAR-PDU有一个字节的头和47字节的净荷。头包括:序列号(SN,4比特)和序列号保护(SNP,4比特,包括3比特CRC和1比特偶校验)。SN用于检测信元丢失、误插和错序。SNP保护SN。3. 定时恢复: 方法包括:a. 同步定时: 发送和接收端都同步于同一个网络时钟。b. 自适应时钟恢复: 接收端根据信元到达间隔调整本地时钟。c. SRTS: 发送端将源时钟和网络时钟的差值(剩余时间戳)编码,通过SAR-PDU头的SN字段传递。4. 结构化数据传输: 对于N64 kbps业务,AAL1支持结构化数据传输。在CS子层,将数据按字节交错,使得接收端能恢复出每个64 kbps信道。5. 前向纠错: 可选功能,在CS子层使用Reed-Solomon码提供纠错能力。6. 应用: 主要用于电路仿真、非压缩语音(如G.711)、视频等恒定比特率业务。变量/常量*: SAR-PDU: 分段与重组PDU, 47字节净荷 + 1字节头。 SN: 序列号(4比特)。 SNP: 序列号保护(4比特)。 SRTS: 同步剩余时间戳。 FEC: 前向纠错。

恒定比特率: 适配恒定比特率业务, 如非压缩语音。
定时恢复: 通过SRTS或自适应时钟恢复传递定时信息。
序列号: 检测信元丢失、误插和错序。
结构化数据: 支持N*64kbps信道的结构化传输。

1. 发送端: 从恒定比特率源接收数据流。 2. CS处理: 如果需要,插入结构化数据指针或前向纠错信息。 3. SAR分段: 每47字节数据作为一个SAR-PDU净荷,加上SAR-PDU头(包含SN和SNP)。如果需要传递定时信息(SRTS),在特定SAR-PDU的SN字段中携带。 4. ATM信元组装: 将SAR-PDU作为ATM信元净荷,加上ATM信头,发送。 5. 接收端: 接收ATM信元,提取SAR-PDU。 6. 序列号检查: 检查SN是否连续,检测信元丢失/误插。 7. 定时恢复: 如果使用SRTS,从SAR-PDU头中提取剩余时间戳,恢复源时钟。 8. CS处理: 去除结构化数据指针或进行前向纠错。 9. 数据重组: 将SAR-PDU净荷按顺序重组为连续的数据流。

硬件: 支持AAL1的ATM接口卡, 时钟恢复电路。
软件: AAL1协议栈。

Roce-Switching-0056

适配层

信元交换, 数据适配

AAL3/4数据适配模型

描述ATM适配层类型3/4,用于支持面向连接和无连接的可变长度数据包传输。AAL3/4提供错误检测、复用和消息定界功能,但由于开销较大,后来被AAL5取代。

消息模式/流模式: 支持消息模式(每个SDU作为一个消息)和流模式(连续流)。
复用: 允许在单个ATM VCC上复用多个AAL3/4连接。
错误检测: 提供CRC-10检错。
分段与重组: 将CPCS-PDU分段为44字节的SAR-PDU。

数据适配, 复用, 错误检测。

早期ATM数据网络, SMDS over ATM。

CPCS-PDU: 公共部分会聚子层协议数据单元。
SAR-PDU: 分段与重组子层协议数据单元, 44字节净荷加2字节头2字节尾。
MID: 复用标识符, 用于区分复用的连接。

CRC-10: 用于检测CPCS-PDU错误。
SAR-PDU格式: 2字节头 + 44字节净荷 + 2字节尾。

1. AAL3/4结构: 分为会聚子层(CS)和分段与重组子层(SAR)。CS又分为公共部分会聚子层(CPCS)和业务特定会聚子层(SSCS)。CPCS提供错误检测和定界。2. CPCS-PDU格式: 包括头部、净荷、填充和尾部。头部:CPI(1字节)、Btag(1字节)、BASize(2字节)。尾部:AL(1字节)、Etag(1字节)、Length(2字节)、CRC-10(10比特)。Btag和Etag相同,用于检测头尾匹配。3. 复用: 通过复用标识符(MID)在单个ATM VCC上复用多个AAL3/4连接。每个SAR-PDU包含MID,接收端根据MID将SAR-PDU重组到正确的CPCS-PDU。4. SAR-PDU格式: 每个SAR-PDU有2字节头、44字节净荷、2字节尾。头部:ST(段类型,2比特)、SN(序列号,4比特)、MID(复用标识符,10比特)。尾部:LI(长度指示,6比特)、CRC-10(10比特)。ST指示SAR-PDU是消息的开始、继续、结束还是单段消息。5. 开销: 每个CPCS-PDU有8字节开销(头尾),每个SAR-PDU有4字节开销(头尾),且净荷只有44字节,效率较低。6. 与AAL5比较: AAL5更简单,开销更小,不支持复用,但广泛用于数据。AAL3/4支持复用,但复杂且开销大,使用较少。变量/常量CPCS-PDU: 公共部分会聚子层PDU。 SAR-PDU: 分段与重组PDU。 MID: 复用标识符。 ST: 段类型(BOM, COM, EOM, SSM)。 SN: 序列号。 CRC-10: 10位循环冗余校验。

复用支持: 通过MID在单个ATM VCC上复用多个连接。
消息定界: 通过ST(BOM, COM, EOM, SSM)指示消息边界。
错误检测: 使用CRC-10检测错误。
较大开销: 每个SAR-PDU有4字节开销, 净荷仅44字节, 效率低。

1. 发送端CPCS: 接收上层数据,加上CPCS头和尾(包括Btag, Etag, Length, CRC-10),形成CPCS-PDU。 2. 发送端SAR: 将CPCS-PDU分段为44字节的块。每个块加上SAR头和尾(ST, SN, MID, LI, CRC-10),形成SAR-PDU。第一个块的ST为BOM,中间为COM,最后为EOM。如果CPCS-PDU长度<=44,则用单段消息(SSM)。 3. ATM传输: SAR-PDU作为ATM信元净荷传输。 4. 接收端SAR: 接收SAR-PDU,根据MID重组CPCS-PDU。检查SN连续性。 5. 接收端CPCS: 当收到完整的CPCS-PDU,检查CRC-10,如果正确,去掉头尾,将数据递交给上层。

硬件: 支持AAL3/4的ATM接口卡(早期设备)。
软件: AAL3/4协议栈。

Roce-Switching-0057

交换调度

信元交换, 输入排队

并行迭代匹配调度模型

描述一种用于输入排队Crossbar交换机的迭代调度算法。PIM通过多轮随机选择解决输入输出间的竞争,每轮包括请求、授权、接受三个阶段。经过多次迭代,可以找到一个匹配(输入到输出的映射),从而实现高吞吐量。

随机选择: 在请求、授权、接受阶段使用随机选择解决竞争。
迭代: 多轮迭代提高匹配质量。
分布式: 每个输入和输出独立决策。
高吞吐量: 在均匀流量下可达100%吞吐量。

二分图匹配, 随机化算法, 迭代。

输入排队Crossbar交换机调度。

VOQ: 虚拟输出队列, 每个输入为每个输出维护一个队列。
请求: 输入向输出发送请求。
授权: 输出在多个请求中随机选择一个授权。
接受: 输入在多个授权中随机选择一个接受。

迭代过程: 请求-授权-接受三个阶段, 重复多次。

1. PIM算法: 用于解决输入排队Crossbar交换机的调度问题。每个输入有N个VOQ。算法目标是找到一个输入到输出的匹配,使得每个输入和每个输出最多匹配一次。2. 单轮PIM: a. 请求阶段: 每个输入向其有信元等待的输出发送请求。b. 授权阶段: 每个输出收到多个请求,随机选择一个输入,向其发送授权。c. 接受阶段: 每个输入可能收到多个授权,随机选择一个输出,发送接受。输入和输出间达成匹配。3. 多轮迭代: 单轮PIM可能留下未匹配的输入输出。可以进行多轮迭代:在后续轮次中,之前未匹配的输入输出再次进行请求-授权-接受。通常迭代log2(N)轮可达到高匹配率。4. 性能: 在均匀流量下,PIM可以达到高吞吐量。但随机选择可能导致公平性问题,且迭代次数增加会增大延迟。5. 变体: iSLIP是一种衍生的确定性算法,使用轮询仲裁器代替随机选择,性能更好。变量/常量VOQ[i][j]: 输入i中目的地为输出j的队列。 Request: 请求。 Grant: 授权。 Accept: 接受。 Iteration: 迭代次数。

随机仲裁: 在授权和接受阶段使用随机选择解决竞争。
多轮迭代: 通过多轮迭代提高匹配数量。
分布式: 每个输入和输出独立决策, 无需集中仲裁器。
高吞吐量: 在均匀流量下, 经过足够迭代可达到100%吞吐量。

1. 初始化: 所有输入输出未匹配。 2. 请求: 每个输入i检查其VOQ,向每个非空VOQ对应的输出j发送请求。 3. 授权: 每个输出j收到来自输入的请求集合,随机选择一个输入i,向其发送授权。 4. 接受: 每个输入i收到来自输出的授权集合,随机选择一个输出j,向其发送接受。输入i和输出j匹配。 5. 迭代: 将已匹配的输入输出排除,剩余输入输出重复步骤2-4,进行下一轮迭代。通常迭代固定次数(如4次)。 6. 传输: 根据最终匹配,配置Crossbar,每个匹配的输入发送一个信元到对应输出。

硬件: Crossbar调度器, 随机数生成器。
软件: 交换仿真中的PIM算法实现。

Roce-Switching-0058

交换调度

信元交换, 输入排队

迭代串行滑动轮询调度模型

描述一种用于输入排队Crossbar交换机的确定性迭代调度算法。iSLIP是PIM的改进,使用轮询仲裁器代替随机选择,并提供公平性。经过多轮迭代,iSLIP能够快速收敛到无冲突的匹配,并维持输入输出间的公平性。

轮询仲裁: 在授权和接受阶段使用轮询仲裁器, 提供公平性。
迭代: 多轮迭代提高匹配率。
可扩展: 易于硬件实现。
高性能: 在均匀和非均匀流量下性能良好。

二分图匹配, 轮询仲裁, 迭代。

输入排队Crossbar交换机调度(广泛用于商用交换机)。

VOQ: 虚拟输出队列。
仲裁器: 每个输入和输出有一个轮询仲裁器。
指针: 轮询仲裁器的当前位置。

轮询仲裁: 仲裁器从指针位置开始选择第一个请求, 然后指针移到选中位置的下一位。
匹配: 经过多轮请求-授权-接受。

1. iSLIP算法: 是PIM的确定性版本,使用轮询仲裁器。每个输入有一个接受仲裁器,每个输出有一个授权仲裁器。2. 单轮iSLIP: a. 请求: 每个输入向有信元等待的输出发送请求。b. 授权: 每个输出收到请求,其授权仲裁器从当前指针位置开始,按轮询顺序选择第一个请求,并向该输入发送授权。然后指针移到选中位置的下一位(仅在授权被接受时才移动,见步骤d)。c. 接受: 每个输入收到授权,其接受仲裁器从当前指针位置开始,按轮询顺序选择第一个授权,并向该输出发送接受。然后指针移到选中位置的下一位。d. 指针更新: 输出的授权仲裁器仅在收到接受时才移动指针(即授权被接受)。输入的接受仲裁器在发送接受后移动指针。3. 多轮迭代: 与PIM类似,可以进行多轮迭代以提高匹配率。通常1-4次迭代即可达到高吞吐量。4. 公平性: 由于使用轮询仲裁,iSLIP提供了公平性,避免了饥饿。5. 性能: 在均匀和非均匀流量下都能达到高吞吐量,且延迟较低。由于是确定性的,易于硬件实现。变量/常量Grant_Arbiter[j]: 输出j的授权仲裁器(轮询)。 Accept_Arbiter[i]: 输入i的接受仲裁器(轮询)。 Pointer_g[j]: 输出j的授权仲裁器指针。 Pointer_a[i]: 输入i的接受仲裁器指针。

轮询仲裁: 使用轮询仲裁器, 提供公平性。
确定性: 非随机, 行为确定, 易于实现。
指针更新: 仅在授权被接受后才更新指针, 避免饥饿。
高性能: 在均匀和非均匀流量下都能达到高吞吐量。

1. 初始化: 所有输入输出未匹配。授权和接受仲裁器指针初始化(如指向0)。 2. 请求: 每个输入i向每个非空VOQ[i][j]对应的输出j发送请求。 3. 授权: 每个输出j收到请求集合,其授权仲裁器从当前指针位置开始,按轮询顺序选择第一个请求,向该输入发送授权。 4. 接受: 每个输入i收到授权集合,其接受仲裁器从当前指针位置开始,按轮询顺序选择第一个授权,向该输出发送接受。 5. 指针更新: 输出的授权仲裁器仅在收到接受时才将指针移到选中输入的下一位。输入的接受仲裁器在发送接受后将指针移到选中输出的下一位。 6. 迭代: 将已匹配的输入输出排除,剩余输入输出重复步骤2-5,进行下一轮迭代。 7. 传输: 根据最终匹配配置Crossbar,传输信元。

硬件: 交换芯片中的调度器, 轮询仲裁器。
软件: 交换仿真中的iSLIP算法。

Roce-Switching-0059

交换调度

信元交换, 输入排队

双轮轮询匹配调度模型

描述一种用于输入排队Crossbar交换机的迭代调度算法。DRRM是iSLIP的变体,通过两轮迭代来加速匹配过程。第一轮,每个输出选择一个输入;第二轮,每个输入选择一个输出。它简化了仲裁过程,性能接近iSLIP。

两轮迭代: 第一轮输出选择输入, 第二轮输入选择输出。
简化仲裁: 每轮只有一种仲裁器工作。
高性能: 在均匀流量下性能良好。
公平性: 使用轮询仲裁提供公平性。

二分图匹配, 轮询仲裁, 迭代。

输入排队Crossbar交换机调度。

VOQ: 虚拟输出队列。
仲裁器: 每个输入和输出有一个轮询仲裁器。
匹配状态: 输入输出的匹配状态。

第一轮: 输出仲裁器选择输入。
第二轮: 输入仲裁器选择输出。

1. DRRM算法: 与iSLIP类似,但将请求-授权-接受三个阶段简化为两轮:a. 第一轮(输出选择输入): 每个输出从其收到的请求中,使用轮询仲裁器选择一个输入,并发送授权。b. 第二轮(输入选择输出): 每个输入从其收到的授权中,使用轮询仲裁器选择一个输出,并发送接受。2. 指针更新: 输出的授权仲裁器在发送授权后立即更新指针(与iSLIP不同,iSLIP在收到接受后才更新)。输入的接受仲裁器在发送接受后更新指针。3. 迭代: 可以进行多轮迭代以提高匹配率。通常两轮迭代即可达到较好性能。4. 与iSLIP比较: DRRM简化了仲裁过程,输出仲裁器无需等待接受即可更新指针,这可能导致某些输出在下一时隙优先选择同一输入,但轮询机制仍保证公平性。性能上,DRRM在均匀流量下与iSLIP相当,但在非均匀流量下可能略差。变量/常量Grant_Arbiter[j]: 输出j的授权仲裁器。 Accept_Arbiter[i]: 输入i的接受仲裁器。 Pointer_g[j]: 输出j的授权仲裁器指针。 Pointer_a[i]: 输入i的接受仲裁器指针。

两轮迭代: 第一轮输出选择输入, 第二轮输入选择输出, 简化了过程。
立即更新: 输出仲裁器在授权后立即更新指针, 无需等待接受。
简单高效: 比iSLIP更简单, 性能接近。
公平性: 轮询仲裁保证公平性。

1. 请求: 每个输入i向每个非空VOQ[i][j]对应的输出j发送请求。 2. 第一轮(授权): 每个输出j从其请求集合中,使用轮询仲裁器(从当前指针开始)选择一个输入i,发送授权。然后输出j的仲裁器指针立即移到选中输入的下一位。 3. 第二轮(接受): 每个输入i从其授权集合中,使用轮询仲裁器(从当前指针开始)选择一个输出j,发送接受。然后输入i的仲裁器指针移到选中输出的下一位。 4. 匹配: 输入i和输出j匹配。 5. 迭代: 可选地,可以重复步骤1-4进行多轮迭代。 6. 传输: 根据匹配配置Crossbar,传输信元。

硬件: 交换调度器, 轮询仲裁器。
软件: 交换仿真中的DRRM算法。

Roce-Switching-0060

交换调度

信元交换, 输入排队

快速迭代轮询匹配调度模型

描述一种用于输入排队Crossbar交换机的高性能迭代调度算法。FIRM是iSLIP的改进,通过引入“帧”的概念,在多个时隙内保持匹配,以减少仲裁开销并提高吞吐量,特别对突发流量友好。

: 在多个时隙内保持相同的匹配, 减少仲裁开销。
迭代: 每帧开始时重新计算匹配。
高性能: 对突发流量性能好。
公平性: 使用轮询仲裁。

二分图匹配, 帧调度, 迭代。

输入排队Crossbar交换机调度, 尤其适合突发流量。

Frame: 帧, 包含多个时隙。
Matching: 输入到输出的匹配。
Arbiter: 轮询仲裁器。

帧长: 帧包含固定数量的时隙, 匹配在一帧内保持不变。
匹配计算: 每帧开始时运行iSLIP等算法计算匹配。

1. FIRM算法: 将时间划分为帧,每帧包含F个时隙。在每帧开始时,运行一个匹配算法(如iSLIP)计算输入输出的匹配。该匹配在该帧的F个时隙内保持不变。2. 匹配计算: 在帧开始时,基于当前的VOQ状态计算匹配。由于匹配在帧内不变,因此一个匹配的输入输出对可以在该帧的多个时隙中连续传输信元,直到VOQ变空或帧结束。3. 突发流量: 对于突发流量,FIRM允许一个流在多个连续时隙中传输,减少了仲裁开销,提高了吞吐量。4. 公平性: 匹配计算使用轮询仲裁,保证公平性。5. 帧长选择: 帧长F是一个参数。F太大会导致匹配不及时更新,影响公平性和延迟;F太小则仲裁开销大。通常F选择为2-8。6. 性能: 在均匀流量下,性能与iSLIP相当;在突发流量下,由于减少了重仲裁,性能更好。变量/常量Frame_Length: 帧长F(时隙数)。 Matching: 匹配矩阵, 在帧内不变。 Arbiter: 轮询仲裁器。

帧调度: 匹配在多个时隙内保持, 减少仲裁频率。
突发友好: 允许突发流量在多个连续时隙传输。
降低开销: 减少每时隙的仲裁计算开销。
基于iSLIP: 使用iSLIP计算匹配。

1. 帧开始: 每F个时隙开始一个新帧。 2. 匹配计算: 运行iSLIP算法,基于当前VOQ状态计算输入输出匹配。 3. 帧内传输: 在该帧的每个时隙,使用步骤2计算的匹配配置Crossbar,传输信元。如果某个VOQ变空,该匹配在该帧剩余时隙中不再传输。 4. 帧结束: 帧结束后,返回步骤1,开始新帧,重新计算匹配。

硬件: 交换调度器, 帧计数器。
软件: 交换仿真中的FIRM算法。

Roce-Switching-0061

交换调度

信元交换, 输入排队

并行包公平排队调度模型

描述一种用于输入排队Crossbar交换机的调度算法,结合了输入排队和输出排队的思想。PPF在输入侧模仿输出排队的公平排队算法(如WFQ),为每个VOQ计算虚拟完成时间,然后通过迭代匹配选择具有最小虚拟完成时间的信元进行传输,

编号

层级

核心理论

模型名称

目标与描述

精度与特征

理论基础

应用场景

数学要素

关键方程/状态机

数学模型/算法描述

精度与特征

实现步骤/工作流程

软硬件工具

Roce-Switching-0062

交换调度

信元交换, 输入排队

最长队列优先调度模型

描述一种基于队列长度的输入排队Crossbar调度算法。LQF在每轮迭代中,优先为队列长度最长的虚拟输出队列(VOQ)安排匹配,旨在最大化每个时隙的吞吐量并稳定队列长度,尤其有利于非均匀流量。

最长队列优先: 在仲裁时优先选择队列最长的请求。
最大权重匹配: 其目标是寻找一个匹配,使得被服务的队列总长度之和最大。
高吞吐量: 在多种流量模式下可达到100%吞吐量。
公平性问题: 可能导致短队列饥饿。

最大权重匹配, 队列稳定性, 图论。

输入排队Crossbar交换机调度, 尤其适用于非均匀和突发流量。

VOQ长度L_ij(t)表示t时刻输入i到输出j的VOQ长度。
权重: 将VOQ长度作为匹配的权重。
匹配矩阵M_ij为1表示输入i匹配到输出j。

目标函数: 最大化 ΣΣ (M_ij * L_ij)。
启发式: 通过多轮“最长队列-空闲输出”迭代逼近最优。

1. 最大权重匹配: LQF是最大权重匹配的一个特例,其权重w_ij是VOQ的长度L_ij。算法的目标是在每个时隙找到一个匹配矩阵M,使得总权重ΣΣ (M_ij * L_ij)最大化。这已被证明在任意流量下都能实现100%的吞吐量。2. 算法实现: 精确求解最大权重匹配是NP难的。实践中采用启发式迭代算法:a. 每个输入从其所有非空VOQ中,选择长度最长的队列,并向其对应的输出发送请求。b. 每个输出可能收到多个请求(来自不同输入)。输出从这些请求中,选择其VOQ长度最长的输入,并授权。c. 输入从收到的授权中,选择其VOQ最长的输出,接受。d. 移除已匹配的输入输出,重复上述步骤多轮,直至无法找到更多匹配。3. 性能: LQF在非均匀流量(如对角线、热斑流量)下性能优异,能快速排空长队列,稳定系统。但在均匀流量下,与iSLIP等算法性能相当。4. 缺点: 可能导致短队列(低强度流)的饥饿,公平性较差。计算复杂度相对较高,需要知道所有VOQ的实时长度。变量/常量L_ij: 输入i到输出j的VOQ长度。 w_ij: 权重,此处w_ij = L_ijM_ij: 匹配指示变量(0或1)。

队列长度感知: 将VOQ长度作为调度决策的核心依据。
最大权重: 目标是最大化被服务信元的总队列长度权重。
吞吐量最优: 理论上可达到100%吞吐量。
可能不公平: 长队列持续得到服务,短队列可能被“饿死”。

1. 收集状态: 每个输入获取其所有VOQ的长度L_ij。 2. 请求: 每个输入i选择其非空VOQ中长度L_ij最大的一个,向对应输出j发送请求。若有多个长度相同,可随机或按端口号选择。 3. 授权: 每个输出j从所有收到的请求中,选择对应VOQ长度L_ij最大的输入i,授予授权。 4. 接受: 每个输入i从所有收到的授权中,选择VOQ长度L_ij最大的输出j,接受该授权,形成匹配。 5. 移除与迭代: 移除已匹配的输入i和输出j,更新相关VOQ长度(或标记为已处理)。对剩余的输入输出,重复步骤2-4,进行多轮迭代以提高匹配率。 6. 传输: 根据最终匹配结果配置Crossbar,每个匹配的输入从其对应的VOQ中发送一个信元到输出。

硬件: 需要快速读取VOQ长度并比较的仲裁逻辑,复杂度较高。
软件: 交换仿真中的LQF算法实现, 用于性能研究。

Roce-Switching-0063

交换调度

信元交换, 输入排队

最老信元优先调度模型

描述一种基于信元年龄(等待时间)的输入排队Crossbar调度算法。OCF在仲裁时优先选择等待时间最长的信元(即最老的信元),旨在最小化信元的最大时延和时延抖动,提高公平性。

最老信元优先: 优先调度等待时间最长的信元。
最大年龄权重: 其目标是寻找一个匹配,使得被服务信元的总年龄(或最大年龄)最大。
改善时延: 特别有利于减少最大时延。
公平性: 防止任何信元等待过久,公平性优于LQF。

最大权重匹配, 时延优化, 公平性。

输入排队Crossbar交换机调度, 对时延敏感或要求公平的场景。

信元年龄A_ij(t)表示t时刻输入i到输出j的VOQ队首信元的等待时间(或该VOQ中所有信元的总年龄)。
权重: 将信元年龄作为匹配的权重w_ij = A_ij
匹配矩阵M_ij

目标函数: 最大化 ΣΣ (M_ij * A_ij)。
启发式: 通过多轮“最老信元-空闲输出”迭代逼近最优。

1. 最大权重匹配的变体: OCF是最大权重匹配算法的另一个实例,其权重w_ij定义为信元年龄A_ij。年龄可以是VOQ队首信元的等待时间,也可以是VOQ中所有信元年龄之和。目标是最大化被服务信元的总年龄权重。2. 算法实现: 与LQF类似,但使用年龄而非长度作为权重。启发式迭代过程如下:a. 每个输入从其所有非空VOQ中,选择年龄A_ij最大的队列(即最老的信元),并向对应输出发送请求。b. 每个输出从收到的请求中,选择年龄A_ij最大的输入,授权。c. 每个输入从收到的授权中,选择年龄A_ij最大的输出,接受。d. 迭代多轮。3. 性能: OCF在最小化最大时延和时延抖动方面表现优异。它能有效防止任何信元“饿死”,因为随着信元年龄增长,其权重不断增加,最终会被调度。因此,它在公平性上优于LQF。4. 缺点: 实现比LQF更复杂,需要为每个信元或VOQ维护和更新年龄信息。在高速交换中,年龄的精确计算和比较带来额外开销。5. 与LQF关系: 两者都是最大权重匹配的特例。LQF关注系统吞吐量和队列稳定性,OCF关注个体信元的时延和公平性。

年龄感知: 将信元等待时间作为调度决策的核心依据。
时延优化: 有效减少最大时延和时延抖动。
强公平性: 确保所有信元最终都能被服务,无饥饿。
实现复杂: 需要维护和比较信元年龄信息。

1. 年龄更新: 每个时隙,更新所有VOQ的年龄权重A_ij(如队首信元年龄+1,或累加所有信元年龄)。 2. 请求: 每个输入i在其非空VOQ中,选择年龄权重A_ij最大的队列,向对应输出j发送请求。 3. 授权: 每个输出j从所有收到的请求中,选择年龄权重A_ij最大的输入i,授予授权。 4. 接受: 每个输入i从所有收到的授权中,选择年龄权重A_ij最大的输出j,接受该授权。 5. 迭代: 移除已匹配的输入输出,更新剩余VOQ的年龄权重(可选),重复步骤2-4进行多轮迭代。 6. 传输与年龄重置: 根据匹配传输信元。被传输信元从其VOQ中移除,其年龄信息不再被使用。

硬件: 需要为每个VOQ或信元维护时间戳和比较逻辑,硬件复杂度高。
软件: 交换仿真中的OCF算法实现, 用于时延和公平性研究。

Roce-Switching-0064

交换调度

信元交换, 输入排队, QoS

支持服务质量保证的iSLIP调度模型

描述对基本iSLIP算法的扩展,以支持不同服务质量(QoS)等级。通过为每个VOQ设置多个优先级队列,并在调度过程中引入优先级仲裁,确保高优先级流量获得低时延和足够的带宽。

多优先级队列: 每个VOQ按优先级分为多个逻辑队列。
优先级仲裁: 在请求、授权、接受阶段,高优先级请求优先被处理。
带宽保证: 结合流量整形或权重,可为不同优先级分配带宽。
向后兼容: 核心流程仍基于iSLIP。

服务质量, 优先级调度, 迭代匹配。

需要区分服务(DiffServ)的输入排队Crossbar交换机, 如支持EF、AF、BE等流量。

优先级等级: P个优先级(如0最高,P-1最低)。
VOQ_p: 输入i到输出j的优先级为p的队列。
仲裁器: 每个输入/输出的每个优先级有一个轮询仲裁器,或仲裁器支持优先级选择。

优先级请求: 输入从最高非空优先级的VOQ中选择输出发起请求。
优先级授权: 输出优先授权高优先级的请求。

1. 队列结构: 每个物理VOQ被划分为P个逻辑队列,分别存储不同优先级的信元。例如,优先级0(最高)用于加速转发(EF)流量,优先级1用于确保转发(AF)流量,优先级2用于尽力而为(BE)流量。2. 调度流程: 在基本iSLIP的请求-授权-接受循环中引入优先级。a. 带优先级的请求: 每个输入i从其所有VOQ中,找出有信元等待的最高优先级p。然后,在该优先级p下,按照基本iSLIP的规则(如轮询)选择一个输出j,并发送一个带优先级标记p的请求。b. 带优先级的授权: 每个输出j可能收到来自不同输入的不同优先级的请求。输出j的授权仲裁器首先比较请求的优先级,选择最高优先级的请求集合。如果该集合有多个请求,则使用轮询仲裁器(如iSLIP)从中选择一个输入,并发送授权。c. 带优先级的接受: 每个输入i可能收到来自不同输出的不同优先级的授权。输入i的接受仲裁器首先比较授权的优先级,选择最高优先级的授权集合。如果该集合有多个,则使用轮询仲裁器选择一个输出,并发送接受。3. 指针更新: 指针更新规则可与基本iSLIP一致(授权指针仅在授权被接受后更新)。4. QoS保证: 通过严格优先级调度,高优先级流量总能优先获得服务,从而获得低时延。结合连接接纳控制(CAC)和流量整形,可以提供带宽保证。5. 变体*: 可以引入权重,实现加权公平排队(WFQ)与iSLIP的结合,更精细地分配带宽。

多优先级: 支持多个服务等级, 高优先级严格优先。
iSLIP核心: 在优先级相同的请求/授权中,仍使用iSLIP的轮询机制保证公平性。
低时延: 高优先级流量可被快速调度。
扩展性: 是基本iSLIP的自然扩展。

1. 请求阶段: 对每个输入i,确定其当前有信元的最高优先级p_i。在该优先级p_i下,使用轮询仲裁器(指针ptr_req[i][p_i])从所有非空VOQ[i][*][p_i]中选择一个输出j。向输出j发送一个带优先级标记p_i的请求。 2. 授权阶段: 对每个输出j,收集所有收到的请求(i, p)。选择其中最高优先级p_max。在优先级为p_max的请求集合中,使用输出j的轮询授权仲裁器(指针ptr_grant[j][p_max])选择一个输入i,并向其发送授权。 3. 接受阶段: 对每个输入i,收集所有收到的授权(j, p)。选择其中最高优先级p_max。在优先级为p_max的授权集合中,使用输入i的轮询接受仲裁器(指针ptr_accept[i][p_max])选择一个输出j,并发送接受。 4. 指针更新: 输出的授权仲裁器指针ptr_grant[j][p]仅在输出j在优先级p上发送的授权被接受后才更新。输入的接受仲裁器指针ptr_accept[i][p]在发送接受后更新。 5. 迭代与传输: 重复多轮请求-授权-接受。最后根据匹配结果配置Crossbar,高优先级队列的信元优先被传输。

硬件: 支持多优先级VOQ的交换芯片, 带有优先级感知的仲裁器。
软件: 支持QoS的交换机调度器仿真。

编号

层级

核心理论

模型名称

目标与描述

精度与特征

理论基础

应用场景

数学要素

关键方程/状态机

数学模型/算法描述

精度与特征

实现步骤/工作流程

软硬件工具

Roce-Switching-0065

交换调度

信元交换, 组合排队

组合输入输出排队调度模型

描述在交换结构前后均设有缓冲区的交换架构调度模型。CIOQ通过少量加速(如2倍加速)的交换结构和中央调度器,结合输入和输出排队,以较低成本实现近似输出排队(OQ)的性能,从而克服纯输入排队(IQ)的队头阻塞问题。

加速交换: 交换结构内部速率是外部链路速率的S倍(S>1)。
中央调度: 需要一个中央调度器决定每个时隙从输入队列到输出队列的传输。
性能逼近OQ: 当S>=2时,CIOQ可模拟任何输出排队调度策略。
降低成本: 相比纯输出排队,所需内存带宽降低。

排队论, 调度理论, 模拟OQ。

现代高性能路由器/交换机核心, 需要高吞吐量和低时延的场景。

加速比S: 交换结构速率与外部链路速率之比。
输入队列: 位于输入端口, 通常为VOQ。
输出队列: 位于输出端口。
调度矩阵: 决定每个时隙的输入-输出连接。

匹配算法: 在加速的交换结构上运行LQF、OCF等算法。
稳定性条件: 在满足流量允许条件下, S=2的CIOQ可模拟任何OQ调度器。

1. 架构概述: CIOQ交换机在每个输入端口设置输入队列(通常为VOQ),在每个输出端口设置输出队列。交换结构以S倍于外部线速运行。中央调度器每个时隙决定从输入队列到输出队列传输哪些信元。2. 工作原理: 在每个内部时隙(外部时隙的1/S),调度器运行一次,从输入VOQ中选择一组信元通过交换结构传输到输出队列。由于交换结构加速,一个外部时隙内,一个输入端口最多可发送S个信元,一个输出端口最多可接收S个信元。输出队列用于吸收瞬间到达的突发。3. 调度算法: 调度算法的目标是最大化吞吐量、保证公平性、降低时延。常用算法包括基于VOQ长度的LQF、基于年龄的OCF,以及其组合。4. 性能: 理论证明,当S=2时,CIOQ可以精确模拟任何输出排队调度器(如FIFO、WFQ),从而提供相同的吞吐量和时延性能。这使得CIOQ成为实现高性能交换机的实用架构。5. 折衷: 以2倍内部加速和更复杂的中央调度为代价,换取近似OQ的性能,同时避免了OQ所需的N倍加速(N为端口数)的高昂成本。变量/常量S: 加速比(通常为2)。 VOQ[i][j]: 输入i到输出j的虚拟输出队列。 OQ[j]: 输出j的队列。 调度器: 中央调度算法。

结合IQ与OQ: 兼具输入排队的可扩展性和输出排队的高性能。
加速交换: 内部交换速率大于外部线速。
中央调度: 需要高性能调度器决定每个内部时隙的传输匹配。
性能优异: 以较低成本逼近纯输出排队的性能。

1. 信元到达: 外部信元到达输入端口,根据目的输出放入对应的VOQ。 2. 调度决策: 在每个内部时隙,中央调度器收集所有VOQ的状态(如队列长度、信元年龄)。 3. 匹配计算: 调度器运行匹配算法(如LQF、OCF或其变体),计算一个输入到输出的匹配,决定本内部时隙传输哪些信元。匹配需满足:每个输入最多发送S个信元(通常S=2,但调度算法通常按S=1设计,通过多阶段实现),每个输出最多接收S个信元。 4. 信元传输: 根据匹配结果,配置交换结构,将选中的信元从输入VOQ传输到对应的输出队列。 5. 输出排队: 输出队列接收来自交换结构的信元,并按外部线速发送出去。 6. 循环: 重复步骤2-5。

硬件: 带加速交换结构和中央调度器的交换芯片。
软件: 用于研究和仿真的CIOQ调度算法。

Roce-Switching-0066

交换结构

信元交换, 多级互连

Banyan网络交换结构模型

描述一类基于2x2交换单元构建的多级互连网络交换结构。Banyan网络具有自路由特性,信元根据其目的地址的比特位在各级选择路径,结构简单规整,但存在内部阻塞,且对非均匀流量敏感。

自路由: 信元根据目的地址比特在各级自主选择路径。
多级结构: 由log2(N)级构成, 每级N/2个2x2交换单元。
内部阻塞: 即使输入输出空闲, 不同信元可能竞争内部链路。
规整性: 结构规则, 易于VLSI实现。

多级互连网络, 自路由, 二进制路由。

早期ATM交换机, 多处理器互连网络。

2x2交换单元: 基本构建块, 有两个输入和两个输出。
级数: log2(N)级。
目的地址: N位二进制地址, 用于自路由。
内部链路: 级间连接模式(如混洗交换)。

路由规则: 在每一级, 根据目的地址的对应比特决定输出端口(0代表上输出,1代表下输出)。
拓扑: 如Omega网络, 蝶式网络。

1. 基本结构: Banyan网络由多级2x2交换单元构成。一个NxN的Banyan网络有log2(N)级,每级有N/2个交换单元。级间连接遵循特定的排列模式,如完美混洗。2. 自路由: 每个2x2交换单元根据信元目的地址的某个特定比特做出路由决策。通常,在第k级(k从0开始),交换单元查看目的地址的第k个最高有效位(或最低有效位,取决于设计):如果该位为0,信元被转发到交换单元的上输出端口;如果为1,则转发到下输出端口。3. 内部阻塞: 即使输入和输出端口空闲,两个去往不同输出端口的信元可能在网络内部竞争同一链路的同一时隙,导致一个信元被阻塞。这种阻塞是结构固有的,与流量模式有关。均匀流量下阻塞概率较低,非均匀(如热斑)流量下阻塞严重。4. 变体: 为了解决内部阻塞,发展出了多种Banyan的变体,如带缓冲的Banyan(在交换单元内设置缓冲区)、并行Banyan(多个平面并行工作)、扩张型Banyan(增加内部链路带宽)以及排序Banyan网络(在Banyan前加一个排序网络,如Batcher排序网络构成Batcher-Banyan,可消除内部阻塞,但复杂度增加)。5. 优缺点: 优点:自路由,控制简单;结构规整,易于扩展和集成电路实现。缺点:存在内部阻塞,吞吐量受限于流量模式;对故障敏感(单点故障可能影响多条路径)。变量/常量N: 输入/输出端口数(2的幂)。 Stage: 级数, S = log2(N)2x2 SE: 2x2交换单元。 DestAddr: 目的地址(log2(N)位)。

自路由: 路由决策分散在每个交换单元, 无需中央路由表。
内部阻塞: 固有缺陷, 限制吞吐量。
结构规整: 由相同的基本单元重复构成, 适合VLSI实现。
可扩展: 端口数可为2的幂, 通过增加级数扩展。

1. 信元进入: 信元到达Banyan网络的输入端口,携带目的输出地址(二进制)。 2. 第一级路由: 信元进入第一级(k=0)的2x2交换单元。交换单元检查目的地址的最高位(或最低位,根据设计)。若为0,信元被送到该单元的上输出;若为1,送到下输出。 3. 级间连接: 信元通过级间连接模式(如完美混洗)被传递到下一级的相应交换单元。 4. 后续级路由: 在每一级,交换单元根据目的地址的对应比特位(第k位)做出路由决策,将信元路由到其上或下输出。 5. 输出: 经过log2(N)级后,信元到达其目的输出端口。 6. 冲突处理: 如果两个信元在同一时隙竞争同一个2x2交换单元的同一条输出链路,则发生内部阻塞。一种信元被缓冲(如果有缓冲区)或丢弃。

硬件: 由2x2交换单元构成的多级网络芯片, 如早期的ATM交换芯片。
软件: Banyan网络仿真器, 用于研究其阻塞特性。

Roce-Switching-0067

交换结构

信元交换, 无阻塞

Clos网络交换结构模型

描述一种多级、模块化的交换网络结构,在满足一定条件下可以实现严格无阻塞或可重排无阻塞。Clos网络由较小的交换模块(交叉开关)级联而成,用于构建大规模、可扩展的交换机,在电信领域广泛应用。

模块化: 由小规模交换模块构建大规模网络。
无阻塞条件: 通过增加中间级数量可实现严格无阻塞。
可重排无阻塞: 通过重新安排现有连接可实现无阻塞。
多级结构: 通常为三级(也可为更多奇数级)。

多级互连网络, 无阻塞网络, 组合数学。

大规模电路交换机, 核心路由器交换网, 光交叉连接。

三级Clos: 输入级、中间级、输出级。
参数: (m, n, r) - 输入级有r个n×m模块, 中间级有m个r×r模块, 输出级有r个m×n模块。
无阻塞条件: 严格无阻塞要求 m >= 2n-1; 可重排无阻塞要求 m >= n。

连接路由: 寻找从输入到输出的一条通过中间级的路径。
Paull定理: 严格无阻塞的条件。

1. 三级Clos网络结构: 记为C(m, n, r)。a. 输入级: 有r个交换模块,每个是n×m的交叉开关。每个模块有n个输入端口和m个输出端口。b. 中间级: 有m个交换模块,每个是r×r的交叉开关。c. 输出级: 有r个交换模块,每个是m×n的交叉开关。总输入/输出端口数为N = n * r。2. 路由: 从输入端口到输出端口的连接需要经过三级:输入级某个模块 -> 中间级某个模块 -> 输出级某个模块。路由问题就是为每个新连接选择一个可用的中间级模块。3. 无阻塞条件: a. 严格无阻塞: 无论现有连接如何,总能找到一条空闲路径建立新连接。条件:中间级模块数 m >= 2n - 1 (Clos定理)。b. 可重排无阻塞: 通过重新安排(重排)部分现有连接的路径,总能为新连接找到路径。条件:m >= n。c. 广义无阻塞: 在特定条件下(如现有连接是点对点)无阻塞。4. 路由算法: 简单路由算法如“顺序首次匹配”,为每个新连接从中间级模块中顺序查找一个具有空闲链路的模块。更复杂的算法用于可重排无阻塞网络。5. 扩展: Clos网络可以递归构建,形成更多级的网络(如五级、七级),以构建极大规模的网络。6. 优点: 模块化设计,可扩展性好;通过使用小型交换模块降低了成本和复杂度;在满足无阻塞条件下提供高性能。变量/常量n: 输入级每个模块的输入数。 m: 中间级的模块数,也是输入/输出级模块的输出/输入数。 r: 输入/输出级的模块数。 N: 总端口数, N = n * r

模块化可扩展: 使用小型交换模块构建大型网络。
无阻塞性: 通过设计满足严格无阻塞或可重排无阻塞条件。
多级互连: 三级或更多级的结构。
电信级可靠: 广泛用于传统电路交换和现代路由器核心网。

1. 新连接请求: 输入端口i(属于输入级模块I)请求连接到输出端口o(属于输出级模块O)。 2. 寻找中间模块: 系统检查所有m个中间级模块。对于每个中间级模块k,检查从输入级模块I到模块k的链路,以及从模块k到输出级模块O的链路是否都空闲。 3. 连接建立: 如果找到这样的中间模块k,则在三级交叉开关中分别建立连接:输入级模块I的输入i连接到其输出k;中间级模块k的输入I连接到其输出O;输出级模块O的输入k连接到其输出o。 4. 阻塞处理: 如果找不到空闲的中间模块,则对于严格无阻塞网络(m>=2n-1),这种情况理论上不会发生;对于可重排无阻塞网络,可能需要重排部分现有连接的路径以容纳新连接。 5. 连接拆除: 连接拆除时,释放三级中的相应链路。

硬件: 由多个中小规模交叉开关芯片级联构成的大型交换网。
软件: Clos网络路由算法, 连接管理软件。

Roce-Switching-0068

交换结构

信元交换, 负载均衡

负载均衡交换结构模型

描述一种两级交换结构,第一级为负载均衡器,第二级为固定配置的交换网(如Crossbar)。通过第一级的均匀负载均衡,使得第二级无需复杂的调度,即可实现近似100%的吞吐量,且对流量模式不敏感。代表架构是负载均衡交换机(也称为两级交换结构)。

负载均衡: 第一级将流量均匀分散到所有中间端口。
固定配置: 第二级交换网采用固定的确定性连接模式(如循环移位)。
无中央调度: 第二级无需调度器, 简化控制。
高性能: 在独立同分布流量下可达100%吞吐量。

负载均衡, 两级交换, 排队论。

高性能核心路由器/交换机, 需要可扩展且调度简单的架构。

第一级交换: 负载均衡器, 可以是Crossbar或类似结构。
第二级交换: 固定模式交换网, 如均匀洗牌网络。
虚拟输出队列: 输入和/或中间级可能使用VOQ。

负载均衡算法: 如轮询、随机等。
固定连接模式: 第二级在每个时隙按预定模式(如循环移位)连接。

1. 基本架构: 负载均衡交换机由两级交换网和中间的缓冲区构成。第一级交换(负载均衡器)将每个输入端口的数据信元均匀地分发到N个中间端口(或第二级交换的输入)。第二级交换是一个固定连接模式的交换网,例如,在每个时隙,第二级交换将中间端口i连接到输出端口(i + t) mod N,其中t是时隙号。2. 工作原理: 信元首先进入第一级交换,被发送到某个中间端口。由于负载均衡,每个中间端口接收到的流量近似均匀。然后,信元在中间端口的缓冲区中排队(通常按目的输出组织VOQ)。第二级交换以固定的、确定性的模式循环连接每个中间端口到输出端口。由于第一级的均匀分布,每个中间端口的VOQ长度大致平衡,第二级的固定连接模式能有效地将信元传递到正确的输出。3. 关键特性: a. 无中央调度: 第二级交换模式是预先确定、周期性变化的,无需动态调度,大大简化了控制。b. 吞吐量: 在独立同分布(i.i.d.)流量下,该结构可达到100%的吞吐量。c. 时延: 由于负载均衡和固定调度,平均时延较低,但在非均匀流量下性能可能下降。4. 变体: 有输入排队、组合排队等多种变体。著名的并行负载均衡交换机(PLuTO)是其代表。5. 优点: 可扩展性好,控制简单,高性能。缺点:需要两倍于端口的交换网(两级),且对流量模式有一定假设。变量/常量N: 端口数。 First Stage: 第一级负载均衡交换网。 Second Stage: 第二级固定模式交换网。 t: 时隙编号。 Connection Pattern: 第二级连接模式, 如 output = (input + t) mod N

两级架构: 第一级负载均衡, 第二级固定调度。
无动态调度: 第二级交换模式是预先确定、周期性的。
高吞吐量: 在均匀流量下可达100%吞吐量。
可扩展: 控制简单, 易于扩展到大量端口。

1. 负载均衡: 在每个时隙,第一级交换网运行一个简单的负载均衡调度(如轮询),将每个输入端口的一个信元(如果有)发送到一个中间端口。目标是使每个中间端口接收到的总流量均匀。 2. 中间排队: 信元到达中间端口后,根据其目的输出端口放入相应的VOQ中等待。 3. 固定交换: 第二级交换网按照预定的周期性模式连接中间端口到输出端口。例如,在时隙t,中间端口i连接到输出端口(i + t) mod N。 4. 信元传输: 当时隙t第二级连接建立后,中间端口i的VOQ中目的地为输出端口(i + t) mod N的信元(如果有)被传输到该输出端口。 5. 输出排队: 输出端口接收信元,可能有一个输出队列用于平滑输出。

硬件: 两级交换芯片, 第一级为可配置Crossbar, 第二级为固定连接网络。
软件: 负载均衡调度算法, 性能仿真模型。

Roce-Switching-0069

交换调度

信元交换, 输出排队

输出排队加权公平排队调度模型

描述在输出排队交换机中,为每个输出端口的多个队列(对应不同流或服务等级)实施加权公平排队调度算法。WFQ为每个队列分配一个权重,调度器根据信元的虚拟完成时间(与权重成反比)决定服务顺序,从而在流之间提供有保障的带宽分配和公平性。

虚拟时间: 为每个队列维护一个虚拟时间, 信元根据虚拟完成时间排序。
权重: 每个队列有一个权重, 决定其分享带宽的比例。
公平性: 理想情况下, 每个流获得的服务量与其权重成正比。
有界时延: 可为每个流提供有界的时延保证。

公平排队, 虚拟时间, 广义处理器共享。

输出排队交换机的QoS调度, 支持差分服务的路由器。

队列i的权重w_i, 表示其应获得的带宽份额。
虚拟时间V(t), 系统虚拟时间函数。
信元长度L, 信元大小(固定, 如53字节)。
虚拟开始/完成时间S_i^k, F_i^k表示队列i第k个信元的虚拟开始和完成时间。

虚拟时间更新V(t)是已激活队列的权重加权时间的积分。
完成时间计算F_i^k = max(V(arrival_time), F_i^{k-1}) + L/w_i

1. 理想GPS: 广义处理器共享是一个理想化的流体模型,它假设多个流可以同时被服务,每个流以与其权重成正比的速率连续获得服务。WFQ是GPS的一个离散(分组)近似。2. 虚拟时间: 系统维护一个虚拟时间函数V(t),其增长速率与当前活跃队列(非空队列)的总权重成反比。当有活跃队列时,V(t)以速率1 / Σ(活跃队列的权重)增加。3. 信元标签: 当一个信元到达队列i时,计算其虚拟开始时间S_i^k和虚拟完成时间F_i^kS_i^k = max(V(arrival_time), F_i^{k-1}),其中F_i^{k-1}是队列i上一个信元的虚拟完成时间(如果队列为空,则F_i^{k-1}=0)。然后,F_i^k = S_i^k + L / w_i,其中L是信元大小(比特),w_i是队列i的权重。F_i^k作为该信元的标签。4. 调度规则: 调度器总是选择具有最小虚拟完成时间F_i^k的信元进行传输。5. 特性: a. 公平性: 每个流获得的长期服务速率与其权重成正比。b. 有界时延: 任何信元的时延都有上界,上界与流的权重和最大分组长度有关。c. 保护性: 行为良好的流(遵守约定速率)的时延可以得到保证。6. 变体: WFQ有多种变体,如最坏情况公平加权公平排队(WF^2Q)、自时钟公平排队(SCFQ)等,以降低计算复杂度或改进公平性。变量/常量w_i: 队列i的权重。 V(t): 系统虚拟时间。 L: 信元长度(固定)。 S_i^k: 队列i第k个信元的虚拟开始时间。 F_i^k: 队列i第k个信元的虚拟完成时间。

基于虚拟时间: 通过虚拟时间模拟理想GPS流体服务。
权重分配: 权重决定了每个队列的带宽份额。
最小完成时间优先: 总是发送虚拟完成时间最小的信元。
提供公平性和时延保证: 是提供QoS保证的关键算法之一。

1. 信元到达: 信元到达队列i。设到达时刻为t_a。 2. 计算虚拟时间: 更新系统虚拟时间V(t)到当前时刻t_aV(t_a) = V(last_update) + (t_a - t_last) / Σ(活跃队列的权重)。 3. 计算标签: 计算该信元的虚拟完成时间标签:F_i^k = max(V(t_a), F_i^{k-1}) + L / w_i。 4. 入队: 将信元放入队列i,并记录其标签F_i^k。 5. 调度决策: 当输出链路空闲时,调度器检查所有非空队列,选择具有最小虚拟完成时间标签F_i^k的信元。 6. 传输: 传输选中的信元。 7. 更新: 传输完成后,从队列中移除该信元。如果该队列变为空,则将其从活跃队列集合中移除,更新总权重。

硬件: 支持WFQ的队列管理和调度器的网络处理器或ASIC。
软件: 路由器操作系统中的QoS调度模块, 如Linux的tc(流量控制)中的QFQ或HTB。

Roce-Switching-0070

交换调度

信元交换, 输出排队

差额轮询调度模型

描述一种近似加权公平排队但实现更简单的调度算法。DRR为每个队列维护一个信用计数器(差额),调度器轮询各队列,如果队列的差额大于等于信元大小,则发送一个信元并减少相应差额,否则补充差额并跳过。DRR以较低复杂度提供了公平的带宽分配。

差额(信用): 每个队列有一个信用计数器, 表示可发送的数据量。
轮询: 调度器按轮询顺序服务各个队列。
权重: 每个队列有一个权重, 决定其每轮补充的信用量。
低复杂度: 实现简单, 时间复杂度O(1)。

加权公平排队, 轮询, 信用控制。

需要简单公平排队的高速路由器/交换机输出端口。

队列i的权重Quantum_i, 每轮补充的信用量(字节)。
信用计数器DeficitCounter_i, 当前队列的剩余信用。
信元大小CellSize, 固定信元大小。

信用补充: 每轮开始时, DeficitCounter_i += Quantum_i
服务规则: 当 DeficitCounter_i >= CellSize且队列非空时, 发送一个信元, DeficitCounter_i -= CellSize

1. 基本思想: DRR模拟了加权公平排队,但通过轮询和信用机制简化了实现。每个队列关联一个权重Quantum_i(以字节为单位)和一个信用计数器DeficitCounter_i2. 调度过程: 调度器按轮询顺序依次检查每个队列。a. 当轮询到队列i时,首先为其补充信用:DeficitCounter_i += Quantum_i。b. 然后,只要队列i非空且其信用计数器DeficitCounter_i大于等于一个信元的大小(CellSize),就从队列i发送一个信元,并将DeficitCounter_i减去CellSize。c. 当DeficitCounter_i< CellSize或队列变空时,停止服务该队列,移动到下一个队列。d. 如果一轮中所有队列都被服务过,则开始新的一轮。3. 公平性: 长期来看,每个队列获得的带宽比例等于其Quantum_i占总Quantum之和的比例。然而,DRR的公平性是长期公平,短期可能有偏差,且时延特性不如WFQ。4. 优点: 实现极其简单,每个信元处理的平均时间复杂度为O(1),适合高速实现。权重(Quantum)可以灵活设置。5. 缺点: 时延特性较差,特别是对于小权重队列;如果权重设置差异很大,小权重队列可能需要等待多轮才能积累足够信用发送一个信元。6. 改进: 差额加权轮询(DWRR)是类似算法。变量/常量Quantum_i: 队列i的权重(字节)。 DeficitCounter_i: 队列i的信用计数器(字节)。 CellSize: 信元大小(如53字节)。 ActiveList: 活跃队列(非空)列表。

轮询加信用: 通过轮询和信用机制实现加权公平。
低复杂度: 实现简单, 适合高速硬件实现。
长期公平: 保证长期平均带宽与权重成正比。
时延较差: 短期公平性和时延特性不如WFQ。

1. 初始化: 所有队列的DeficitCounter_i设为0。维护一个活跃队列列表(非空队列)。 2. 轮询: 调度器从活跃队列列表中按顺序(如轮询)选择一个队列i。 3. 信用补充DeficitCounter_i += Quantum_i。 4. 服务: 只要队列i非空且DeficitCounter_i >= CellSize,则: a. 从队列i发送队首信元。 b. DeficitCounter_i -= CellSize。 5. 队列管理: 如果服务后队列i变空,则将其从活跃队列列表中移除,并将DeficitCounter_i重置为0(可选)。 6. 移动下一队列: 当DeficitCounter_i < CellSize或队列i变空时,选择活跃队列列表中的下一个队列,重复步骤3-5。 7. 新一轮: 如果所有活跃队列都被服务一遍,则开始新一轮轮询。

硬件: 网络处理器或交换芯片中的简单调度逻辑, 带计数器和比较器。
软件: 操作系统或交换机固件中的简单公平排队实现。

Roce-Switching-0071

交换调度

信元交换, 输入排队, QoS

分层差额轮询调度模型

描述将差额轮询(DRR)调度算法应用于输入排队Crossbar交换机的一种层次化调度架构。HDRR在输入端口为每个VOQ(或每个流)运行DRR,然后输入端口之间再通过某种仲裁(如iSLIP)竞争输出端口,从而在输入排队交换机中提供基于权重的带宽分配。

层次化调度: 第一层在每个输入端口内对各VOQ(或流)进行DRR调度; 第二层在输入端口间进行匹配调度(如iSLIP)。
权重支持: 通过DRR为不同VOQ分配不同权重。
组合仲裁: 结合了DRR的公平性和iSLIP的高吞吐量。

分层调度, 差额轮询, 输入排队。

需要支持每流QoS的输入排队Crossbar交换机。

输入端口DRR: 每个输入端口有一个DRR调度器, 管理其多个VOQ。
第二层调度器: 如iSLIP, 用于输入端口间的匹配。
权重: 每个VOQ的Quantum

DRR选择: 每个输入端口从其VOQ中选择一个信元(根据DRR)参与第二层匹配。
iSLIP匹配: 输入端口间运行iSLIP。

1. 架构概述: 在输入排队Crossbar交换机中,每个输入端口有多个VOQ,每个VOQ对应一个输出端口(或进一步对应一个流/服务等级)。HDRR在两层进行调度:a. 第一层(每个输入端口内): 每个输入端口运行一个DRR调度器,管理其所有的VOQ。DRR根据每个VOQ的权重分配带宽,从VOQ中选择一个信元参与第二层的竞争。b. 第二层(输入端口间): 一个中央调度器(如iSLIP、PIM等)运行,它接收每个输入端口选出的信元(及其目的输出),并计算输入到输出的匹配。2. 工作流程: 每个时隙,首先每个输入端口运行其DRR调度器,从其非空VOQ中选择一个信元。选择时,DRR调度器轮询其VOQ,补充信用,并选择信用足够的VOQ发送信元。输入端口将选中的信元的目的输出报告给第二层调度器。然后,第二层调度器基于这些信息(每个输入有一个请求,即其选中的信元的目的输出)运行匹配算法(如iSLIP),决定哪些输入可以传输到其请求的输出。最后,根据匹配结果,配置Crossbar,传输信元。3. QoS支持: 通过为不同VOQ(代表不同流或服务等级)设置不同的DRR权重,可以实现带宽分配和最小带宽保证。4. 挑战: 由于第二层匹配可能失败(输入端口选中的信元对应的输出可能被其他输入抢占),导致输入端口选中的信元无法传输,造成DRR信用浪费和公平性偏差。需要仔细设计两层调度的协调机制。变量/常量Quantum_ij: 输入i的VOQ_j的权重。 DeficitCounter_ij: 对应VOQ的信用计数器。 Input_DRR_i: 输入i的DRR调度器。 Second_Layer_Scheduler: 如iSLIP调度器。

两层调度: 第一层(输入内)DRR, 第二层(输入间)匹配调度。
权重感知: 支持每个VOQ的权重设置, 提供带宽分配。
结合优点: 结合了DRR的简单公平性和iSLIP的高吞吐量。
协调挑战: 两层调度需协调, 避免信用浪费和公平性偏差。

1. 第一层调度(每个输入端口): 对于每个输入端口i,其DRR调度器: a. 从活跃VOQ列表中选择下一个VOQ(比如j)。 b. 补充信用:DeficitCounter_ij += Quantum_ij。 c. 如果DeficitCounter_ij >= CellSize且VOQ_ij非空,则选中该VOQ的队首信元参与第二层调度,并临时标记该信元为“候选”。(注意:此时并不立即减少信用,因为信元可能未被第二层调度选中)。 2. 请求: 每个输入端口i向第二层调度器报告其候选信元的目的输出端口j。 3. 第二层调度: 第二层调度器(如iSLIP)基于所有输入端口的请求,计算一个输入到输出的匹配。 4. 传输确认: 如果输入i的候选信元被匹配中(即允许传输),则: a. 从VOQ_ij中取出该信元并传输。 b. 更新信用:DeficitCounter_ij -= CellSize。 c. 如果传输后VOQ_ij变空,将其从活跃列表中移除,并可选重置DeficitCounter_ij为0。 5. 信用处理(如果未匹配): 如果候选信元未被匹配,则该信元保留在VOQ中,但DeficitCounter_ij不减少(即信用未被使用)。 6. 新一轮: 下一个时隙重复以上过程。

硬件: 每个输入端口有DRR调度逻辑, 中央调度器实现iSLIP等算法。
软件: 支持QoS的交换机调度软件仿真。

Roce-Switching-0072

交换调度

信元交换, 输入排队

滑动窗口迭代匹配调度模型

描述一种基于滑动窗口的输入排队Crossbar迭代匹配调度算法。SM算法在每轮匹配中,为每个输出维护一个“窗口”,窗口内的输入具有优先被考虑的权利。通过调整窗口大小和滑动策略,可以在吞吐量和公平性之间取得平衡。

滑动窗口: 每个输出有一个窗口, 定义了一组候选输入。
窗口适应: 窗口大小和位置可根据流量负载动态调整。
迭代匹配: 多轮迭代提高匹配率。
平衡性能: 通过窗口调节吞吐量和公平性。

迭代匹配, 滑动窗口, 自适应调度。

输入排队Crossbar交换机, 需要平衡吞吐量和公平性的场景。

窗口大小W: 每个输出考虑的候选输入数量。
窗口位置: 窗口的起始输入索引。
匹配状态: 输入输出的匹配矩阵。

窗口内选择: 输出仅考虑窗口内的输入请求。
窗口滑动: 每轮或每时隙后, 窗口滑动以覆盖不同输入。

1. 基本思想: SM算法为每个输出端口j维护一个大小为W的窗口[start_j, start_j + W - 1](模N,N为端口数)。在匹配过程中,输出j只考虑来自窗口内输入的请求。窗口随着时间滑动,使得每个输入都有机会进入窗口并被服务。2. 算法流程: 类似于iSLIP,但带有窗口限制。a. 请求: 每个输入向其有信元等待的输出发送请求。b. 授权(带窗口): 每个输出j从其收到的请求中,只考虑那些输入索引在窗口[start_j, start_j + W - 1]内的请求。如果存在,输出j使用轮询仲裁器(从当前指针开始)从这些窗口内的请求中选择一个输入,发送授权。c. 接受: 每个输入从收到的授权中选择一个(例如,使用轮询仲裁器),发送接受。d. 迭代: 可进行多轮迭代。e. 窗口滑动: 每时隙或每轮迭代后,每个输出j的窗口起始位置start_j增加一个固定步长(如1),从而滑动窗口。3. 窗口的作用: 窗口大小W控制了输出的“视野”。W=1时,输出只考虑一个输入,公平性差但调度简单;W=N时,退化为考虑所有输入(如iSLIP)。通过调整W,可以在调度复杂度和公平性/吞吐量之间折衷。窗口滑动确保了长期公平性。4. 自适应窗口: 可以设计自适应算法,根据流量负载动态调整窗口大小。例如,当负载低时,减小窗口以降低复杂度;当负载高时,增大窗口以提高吞吐量。5. 性能: SM算法通过限制搜索空间降低了调度复杂度,同时通过滑动窗口保持公平性。在均匀流量下,即使W较小也能达到高吞吐量;在非均匀流量下,需要较大的W来避免性能下降。变量/常量W: 窗口大小(1到N)。 start_j: 输出j的窗口起始索引。 Request: 请求。 Grant: 授权。 Accept: 接受。

窗口限制: 输出只考虑窗口内的输入请求, 减少仲裁复杂度。
滑动保证公平: 窗口定期滑动, 使每个输入都有机会被服务。
可调参数: 窗口大小W可调, 平衡性能和复杂度。
迭代匹配: 支持多轮迭代提高匹配率。

1. 初始化: 设置每个输出j的窗口起始位置start_j(如随机或为0)。窗口大小W可固定或自适应。 2. 请求: 每个输入i向所有有信元等待的输出j发送请求。 3. 授权(窗口内): 对每个输出j,收集来自输入i的请求,但只考虑那些i在窗口[start_j, start_j+W-1] mod N内的请求。如果存在,使用轮询仲裁器从中选择一个输入i*,发送授权。 4. 接受: 每个输入i从收到的授权中选择一个(如使用轮询仲裁器),发送接受。 5. 迭代: 可进行多轮请求-授权-接受。 6. 传输: 根据最终匹配配置Crossbar,传输信元。 7. 窗口滑动: 时隙结束后,每个输出j的窗口起始位置更新:start_j = (start_j + step) mod N,步长step通常为1。

硬件: 交换调度器, 带窗口寄存器和比较逻辑。
软件: 交换调度仿真, 研究窗口大小和滑动策略的影响。

Roce-Switching-0073

交换调度

信元交换, 输入排队

基于信元年龄的加速调度模型

描述在组合输入输出排队(CIOQ)交换机中,利用信元年龄(时戳)信息进行调度,以模拟输出排队(OQ)调度策略(如FIFO、WFQ)的算法。通过比较输入和输出队列中信元的年龄,调度器决定传输哪些信元,旨在以较小的加速比(如2倍)精确模仿OQ的行为。

年龄比较: 比较输入VOQ中队首信元和输出队列中队首信元的年龄(或虚拟完成时间)。
模拟OQ: 目标是使CIOQ交换机的信元离开顺序与某个OQ调度器相同。
加速比2: 理论证明加速比S=2足以模拟任何OQ调度器。
中央调度: 需要全局年龄信息。

模拟输出排队, 年龄感知调度, CIOQ。

高性能CIOQ交换机, 需要精确控制信元时延和顺序的场景。

加速比S: 通常为2。
输入信元年龄A_in(i,j), 输入i的VOQ_j中队首信元的年龄(或虚拟完成时间)。
输出信元年龄A_out(j), 输出j的队列中队首信元的年龄(或虚拟完成时间)。
匹配矩阵M_ij

调度目标: 选择匹配M, 使得被传输信元的年龄(或虚拟完成时间)尽可能小, 以模仿OQ调度器(如FIFO, WFQ)。
算法: 如基于年龄的二分图匹配。

1. 基本思想: 在CIOQ交换机中,调度器的目标是:在每个内部时隙,选择一组信元从输入VOQ传输到输出队列,使得最终输出队列中信元的离开顺序与一个参考输出排队调度器(如FIFO、WFQ)相同。信元年龄(或虚拟完成时间)是调度决策的关键依据。2. 年龄定义: 对于FIFO模拟,年龄可以是信元的到达时间戳。对于WFQ模拟,年龄是信元的虚拟完成时间。调度器需要知道每个VOQ中队首信元的年龄,以及每个输出队列中队首信元的年龄。3. 调度算法(以模拟FIFO为例): 一个经典的算法是最早期限优先(EDF)或年龄基调度。其思想是优先传输那些如果不在当前时隙传输就会“迟到”的信元,即那些在参考OQ系统中本应立即输出的信元。具体地,调度器尝试匹配那些输入信元年龄小于输出队列头信元年龄的信元。这可以形式化为一个二分图匹配问题,其中权重可以是年龄的差值。4. 性能: 理论研究表明,当加速比S=2时,存在调度算法(如上述基于年龄的匹配)可以使CIOQ精确模拟任何工作 conserving的OQ调度器。这意味着CIOQ可以提供与OQ相同的吞吐量、时延和排序保证。5. 实现复杂度: 该算法需要全局信息(所有VOQ和输出队列的队首信元年龄),并且需要解决一个二分图匹配问题,计算复杂度较高。实际中可能采用启发式算法。变量/常量S: 加速比(通常为2)。 A_in(i,j): 输入i的VOQ_j中队首信元的年龄(如到达时间或虚拟完成时间)。 A_out(j): 输出j的队列中队首信元的年龄(如果输出队列为空,可设为无穷大)。 M_ij: 指示是否匹配输入i到输出j。

年龄感知: 使用信元年龄作为调度决策的主要依据。
模拟OQ: 目标是与某个OQ调度器的行为一致。
加速比2: 理论证明S=2足以精确模拟。
全局信息: 需要知道所有输入和输出队列的年龄信息, 复杂度高。

1. 收集信息: 在每个内部时隙开始时,调度器收集所有VOQ的队首信元年龄A_in(i,j)(如果VOQ非空),以及所有输出队列的队首信元年龄A_out(j)(如果输出队列非空,否则设为∞)。 2. 构建二分图: 构建一个二分图,左边是输入端口i,右边是输出端口j。如果VOQ(i,j)非空,则在输入i和输出j之间有一条边,其权重可设为w_ij = A_out(j) - A_in(i,j)(或其他度量,表示传输紧迫性)。 3. 求解匹配: 调度器求解一个最大权重匹配或最大基数匹配,其中目标是最大化紧迫性(即优先匹配那些A_in(i,j)远小于A_out(j)的信元,因为它们如果再不传输就会“迟到”)。由于加速比S=2,每个输入最多可匹配2个输出,每个输出最多可匹配2个输入。 4. 传输: 根据匹配结果M_ij,从输入i的VOQ_j中取出信元,通过交换结构传输到输出j的队列。 5. 更新年龄: 传输后,更新相关VOQ和输出队列的年龄信息。

硬件: 需要快速计算年龄和求解匹配的高性能调度器, 实现复杂。
软件: 用于研究CIOQ模拟OQ的理论算法和仿真。

Roce-Switching-0074

交换结构

信元交换, 多级缓冲

带缓冲多级交换网络模型

描述在多级交换网络(如Banyan、Clos)的交换单元内部或级间设置缓冲区,以解决内部阻塞问题的模型。通过缓冲冲突的信元,可以显著提高网络吞吐量,但会引入额外的时延和缓冲区管理复杂度。

内部缓冲: 在交换单元内部(输入、输出或内部)设置缓冲区。
缓解阻塞: 缓冲允许冲突的信元在交换单元中等待, 而非丢弃。
时延增加: 缓冲引入排队时延。
死锁风险: 不正确的缓冲策略可能导致死锁。

多级互连网络, 缓冲策略, 流量控制。

需要高吞吐量多级交换结构的交换机, 如基于多级网络的交换芯片。

缓冲位置: 输入缓冲、 输出缓冲、 内部缓冲、 共享缓冲。
缓冲区大小: 每个缓冲区的容量(信元数)。
路由算法: 自路由或表路由。
流量控制: 背压或信用机制。

排队模型: 每个缓冲区可建模为一个队列, 服务率为交换单元内部链路速率。
吞吐量分析: 通过马尔可夫链或仿真分析网络吞吐量。

1. 缓冲位置: 在多级交换网络的交换单元中,缓冲区可以放在不同位置:a. 输入缓冲: 在每个交换单元的输入端口设置缓冲区。b. 输出缓冲: 在每个交换单元的输出端口设置缓冲区。c. 内部缓冲: 在交换单元内部的交叉点设置缓冲区。d. 共享缓冲: 交换单元内部共享一个公共缓冲区。2. 工作原理: 当两个或多个信元竞争同一输出链路时,除了一个信元外,其余信元被存入缓冲区等待后续时隙传输。这减少了信元丢失,提高了吞吐量。3. 缓冲策略: a. 输入缓冲: 可能导致队头阻塞,即使输出端口空闲,队头信元被阻塞也会阻止后续信元传输。b. 输出缓冲: 类似于输出排队,性能较好,但需要缓冲区操作速度较快。c. 内部缓冲: 如交叉点缓冲(CICQ),每个交叉点有一个小缓冲区,性能优异且易于调度。4. 流量控制: 由于缓冲区有限,需要流量控制机制防止缓冲区溢出。常见方法包括:a. 背压: 当缓冲区快满时,向上游发送停止信号。b. 信用: 下游向上游发送信用,表示可用缓冲区空间。5. 死锁: 在不规则的缓冲和路由策略下,可能形成循环等待导致死锁。需要设计无死锁的路由算法或使用虚拟通道。6. 性能: 带缓冲的多级网络可以显著提高吞吐量,在均匀流量下可接近100%,但代价是增加了硬件复杂性和时延。变量/常量BufferSize: 缓冲区容量。 QueueLength: 当前队列长度。 ServiceRate: 服务速率(通常等于链路速率)。 TrafficLoad: 流量负载。

缓冲解决冲突: 通过缓冲竞争失败的信元提高吞吐量。
多种缓冲位置: 输入、输出、内部或共享缓冲, 各有优劣。
流量控制必要: 需要机制防止缓冲区溢出。
死锁可能: 需设计无死锁路由和缓冲管理。

1. 信元到达: 信元到达交换单元的输入链路,根据其目的地址(自路由或查表)确定输出端口。 2. 路由决策: 交换单元根据信元的目的地址选择输出端口。 3. 冲突检测: 如果多个信元同时竞争同一输出端口,则发生冲突。 4. 缓冲决策: 交换单元根据其缓冲策略处理冲突。例如,在输出缓冲中,所有竞争的信元都被暂存到该输出端口的缓冲区中。在输入缓冲中,每个输入端口有独立队列,队头信元竞争输出端口,失败的留在队头等待下一时隙。 5. 调度传输: 交换单元从缓冲区中选择信元传输到输出链路。调度策略可以是FIFO、轮询等。 6. 流量控制: 如果缓冲区快满,向上游发送流控信号(如背压),使其暂停发送。 7. 向下游传输: 信元被传输到下一级交换单元或最终输出端口。

硬件: 带缓冲器的多级交换网络芯片, 如共享内存或交叉点缓冲交换结构。
软件: 网络仿真工具(如NS-2, OPNET)中的多级交换网络模型。

Roce-Switching-0075

交换结构

信元交换, 光交换

光突发交换模型

描述一种用于光网络中的交换范式,将多个IP分组(或信元)聚合为突发,在光域进行交换。控制分组在单独的控制信道中提前发送,为突发数据预留资源。OBS旨在实现IP over WDM的高效传输,减少光通道的建立拆除开销。

突发聚合: 将多个分组聚合为一个突发, 减少控制开销。
分离信令: 控制分组与数据突发在分离的信道传输, 控制分组提前发送。
单向预留: 无需端到端确认即可发送突发, 降低时延。
偏置时间: 控制分组提前于数据突发的时间偏移。

光网络, 突发交换, 资源预留。

光互联网, IP over WDM, 核心光网络。

突发: 一组IP分组, 在光域作为一个整体交换。
控制分组: 在电域处理, 包含突发长度、偏置时间、路由信息等。
偏置时间T: 控制分组提前于突发的时间。
突发长度: 突发的持续时间。

资源预留: 控制分组在路径上为突发预留资源(波长、时隙)。
JET协议: 一种OBS协议, 使用Just-Enough-Time预留。

1. 网络架构: OBS网络由光核心路由器和边缘路由器组成。边缘路由器将IP分组聚合为突发,并产生控制分组。控制分组在单独的控制信道(通常为带外波长)中传输,在电域处理。数据突发在数据信道(光波长)中传输,在光域交换。2. 突发聚合: 边缘路由器根据目的地址、QoS等将IP分组聚合为突发。聚合算法可以是基于定时器(时间阈值)或基于大小(长度阈值)。3. 控制分组: 控制分组在数据突发发送之前发送,提前的时间称为偏置时间T。控制分组包含路由信息、突发长度、偏置时间、QoS等。它在每个核心路由器被电处理,用于为即将到来的数据突发配置光交换矩阵(如微机电系统MEMS),预留资源。4. 资源预留协议: 常用的是Just-Enough-Time(JET)协议。在JET中,控制分组在核心路由器处计算并预留一个从预计到达时间开始、持续时间为突发长度的时窗。由于偏置时间T的存在,资源预留可以在突发到达之前完成,从而实现无缝通过。5. 突发传输: 在偏置时间T之后,数据突发在光域传输,经过已配置好的光通道,无需光电光转换。6. 冲突解决: 如果两个突发竞争同一输出端口的同一波长,会发生冲突。解决冲突的方法包括:光纤延迟线(FDL)缓冲、波长转换、或丢弃其中一个突发。7. 优点: 比电路交换灵活,比分组交换效率高。缺点:冲突可能导致突发丢失,且缺乏光存储器使得缓冲困难。变量/常量Burst: 数据突发。 Control Packet: 控制分组。 T: 偏置时间。 Burst Length: 突发长度(时间或大小)。 FDL: 光纤延迟线, 用于光域缓冲。

突发聚合: 减少控制开销, 提高光通道利用率。
分离信令: 控制信道与数据信道分离, 控制分组电处理, 数据突发光交换。
单向预留: 无需端到端确认, 降低建立时延。
冲突解决: 使用FDL、波长转换或丢弃处理冲突。

1. 突发组装: 边缘路由器根据目的IP地址和QoS类将到达的IP分组组装成突发。当组装定时器超时或突发长度达到阈值时,组装完成。 2. 控制分组生成与发送: 为突发生成控制分组,包含路由信息、突发长度、偏置时间等。在数据突发发送之前,提前时间T发送控制分组。控制分组通过控制信道传输。 3. 资源预留: 控制分组经过每个核心路由器时,在电域被处理。路由器根据控制分组中的信息,计算突发到达时间,并为其预留相应的输出波长和时段(使用JET协议)。然后配置光交换矩阵。 4. 突发传输: 在控制分组发送后时间T,边缘路由器在数据信道上发送光突发。 5. 光交换: 突发在光域通过核心路由器,此时光交换矩阵已配置好,突发被交换到正确的输出端口。 6. 突发解组装: 目的边缘路由器接收光突发,进行光电转换,解包为IP分组,并发送给终端用户。 7. 冲突处理: 如果预留失败(资源冲突),核心路由器可能尝试使用FDL延迟突发、波长转换,或丢弃突发。

硬件: 光核心路由器(MEMS光开关, 波长转换器, FDL), 边缘路由器。
软件: 突发聚合算法, 资源预留协议(如JET)实现。

Roce-Switching-0076

交换结构

信元交换, 光交换

光分组交换模型

描述一种在光域直接交换分组(或信元)的网络范式,类似于电分组交换,但分组在光域传输和交换。由于光逻辑和存储的困难,OPS尚不成熟,但被认为是未来光网络的愿景。

光域处理: 分组头在光域处理(或光电光处理), 净荷在光域交换。
同步: 通常需要时隙同步。
缓冲难题: 缺乏光RAM, 使用光纤延迟线实现缓冲。
冲突解决: 通过波长、时间、空间维度解决冲突。

光网络, 分组交换, 同步时隙。

未来全光网络, 高速光互联。

光分组: 由光分组头和净荷组成, 头与净荷间有保护带。
光纤延迟线: 用作光缓冲, 延迟分组时间。
波长转换器: 将分组从一个波长转换到另一个波长。
光逻辑门: 用于头处理。

交换矩阵: 基于半导体光放大器或微环谐振器的光交换矩阵。
缓冲: FDL提供固定时延, 构成延迟线阵列。

1. 光分组格式: 光分组由分组头和净荷组成,两者通常在光域,但有时分组头在电域处理。头和净荷之间有一个保护带,以允许头处理和时间调整。2. 网络操作: 光分组在时隙同步的网络中传输。在每个核心节点,光分组头被提取并转换为电信号进行处理(或全部光处理),以确定输出端口。同时,分组净荷被延迟(通过FDL)。根据头处理结果,光交换矩阵被配置,将净荷交换到正确的输出端口。3. 光缓冲: 由于没有可用的光RAM,缓冲通过光纤延迟线实现。FDL提供固定的时延,可以通过多个FDL级联或并行实现可变长度的缓冲,但通常复杂且体积大。4. 冲突解决: 当多个分组竞争同一输出端口时,发生冲突。解决方法包括:a. 光缓冲: 使用FDL延迟冲突分组。b. 波长转换: 将分组转换到另一个可用波长。c. 偏射路由: 将分组转发到另一个输出端口(可能不是最短路径)。d. 分组丢弃: 最后手段。5. 挑战: a. 光逻辑处理速度慢、功耗高。b. 光缓冲难以实现且效率低。c. 同步要求高。d. 冲突解决复杂。6. 变体: 由于全光处理困难,有混合方案如光突发交换(OBS)和光电路交换(OCS)。变量/常量Packet Header: 分组头, 包含路由信息等。 Payload: 净荷。 Guard Band: 保护带。 FDL: 光纤延迟线, 延迟时间固定。 Wavelength Converter: 波长转换器。

全光交换愿景: 分组在光域完成路由、交换、缓冲。
同步时隙: 通常工作在同步时隙模式, 简化交换和缓冲。
缓冲挑战: 缺乏光RAM, 使用FDL提供固定时延缓冲。
冲突解决多维: 结合时间(FDL)、波长(转换)、空间(偏射)解决冲突。

1. 分组到达: 光分组到达核心路由器输入端口。 2. 头提取与处理: 使用光分束器分出一小部分光功率,将分组头转换为电信号(或全光处理),由电处理器(或光逻辑)解析目的地址,查表确定输出端口和波长。 3. 净荷延迟: 分组净荷通过光纤延迟线(FDL)被延迟,以提供头处理和时间对齐。 4. 资源预约与冲突解决: 处理器检查输出端口和波长在预定时间的可用性。如果可用,则预约资源。如果冲突,尝试冲突解决(如通过FDL进一步延迟、波长转换或偏射路由)。 5. 交换配置: 根据预约结果,配置光交换矩阵(如基于半导体光放大器或微环谐振器的开关)。 6. 分组交换: 延迟后的净荷被交换矩阵交换到预定的输出端口和波长。 7. 头重写与发送: 可选地,分组头被更新(如TTL减1),然后与净荷重新组合,发送到输出链路。

硬件: 光交换矩阵(SOA开关, MEMS), FDL阵列, 波长转换器, 光逻辑门(研究阶段)。
软件: 路由协议, 冲突解决算法, 资源管理。

Roce-Switching-0077

交换结构

信元交换, 光交换

光电路交换模型

描述在光网络中建立端到端的光通路(光路),并在通信期间独占该通路资源的交换范式。OCS类似于电路交换,适用于长时间、大流量的连接,如视频分发、数据中心互连。

电路交换: 通信前建立端到端光路, 通信期间独占资源。
波长路由: 光路通常在波长层面建立, 即波长路由。
静态/动态: 光路可预先配置(静态)或按需建立(动态)。
粗粒度: 适用于高带宽、长持续时间的连接。

光网络, 电路交换, 波长路由。

光传输网, 数据中心互连, 视频传输骨干网。

光路: 端到端的光通道, 由一系列波长链路组成。
波长连续性约束: 光路必须使用同一波长(若无波长转换)。
路由与波长分配: RWA问题, 为连接选择路由和分配波长。

建立时间: 光路建立涉及信令和配置, 有延迟。
保持时间: 光路持续时间, 通常较长。

1. 基本概念: OCS在源和目的之间建立一条光路,该光路由一系列光纤链路上的一个特定波长通道构成。在光路持续期间,该波长通道被该连接独占,不与其他连接共享。2. 网络元素: a. 光交叉连接: 可以配置波长通道的连接。b. 光线路系统: 包括光纤、光放大器等。c. 控制平面: 用于动态建立、拆除光路,如基于GMPLS/ASON。3. 路由与波长分配: 为连接建立光路需要解决RWA问题:选择一条从源到目的的路由,并沿着该路由分配一个可用的波长。如果网络中没有波长转换器,则必须满足波长连续性约束(即整条路径使用同一波长)。RWA是NP难问题,常用启发式算法。4. 信令: 动态OCS使用信令协议(如RSVP-TE)建立光路。过程包括:路径计算、资源预留、配置光交叉连接。5. 优点: 数据在光域透明传输,无需光电光转换,延迟低,功耗低。适用于稳定、高带宽流量。6. 缺点: 由于光路独占波长,带宽利用率可能较低,特别是对突发性流量。建立和拆除光路有延迟,不适用于短时连接。7. 应用: 核心光传输网(OTN)、数据中心间互连(DCI)、视频内容分发。变量/常量Lightpath: 光路, 由路由和波长定义。 Wavelength Continuity Constraint: 波长连续性约束。 Holding Time: 光路保持时间。 Blocking Probability: 阻塞概率。

独占资源: 光路建立后, 其波长通道被独占。
透明传输: 数据在光域端到端传输, 无光电转换。
粗粒度: 带宽粒度大(一个波长, 如10G/100G)。
建立时延: 光路建立需要信令和配置时间。

1. 连接请求: 源节点收到建立到目的节点的光路请求,指定带宽(通常是一个波长)、持续时间等。 2. 路由与波长分配: 控制平面执行RWA算法,为请求寻找一条从源到目的的路由,并分配一个可用的波长。如果找不到,则请求被阻塞。 3. 信令与资源预留: 使用信令协议(如RSVP-TE)沿计算路径发送Path消息,在每个中间节点预留波长资源。 4. 交叉连接配置: 中间节点和目的节点收到Resv消息后,配置其光交叉连接,建立光路。 5. 数据传输: 光路建立后,数据在光域直接从源传输到目的,无需光电转换。 6. 连接拆除: 通信结束或超时后,发送信令消息拆除光路,释放波长资源。

硬件: 可重构光分插复用器, 光交叉连接, 波长选择开关。
软件: 控制平面软件(如基于GMPLS), RWA算法。

Roce-Switching-0078

交换调度

信元交换, 输入排队

基于神经网络的交换调度模型

描述使用神经网络(如深度学习)来解决输入排队Crossbar交换机调度问题的方法。将调度问题建模为分类或序列决策问题,利用神经网络学习复杂的流量模式,并做出近似最优的匹配决策,以应对动态和非均匀的流量。

机器学习: 使用神经网络学习调度策略。
状态表示: 将VOQ状态(如队列长度、到达率)编码为神经网络输入。
决策输出: 神经网络输出匹配决策(如选择哪些输入输出配对)。
在线学习/离线训练: 可在离线训练, 在线使用。

机器学习, 神经网络, 组合优化。

动态流量模式下的交换调度, 研究阶段。

神经网络结构: 如多层感知机, 卷积神经网络, 循环神经网络。
状态向量: 表示所有VOQ状态的输入向量。
动作空间: 所有可能的匹配, 输出可以是匹配的概率分布。

训练目标: 最大化长期累积奖励, 如吞吐量, 或最小化平均时延。
策略梯度: 使用强化学习训练神经网络调度器。

1. 问题建模: 将每个时隙的调度决策看作一个序列决策问题。状态S_t是当前所有VOQ的状态(如队列长度、信元到达历史、信元年龄等)。动作A_t是从所有可能的匹配中选择一个匹配矩阵。奖励R_t可以是该时隙传输的信元数(吞吐量)或负的时延等。目标是学习一个策略`π(A_t

S_t),最大化长期累积奖励。**2. 神经网络架构**: a. **输入层**: 状态S_t被编码为一个向量(如将所有VOQ的队列长度排列成向量)。b. **隐藏层**: 可以是全连接层、卷积层(捕捉局部空间相关性)或循环层(捕捉时间相关性)。c. **输出层**: 根据问题表述,可以是:i. 直接输出一个匹配矩阵(如NxN的矩阵,每个元素表示该配对的概率),但需要满足匹配约束(每行每列最多一个1)。这可以通过Sinkhorn层等实现。ii. 输出一个优先级分数,然后使用传统的匹配算法(如匈牙利算法)选择匹配。iii. 输出一个调度动作的分布,然后采样。**3. 训练方法**: a. **强化学习**: 使用策略梯度方法(如REINFORCE)或演员-评论家方法训练神经网络。智能体(调度器)与环境(交换机模拟器)交互,根据奖励调整策略。b. **监督学习**: 使用传统调度算法(如iSLIP、LQF)生成的“专家”决策作为标签,训练神经网络模仿专家行为。c. **模仿学习**: 结合以上两种。**4. 挑战**: a. **动作空间大**: 所有匹配的数量是阶乘级,需要设计有效的输出表示。b. **实时性要求**: 调度决策必须在极短时间内完成(纳秒级),神经网络推理速度需极快。c. **泛化能力**: 需要能泛化到未见过的流量模式。**5. 潜力**: 神经网络调度器可能学习到传统启发式算法难以捕捉的复杂模式,在非均匀、突发流量下可能获得更好的性能。**变量/常量**:S_t: 状态(如VOQ长度矩阵)。A_t: 动作(匹配矩阵)。R_t: 奖励。π_θ`: 参数为θ的神经网络策略。

数据驱动: 从数据中学习调度策略, 而非人工设计启发式。
适应性强: 可能适应复杂的动态流量模式。
表示能力强: 神经网络可捕捉状态的高阶相关性和时间依赖性。
实时挑战: 神经网络推理速度需满足线速调度要求。

1. 状态观测: 在每个时隙t,调度器观测当前交换机状态S_t(如所有VOQ的长度、信元年龄、历史流量等)。 2. 特征提取: 将状态S_t编码为神经网络输入向量或矩阵。 3. 神经网络推理: 将状态特征输入神经网络,神经网络输出一个动作A_t(如一个匹配矩阵,或每个VOQ的优先级分数)。 4. 决策执行: 根据A_t配置Crossbar,传输信元。 5. 奖励计算: 观测下一状态S_{t+1},计算奖励R_t(如传输的信元数)。 6. 训练更新(如果是在线学习): 将经验(S_t, A_t, R_t, S_{t+1})存入经验回放池,定期使用梯度下降更新神经网络参数,以最大化累积奖励。 7. 循环: 重复步骤1-6。

Roce-Switching-0079

交换结构

信元交换, 量子交换

量子交换模型

描述一种基于量子力学原理

更多推荐