【信息科学与工程学】【通信工程】第七十二篇 RoCE网络交换机模型06
RoCE网络的各类协议和算法。RoCE是数据中心高性能计算、存储和AI通信的核心技术,其模型和协议栈是软硬件协同设计的典范。
|
ID |
领域 |
核心理论 |
模型/协议/算法名称 |
目标与描述 |
精度与特征 |
理论基础 |
应用场景 |
数学要素 |
关键方程/状态机 |
实现步骤/工作流程 |
软硬件工具 |
|---|---|---|---|---|---|---|---|---|---|---|---|
|
Roce-NW-0601 |
数据中心网络 |
远程直接内存访问, 网络协议栈 |
RDMA over Converged Ethernet 协议栈 (RoCE) |
在标准以太网上实现RDMA功能,允许应用绕过CPU和操作系统内核,直接通过网络接口卡访问远程主机内存,实现超低延迟、高吞吐量和极低CPU开销的网络通信。 |
性能: 端到端延迟可低于1微秒,吞吐量可达线速(如400GbE),CPU占用率趋近于0%。兼容性: RoCEv2基于UDP/IP,可路由,适用于标准三层数据中心网络。 |
零拷贝, 内核旁路, 传输卸载, 拥塞控制。 |
高性能计算集群互连, 分布式存储(如NVMe-oF), 人工智能/机器学习训练(参数服务器, All-Reduce), 金融交易。 |
队列对: 发送队列, 接收队列。 |
基本发送操作: |
1. 建立连接: 通过管理平面(如CM, 基于TCP/IP)交换QPN、GID、Service Level等信息,建立QP连接状态。 |
硬件: RDMA智能网卡, 高速以太网交换机(支持PFC, ECN)。 |
|
Roce-NW-0602 |
数据中心网络 |
无损传输, 流量控制 |
基于优先级的流量控制 (Priority-based Flow Control, PFC) |
在以太网链路层提供基于优先级的、反压式的逐跳流量控制,旨在为RoCE等无损网络业务创建无丢包的网络环境,防止因缓冲区溢出导致的报文丢失和传输超时。 |
粒度: 以8个优先级(IEEE 802.1p)为单位进行独立控制。 |
信用机制, 反压控制, 网络微突发管理。 |
RoCE无损网络, 存储网络(NVMe/TCP也可用), 融合数据中心网络(LAN和SAN融合)。 |
XOFF/XON阈值: 接收端口缓冲区使用率阈值。 |
触发条件: 当端口某优先级队列的缓冲区使用量 > XOFF阈值时,向对端发送携带该优先级位图的PFC暂停帧(XOFF)。 |
1. 配置: 在网络交换机端口上为RoCE流量(通常映射到特定优先级,如优级6)启用PFC,并设置合适的XOFF/XON阈值。 |
硬件: 支持PFC的以太网交换机(如Cisco Nexus, Arista, Mellanox Spectrum), RNIC。 |
|
Roce-NW-0603 |
拥塞控制 |
显式拥塞通知, 量化拥塞通知 |
数据中心量化拥塞通知 (DCQCN) |
为RoCE网络设计的端到端拥塞控制算法。它结合交换机上的ECN标记和接收端的量化反馈(CNP),使发送端能够精确、快速地调整发送速率,在高吞吐量和低延迟之间取得平衡,同时避免PFC触发。 |
多速率收敛: 使不同流之间公平共享带宽。 |
基于速率的控制理论, AIMD(加性增乘性减), ECN, 反馈控制。 |
RoCEv2网络的标准拥塞控制算法, 大规模AI训练集群, 分布式存储后端网络。 |
目标速率: R(t)。 |
交换机标记: 当队列长度 Q > K_min 时,以概率 P = (Q - K_min)/(K_max - K_min) 标记报文ECN位。 |
1. 网络配置: 在交换机上为RoCE流量队列启用ECN,并设置合适的K_min, K_max。 |
硬件: 支持ECN和CNP处理的RNIC(如NVIDIA ConnectX系列), 支持ECN标记的数据中心交换机。 |
|
Roce-NW-0604 |
可靠传输 |
可靠连接, 序列号, 确认与重传 |
Reliable Connected 传输服务 (RC) |
RoCE协议栈中提供最高可靠性的传输模式。它确保报文按序、无丢失、无重复地交付,通过基于序列号(PSN)的确认和选择重传机制来保证端到端的可靠性,是RDMA操作(Send/Recv, Write, Read)的基石。 |
可靠性: 保证每个发送的报文最终都被对端确认和接收。 |
滑动窗口协议, 自动重传请求, 正向确认。 |
需要可靠传输的所有RDMA应用, 如分布式数据库RPC, 存储读写, 关键业务通信。 |
下一个待发送PSN: NPSN。 |
发送: 为每个报文分配PSN = NPSN, NPSN++。 将报文放入未确认列表。 |
1. 连接建立: 管理平面协商初始PSN(ISN)和传输参数。 |
硬件: RNIC中的协议引擎, 重传缓冲区, 定时器硬件。 |
|
Roce-NW-0605 |
负载均衡, 多路径 |
等价多路径路由, 流哈希 |
基于流的等价多路径路由 (ECMP) 与 链路聚合组 (LAG) |
在网络层(L3)和数据链路层(L2)提供多条等价路径,以提升RoCE网络带宽、实现负载均衡和提供链路冗余。通过哈希流的五元组信息,将同一流的所有报文固定在同一条路径上,以避免乱序。 |
带宽聚合: 将多条物理链路逻辑上捆绑为一条高带宽链路。 |
哈希一致性, 流保持性, 网络拓扑与路由。 |
数据中心Spine-Leaf架构, 服务器多网卡绑定, 网络核心层互联。 |
哈希密钥: 通常为报文的(源IP, 目的IP, 源端口, 目的端口, 协议)。对于RoCEv2, 端口为UDP源/目的端口。 |
路径选择: |
1. 网络配置: 在交换机上配置ECMP(针对L3路由)或LAG(针对L2链路捆绑),并指定成员链路。 |
硬件: 支持ECMP/LAG和可编程哈希的数据中心交换机ASIC。 |
|
ID |
领域 |
核心理论 |
模型/协议/算法名称 |
目标与描述 |
精度与特征 |
理论基础 |
应用场景 |
数学要素 |
关键方程/状态机 |
实现步骤/工作流程 |
软硬件工具 |
|---|---|---|---|---|---|---|---|---|---|---|---|
|
Roce-NW-0606 |
网络虚拟化与隔离 |
单根I/O虚拟化, 硬件队列虚拟化 |
基于SR-IOV的RoCE虚拟化模型 |
在物理RDMA网卡上创建多个虚拟的、功能完整的“轻量级”虚拟功能,使多个虚拟机或容器能直接、安全地共享同一块物理网卡的RDMA能力,同时保持性能隔离和接近物理机的低延迟与高吞吐。 |
性能: VF的延迟和吞吐接近PF,CPU开销远低于软件模拟或透传。 |
PCI Express SR-IOV规范, 虚拟化技术, 资源分区。 |
云数据中心, 裸金属服务器, 容器化高性能计算, 多租户AI训练平台。 |
物理功能: PF, 拥有完整配置和管理权限。 |
数据路径: VM内应用 -> VF驱动 -> VF硬件队列 -> 物理端口。 |
1. 硬件与BIOS支持: 确保RNIC和服务器平台支持SR-IOV,并在BIOS中启用。 |
硬件: 支持SR-IOV的RNIC(如NVIDIA BlueField, Intel E810), 支持SR-IOV的服务器平台。 |
|
Roce-NW-0607 |
拥塞控制 |
延迟梯度, 主动速率调整 |
TIMELY 拥塞控制算法 |
一种基于测量RTT(往返时间)变化而非依赖交换机ECN标记的RoCE拥塞控制算法。通过高精度测量每个数据包的RTT,计算其梯度(变化率),主动推断网络拥塞并调整发送速率,旨在实现更平滑的速率控制和更低的队列延迟。 |
主动性: 不依赖交换机标记,可在无ECN网络中工作。 |
控制理论, 梯度下降, 延迟作为拥塞信号, 高精度计时。 |
对延迟极度敏感的应用(如分布式事务处理), 混合流量(RoCE与TCP共存)环境, 交换机不支持或未配置ECN的网络。 |
当前RTT: T。 |
速率更新规则: |
1. 高精度RTT测量: 发送端为每个数据包打上高精度时间戳。接收端在ACK/CNP中回显此时间戳。发送端计算精确的RTT。 |
硬件: 支持纳秒级精度时间同步和打戳的RNIC(如支持PTP的网卡)。 |
|
Roce-NW-0608 |
可靠传输 |
不可靠数据报, 无连接 |
Unreliable Datagram 传输服务 (UD) |
RoCE协议栈中的一种轻量级、无连接的传输模式。它不保证报文的可靠、有序交付,也不维护端到端的连接状态,但提供了多播支持。适用于对延迟要求极致、可容忍少量丢包(或由上层处理)的广播/多播场景。 |
超低开销: 无连接状态, 无需ACK/NACK, 无重传缓冲区。 |
数据报网络, 尽力而为交付, IP多播。 |
金融行情分发, 集群集体通信中的广播(如AllReduce的某些阶段), 实时音视频流, 监控数据发布。 |
目的地QP号: 在数据包中指定,但接收方可能未创建该QP。 |
发送: 指定目标地址和QP号,直接发送数据报。 |
1. 创建QP: 应用创建类型为UD的QP,并绑定到本地地址。对于多播,还需加入一个多播组。 |
硬件: 标准RNIC, 支持多播转发的交换机。 |
|
Roce-NW-0609 |
网络管理 |
发现、连接与服务管理 |
通信管理器 协议 (CM) |
一个位于RDMA传输层之上的管理协议,用于在两个节点之间建立、维护和终止QP的连接。它负责交换连接参数(如QPN、PSN、GID),并在不可靠的传输(如UD)上提供可靠的连接建立服务。 |
带外交互: 在数据通信开始前,通过独立的“管理通道”建立连接。 |
三次握手, 状态机, 参数协商。 |
任何需要建立RDMA连接的应用, 由中间件(如MPI)在初始化阶段调用。 |
通信ID: 本地和远程标识符的组合,唯一标识一个待建立或已建立的连接。 |
主动连接方: |
1. 监听: 服务器端应用通过CM创建一个监听端点,指定服务ID和通信地址。 |
软件: 操作系统内核中的CM模块(如rdma_cm), 用户态库(librdmacm), 应用通过 |
|
Roce-NW-0610 |
多路径与负载均衡 |
应用感知, 动态路径选择 |
MPATH 多路径路由与故障转移 |
在主机侧(而非网络交换机)实现的、基于RDMA连接的多路径技术。它允许一个RDMA连接绑定到多个物理路径(如多个RNIC端口),并根据策略(如轮询、最小延迟)动态选择路径发送数据,实现更细粒度的负载均衡和透明故障转移。 |
端到端控制: 负载均衡和故障转移决策在通信端点进行,不依赖网络设备。 |
多宿主, 链路聚合, 故障检测与恢复。 |
服务器多网卡高可用部署, 跨机架带宽优化, 对网络故障恢复时间要求极高的关键应用。 |
路径组: 属于同一连接的多条物理路径的集合。 |
发送路径选择: |
1. 路径发现与分组: 系统或管理软件发现服务器可用的物理网络路径(如eth0, eth1),并将它们根据目标地址分组,创建逻辑的“MPATH接口”。 |
硬件: 多端口RNIC, 或服务器中多个单端口RNIC。 |
|
ID |
领域 |
核心理论 |
模型/协议/算法名称 |
目标与描述 |
精度与特征 |
理论基础 |
应用场景 |
数学要素 |
关键方程/状态机 |
实现步骤/工作流程 |
软硬件工具 |
|---|---|---|---|---|---|---|---|---|---|---|---|
|
Roce-NW-0611 |
网络计算卸载 |
集合通信, 内网计算 |
SHARP 协议 (Scalable Hierarchical Aggregation and Reduction Protocol) |
在交换机内部署可编程计算引擎,将原本需要在终端主机上进行的集合通信操作(如All-Reduce、All-Gather)卸载到网络中进行。通过交换机内嵌的硬件对多个数据流进行实时聚合、归约等计算,极大降低通信延迟和主机CPU/PCIe负载。 |
性能: 可降低All-Reduce延迟高达50%,并将主机CPU开销降低一个数量级。 |
并行计算, 聚合算法, 可编程数据平面, 交换机内计算。 |
大规模AI/ML训练(参数同步), 科学计算(集合通信), 分布式数据库聚合查询。 |
聚合组: 参与同一集合操作的一组节点/流。 |
All-Reduce 卸载: |
1. 组创建: 管理软件在支持SHARP的交换机上创建一个聚合组,并指定聚合算法(如求和、最大值)、参与成员和输出目标。 |
硬件: 支持SHARP的智能交换机(如NVIDIA Spectrum-X系列), 支持SHARP卸载的RNIC。 |
|
Roce-NW-0612 |
网络遥测与监控 |
带内网络遥测, 可编程数据平面 |
In-band Network Telemetry (INT) |
一种网络数据面可编程技术,允许在数据包转发路径中,将网络设备(交换机)的内部状态(如队列深度、拥塞标记、链路利用率、时戳)按指令写入数据包本身或专门的探测包中。接收端收集这些信息,以提供精确的、逐跳的网络状态可视化和故障诊断。 |
高精度: 提供纳秒级时间戳和逐跳状态, 定位问题精确到具体端口和队列。 |
可编程数据平面(P4), 网络测量, 大数据分析。 |
数据中心网络性能监控与故障定位, RoCE网络拥塞根因分析, 网络SLA保障, 智能路由优化。 |
指令头: 指定要收集的数据类型(如Switch ID, Ingress/Egress时戳,队列深度,ECN标记)。 |
数据包格式: |
1. 配置下发: 网络控制器通过P4Runtime或OpenConfig向交换机下发INT数据收集指令(Instruction Header),指定需要收集的元数据类型。 |
硬件: 支持P4可编程的交换芯片(如Tofino), 支持INT卸载的RNIC(可选)。 |
|
Roce-NW-0613 |
拥塞控制 |
快速收敛, 公平性优化 |
DCQCN增强算法: HPCC (High Precision Congestion Control) |
一种基于INT提供的高精度链路负载信息(而非队列长度)的拥塞控制算法。发送端通过INT数据直接获取路径上所有链路的实时利用率和队列信息,从而更精确、更快速地计算发送速率,实现接近零队列堆积、高吞吐和极佳公平性的目标。 |
高精度控制: 直接测量链路负载,而非间接推断(如ECN、延迟)。 |
控制理论, 最优化, 精确测量反馈。 |
超低延迟、高吞吐的RoCE网络, 大规模AI训练集群, 对网络抖动敏感的关键业务。 |
链路利用率: |
速率更新公式 (简化): |
1. INT配置: 在网络中启用INT,配置交换机将所有链路的实时利用率、队列信息插入到特定数据包(如ACK包)中。 |
硬件: 支持INT的交换机和RNIC(用于生成和解析INT数据)。 |
|
Roce-NW-0614 |
可靠传输, 丢包恢复 |
选择性确认, 快速重传 |
RoCEv2 选择性重传与确认机制 |
在Reliable Connected (RC) 服务中,接收端可以明确地确认一系列连续接收到的数据包(通过Ack),并在检测到丢包时,发送一个Negative Acknowledgement (NACK) 来精确请求重传丢失的特定数据包,而非等待超时或重传所有未确认的包。这显著提升了丢包恢复速度。 |
高效恢复: 精确重传丢失的包,避免不必要的重传,节省带宽。 |
选择性重传 (SACK), 滑动窗口协议, 否定确认。 |
所有需要高可靠性和低延迟的RDMA RC通信,尤其是在有轻微丢包的网络环境中。 |
期望的PSN: EPSN。 |
接收方状态机: |
1. 正常接收与确认: 接收方按顺序(PSN)接收数据包。每当一个按序的数据包被成功处理,接收方可以发送一个ACK(可以是一个单独的ACK包,也可以被后续数据包“捎带”),其中包含已确认的最高PSN(A-PSN)。 |
硬件: RNIC硬件中的接收状态机、重传缓冲区和NACK生成逻辑。 |
|
Roce-NW-0615 |
安全与访问控制 |
网络分区, 逻辑隔离 |
RoCEv2 与以太网 VLAN / VXLAN 的集成与隔离模型 |
利用标准的2层VLAN或3层VXLAN隧道技术,在共享的物理以太网基础设施上为RoCE流量创建逻辑上隔离的网络分区。这为多租户、多应用场景提供了流量隔离、地址空间重叠和增强的安全边界。 |
逻辑隔离: 不同租户/应用的RoCE流量在逻辑上完全隔离,互不可见。 |
虚拟可扩展局域网, 网络虚拟化覆盖网络, 访问控制列表。 |
云数据中心多租户环境, 跨物理数据中心的RoCE通信, 开发/测试/生产环境网络隔离。 |
VLAN ID: 12位标识符,用于在2层区分广播域。 |
VXLAN封装格式: |
1. 网络配置: 在交换机和路由器上配置VLAN或VXLAN。为每个租户或应用分配一个唯一的VLAN ID或VNI。配置隧道端点(VTEP)。 |
硬件: 支持VXLAN硬件卸载的RNIC和交换机(用于隧道封装的加解密和校验和卸载)。 |
|
ID |
领域 |
核心理论 |
模型/协议/算法名称 |
目标与描述 |
精度与特征 |
理论基础 |
应用场景 |
数学要素 |
关键方程/状态机 |
实现步骤/工作流程 |
软硬件工具 |
|---|---|---|---|---|---|---|---|---|---|---|---|
|
Roce-NW-0616 |
路由优化 |
自适应路由, 规避拥塞 |
自适应路由 (Adaptive Routing) 模型 |
在提供多条等价路径的网络中(如胖树或Dragonfly+拓扑),根据网络的实时拥塞状态(如端口队列深度),动态地为每个数据包(或每个流)选择下一跳,以规避瞬时热点,实现更细粒度的负载均衡,提升整体网络吞吐量,降低长尾延迟。 |
动态性: 根据瞬时网络状态决策, 非静态哈希。 |
排队论, 在线决策, 局部信息优化。 |
高性能计算无损网络, AI训练集群, 对吞吐量和尾部延迟有极致要求的网络。 |
输出端口队列长度: Q_len[i] (i=1..N)。 |
概率选择: |
1. 状态监控: 交换机ASIC持续监控每个输出端口的队列深度(或剩余缓冲区)。 |
硬件: 支持自适应路由的交换芯片(如某些HPC专用交换机), 支持包重排序的RNIC/交换机。 |
|
Roce-NW-0617 |
负载均衡 |
流粒度, 负载感知 |
基于流的动态负载均衡 (Flow-based Dynamic Load Balancing) |
在主机侧实现的、比传统ECMP更智能的负载均衡策略。它不仅基于静态哈希,还能根据路径的实时负载(如RTT、丢包率、可用带宽)动态地将新流分配到不同路径,或将现有流在路径间迁移,以优化整体资源利用和性能。 |
应用感知: 可结合应用层的流信息(如大小、优先级)。 |
负载均衡理论, 网络测量, 决策优化。 |
多宿主机(多网卡), 跨多个IP子网或VLAN的通信, 非对称网络路径。 |
路径度量: 延迟(L), 丢包率(Ploss), 可用带宽(B)。 |
路径选择决策: |
1. 路径发现与监控: 主机通过主动探测(如ping, 专用探测流)或被动测量(如从INT或CNP推断)收集所有可用路径的性能指标。 |
软件: 主机侧负载均衡器(如 |
|
Roce-NW-0618 |
资源管理与隔离 |
服务质量, 性能隔离 |
RNIC 资源分区与服务质量模型 |
在单个物理RDMA网卡上,为不同的用户、租户、应用程序或流量类别(如SEND, WRITE, READ)划分和保障独立的硬件资源(如队列对、缓存、带宽),确保关键应用的服务质量不受“吵闹邻居”的影响,实现性能隔离和可预测性。 |
硬隔离: 硬件队列、缓存资源的物理或逻辑分区。 |
资源分配, 流量整形, 排队论, 公平队列。 |
云计算多租户RNIC共享, 混合工作负载(HPC+存储+管理)共存的服务器, 关键业务流量保障。 |
资源份额: S_i (如带宽份额, 缓存大小)。 |
令牌桶算法: 桶容量B, 以速率R填充令牌。报文发送需消耗与大小成比例的令牌,不足则等待。 |
1. 资源抽象: 将RNIC硬件资源(如PCIe通道、包处理引擎、缓存、带宽)抽象为可分配的单位。 |
硬件: 支持高级服务质量功能的RNIC(如NVIDIA BlueField DPU, Intel E810)。 |
|
Roce-NW-0619 |
拥塞控制 |
公平性, 收敛性 |
RoCE 混合流量拥塞控制公平性模型 |
分析与建模在共享同一物理网络中,运行不同拥塞控制算法(如DCQCN、TIMELY、传统TCP的DCTCP/BBR)的多种流量(RoCE与TCP)之间,能否公平地共享带宽,以及如何避免一种算法“饿死”另一种算法。该模型用于指导算法设计和网络参数调优。 |
复杂性: 涉及不同反应函数和动态特性的算法交互。 |
控制理论, 博弈论, 非线性系统分析。 |
异构数据中心网络(RoCE与TCP共存), 评估和选择拥塞控制算法, 网络策略制定。 |
流i的发送速率: x_i(t)。 |
优化问题: |
1. 建立数学模型: 形式化定义网络场景:单瓶颈链路,共享链路的N个流,每个运行一种已知的拥塞控制算法。定义链路的拥塞信号生成机制(如RED/ECN队列)。 |
软件: 网络仿真器(NS-3, OMNeT++), 数学建模工具(MATLAB, Python with SciPy), 控制理论分析工具。 |
|
Roce-NW-0620 |
网络架构 |
拓扑, 路由算法 |
大规模RoCE网络Dragonfly+拓扑性能模型 |
针对大规模HPC/AI集群常用的Dragonfly(蜻蜓)及其变种Dragonfly+网络拓扑,建立RoCE流量下的性能分析模型。该模型旨在评估在不同流量模式(均匀/非均匀)、路由算法(最小路径/自适应/Valiant)和拥塞控制策略下,网络的吞吐量、延迟和容错能力。 |
可扩展性: 支持数千至上万节点的建模。 |
图论, 排队网络, 流量工程, 死锁避免理论。 |
新一代E级超级计算机, 超大规模AI训练集群(>10k GPU)的网络设计, 拓扑选型与参数优化。 |
拓扑参数: 每组交换机数 |
吞吐量上界(均匀流量): 受限于全局链路与终端链路的带宽比。 近似为 |
1. 拓扑生成: 根据Dragonfly+参数 ( |
软件: 网络拓扑模拟器(BookSim, SST), 自定义脚本进行排队论分析, HPC网络设计工具。 |
|
Roce-NW-0621 |
高可用性 |
故障检测, 快速重路由 |
基于BFD的RoCE路径快速故障检测与切换模型 |
利用双向转发检测协议,在RoCE通信的端点(主机)或路径上,实现亚秒级(毫秒级)的链路/节点故障检测。一旦检测到故障,立即触发路由收敛或切换到备用路径,最大化减少RDMA连接中断时间,保障应用高可用性。 |
快速检测: 检测时间可配置,通常为毫秒级(如50ms),远快于路由协议收敛(秒级)。 |
双向握手, 心跳检测, 状态机。 |
对网络中断“零容忍”的关键业务, 如金融交易、核心数据库、实时控制系统。 |
检测时间: |
BFD状态机: 通过周期性地发送和接收BFD控制报文来维持状态。如果在检测时间内未收到对端的报文,则状态迁移为 |
1. 会话建立: 在两个希望进行故障检测的端点(如两个主机,或主机与交换机)之间建立BFD会话。协商发送间隔、检测倍数等参数。 |
硬件: 支持BFD硬件加速的交换机和RNIC(用于快速生成和处理BFD报文)。 |
|
Roce-NW-0622 |
网络安全 |
传输层安全, 加密卸载 |
IPsec 保护下的RoCEv2 (IPsec for RoCE) 安全模型 |
在标准RoCEv2协议栈之上集成IPsec,为RDMA通信提供机密性、完整性和数据源认证,防止窃听、篡改和重放攻击。模型旨在分析在加密/解密开销下,如何通过网卡硬件卸载IPsec操作(ESP/AH),以最小化性能损失,实现安全的高性能网络。 |
安全性: 提供IPsec定义的安全服务(加密、认证)。 |
IPsec协议套件(ESP, AH), 密码学(AES-GCM, SHA-2), 安全关联与密钥管理(IKEv2)。 |
跨数据中心或公有云之间的安全RDMA通信, 处理敏感数据的HPC/AI应用(如医疗、金融), 符合安全合规要求的环境。 |
安全关联: SA(包含密码算法、密钥、序列号、SPI等)。 |
ESP封装格式: |
1. 安全策略定义: 在通信两端定义IPsec安全策略(SPD),指定哪些流量(如特定子网间的所有UDP/4791端口流量)需要受到IPsec保护,以及保护模式(传输模式或隧道模式)。 |
硬件: 支持IPsec硬件卸载的RNIC(如带有安全引擎的DPU), 支持高速加解密的网络设备。 |
|
ID |
领域 |
核心理论 |
模型/协议/算法名称 |
目标与描述 |
精度与特征 |
理论基础 |
应用场景 |
数学要素 |
关键方程/状态机 |
实现步骤/工作流程 |
软硬件工具 |
|---|---|---|---|---|---|---|---|---|---|---|---|
|
Roce-NW-0623 |
链路层调度, 服务质量 |
增强型传输选择 (Enhanced Transmission Selection, ETS) |
一种在支持数据中心桥接的以太网交换机上,为不同流量类别(如RoCE、LAN、存储)提供有保证的最小带宽和严格优先级调度的链路层调度算法。它确保高优先级流量(如RoCE)在获得所需带宽的同时,允许低优先级流量利用剩余带宽,提高链路总体利用率。 |
带宽保证: 为每个流量类别分配一个最小保证带宽百分比。 |
加权公平队列, 优先级调度, 带宽分配。 |
无损以太网, 数据中心桥接。 |
融合数据中心网络(RoCE、TCP/IP、存储流量共存), 为RoCE流量提供确定性的带宽和低延迟保障。 |
流量类别: TC0-TC7 (对应8个802.1p优先级)。 |
调度决策: |
1. 配置映射: 在交换机上配置DSCP或802.1p优先级到内部流量类别(TC)的映射。通常将RoCE流量映射到最高优先级TC(如TC7)。 |
硬件: 支持DCB和ETS的以太网交换机(如Broadcom Tomahawk, NVIDIA Spectrum)。 |
|
Roce-NW-0624 |
网络管理, 自动配置 |
数据中心桥接能力交换协议 (Data Center Bridging Exchange Protocol, DCBX) |
一种基于LLDP的邻居发现协议,用于在支持DCB功能的设备(如交换机和RoCE网卡)之间自动交换和协商PFC、ETS等无损网络参数的配置,确保链路两端配置一致,避免因配置错误导致的网络问题。 |
即插即用: 自动发现对端设备能力并协商配置,简化管理。 |
链路层发现协议, 类型-长度-值, 状态机协商。 |
RoCE网络部署与运维, 交换机与服务器网卡对接, 多厂商设备互操作性保障。 |
TLV: 类型-长度-值, 用于封装PFC、ETS、应用协议(如RoCEv2)等配置信息。 |
协商状态机: |
1. 能力通告: 支持DCB的交换机端口和RoCE网卡在启动后,周期性地通过LLDP帧发送DCBX TLV,其中包含自身支持的DCB功能(PFC, ETS)及当前配置(如哪些优先级启用PFC,各TC的保证带宽)。 |
硬件: 支持DCB和LLDP的交换机和RNIC。 |
|
|
Roce-NW-0625 |
网络路由, 可编程数据平面 |
基于SRv6的RoCE流量工程模型 |
利用SRv6(Segment Routing over IPv6)的源路由和网络编程能力,为RoCE流量创建显式路径,实现流量工程、服务功能链(如强制经过防火墙、负载均衡器)和快速重路由,提升RoCE网络的可控性和灵活性。 |
路径编程: 源节点(或控制器)在IPv6扩展头(SRH)中指定完整的转发路径(SID列表)。 |
源路由, IPv6扩展头, 网络功能虚拟化。 |
跨数据中心/云区域的RoCE通信, 需要确定性和低延迟路径的金融交易, 融合了安全/监控服务的RoCE网络。 |
段标识符: 128位的IPv6地址,代表一个节点、链路或网络功能(如 |
SRv6封装格式: |
1. SID分配与通告: 网络中的节点(交换机、路由器、服务节点)被分配一个或多个SID,并通过IGP(如IS-IS)或BGP-LS通告给控制器。 |
硬件: 支持SRv6硬件转发的交换机和路由器(如支持可编程流水线的芯片)。 |
|
|
Roce-NW-0626 |
可靠传输 |
不可靠连接传输服务 (Unreliable Connected, UC) |
RoCE协议栈中一种面向连接但不可靠的传输模式。它在两个QP之间建立逻辑连接,维护序列号(PSN)以保证报文有序交付,但不提供确认和重传机制,因此不保证可靠性。适用于能容忍少量丢包(或由上层处理)、但对延迟敏感且需要有序交付的点对点通信。 |
有序性: 保证报文按发送顺序交付给接收方应用。 |
面向连接, 序列号, 无确认传输。 |
金融行情推送(偶尔丢包可接受), 实时音视频流(有序比可靠更重要), 某些MPI集合通信操作(如广播)。 |
下一个发送PSN: NPSN。 |
发送: 为报文分配PSN = NPSN, NPSN++, 发送。 |
1. 连接建立: 通过CM协议建立UC连接,交换初始PSN等参数。 |
硬件: 标准RNIC, 支持UC模式的QP上下文。 |
|
|
Roce-NW-0627 |
拥塞控制 |
TIMELY RTT滤波与噪声抑制算法 |
TIMELY算法的一个关键增强组件,用于处理高精度RTT测量中固有的噪声(如操作系统调度抖动、背景流量干扰),通过滑动窗口平均、指数加权移动平均或卡尔曼滤波等技术,从原始的、有噪声的RTT时间序列中提取出反映真实网络排队延迟的趋势信号,使速率调整决策更加稳定和准确。 |
去噪: 有效滤除RTT测量中的短期尖峰和随机波动。 |
信号处理, 时间序列分析, 滤波理论, 控制理论。 |
对RTT测量噪声敏感的环境(如虚拟化环境、共享主机), 需要更稳定速率控制的TIMELY实现。 |
原始RTT样本: RTT_raw(t)。 |
滑动窗口平均: |
1. RTT采样: 从网卡硬件时间戳获取每个数据段(或每个ACK)的原始RTT测量值 |
软件: TIMELY算法实现中的滤波模块, 可能集成在RNIC驱动或用户态库中。 |
|
|
Roce-NW-0628 |
负载均衡 |
基于Flowlet的自适应路由切换 (Adaptive Routing based on Flowlet Switching) |
一种动态的、基于子流的负载均衡技术。它将一个长流(宏观流)在自然空闲间隙(Idle Time)处分割成更小的子流(Flowlet),并为每个Flowlet根据实时链路质量(如延迟、利用率)独立选择最优路径。它在提高负载均衡效率的同时,通过确保同一Flowlet内包有序、且Flowlet间间隔足够大以避免乱序,兼顾了传输性能。 |
动态性: 路径选择基于实时链路状态,而非静态哈希。 |
流量特征分析, 动态路由, 排队论。 |
数据中心Clos/Spine-Leaf网络, 存在“大象流”导致ECMP哈希不均的场景, AI训练中的All-Reduce通信。 |
宏观流: 哈希值相同的一组微观流(五元组流)。 |
Flowlet分割条件: 如果当前包与上一个属于同一宏观流的包之间的时间间隔 ΔT > T_idle,则开启一个新的Flowlet。 |
1. 流量分类与哈希: 交换机对进入的数据包进行五元组哈希,将其归类到某个宏观流。 |
硬件: 支持Flowlet感知和动态路由的交换芯片(如Broadcom Trident4, NVIDIA Spectrum)。 |
|
|
Roce-NW-0629 |
性能监控与诊断 |
RoCE性能监控单元事件与计数器架构 |
定义在RNIC和交换机硬件中的一组性能计数器和事件,用于精确、低开销地监控RoCE网络和QP级别的性能指标,如吞吐量、延迟、重传次数、CNP数量、PFC暂停帧等。这些计数器是网络性能分析、故障定位和自动调优的基础。 |
硬件级精度: 计数器由硬件维护,精度高,开销极低。 |
计算机体系结构, 性能分析, 硬件计数器。 |
RoCE网络性能基准测试, 生产环境实时监控与告警, 性能瓶颈根因分析, 自动调优系统数据源。 |
计数器寄存器: 存储事件计数的硬件寄存器。 |
吞吐量计算: |
1. 计数器枚举: 系统启动或驱动加载时,枚举RNIC和交换机硬件支持的所有性能计数器。 |
硬件: 集成PMU的RNIC(如NVIDIA ConnectX系列)和交换机ASIC。 |
|
|
Roce-NW-0630 |
存储网络协议栈 |
NVMe over RoCE 协议栈 |
将NVMe(非易失性内存高速)存储命令集和队列架构通过RoCE网络进行封装的协议栈。它允许主机通过网络以接近本地NVMe SSD的性能远程访问共享存储设备,是实现高性能、低延迟分布式存储和存算分离架构的关键技术。 |
高性能: 端到端延迟可低至10微秒级,带宽可达数百Gbps。 |
NVMe协议, RDMA语义映射, 存储网络。 |
高性能分布式存储(如Ceph, vSAN), AI训练中的数据供给层, 数据库存储分离, 超融合基础设施。 |
NVMe命令胶囊: 包含NVMe命令(读/写/管理)的二进制结构。 |
NVMe over Fabrics 命令流: |
1. 发现与连接: Host通过发现服务(如NVMe over Fabrics Discovery)找到Target的存储服务(NQN)和监听地址(IP+端口)。然后通过NVMe over Fabrics Connect命令建立传输关联,实质上是建立一对RDMA RC QP(用于Admin队列和I/O队列)。 |
硬件: 支持NVMe-oF卸载的RNIC和存储控制器(如NVMe SSD阵列)。 |
|
|
Roce-NW-0631 |
虚拟化 |
Mediated Passthrough for RoCE 虚拟化模型 |
一种介于完全硬件直通(SR-IOV)和完全软件模拟之间的RoCE虚拟化方法。它将RNIC的单个物理功能(PF)虚拟化为多个虚拟设备(vRNIC),但关键的数据路径操作(如数据传输)由硬件直接处理(直通),而控制路径和资源管理则由一个特权的中介(Mediator,通常位于Hypervisor)进行仲裁和模拟。它在性能、隔离性和功能完整性之间取得平衡。 |
性能接近直通: 数据路径绕过Hypervisor,延迟和吞吐量接近物理机。 |
硬件虚拟化, 资源分区, 仲裁与模拟。 |
云计算平台中需要为多个VM提供高性能RDMA能力,但物理RNIC数量有限或SR-IOV VF数量不足的场景。 |
物理资源: 物理QP、CQ、MR等。 |
数据路径: |
1. Mediator初始化: Hypervisor加载Mediator驱动,它接管物理RNIC的PF。Mediator创建和管理一个资源池(物理QP、CQ、MR等)。 |
硬件: 支持某种形式中介直通的RNIC(如NVIDIA的“硬件沙箱”特性), 支持IOMMU的CPU平台。 |
|
|
Roce-NW-0632 |
拥塞控制 |
HPCC (High Precision Congestion Control) 算法 |
一种基于INT提供的精确链路负载信息(如瞬时队列长度、链路利用率)的拥塞控制算法。发送端根据INT数据直接计算精确的发送窗口,旨在实现接近零队列、高吞吐量、快速收敛和优异的公平性。它代表了从基于ECN标记的间接反馈到基于直接测量的精确控制的演进。 |
高精度: 直接测量链路负载,而非推断。 |
控制理论, 最优化, 精确测量反馈。 |
对延迟和吞吐量都有极致要求的超大规模AI训练集群, 需要快速公平收敛的混合流量环境。 |
链路利用率: |
窗口更新公式: |
1. INT配置与启用: 在网络交换机上配置INT,使其在数据包(或专门的探测包)中插入经过链路的实时信息,如时间戳、队列长度、链路带宽等。 |
硬件: 支持INT生成和解析的交换机和RNIC(如可编程交换机Tofino, NVIDIA BlueField DPU)。 |
|
|
Roce-NW-0633 |
网络监控 |
R-Pingmesh: 服务感知的RoCE网络监控与诊断系统 |
一个基于主动探测的、端到端的RoCE网络性能监控与诊断系统。它通过在集群中的所有RNIC之间周期性地发送定制的RDMA Ping探测包,测量网络RTT、主机处理延迟,并能够区分丢包是发生在网络内还是在RNIC端,从而快速定位和诊断RoCE网络问题。 |
主动探测: 模拟真实RDMA流量,主动测量性能。 |
网络测量, 主动探测, 故障诊断, 分布式系统。 |
大规模RoCE生产网络的健康监控, 性能基线建立与异常检测, 故障快速定位与根因分析。 |
探测对: (源RNIC, 目标RNIC)。 |
延迟测量: |
1. 部署Agent: 在集群的每台支持RoCE的服务器上部署R-Pingmesh Agent。 |
软件: R-Pingmesh的Agent、Controller、Analyzer组件(通常为开源或厂商提供)。 |
|
|
Roce-NW-0634 |
可靠传输 |
RoCEv2 快速重传与选择性确认机制 |
在RC传输服务中,接收端通过发送选择性否定确认(Selective NACK或SACK)来精确通知发送方哪些数据包丢失,触发发送方快速重传丢失的包,而无需等待超时计时器到期。这显著减少了丢包恢复时间,提高了高延迟或易丢包网络环境下的吞吐量。 |
快速恢复: 在RTT时间内即可触发重传,远快于RTO超时(通常是RTT的若干倍)。 |
选择性重传, 否定确认, 滑动窗口协议。 |
所有使用RC模式的RoCE应用,特别是在网络质量不完美(有轻微丢包)或长距离传输(RTT大)的场景下。 |
期望的PSN: EPSN。 |
接收端逻辑: |
1. 正常传输: 发送方按序发送数据包,序列号为PSN。接收方按序接收并交付,回复累积ACK。 |
硬件: RNIC硬件中需实现NACK生成逻辑、快速重传触发机制以及更精细的重传缓冲区管理。 |
|
|
Roce-NW-0635 |
网络架构与路由 |
Dragonfly+ 拓扑下的RoCE自适应路由模型 |
针对大规模HPC/AI集群常用的Dragonfly及其变种Dragonfly+网络拓扑,设计专门的路由算法以优化RoCE流量。该模型旨在最小化全局链路(Global Link)的拥塞,通过自适应路由(如Valiant负载均衡)或确定性路由(如最小路径)与RoCE的拥塞控制(如DCQCN)相结合,在保证低延迟的同时最大化吞吐量。 |
拓扑感知: 路由决策考虑Dragonfly+特有的组内(Local)和组间(Global)链路结构。 |
图论, 网络拓扑, 自适应路由, 流量工程。 |
采用Dragonfly+拓扑的E级超算和万卡AI集群, 需要优化All-to-All通信模式。 |
拓扑参数: 每组交换机数 |
RoCE网络相关的模型。考虑到RoCE涉及网络、存储、虚拟化、性能优化等多个领域,我们将继续从这些领域选取重要的协议、算法和模型进行详细描述。
|
ID |
领域 |
核心理论 |
模型/协议/算法名称 |
目标与描述 |
精度与特征 |
理论基础 |
应用场景 |
数学要素 |
关键方程/状态机 |
实现步骤/工作流程 |
软硬件工具 |
|---|---|---|---|---|---|---|---|---|---|---|---|
|
Roce-NW-0636 |
网络管理 |
拓扑发现, 自动配置 |
LLDP-MED for RoCE 拓扑发现与策略分发 |
基于LLDP媒体端点发现协议的扩展,用于在RoCE网络中自动发现设备(交换机、服务器)的物理连接拓扑,并交换设备能力、策略(如PFC、ETS配置)和位置信息。这简化了大规模RoCE网络的部署和配置一致性检查。 |
零配置: 自动发现邻居设备,无需手动记录连线。 |
链路层发现协议, 邻居发现, 自动配置。 |
数据中心网络自动化运维, 快速故障定位(如错连), RoCE网络即插即用部署。 |
Chassis ID, Port ID: 标识设备及其端口。 |
LLDP帧格式: |
1. 启用LLDP: 在网络设备(交换机、服务器网卡)上全局启用LLDP功能,并配置为发送和接收LLDP帧。 |
硬件: 支持LLDP的交换机和网卡。 |
|
Roce-NW-0637 |
网络存储 |
远程直接内存访问, 存储协议 |
NVMe over RoCE 多路径I/O模型 |
在NVMe over RoCE存储网络中,通过多个物理路径(多端口、多网卡)连接主机和存储目标,以实现负载均衡、故障切换和更高的可用性。该模型包括路径发现、路径选择、故障检测和路径切换等组件,确保I/O操作在一条路径失效时能无缝切换到其他路径。 |
高可用: 单路径故障不影响I/O连续性。 |
多路径I/O, 故障转移, 负载均衡。 |
对可用性要求极高的企业存储, 需要最大吞吐量的高性能计算存储。 |
路径: 一个物理连接,通常由(主机端口, 目标端口)标识。 |
路径选择策略: 轮询、最小队列深度、最小延迟等。 |
1. 路径发现: 主机通过NVMe over Fabrics发现控制器发现存储目标的所有可用地址(多个IP+端口),并尝试连接每个地址,建立多条独立的NVMe连接(对应多个RDMA QP)。 |
软件: 操作系统多路径驱动(如Linux DM-MPIO, Windows MPIO), NVMe-oF Initiator多路径支持。 |
|
Roce-NW-0638 |
虚拟化 |
资源隔离, 性能保障 |
RoCE SR-IOV 虚拟功能性能隔离与配额模型 |
在SR-IOV模式下,将单个物理RNIC划分为多个虚拟功能(VF)分配给不同虚拟机。该模型通过硬件机制为每个VF分配独立的资源(如队列、带宽、缓存)并实施强制配额,确保一个VF的流量不会影响其他VF的性能,实现VF间的性能隔离。 |
硬件隔离: 每个VF有独立的PCIe功能、队列和资源,隔离性好。 |
硬件虚拟化, 资源管理, 服务质量。 |
云数据中心中为多个租户提供高性能、可预测的RDMA服务, 混合工作负载(如AI训练、存储、通信)共存的服务器。 |
VF数量: N。 |
带宽限制: 令牌桶算法, 速率R_i, 突发大小B_i。 |
1. VF创建与配置: 管理员通过PF驱动创建多个VF,并为每个VF配置资源限制,如最大QP数量、CQ数量、MR数量等。 |
硬件: 支持SR-IOV和高级QoS功能的RNIC(如NVIDIA ConnectX系列)。 |
|
Roce-NW-0639 |
网络诊断 |
主动测量, 端到端测试 |
RDT (RDMA Diagnostic Tool) 性能基准测试框架 |
一个用于测量和评估RoCE网络端到端性能的综合工具集。它包含一系列微基准测试,可测量不同消息大小、不同操作类型(Send/Write/Read)、不同QP数量下的延迟、带宽、消息速率等指标,并提供详细的报告,用于硬件性能验证、网络调优和问题诊断。 |
全面性: 覆盖所有RDMA操作和消息大小范围。 |
性能基准测试, 网络性能分析, 微基准。 |
RNIC和交换机厂商的性能验收测试, 用户部署前的性能基线测试, 网络参数调优前后的性能对比。 |
消息大小: 从几个字节到几MB。 |
延迟测试: 测量往返时间(RTT)或单向延迟。通常使用乒乓测试(Ping-Pong)。 |
1. 环境准备: 在两台或多台服务器上部署RDT工具,确保RoCE网络连通,防火墙开放相应端口。 |
软件: 专用RDT工具(如 |
|
Roce-NW-0640 |
网络协议 |
传输层, 可靠多播 |
可靠多播RDMA (Reliable Multicast RDMA) 协议模型 |
扩展RDMA语义以支持一对多的可靠传输。它允许一个发送者将数据可靠地传输到多个接收者组成的组,利用网络的多播能力提高带宽效率,同时确保所有接收者都正确无误地接收到数据。适用于AI训练中的参数同步、分布式存储中的数据复制等场景。 |
可靠性: 确保组内所有成员都成功接收数据,支持丢包重传。 |
可靠多播, 组通信, 共识协议。 |
AI分布式训练(如参数服务器广播梯度), 分布式数据库(日志复制), 媒体分发(低延迟、可靠)。 |
多播组: 一组接收者,由多播地址标识。 |
基于NACK的可靠多播: |
1. 组创建与管理: 一个节点创建多播组,其他节点加入该组。组管理协议负责成员管理(加入、离开、故障检测)。 |
硬件: 支持IP多播和IGMP/MLD的交换机, RNIC对多播地址的支持。 |
|
Roce-NW-0641 |
网络安全 |
认证与授权 |
RoCE传输层安全 (TLS) 代理模型 |
在RoCE通信的端点(如客户端和存储服务器)前部署TLS代理,代理之间建立标准TLS连接,而代理与端点之间使用原生RoCE连接。这样可以为不支持加密的RoCE应用提供透明的传输层安全,适用于跨不可信网络的RoCE通信。 |
安全性: 提供通信加密、完整性校验和服务器认证。 |
TLS协议, 代理架构, 安全隧道。 |
跨数据中心或公有云的RoCE通信, 需要满足合规性要求但应用不支持IPsec的场景。 |
TLS连接参数: 密码套件(如AES-256-GCM), 密钥交换算法(如ECDHE), 证书。 |
TLS握手协议: 用于协商密码套件、交换密钥、认证服务器(和客户端)。 |
1. 代理部署: 在RoCE客户端和服务器所在网络边界部署TLS代理。代理具有两个网络接口:一个面向内部RoCE网络,一个面向外部(可能是不安全的)网络。 |
硬件: 支持TLS硬件加速的代理设备(如智能网卡、专用安全网关)。 |
|
Roce-NW-0642 |
网络性能优化 |
内存注册优化 |
内存注册缓存与池化模型 |
针对RDMA内存注册(Memory Registration, MR)开销大的问题,通过缓存已注册的内存键(lkey/rkey)和池化MR资源,减少频繁注册/注销操作,提升小内存块频繁通信场景(如RPC、KV存储)的性能。 |
减少开销: 避免每次通信都进行内存注册和注销,这两个操作都是昂贵的系统调用。 |
缓存, 内存池, 资源管理。 |
高频小消息通信场景(如分布式数据库、RPC框架), 对象存储(频繁注册/注销缓冲区)。 |
缓存条目: |
缓存查找: 给定(虚拟地址,长度,权限),在缓存中查找是否存在有效的lkey/rkey。 |
1. 初始化: 应用启动时,创建一个MR缓存/池管理器。管理器预分配一定数量的MR,或设置为按需分配。 |
软件: 用户态库(如 |
|
Roce-NW-0643 |
网络管理 |
配置与策略下发 |
基于YANG模型的RoCE网络配置管理 |
使用YANG(一种数据建模语言)对RoCE网络设备(交换机、路由器、主机)的配置和状态进行建模,并通过NETCONF或RESTCONF协议进行配置下发和状态查询。这实现了RoCE网络配置的标准化、自动化和可编程化,便于与SDN控制器集成。 |
标准化: 使用标准YANG模型(如OpenConfig, IETF)描述配置,多厂商兼容。 |
数据建模, 网络配置协议, 声明式配置。 |
大规模RoCE网络自动化部署, 多厂商设备统一管理, 网络即代码实践。 |
YANG模型: 定义配置和状态数据的层次化结构、约束和数据类型。 |
YANG模块示例: |
1. 模型定义: 使用YANG语言为RoCE相关功能(如PFC、ETS、LLDP、INT)定义数据模型。可以利用已有的标准模型(如OpenConfig)或定义厂商扩展。 |
软件: YANG模型编译器( |
|
Roce-NW-0644 |
性能分析 |
网络仿真 |
基于OMNeT++的RoCE网络仿真模型 |
使用OMNeT++离散事件仿真框架及其INET库,构建包含RoCEv2协议栈、PFC、ECN、交换机队列模型等的完整网络仿真环境,用于研究新算法(如新的拥塞控制协议)、评估网络设计(如拓扑、缓冲区大小)和进行性能预测。 |
高度可配置: 可灵活调整网络参数、流量模式和协议行为。 |
离散事件仿真, 网络协议建模, 性能评估。 |
学术研究(新协议验证), 网络设计前期性能评估, 参数敏感性分析。 |
仿真时间: 离散事件的时间戳。 |
节点模型: 应用层 -> 传输层(RoCE) -> 网络层(IP) -> 链路层(以太网+PFC) -> 物理层。 |
1. 模型设计: 在OMNeT++的NED语言中定义网络拓扑,包括服务器节点(运行RoCE应用)、交换机节点(支持PFC/ECN)和连接它们的链路。 |
软件: OMNeT++仿真框架, INET库, 自定义RoCE模块代码, 分析脚本(Python)。 |
|
Roce-NW-0645 |
网络功能 |
流量整形 |
RoCE流量整形与优先级标记模型 |
在主机端或交换机入口,对RoCE流量进行速率限制(整形)和优先级标记,以确保RoCE流量不会超过其分配的带宽,并被正确标记以在网络中获得适当的QoS处理(如PFC和ETS)。这有助于防止RoCE流量淹没网络,并确保关键流量获得低延迟。 |
入口控制: 在流量进入网络前进行整形,避免拥塞。 |
流量整形, 服务质量, 优先级标记。 |
共享网络中的RoCE流量管理, 确保RoCE流量不会影响其他流量(如TCP), 为不同RoCE应用分配不同优先级。 |
令牌桶参数: 承诺信息速率(CIR), 突发大小(Bc)。 |
令牌桶算法: 桶以CIR速率填充令牌。报文发送需要消耗与字节数成比例的令牌。如果令牌不足,则报文被延迟或丢弃。 |
1. 策略定义: 网络管理员定义RoCE流量的整形策略(如最大速率)和优先级标记策略(如DSCP值)。策略可以基于五元组、QP号或应用标识。 |
硬件: 支持流量整形和优先级标记的RNIC和交换机。 |
|
Roce-NW-0646 |
存储协议 |
键值存储 |
基于RDMA的分布式键值存储 (RDMA-based Key-Value Store) 架构 |
利用RDMA的低延迟和高吞吐特性,构建高性能分布式键值存储系统(如RAMCloud, Pilaf, HERD)。该架构通常采用客户端直接访问服务器内存的模型,绕过服务器的CPU,实现微秒级的读写操作,适用于大规模缓存、会话存储等场景。 |
低延迟: 读/写操作延迟可低至几微秒。 |
分布式系统, 一致性协议, 内存存储。 |
高性能缓存(如社交网络图缓存), 内存数据库, 分布式锁服务, 机器学习参数服务器。 |
键空间: 所有键的集合。 |
GET操作(RDMA Read): 客户端直接从服务器内存中读取键对应的值。 |
1. 数据分区: 系统将整个键空间划分为多个分区,每个分区存储在一个服务器节点上。分区策略可以是范围分区或哈希分区(如一致性哈希)。 |
硬件: 支持RDMA的RNIC, 大容量内存服务器。 |
|
Roce-NW-0647 |
网络管理 |
遥测与监控 |
基于gRPC/gNMI的RoCE网络遥测流式推送模型 |
使用gNMI(gRPC Network Management Interface)协议,以订阅-推送模式从网络设备(交换机、路由器)流式获取RoCE相关的性能计数器(如端口统计、队列深度、PFC计数、ECN标记数)。相比传统的轮询(如SNMP),它提供更低延迟、更高频率和更灵活的数据采集。 |
实时性: 数据变化时立即推送,延迟低。 |
遥测, 流式数据, 模型驱动的管理。 |
大规模RoCE网络的实时性能监控, 自动化运维平台的数据采集, 动态拥塞控制的输入源。 |
订阅路径: 基于YANG模型路径,如 |
gNMI SubscribeRequest: 指定订阅模式(STREAM, ON_CHANGE, SAMPLE), 订阅路径列表, 采样间隔等。 |
1. 模型定义: 设备厂商或标准组织(如OpenConfig)定义包含RoCE相关计数器的YANG模型。 |
软件: gNMI服务器(集成在交换机OS中,如SONiC), gNMI客户端库(Go, Python), 时序数据库和可视化工具(Prometheus, Grafana)。 |
|
Roce-NW-0648 |
网络功能虚拟化 |
虚拟交换机卸载 |
基于智能网卡的RoCE虚拟交换机卸载模型 |
将虚拟交换机(如OVS)中处理RoCE流量的数据平面功能(如VXLAN封装/解封装、安全组策略、QoS标记)卸载到智能网卡(如NVIDIA BlueField DPU)上执行。这释放了主机CPU资源,降低了虚拟化开销,并提升了RoCE在虚拟化环境中的网络性能。 |
高性能: 在DPU上以线速处理数据包,延迟低,吞吐量高。 |
智能网卡, 功能卸载, 网络虚拟化。 |
云数据中心中运行RoCE工作负载的虚拟机, 容器网络, 需要高性能网络虚拟化的环境。 |
流表: 匹配字段(如五元组)和动作(如封装、修改、转发)。 |
匹配-动作流水线: 数据包依次经过多个匹配阶段,每个阶段匹配流表,执行相应动作。 |
1. DPU配置: 在DPU上运行一个轻量级的控制平面代理(如OVS的 |
硬件: 智能网卡/DPU(如NVIDIA BlueField, Intel IPU), 支持SR-IOV和virtio。 |
|
Roce-NW-0649 |
高性能计算 |
集合通信库 |
NCCL (NVIDIA Collective Communications Library) over RoCE 优化模型 |
NCCL是NVIDIA GPU之间进行高效集合通信(如All-Reduce, All-Gather, Broadcast)的库。该模型描述了NCCL如何利用RoCE网络在多个节点间进行GPU Direct RDMA通信,通过拓扑感知、信道绑定、流水线等技术,最大化多节点GPU集群的集合通信性能。 |
拓扑感知: 优化通信模式以适应物理网络拓扑(如树形、环形)。 |
集合通信算法, 拓扑优化, 流水线, GPU Direct。 |
多节点多GPU的AI训练(如使用PyTorch, TensorFlow), 科学计算中的大规模并行模拟。 |
通信算法: 如Ring All-Reduce, Double Binary Tree。 |
Ring All-Reduce: 将N个节点组织成一个逻辑环。每个节点依次从上一个节点接收数据,与本地数据累加,然后发送给下一个节点。经过2(N-1)步完成All-Reduce。 |
1. 初始化: NCCL初始化时,检测节点内的GPU和节点间的网络连接(通过RoCE)。建立节点间的通信组(Communicator)。 |
硬件: 支持GPU Direct RDMA的NVIDIA GPU和RNIC(如NVIDIA ConnectX-6/7 with A100/H100)。 |
|
Roce-NW-0650 |
网络优化 |
头部压缩 |
RoCEv2 头部压缩与封装优化模型 |
针对特定场景(如数据中心间长距离传输、带宽受限链路),对RoCEv2数据包的头部(以太网头、IP头、UDP头、BTH头)进行压缩,减少协议开销,提高有效带宽利用率。同时,可考虑将多个小RDMA操作封装在一个大网络帧中,提高效率。 |
减少开销: 将固定的40字节(以太网14+IP20+UDP8+BTH12)或更多头部压缩到几个字节。 |
数据压缩, 协议优化, 封装。 |
数据中心间(DCI)的RoCE连接, 带宽成本高的广域网, 小消息密集的应用。 |
压缩字典: 存储静态或动态的头部字段(如IP地址、端口)的引用。 |
压缩算法: 如差分编码(只发送变化的字段), 字典编码(用短ID代表长字段)。 |
1. 建立压缩上下文: 在连接建立阶段,通信双方协商是否启用头部压缩,并初始化压缩上下文(如交换静态字典)。 |
硬件: 支持头部压缩的专用网络设备(如WAN优化控制器、智能网卡)。 |
|
Roce-NW-0651 |
网络管理 |
故障注入与测试 |
RoCE网络故障注入与混沌工程模型 |
通过在RoCE网络中有计划地注入故障(如链路丢包、延迟增加、交换机宕机、PFC风暴),观察系统(如分布式存储、AI训练作业)的行为和恢复能力,从而验证系统的弹性和高可用性设计。这是混沌工程在RoCE网络中的具体实践。 |
可控性: 可以精确控制故障的类型、范围、持续时间和强度。 |
混沌工程, 故障注入, 系统韧性测试。 |
验证分布式存储系统(如Ceph over RoCE)的容错能力, 测试AI训练作业在网络抖动下的稳定性, 高可用性方案的有效性验证。 |
故障类型: 丢包率(%), 延迟(ms), 乱序, 重复, 损坏。 |
丢包模型: 随机丢包(伯努利), 突发丢包(吉尔伯特-埃利奥特模型)。 |
1. 规划实验: 定义实验目标(如“验证存储集群在单个交换机故障下的数据可用性”)。设计故障场景:故障类型(如交换机重启)、范围(某个机架的TOR交换机)、持续时间(5分钟)。 |
软件: 混沌工程工具(Chaos Mesh, Litmus, Gremlin), 网络模拟工具( |
|
Roce-NW-0652 |
存储系统 |
远程持久化内存访问 |
PMem over RoCE (远程持久化内存访问) 模型 |
通过RDMA协议远程访问其他服务器上的持久化内存(Persistent Memory, PMem),提供类似本地内存的访问延迟和字节寻址能力,同时具备持久化和远程访问特性。这实现了快速、持久化的分布式共享内存,适用于分布式数据库、高性能缓存和内存分析。 |
低延迟: 通过RDMA实现微秒级的远程访问延迟。 |
持久化内存, 分布式共享内存, 缓存一致性协议, 事务日志。 |
分布式内存数据库(如Redis集群), 分布式事务处理系统, 机器学习模型并行训练中的参数服务器。 |
远程地址空间: 将远程PMem映射到本地的虚拟地址空间。 |
RDMA读/写: 用于访问远程PMem。 |
1. 内存映射: 服务器A将其本地PMem的一部分通过RDMA注册为可远程访问的内存区域(MR),并将访问密钥(rkey)和地址信息告知客户端B。 |
硬件: 支持RDMA的RNIC, 持久化内存(如Intel Optane PMem), 支持CXL的CPU和网卡(用于透明访问)。 |
|
ID |
领域 |
核心理论 |
模型/协议/算法名称 |
目标与描述 |
精度与特征 |
理论基础 |
应用场景 |
数学要素 |
关键方程/状态机 |
实现步骤/工作流程 |
软硬件工具 |
|---|---|---|---|---|---|---|---|---|---|---|---|
|
Roce-NW-0653 |
拥塞控制 |
机器学习, 时间序列预测 |
基于机器学习的拥塞控制预测模型 |
利用历史网络状态数据(如RTT、吞吐量、ECN标记率)训练机器学习模型,预测未来时刻的拥塞程度,从而在排队发生前主动调整发送速率,实现接近零队列、高吞吐、低延迟的传输。 |
预测性: 提前数个RTT预测拥塞,而非被动反应。 |
监督学习, 神经网络, 时间序列分析, 强化学习。 |
对延迟抖动极度敏感的应用(如高频交易), 动态网络环境(如云网络), 大规模AI训练集群。 |
特征向量: X(t) = [RTT(t), RTT(t-1), ..., throughput(t), ECN_rate(t), ...]。 |
预测函数: |
1. 数据收集: 在发送端或网络设备收集时间序列的网络状态数据。 |
软件: 机器学习框架(TensorFlow, PyTorch), 集成ML库的拥塞控制模块。 |
|
Roce-NW-0654 |
网络同步 |
时钟同步, 精度测量 |
RoCE网络中的亚微秒级时间同步精度模型 |
分析与建模在RoCE网络中,利用硬件时间戳和精密时间协议,实现主机间时钟同步的极限精度。模型考虑时钟漂移、时间戳精度、网络路径不对称性、操作系统调度抖动等因素,为分布式应用(如金融交易、科学实验)提供可靠的时间基准。 |
高精度: 目标同步精度在100纳秒至1微秒之间。 |
时钟同步理论, 随机过程, 卡尔曼滤波。 |
分布式数据库事务排序, 高频交易事件排序, 物理实验数据采集同步, 5G前传。 |
主时钟时间: T_master。 |
PTP同步方程: |
1. 硬件支持: 使用支持IEEE 1588 PTP硬件时间戳的RNIC和交换机。在主从机操作系统内核中启用PTP支持。 |
硬件: 支持IEEE 1588 PTP硬件时间戳的RNIC和交换机(如Intel E810, NVIDIA Spectrum)。 |
|
Roce-NW-0655 |
确定性网络 |
流量整形, 时间敏感网络 |
确定性网络与RoCE的集成模型 |
将时间敏感网络技术(如IEEE 802.1Qbv时间感知整形器、IEEE 802.1Qci流过滤和监管)应用于RoCE流量,为其提供有界、低抖动的端到端延迟保障,满足工业控制、自动驾驶等场景的确定性通信需求。 |
有界延迟: 提供最坏情况下的延迟上界保证。 |
调度理论, 实时系统, 网络演算。 |
工业物联网, 机器人控制, 车载网络, 音视频制作。 |
时间槽: 周期性的时间窗口,用于调度特定流量。 |
最坏情况延迟上界: 可通过网络演算计算: |
1. 网络配置: 使用SDN控制器或配置协议(如NETCONF/YANG)在支持TSN的交换机上配置时间感知整形器(TAS)和流过滤策略。 |
硬件: 支持TSN的以太网交换机和终端网卡。 |
|
Roce-NW-0656 |
网络验证 |
形式化方法, 模型检测 |
端到端RoCE网络形式化验证框架 |
使用形式化方法(如模型检测、定理证明)对RoCE网络配置、协议交互和关键属性(如无死锁、无活锁、无缓冲区溢出、服务质量保证)进行严格的数学证明,确保网络在设计阶段就满足正确性要求,避免运行时出现难以调试的复杂问题。 |
严格性: 提供数学上的确定性证明,而非基于测试的置信度。 |
形式化方法, 时序逻辑, 自动机理论。 |
金融交易系统、航空航天等对网络可靠性要求极高的场景, 新型网络协议的设计与验证。 |
系统模型: M (由协议状态机、网络拓扑、流量模型等组成)。 |
模型检测问题: 判断是否 |
1. 系统建模: 使用建模语言(如Promela, TLA+, P4)对RoCE网络的关键组件进行形式化建模,包括:RNIC状态机(QP状态)、交换机转发逻辑、PFC/ECN机制、路由协议、流量生成器。 |
软件: 模型检测工具(Spin for Promela, TLC for TLA+, PRISM), 定理证明器(Coq, Isabelle), 网络建模框架。 |
|
Roce-NW-0657 |
绿色计算 |
能耗优化, 动态电压频率调整 |
能耗感知的RoCE流量调度与网卡功耗管理模型 |
在满足应用性能SLA的前提下,通过动态调整RNIC的工作状态(如电源状态、频率)、聚合流量、选择能效更高的路径等方式,优化整个RoCE网络的能量消耗,降低数据中心PUE。 |
能效比: 优化目标是单位能耗下的数据传输量(比特/焦耳)。 |
优化理论, 排队论, 动态电源管理。 |
大型数据中心, 边缘计算节点, 对能耗有严格限制的环境。 |
功耗状态: P_state (如Active, Idle, Sleep)。 |
优化问题: |
1. 监控与预测: 监控各RNIC端口的流量负载、功耗状态,并预测未来短期的流量模式。 |
硬件: 支持高级电源管理(如ASPM, L1)和动态频率调整的RNIC和交换机。 |
|
Roce-NW-0658 |
可观测性 |
动态追踪, 内核旁路 |
基于eBPF的RoCE网络全栈可观测性模型 |
利用eBPF技术,在不修改内核和应用程序代码、且性能影响极低的前提下,动态插入探针,收集从用户态Verbs API调用、内核RDMA子系统、到RNIC驱动和硬件的全栈跟踪数据,实现细粒度、实时的RoCE网络性能剖析与故障诊断。 |
低开销: eBPF程序运行在沙箱中,JIT编译为本地代码,效率高。 |
动态追踪, 系统性能分析, 事件流处理。 |
RoCE应用性能调优, 生产环境故障诊断, 安全审计与异常检测。 |
探针点: 用户态函数入口/出口, 内核系统调用, 跟踪点, 性能事件。 |
直方图统计: |
1. 探针点选择: 确定需要观测的关键点,如: |
软件: eBPF工具链(BCC, bpftrace, libbpf), 内核版本需支持eBPF和RDMA相关的跟踪点。 |
|
Roce-NW-0659 |
传输协议 |
多路径传输, 负载均衡 |
MPTCP与RoCE的混合传输与故障切换模型 |
在同时具备RoCE和TCP/IP网络路径的环境中,利用MPTCP在应用层聚合多条TCP子流的能力,将其中一条或多条子流承载在RoCE(通过RoCEv2 over UDP)上,其他子流承载在传统TCP上。实现高吞吐、低延迟和透明故障切换的统一传输服务。 |
协议聚合: 在传输层之上(如MPTCP)统一管理RoCE和TCP子流。 |
多路径传输, 协议转换, 故障恢复。 |
混合网络环境(如部分链路支持RoCE,部分不支持), 追求高可用性和高性能的应用, 跨云/数据中心的容灾。 |
MPTCP子流: 每条子流是一个独立的TCP或类TCP连接。 |
数据调度策略: 如最低RTT优先(将数据分配给RTT最小的子流,通常是RoCE子流)。 |
1. 连接建立: 应用通过MPTCP API建立连接。MPTCP栈在后台建立多条子流。对于支持RoCE的路径,MPTCP栈通过一个“转换层”建立一条特殊的子流,该子流底层使用RoCE Verbs进行数据传输,但对MPTCP呈现为一条TCP连接。 |
软件: 支持MPTCP的Linux内核, 集成了RoCE支持的MPTCP扩展模块, 用户态MPTCP库。 |
|
Roce-NW-0660 |
网络安全 |
量子密码学, 密钥分发 |
基于量子密钥分发的RoCE网络长期安全模型 |
利用量子密钥分发技术,为RoCE通信的加密(如IPsec)生成和分发理论上不可窃听的共享密钥。该模型旨在应对未来量子计算机对经典公钥密码体系的威胁,为RoCE网络提供面向未来的长期安全性保障。 |
信息论安全: 安全性基于量子力学原理,而非计算复杂度,可抵抗量子计算攻击。 |
量子力学, 信息论, 密码学。 |
对长期安全性有极高要求的政府、军事、金融机构的RoCE网络, 跨数据中心的核心骨干网加密。 |
量子比特: 用于编码密钥信息的光子。 |
BB84协议: 发送方随机选择基矢(+或×)和比特值(0或1)发送量子态;接收方随机选择基矢测量;双方公开比对基矢,保留基矢相同的比特作为原始密钥。 |
1. QKD设备部署: 在需要安全通信的两个RoCE端点之间部署QKD发射机和接收机,通过专用光纤或自由空间光链路连接。 |
硬件: QKD发射/接收设备, 量子信道(专用光纤), 经典网络设备(RoCE RNIC)。 |
|
Roce-NW-0661 |
存储网络 |
持久化内存, 远程直接访问 |
存储级内存 over RoCE 的原子性持久化模型 |
为通过RoCE网络远程访问存储级内存提供强一致性和持久性保证的模型。它确保在发生系统故障时,对远程SCM的写操作要么完全持久化,要么完全回滚,并且多个相关写操作具有原子性(如事务)。这需要结合RNIC、网络和SCM控制器的特性。 |
原子性: 一组写操作要么全部生效,要么全部不生效。 |
分布式事务, 持久化内存编程模型, 缓存一致性。 |
分布式内存数据库, 持久化缓存, 故障容错的分布式数据结构。 |
持久化域: 一组需要原子持久化的内存区域。 |
两阶段提交: 协调者询问所有参与者是否可以提交,收到全部同意后发送提交命令。 |
1. SCM暴露: 将远程服务器上的SCM通过一个支持持久化和原子操作的接口暴露给网络。这通常需要一个运行在目标端的守护进程或固件来管理SCM区域。 |
硬件: 支持持久化内存(如Intel Optane PMem)的服务器, 支持RDMA Write with Immediate和Flush的RNIC。 |
|
Roce-NW-0662 |
异构计算 |
GPU直接通信, 缓存一致性 |
GPU-Direct RDMA与CPU-GPU一致性集成模型 |
在异构计算系统中,优化GPU之间通过RoCE直接通信,并确保GPU内存、CPU内存以及RNIC之间的缓存一致性。模型旨在减少数据移动开销,实现GPU内存的零拷贝网络访问,并处理由此带来的复杂一致性语义。 |
零拷贝: 数据直接从GPU内存发送到网络,或从网络直接存入GPU内存,无需经过CPU内存中转。 |
GPU体系结构, 缓存一致性协议, PCIe原子操作。 |
AI分布式训练(如All-Reduce), 科学计算, 实时视频处理。 |
GPU内存句柄: 如CUDA的 |
GDR复制操作: |
1. 内存注册: 应用使用CUDA API分配GPU设备内存。然后使用支持GDR的Verbs API(如 |
IBV_ACCESS_LOCAL_WRITE`)注册这块GPU内存,使其能够被RNIC直接访问。此过程可能涉及将GPU内存的物理地址映射到RNIC的IOVA空间。 |
|
Roce-NW-0663 |
体系结构 |
存算一体, 近数据处理 |
计算存储网络融合架构中的RoCE角色模型 |
在计算存储网络融合的新型数据中心架构中,RoCE作为高速互连,连接计算单元(CPU/GPU)、存储单元(NVMe SSD/SCM)和网络计算单元(DPU/IPU)。模型定义RoCE在不同单元间的通信模式、协议栈优化和资源调度策略,以实现数据在计算、存储和网络间的无缝、高效流动。 |
角色多样化: RoCE既是计算间通信的桥梁,也是计算与存储、存储与存储间通信的通道。 |
数据中心架构, 资源解耦与池化, 异构计算。 |
超融合基础设施, 云原生数据中心, AI训练平台, 高性能存储系统。 |
资源抽象: 计算资源池, 存储资源池, 网络资源池。 |
通信矩阵: 定义计算节点(C)、存储节点(S)、DPU节点(D)之间所有可能的RoCE流量模式及其SLA要求。 |
1. 资源发现与编目: 架构中的每个节点(计算、存储、DPU)通过发现服务(如基于NVMe-oF的Discovery)向网络注册其能力和地址。控制器维护全局资源视图。 |
硬件: 标准RoCE RNIC, DPU/IPU(如NVIDIA BlueField, Intel IPU), 智能交换机, NVMe SSD阵列。 |
|
Roce-NW-0664 |
网络仿真与优化 |
数字孪生, 实时仿真 |
基于数字孪生的RoCE网络仿真、预测与优化模型 |
构建RoCE物理网络的虚拟数字孪生体,该孪生体实时同步网络状态(拓扑、配置、流量),并能在其中进行“假设分析”仿真、性能预测和自动优化策略验证,从而指导物理网络的运维和规划,实现主动式网络管理。 |
高保真: 孪生体模型应尽可能精确地反映物理网络行为。 |
系统建模, 离散事件仿真, 机器学习, 优化理论。 |
大型数据中心网络规划, 变更前验证(如配置更新、扩容), 故障演练和应急预案测试, 网络性能自动调优。 |
网络模型: G(V,E), 节点属性(交换机、主机配置), 边属性(带宽、延迟、丢包率)。 |
仿真引擎: |
1. 数据采集与同步: 从物理网络持续采集数据:网络拓扑(LLDP)、交换机配置(CLI/API)、流量统计(sFlow/NetFlow)、主机性能计数器(RNIC stats)。这些数据通过北向接口流入数字孪生平台。 |
|
ID |
领域 |
核心理论 |
模型/协议/算法名称 |
目标与描述 |
精度与特征 |
理论基础 |
应用场景 |
数学要素 |
关键方程/状态机 |
实现步骤/工作流程 |
软硬件工具 |
|---|---|---|---|---|---|---|---|---|---|---|---|
|
Roce-NW-0665 |
核心交换, 可编程数据平面 |
P4可编程交换机上的RoCE感知数据平面处理模型 |
使用P4语言在可编程交换芯片上定义数据平面,使其能够识别、解析RoCEv2(BTH头)报文,并执行自定义的转发、计量、拥塞标记、遥测插入等操作,实现高度灵活和优化的RoCE流量处理。 |
协议感知: 数据平面能理解RoCEv2包头结构。 |
协议无关包处理, 匹配-动作流水线, 可编程ASIC。 |
部署自定义拥塞控制, 实现高级负载均衡, 网络功能卸载(如RoCE代理), 深度包检测与过滤。 |
包头解析图: 定义如何从以太网帧中解析出BTH、UDP等头部字段。 |
P4程序结构: |
1. 协议定义: 在P4程序中定义RoCEv2的包头结构(BTH头及其字段)。 |
硬件: 支持P4的可编程交换芯片(如Intel Tofino, Broadcom Trident 4 with P4 Studio)。 |
|
|
Roce-NW-0666 |
核心交换, 拥塞控制 |
交换机主动队列管理 (AQM) 与 ECN 标记策略优化模型 |
在核心交换机上,针对RoCE流量特征(突发性、低延迟要求),优化主动队列管理算法(如CoDel, PIE)的参数和ECN标记阈值,以在保持高吞吐量的同时,最小化队列延迟和延迟抖动,并与终端主机上的DCQCN等算法协同工作。 |
低延迟: 通过主动管理队列长度,避免缓冲区膨胀。 |
控制理论, 排队论, 随机过程。 |
大规模RoCE数据中心网络, 混合流量(RoCE与TCP)环境, 对延迟有严格要求的应用。 |
队列长度: q(t)。 |
CoDel算法: |
1. 队列监控: 交换机端口持续测量每个队列的瞬时长度 |
硬件: 支持可配置AQM和ECN标记的交换芯片。 |
|
|
Roce-NW-0667 |
核心交换, 负载均衡 |
基于实时链路利用率的动态负载均衡模型 |
核心交换机根据出口端口的实时利用率(如队列深度、端口带宽使用率),动态地将流量分配到多条等价路径上,而不是使用静态的哈希。旨在解决因“大象流”导致的ECMP哈希不均问题,最大化网络整体吞吐量,最小化链路拥塞。 |
实时性: 基于微秒级的链路状态信息做出决策。 |
负载均衡, 在线决策, 局部信息优化。 |
Clos/Spine-Leaf架构的数据中心, 存在长流和突发流的网络, 需要高带宽利用率的场景。 |
端口利用率: U_i(t) (第i条路径的实时利用率,0到1之间)。 |
加权成本决策: 为新流或Flowlet选择路径 |
1. 链路状态监控: 交换机每个出口端口周期性地(如每微秒)收集利用率指标,包括:队列深度、最近一段时间发送的字节数。计算瞬时利用率 |
硬件: 支持动态负载均衡和实时端口监控的交换芯片(如Broadcom Trident4, NVIDIA Spectrum)。 |
|
|
Roce-NW-0668 |
核心交换, 网络虚拟化 |
VXLAN/EVPN与RoCE集成的多租户网络模型 |
在基于VXLAN overlay的数据中心网络中,支持RoCE流量跨三层边界传输,并保持其低延迟和无损特性。模型解决VXLAN封装对RoCE报文的影响、多租户隔离、以及通过EVPN控制平面分发RDMA通信所需的终端信息(如IP、MAC、VNI)。 |
Overlay网络: 在IP网络上构建虚拟的二层网络。 |
网络虚拟化, 隧道封装, 边界网关协议。 |
云数据中心, 多租户环境, 需要跨子网或跨数据中心的RoCE通信。 |
虚拟网络标识符: VNI, 24位, 用于租户隔离。 |
VXLAN封装: |
1. 网络架构: 物理网络是IP三层网络(Spine-Leaf)。每个服务器主机是VTEP,Leaf交换机作为硬件VTEP(可选)。每个租户对应一个VNI。 |
硬件: 支持VXLAN硬件卸载和EVPN的交换机(作为硬件VTEP), 支持VXLAN卸载的RNIC(如SR-IOV with VXLAN offload)。 |
|
|
Roce-NW-0669 |
核心交换, 故障恢复 |
基于BFD的RoCE链路与节点快速故障检测模型 |
在RoCE网络中部署双向转发检测协议,用于在交换机之间或交换机与主机之间快速检测链路或节点故障,并触发路由收敛或流量切换,将故障恢复时间从秒级降低到毫秒甚至亚毫秒级,满足RoCE应用对高可用性的要求。 |
快速检测: 检测时间可配置,通常为毫秒级。 |
故障检测, 心跳机制, 状态机。 |
对网络可用性要求极高的金融交易、核心数据库等场景, 需要实现快速故障切换的RoCE网络。 |
检测时间: |
BFD状态机: 两端通过交换BFD控制报文协商状态。如果在本地的检测时间内未收到对端的BFD报文,则状态从Up转为Down。 |
1. 会话建立: 在需要监控的链路上(如两个交换机之间,或交换机与支持BFD的主机之间),双方配置BFD会话参数:期望的最小发送间隔、所需的最小接收间隔、检测倍数。 |
硬件: 支持BFD硬件加速的交换芯片和RNIC(可选)。 |
|
|
Roce-NW-0670 |
核心交换, 网络遥测 |
可编程交换机上的In-band Network Telemetry数据生成与汇聚模型 |
定义在可编程交换机上如何为RoCE流量插入、更新和收集INT元数据。模型包括INT头的插入位置、携带的交换机状态信息(如队列深度、时间戳)、数据汇聚策略(如每跳报告、汇聚报告),以及如何将遥测数据高效地导出到收集器,用于网络性能监控和故障诊断。 |
带内: 遥测数据携带在数据包内,随业务流量一起传输。 |
网络测量, 数据平面编程, 大数据处理。 |
网络性能监控, 拥塞根因分析, 路径跟踪, 性能SLA验证。 |
INT指令位: 指示交换机需要插入哪些元数据(如交换机ID、入口/出口端口、队列深度、时间戳、链路利用率)。 |
INT头格式: 包含指令、长度、剩余跳数等字段。 |
1. INT配置: 网络控制器通过P4 Runtime或OpenConfig向可编程交换机下发INT配置:指定对哪些流量(如匹配特定DSCP或目的端口的RoCE流量)添加INT指令,以及指令内容(需要收集哪些元数据)。 |
硬件: 支持INT的可编程交换芯片(如Intel Tofino)。 |
|
|
Roce-NW-0671 |
核心交换, 安全策略 |
基于微隔离的RoCE流安全策略执行模型 |
在核心交换机上实施精细化的安全策略,对RoCE流量进行基于流的过滤和访问控制。模型定义如何识别RoCE流(基于五元组和BTH头)、如何定义安全组和策略(如允许QP A与QP B通信)、以及如何在交换机数据平面高效执行这些策略,防止未授权的RDMA访问。 |
流粒度: 安全策略可以精确到源/目的QP级别。 |
访问控制, 状态检测, 零信任网络。 |
多租户云环境, 合规性要求严格的行业(如金融、医疗), 防止RDMA内存访问越权。 |
安全组: 一组具有相同安全策略的终端(VM/容器)的逻辑集合。 |
策略检查逻辑: |
1. 策略定义: 管理员通过中央控制器定义安全策略。策略可以基于标签(如 |
硬件: 支持深度包检测和TCAM的交换芯片。 |
|
|
Roce-NW-0672 |
核心交换, 自动化与编排 |
基于意图的RoCE网络自动化配置与验证模型 |
网络管理员通过高级抽象语言(意图)声明网络所需状态(如“为AI训练集群提供无损、低延迟网络”),系统自动将其翻译并下发为具体的交换机配置(PFC、ETS、路由等),并在配置后持续验证网络实际状态是否符合意图,实现闭环自动化。 |
声明式: 用户描述“做什么”,而非“怎么做”。 |
意图网络, 配置自动化, 形式化验证, 闭环控制。 |
大规模、动态的云数据中心, 频繁变更的网络策略, 对网络正确性要求高的环境。 |
意图: 高级策略描述,如 |
意图翻译: |
1. 意图获取: 管理员通过GUI、CLI或API向意图引擎提交网络意图。意图可以针对特定应用(如AI训练)、租户或网络切片。 |
软件: 意图网络平台(如Apstra, Cisco NDI), 网络控制器, 配置管理工具, 验证工具(如Batfish)。 |
|
|
Roce-NW-0673 |
核心交换, 能耗管理 |
数据中心网络设备能效优化与动态功耗调整模型 |
监控核心交换机和光模块的实时功耗,根据网络负载动态调整设备的工作状态(如端口速率、芯片频率、冷却风扇转速),在满足性能SLA的前提下,最大化整个网络基础设施的能效比(比特/焦耳),降低数据中心PUE。 |
能效导向: 优化目标是单位能耗的数据传输量。 |
动态电压频率调整, 热能管理, 凸优化。 |
大型绿色数据中心, 对运营成本敏感的环境, 响应电网需求侧管理。 |
功耗状态: P-state (性能状态,与频率/电压相关)。 |
优化问题: |
1. 数据采集: 通过交换机的管理接口(如SNMP, Redfish)实时采集各组件功耗:交换芯片、SerDes、PHY、光模块、风扇、电源。同时采集流量负载、端口利用率、队列深度、温度。 |
硬件: 支持EEE、DVFS的交换芯片和光模块, 带功耗监控的电源和风扇。 |
|
|
Roce-NW-0674 |
核心交换, 拓扑发现与维护 |
基于LLDP-MED扩展的RoCE能力与邻居发现模型 |
扩展链路层发现协议,使其能够携带和交换设备的RoCE相关能力信息,如支持的RoCE版本(v1/v2)、启用的PFC优先级、DCBX参数、支持的传输服务类型等。实现交换机与交换机、交换机与主机之间RoCE配置的自动发现和一致性检查,简化网络部署和故障排查。 |
即插即用: 自动发现邻居的RoCE能力。 |
邻居发现, 链路层协议, 类型-长度-值。 |
RoCE网络初始部署, 设备添加或更换, 网络故障排查(配置不一致)。 |
LLDP帧: 目的MAC为 |
LLDP-MED扩展: 定义新的TLV类型(如 |
1. 协议扩展定义: 定义新的LLDP TLV类型(例如在Organizationally Specific TLV中),用于承载RoCE能力信息。TLV值字段可以包含:RoCE版本位图、支持的PFC优先级位图、DCBX版本、最大MTU、支持的传输类型(RC, UC, UD)等。 |
硬件: 标准以太网接口, 支持LLDP。 |
|
|
Roce-NW-0675 |
核心交换, 多路径转发 |
基于链路状态与流特征的加权多路径路由选择模型 |
在存在多条等价或非等价路径的网络上,根据实时链路状态(延迟、丢包、利用率)和流特征(大小、持续时间),为不同的流动态分配不同的路径权重,实现更精细的负载均衡和性能优化,超越简单的ECMP哈希。 |
动态权重: 路径权重根据实时状态动态计算。 |
负载均衡, 路由优化, 在线决策。 |
非对称的Clos网络, 存在异构链路(带宽不同)的网络, 需要优化长流性能的场景。 |
链路代价: C_l(t) (基于延迟、丢包率、利用率计算)。 |
加权成本多路径: 将流 |
1. 链路状态收集: 交换机通过INT、sFlow或直接计数器读取,周期性地收集所有出口链路的性能指标:单向延迟、丢包率、出口利用率。计算每条链路的实时代价 |
硬件: 支持动态路由和流表管理的交换芯片。 |
|
|
Roce-NW-0676 |
核心交换, 缓冲区管理 |
RoCE流量感知的共享缓冲区动态分配与虚拟输出队列管理模型 |
在采用共享缓冲区架构的核心交换机上,根据RoCE流量和其他流量(TCP, Storage)的需求特征,动态地在不同端口和不同优先级队列之间分配有限的共享缓冲区资源,并优化虚拟输出队列的调度,以最大化缓冲区利用率,同时保证RoCE流量的低延迟和零丢包。 |
动态分配: 缓冲区资源池根据实时需求动态分配给各队列。 |
排队论, 资源分配, 动态规划。 |
高突发、混合流量的数据中心核心交换机, 需要精细缓冲区管理以支持无损和低延迟网络。 |
总缓冲区大小: B_total。 |
缓冲区分配约束: |
1. 缓冲区分区: 将交换机的共享内存缓冲区逻辑上划分为多个池。为每个流量类别(如RoCE lossless, RoCE best-effort, TCP, Storage)分配一个保证缓冲区池 |
硬件: 采用共享缓冲区架构且支持精细缓冲区管理的交换芯片(如Juniper Trio, Cisco Silicon One)。 |
|
|
Roce-NW-0677 |
核心交换, 时钟同步 |
核心交换机作为PTP透明时钟的精度优化与不对称延迟校正模型 |
当核心交换机作为PTP透明时钟时,模型优化其处理PTP事件报文(Sync, Delay_Req)的硬件时间戳精度,并测量和校正交换机内部转发路径的不对称延迟,从而在分布式RoCE网络中提供更高精度的时钟同步,满足金融交易等应用的亚微秒级同步需求。 |
硬件时间戳: 在PHY或MAC层为PTP报文打时间戳,精度达纳秒级。 |
时钟同步, 时间戳, 延迟测量。 |
需要高精度时间同步的RoCE网络(如高频交易、分布式数据库), 跨多个交换机的长路径同步。 |
入口时间戳: t_ingress。 |
|
ID |
领域 |
核心理论 |
模型/协议/算法名称 |
目标与描述 |
精度与特征 |
理论基础 |
应用场景 |
数学要素 |
关键方程/状态机 |
实现步骤/工作流程 |
软硬件工具 |
|---|---|---|---|---|---|---|---|---|---|---|---|
|
Roce-NW-0678 |
核心交换,拥塞控制 |
交换机辅助的精确拥塞通知(ECN)标记与反馈模型 |
在交换机队列管理中使用精确的ECN标记策略,基于即时队列长度或平均队列长度超过阈值来标记数据包,并将拥塞信号反馈给发送端,使发送端调整发送速率,从而避免拥塞丢包和全局同步。 |
精确标记: 基于队列长度的动态阈值进行标记,避免过早或过晚标记。 |
主动队列管理,控制理论,信息论。 |
数据中心网络中的RoCE流量,需要低延迟和高吞吐量的场景。 |
队列长度: q(t)。 |
RED/ECN标记概率: if q_avg < K_min then p=0; if q_avg > K_max then p=1; else p = (q_avg - K_min) / (K_max - K_min)。 |
1. 队列监控: 交换机监控每个队列的瞬时队列长度,并计算平均队列长度(如使用指数加权移动平均)。 |
硬件: 支持ECN标记的交换芯片。 |
|
|
Roce-NW-0679 |
核心交换,负载均衡 |
基于流大小的自适应负载均衡模型 |
在核心交换机上识别流的大小(如通过前几个数据包的特征),并根据流大小将流调度到不同的路径上。大象流和老鼠流采用不同的调度策略,以优化平均流完成时间。 |
流大小感知: 识别大象流和老鼠流。 |
负载均衡,调度理论,在线学习。 |
数据中心网络,存在大量短流和少量长流的场景。 |
流大小估计: S_f(通过首包信息或历史信息估计)。 |
大象流调度: 选择当前代价最小的路径,即 argmin_p C_p(t)。 |
1. 流识别: 当新流到达时,通过首包(如TCP SYN包)中的信息(如MSS)或前几个数据包的大小来估计流的大小。如果无法估计,则视为老鼠流。 |
硬件: 支持流表管理和路径选择的交换芯片。 |
|
|
Roce-NW-0680 |
核心交换,故障恢复 |
快速重路由与无缝切换模型 |
在检测到链路或节点故障时,快速将流量切换到备份路径,实现亚秒级的故障恢复,避免TCP超时和RoCE连接中断。 |
快速切换: 切换时间在毫秒级。 |
图论,路由协议,故障检测。 |
对网络可用性要求高的场景,如金融交易、实时计算。 |
主路径: 正常情况下使用的路径。 |
快速重路由: 当故障发生时,将流量重定向到备份路径,备份路径可以是通过LFA(Loop-Free Alternate)等算法预先计算的。 |
1. 备份路径计算: 使用路由协议(如OSPF、IS-IS)计算到每个目的地的备份下一跳。常用算法包括LFA、远程LFA等,确保备份路径无环。 |
硬件: 支持快速故障检测和快速重路由的交换芯片。 |
|
|
Roce-NW-0681 |
核心交换,服务质量 |
基于优先级的流量调度与拥塞避免模型 |
在交换机上为不同优先级的流量分配不同的队列资源,并采用严格的优先级调度,确保高优先级流量(如RoCE)的低延迟。同时,通过拥塞避免机制(如PFC)防止高优先级流量饿死低优先级流量。 |
优先级调度: 严格优先级调度,高优先级队列优先服务。 |
排队论,调度算法,流量控制。 |
混合流量(RoCE、TCP、存储)的数据中心网络,需要保证高优先级流量的低延迟。 |
队列优先级: 0-7,数值越高优先级越高。 |
PFC触发: 当队列长度超过阈值时,向发送端发送PFC暂停帧,暂停该优先级流量的发送。 |
1. 流量分类: 根据数据包的优先级字段(如VLAN的PCP或IP的DSCP)将流量映射到不同的队列。通常将RoCE流量映射到高优先级队列,TCP流量映射到低优先级队列。 |
硬件: 支持多优先级队列和PFC的交换芯片。 |
|
|
Roce-NW-0682 |
核心交换,网络测量 |
精确时间戳与单向延迟测量模型 |
在交换机上为数据包打上高精度的时间戳,并通过带内或带外方式将时间戳信息传递出去,从而实现精确的单向延迟测量,用于网络性能监控和故障定位。 |
高精度时间戳: 在数据包进入和离开交换机时打时间戳,精度达到纳秒级。 |
时间同步,时间戳,延迟测量。 |
需要精确测量网络延迟的场景,如金融交易、高性能计算。 |
入口时间戳: t_in。 |
单向延迟计算: 假设发送端在时间t_s发送数据包,接收端在时间t_r接收,则单向延迟为 t_r - t_s,但需要时钟同步。 |
1. 时钟同步: 通过网络时间协议(如PTP)同步交换机之间的时钟,使所有交换机的时间保持一致。 |
硬件: 支持高精度时间戳的交换芯片,以及PTP时钟同步模块。 |
|
|
Roce-NW-0683 |
核心交换,安全 |
基于机器学习异常检测的DDoS防御模型 |
在核心交换机上收集流量特征,利用机器学习模型实时检测DDoS攻击(如针对RoCE端口的泛洪攻击),并自动触发缓解措施,如过滤或限速。 |
实时检测: 在线检测,延迟低。 |
机器学习,异常检测,流量分析。 |
数据中心网络,需要防御针对RoCE等关键服务的DDoS攻击。 |
流量特征: 如包速率、字节速率、流数量、包大小分布等。 |
异常分数: 模型根据输入特征计算异常分数,超过阈值则判定为攻击。 |
1. 特征提取: 交换机实时统计流量特征,如每个目的IP的包速率、每个目的端口的包速率、流创建速率等。可以针对RoCE服务(UDP端口4791)单独统计。 |
硬件: 支持流量统计和可编程数据平面的交换芯片。 |
|
|
Roce-NW-0684 |
核心交换,可编程数据平面 |
P4程序实现的自定义拥塞控制协议 |
使用P4在可编程交换机上实现自定义的拥塞控制协议,例如在数据包中携带交换机的拥塞信息(如队列长度),由接收端反馈给发送端,发送端根据拥塞信息调整发送速率。 |
灵活性: 可以快速部署新的拥塞控制协议,无需更改终端主机。 |
可编程数据平面,拥塞控制。 |
需要定制拥塞控制策略的场景,如特定应用流量。 |
拥塞信息: 如队列长度、延迟。 |
自定义拥塞控制算法: 发送端根据反馈的拥塞信息调整发送窗口或速率。 |
1. 定义拥塞信息字段: 在数据包头部定义自定义字段,用于携带拥塞信息。 |
硬件: 支持P4的可编程交换芯片。 |
|
|
Roce-NW-0685 |
核心交换,网络虚拟化 |
VXLAN网关与RoCE流量卸载模型 |
在支持VXLAN的硬件交换机上,将RoCE流量的VXLAN封装/解封装和路由功能卸载到硬件,实现高性能的 overlay 网络,同时保持RoCE的低延迟特性。 |
硬件卸载: 将VXLAN封装/解封装和路由功能卸载到交换芯片,减少CPU开销和延迟。 |
网络虚拟化,硬件卸载。 |
虚拟化数据中心,需要跨三层网络运行RoCE。 |
VXLAN头部: 包括VNI、外层IP和MAC等。 |
封装: 在原始RoCE数据包外添加VXLAN、UDP、外层IP和外层MAC头部。 |
1. VXLAN隧道建立: 通过控制平面(如EVPN)学习VTEP信息,建立VXLAN隧道。 |
硬件: 支持VXLAN硬件卸载的交换芯片。 |
|
|
Roce-NW-0686 |
核心交换,流量工程 |
基于SDN的集中式流量调度与路径计算模型 |
通过SDN控制器集中收集网络状态(拓扑、流量矩阵),为RoCE流量计算最优路径(如最短路径、最小拥塞路径),并下发流表到交换机,实现全局优化的流量调度。 |
集中控制: 控制器拥有全局视图,可以做出最优决策。 |
图论,优化理论,SDN。 |
需要全局流量优化的数据中心网络,如超大规模数据中心。 |
网络拓扑: G=(V, E)。 |
优化问题: min max{e} ( sum{sd} f{sd}(e) / c(e) ),其中f{sd}(e)是流sd在链路e上的流量,c(e)是链路e的容量。 |
1. 网络状态收集: SDN控制器通过OpenFlow等协议从交换机收集网络拓扑和链路利用率信息。 |
硬件: 支持OpenFlow的交换机。 |
|
|
Roce-NW-0687 |
核心交换,节能 |
基于流量预测的网络设备节能模型 |
根据历史流量数据预测未来的流量模式,在低负载时段关闭部分交换机和链路以节省能耗,并在流量上升前提前唤醒,以平衡节能和性能。 |
流量预测: 使用时间序列分析预测未来流量。 |
时间序列预测,优化理论,节能。 |
流量有明显周期性的数据中心,如夜间负载低,白天负载高。 |
流量序列: T(t)。 |
预测模型: 如ARIMA、LSTM等。 |
1. 流量监控: 持续监控网络流量,收集历史流量数据。 |
软件: 流量预测模型,网络节能管理软件,SDN控制器。 |
|
|
Roce-NW-0688 |
核心交换,安全 |
加密RoCE流量的线速处理模型 |
在交换机上集成硬件加密引擎,对RoCE流量进行线速的加密和解密,保证数据在传输过程中的机密性和完整性,同时保持低延迟和高吞吐量。 |
硬件加密: 使用专用硬件加速加密运算。 |
密码学,硬件加速。 |
对数据安全有要求的RoCE网络,如金融、医疗。 |
加密算法: 如AES-GCM,提供机密性和完整性。 |
加密: C = E(K, P),其中K为密钥,P为明文,C为密文。 |
1. 密钥分发: 通过密钥管理协议(如IPsec的IKE)在通信双方之间建立安全关联,协商加密密钥和算法。 |
硬件: 集成硬件加密引擎的交换机。 |
|
|
Roce-NW-0689 |
核心交换,网络测量 |
数据平面带内网络遥测(INT)模型 |
在数据包中插入带内遥测数据,记录数据包经过的路径上的交换机的状态(如队列延迟、队列长度),从而可以精确测量网络性能,定位拥塞点。 |
带内: 遥测数据携带在数据包中,随数据包一起传输。 |
网络测量,可编程数据平面。 |
网络性能监控,故障定位,拥塞分析。 |
INT头部: 指示遥测数据的格式和长度。 |
INT封装: 在原始数据包中插入INT头部和元数据栈。 |
1. INT配置: 控制器下发INT配置,指定需要收集遥测数据的流量(如匹配特定目的端口的RoCE流量)和需要收集的数据类型(如队列延迟、队列长度)。 |
硬件: 支持INT的可编程交换芯片。 |
|
|
Roce-NW-0690 |
核心交换,故障恢复 |
基于机器学习的故障预测与预防模型 |
收集网络设备的各种指标(如温度、风扇转速、CPU利用率、错误计数等),使用机器学习模型预测设备故障,并提前采取措施,如迁移流量、更换设备,避免服务中断。 |
预测性维护: 在故障发生前预测故障。 |
机器学习,时间序列预测,故障预测。 |
对网络可靠性要求极高的场景,如金融、电信。 |
设备指标: 温度、风扇转速、CPU利用率、内存使用率、错误计数等。 |
分类模型: 如随机森林、神经网络,输入设备指标,输出故障概率。 |
1. 数据收集: 收集网络设备的历史指标数据,以及故障记录(标签)。 |
软件: 机器学习平台,故障预测系统,网络管理系统。 |
|
|
Roce-NW-0691 |
核心交换,服务质量 |
基于深度包检测的流量分类与优先级标记模型 |
在交换机上通过深度包检测识别应用层协议,并根据策略为流量分配不同的优先级,从而保证关键应用(如RoCE)的服务质量。 |
应用识别: 通过深度包检测识别应用层协议。 |
深度包检测,流量分类。 |
混合流量网络,需要根据应用类型区分服务质量。 |
特征码: 用于识别应用的字符串或正则表达式。 |
分类规则: 如果数据包匹配特征码,则标记对应的优先级。 |
1. 特征码定义: 定义不同应用的特征码,例如RoCE流量的特征可能是UDP目的端口4791,或者更精细地识别BTH头中的OpCode。 |
硬件: 支持深度包检测的交换芯片。 |
|
|
Roce-NW-0692 |
核心交换,负载均衡 |
基于强化学习的自适应负载均衡模型 |
使用强化学习算法,根据网络状态(如链路利用率、队列长度)动态调整负载均衡策略,以最大化网络性能(如最小化平均流完成时间)。 |
自适应: 根据网络状态自动调整策略。 |
强化学习,马尔可夫决策过程。 |
动态变化的数据中心网络,需要自适应负载均衡。 |
状态: 网络状态,如各链路的利用率。 |
Q-learning更新: Q(s,a) = Q(s,a) + α [r + γ max_a' Q(s',a') - Q(s,a)] |
1. 状态定义: 定义状态空间,如各链路的利用率离散化后的向量。 |
软件: 强化学习算法库,交换机上的策略执行模块,可能需要在控制器上集中学习。 |
|
编号 |
领域 |
核心理论 |
模型/协议/算法名称 |
目标与描述 |
精度与特征 |
理论基础 |
应用场景 |
数学要素 |
关键方程/状态机 |
定理/算法/模型/方法的逐步思考推理过程及每一个步骤的数学方程式和参数选择/参数优化、时序和软件/硬件交互流程的所有细节和算法/分步骤时序情况及数学方程式、变量/常量/参数列表及说明 |
数学特征 |
实现步骤/工作流程 |
软硬件工具 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Roce-NW-0674 |
交换架构 |
分布式交换, 信元交换 |
基于信元交换的分布式交换架构模型 (DDC) |
将数据包切分为固定大小的信元(Cell),在多个交换节点(NCP)间独立调度和传输,实现跨多节点的绝对负载均衡和无阻塞交换。通过VOQ机制提前感知路径带宽,仅在可用路径上转发,消除内部阻塞,提升交换效率。 |
绝对均衡: 信元级调度确保流量在多路径上均匀分布。 |
排队论, 调度理论, 图论。 |
大规模数据中心核心交换机(如H3C S12500AI), 高密度、高吞吐量场景, 需要无阻塞交换的网络。 |
信元大小: C (固定,如256字节)。 |
信元调度约束: Σ{i} Σ{j} (从输入i到输出j的信元数) ≤ B_k * T, 对于所有路径k和时间窗口T。 |
1. 问题建模: 目标是在多个交换节点间调度信元,最大化吞吐量并最小化延迟。将每个交换节点视为一个独立的调度器,信元从输入端口经过某个节点到达输出端口。2. 信元分割: 入口线卡将到达的数据包分割为固定大小的信元C。每个信元附加头部,包含源输入端口、目的输出端口、序列号等信息。3. VOQ状态感知: 每个输入端口为每个输出端口维护一个VOQ。同时,每个交换节点维护一个“路径可用带宽表”,通过带内或带外信令实时更新。4. 信元调度决策: 在每个调度时隙t: a. 每个输入端口i检查其所有VOQ (Q_i1, Q_i2, ..., Q_iM)。 b. 对于每个非空VOQ_ij,查询到输出端口j的所有路径的可用带宽B_k(t)。 c. 选择可用带宽最大且大于信元传输需求的路径k。 d. 如果存在这样的路径,则从VOQ_ij头部取出一个信元,通过路径k发送。 e. 更新路径k的可用带宽:B_k(t+1) = B_k(t) - C / Δt,其中Δt为时隙长度。5. 信元重组: 出口线卡接收信元,根据序列号重新组装成原始数据包。6. 参数优化: 信元大小C需要在交换效率和包头开销之间权衡。路径可用带宽的更新频率需要与网络动态性匹配。变量/常量: C: 信元大小(常量,如256B)。 N: 交换节点数量。 M: 输出端口数量。 Q_ij(t): 时刻t输入i到输出j的VOQ长度。 B_k(t): 时刻t路径k的可用带宽。 Δt: 调度时隙长度。时序*: 每个时隙依次执行:信元到达与分割 -> VOQ状态更新 -> 路径带宽查询 -> 调度决策 -> 信元传输 -> 带宽更新。硬件交互在线卡和交换芯片间通过高速SerDes进行。 |
集合: 输入端口集合I, 输出端口集合J, 路径集合K。 |
1. 信元化: 入口线卡接收报文,将其分割为固定大小的信元,并添加内部路由头。 2. VOQ排队: 信元根据其目的输出端口被放入对应的VOQ。 3. 路径探测: 交换节点周期性地交换链路状态信息,更新本地路径可用带宽表。 4. 调度仲裁: 集中式或分布式调度器根据VOQ状态和路径带宽,决定每个信元从哪个输入端口、通过哪条路径、在哪个时隙发送到输出端口。 5. 信元交换: 信元通过选定的路径在交换矩阵中传输。 6. 重组: 出口线卡接收信元,按序列号重组为原始报文,并发送到输出端口。 7. 状态反馈: 出口端口将拥塞状态(如队列深度)反馈给调度器,用于动态调整路径选择。 |
硬件: 支持信元交换和VOQ的交换芯片(如H3C DDC架构芯片), 多节点交换架构。 |
|
Roce-NW-0675 |
交换调度 |
虚拟输出队列, 匹配算法 |
虚拟输出队列 (VOQ) 架构与最大权重匹配调度模型 |
在输入排队交换结构中,为每个输入端口到每个输出端口维护独立的队列(VOQ),以消除队头阻塞。采用最大权重匹配算法(如iSLIP、MWM)在每个时隙选择一组输入-输出配对进行传输,最大化权重和(如队列长度),提高吞吐量和公平性。 |
消除HOL阻塞: VOQ将每个输出端口的竞争分离。 |
组合优化, 二分图匹配, 调度算法。 |
输入排队交换机, 高性能计算网络, 需要高吞吐和低延迟的数据中心核心交换机。 |
二分图: G=(I, J, E), I为输入端口集合, J为输出端口集合, 边(i,j)的权重为w_ij(t)(如VOQ长度)。 |
最大权重匹配问题: |
1. 问题形式化: 在每个时隙t,给定权重矩阵W(t)=[w_ij(t)],其中w_ij(t)是VOQ_ij的长度。目标是找到一个匹配M(t),使得权重和W(M(t))最大。这是一个二分图最大权重匹配问题。2. 算法选择: 最优的MWM算法(如匈牙利算法)复杂度为O(N^3),对于高速交换机不可行。因此采用近似算法,如iSLIP(迭代轮询),它实现最大大小匹配,并通过维护指针保证公平性。3. iSLIP步骤的数学描述: a. 请求阶段: 对于每个输入i,定义请求集合R_i = {j |
Q_ij(t) > 0}。输入i向所有j∈R_i发送请求。 b. 授权阶段: 对于每个输出j,收到请求集合G_j = {i |
j ∈ R_i}。输出j维护一个轮询指针g_j。它从g_j开始顺时针查找第一个在G_j中的输入i,并向i发送授权。然后更新g_j指向i的下一个位置。 c. 接受阶段: 对于每个输入i,收到授权集合A_i。输入i维护一个轮询指针a_i。它从a_i开始顺时针查找第一个在A_i中的输出j,并接受j。然后更新a_i指向j的下一个位置。 d. 迭代: 重复请求-授权-接受多轮(通常2-3轮),直到没有新的匹配产生。4. 权重定义: 权重w_ij(t)通常取队列长度Q_ij(t)。为了兼顾延迟,可以使用 |
组合数学: 匹配是边集的子集,满足度约束。 |
|
Roce-NW-0676 |
队列调度 |
优先级队列, 加权公平队列 |
严格优先级队列 (SPQ) 与加权轮询 (WRR) 混合调度模型 |
为不同优先级的流量提供差异化的调度服务。最高优先级的队列采用严格优先级调度,确保最低延迟;其他优先级队列采用加权轮询调度,在保证带宽分配的同时提供公平性。模型用于在RoCE网络中区分无损流量(高优先级)和尽力而为流量(低优先级)。 |
低延迟保障: SPQ确保高优先级流量始终优先调度。 |
调度理论, 优先级排队, 公平队列。 |
支持PFC和ETS的RoCE网络, 需要区分服务等级的数据中心。 |
优先级数量: P (通常8个)。 |
SPQ调度规则: 只要高优先级队列非空,就始终服务它。 |
1. 队列结构: 每个输出端口有P个优先级队列,编号从0(最高)到P-1(最低)。队列0通常用于网络控制流量(如PFC暂停帧),队列3用于RoCE无损流量,其他队列用于其他流量。2. 调度策略: 调度器不断检查队列。规则:如果队列0非空,则发送队列0的数据包;否则,如果队列1非空,则发送队列1的数据包;...;否则,服务队列P-1。3. 加权轮询实现: 对于同一优先级内的多个子队列(如多个CoS),或者当SPQ规则下多个优先级队列都为空时,对剩余队列采用WRR。为每个队列分配一个权重w_i和一个计数器c_i。初始c_i = w_i。调度器从队头开始扫描,找到第一个c_i > 0的队列,发送一个数据包,然后c_i减1。如果该队列变为空或c_i变为0,则重置c_i = w_i,并移动到下一个队列。4. 数学建模: 设λ_p为优先级p的到达率,μ为服务率。在稳定状态下,最高优先级队列的等待时间不受低优先级流量影响。低优先级队列的服务时间取决于高优先级流量的负载。5. 参数选择: 权重w_i的选择:根据带宽保证需求。如果队列i需要保证带宽B_i,端口总带宽为C,则设置w_i = ceil(B_i / C * W_total),其中W_total是总权重和。6. 时序: 每个调度时刻,调度器检查队列状态。如果高优先级队列有数据,则立即服务。只有当所有高优先级队列为空时,才进入WRR轮询。WRR维护一个指针指向当前服务的队列,服务完w_i个数据包后,指针移到下一个队列。7. 交互流程: 数据包到达 -> 根据DSCP/PCP标记进入对应优先级队列 -> 调度器根据SPQ+WRR规则选择下一个要发送的数据包 -> 从队列中取出并发送。变量/常量: P: 优先级数量。 Q_p: 优先级p的队列。 w_i: 队列i的WRR权重(整数)。 c_i: 队列i的剩余信用计数器。 λ_p: 优先级p的包到达率(包/秒)。 μ: 端口服务率(包/秒)。 |
集合: 优先级集合{0,1,...,P-1}。 |
1. 分类与入队: 数据包根据其优先级(如PCP或DSCP)被分类到相应的输出队列。 2. 调度决策: 调度器始终检查最高优先级队列(如队列0)。如果非空,则从其队头取包发送。 3. 优先级降级: 如果最高优先级队列为空,则检查次高优先级队列,依此类推。 4. WRR执行: 当调度到某个采用WRR的优先级层级时,在该层级的多个队列间按权重轮询。调度器维护一个当前队列指针和剩余信用。 5. 发送: 从选中的队列头部取出数据包,通过端口发送。 6. 信用更新: 如果采用字节级WRR,则发送后从剩余信用中减去发送的字节数。当信用耗尽或队列变空时,重置信用并移动指针。 |
硬件: 支持多优先级队列和WRR调度的交换芯片(如Broadcom Tomahawk, Cisco Silicon One)。 |
|
Roce-NW-0677 |
拥塞控制 |
机器学习, 动态阈值调整 |
基于AI的ECN动态阈值调整模型 (AI ECN) |
利用机器学习模型(如强化学习)实时分析网络流量模式,动态调整交换机上每个队列的ECN标记阈值(Kmin, Kmax, Pmax),以优化拥塞信号的发生时机和强度,从而在保持高吞吐量的同时最小化队列延迟和PFC触发。 |
自适应: 阈值根据实时流量模式动态调整。 |
强化学习, 控制理论, 时间序列分析。 |
动态流量模式的数据中心(如AI训练、存储流量突发), 需要精细拥塞管理的RoCE网络。 |
状态: s_t = [q_len(t), q_len(t-1), ..., throughput(t), packet_rate(t), ECN_mark_rate(t)]。 |
Q-learning更新: |
1. 问题建模: 将ECN阈值调整建模为马尔可夫决策过程。状态s_t是网络观测值(队列长度、吞吐量等)。动作a_t是阈值调整。奖励r_t是负的延迟、PFC触发率与正的吞吐量的加权和。目标是学习一个策略π,最大化长期累积奖励。2. 状态特征工程: 从交换机计数器提取特征:当前队列长度、队列长度变化率、出口带宽利用率、ECN标记率、PFC触发次数、不同优先级流量的比例等。进行归一化。3. 动作空间设计: 动作是对三个阈值Kmin, Kmax, Pmax的调整。每个阈值可以增加、减少或保持不变。为简化,可以设计为离散动作,如{大幅增加,小幅增加,不变,小幅减少,大幅减少}。4. 奖励函数设计: r_t = -w1 * avg_queue_delay - w2 * PFC_count + w3 * throughput_utilization。权重w1, w2, w3需要根据业务需求调整。延迟和PFC触发是惩罚项,吞吐量是奖励项。5. 学习算法: 采用深度Q网络(DQN)。使用神经网络Q(s, a; θ)近似Q值。收集经验(s_t, a_t, r_t, s_{t+1})存入回放缓冲区。随机采样小批量进行训练,最小化损失函数 L(θ) = E[(r + γ max_a' Q(s', a'; θ^-) - Q(s, a; θ))^2],其中θ^-是目标网络参数。6. 在线部署与推理: 将训练好的策略网络部署在交换机上(或集中控制器)。每隔固定时间间隔(如10ms),观察当前状态s_t,通过网络前向传播得到所有动作的Q值,选择Q值最大的动作执行(或以ε概率随机探索)。执行动作,调整ECN阈值。7. 参数优化: 学习率η、折扣因子γ、探索率ε需要通过超参数调优确定。奖励函数的权重需要根据网络管理员的目标调整。变量/常量: s_t: 状态向量。 a_t: 动作向量。 r_t: 即时奖励。 θ: DQN网络参数。 γ: 折扣因子(0.9-0.99)。 η: 学习率(如0.001)。 ε: 探索率(初始0.1,随时间衰减)。 |
概率与统计: 状态转移具有随机性。 |
1. 数据收集: 交换机周期性地(如每1ms)收集队列统计信息。 2. 状态构建: 将最近一段时间(如10个周期)的统计信息构建为状态向量s_t。 3. 策略推理: 将s_t输入到训练好的策略网络(或查询Q表),得到建议的动作a_t(如增加Kmin 5%)。 4. 动作执行: 根据a_t调整硬件中的ECN阈值寄存器。 5. 观察奖励: 在下一个周期,观察网络性能指标(平均队列延迟、PFC触发次数、吞吐量),计算奖励r_t。 6. 经验存储: 将经验元组(s_t, a_t, r_t, s_{t+1})存储到回放缓冲区。 7. 模型更新: 定期从回放缓冲区采样,更新策略网络参数(在线学习模式)或仅记录日志用于离线训练。 |
硬件: 支持可编程ECN阈值的交换芯片, 用于AI推理的NPU/FPGA(可选)。 |
|
Roce-NW-0678 |
负载均衡 |
细粒度路由, 拥塞隔离 |
细粒度负载均衡 (FLB) 模型 |
针对无损网络(RoCE+PFC)设计,通过灵活的重路由和拥塞流隔离,解决传统ECMP在无损网络中因Flowlet稀少导致的路由不灵活问题,以及多路径加剧PFC队头阻塞的问题。核心思想是:正常场景下基于延迟进行灵活重路由,拥塞场景下将拥塞流隔离到少数路径,避免拥塞扩散。 |
灵活重路由: 利用延迟差作为重路由条件,无需等待Flowlet间隙。 |
负载均衡, 拥塞控制, 图论。 |
无损RoCE数据中心网络, 存在大象流和突发流量的场景, 需要高带宽利用率和低PFC触发率的网络。 |
路径延迟: d_p (路径p的当前延迟估计)。 |
重路由条件: 对于已有流,如果当前数据包与前一数据包的间隔 |
1. 问题分析: 在无损网络中,由于PFC是逐跳反压,将一条拥塞流分散到多条路径会导致多个上游端口被暂停,加剧队头阻塞。因此,FLB的核心目标是在非拥塞时利用多路径均衡负载,在拥塞时将拥塞流集中到少数路径进行隔离。2. 延迟测量: 源边缘交换机在数据包头部嵌入时间戳。目的边缘交换机计算单向延迟,并通过ACK或专门的数据包将延迟信息反馈回源。为消除时钟偏移,使用最小历史延迟作为基准。3. 正常场景重路由算法: a. 新流: 选择当前延迟最小的路径。 b. 已有流: 设当前路径延迟为d_c,所有候选路径的最小延迟为d_min。如果当前数据包与前一数据包的到达间隔I > (d_c - d_min),则可以将当前包重路由到延迟为d_min的路径,而不会在接收端造成乱序(因为新路径的延迟更小,包会更早到达)。4. 拥塞检测与隔离: 当交换机出口队列长度超过阈值Q_th时,认为该端口发生拥塞。目的边缘交换机会生成拥塞通知消息(CNM),包含拥塞流ID和拥塞程度,发送回源边缘交换机。5. 隔离路径选择算法: 源边缘交换机收到CNM后,将所有被报告的拥塞流分配到一个最小的路径集合P_c上,使得每条隔离路径上的拥塞流数量大致相等。这可以建模为一个装箱问题,使用首次适应递减算法近似求解。非拥塞流则使用其他正常路径。6. 端侧速率控制: 被隔离的拥塞流采用简单的速率控制:初始以线速发送,收到CNM后暂停传输,并将速率设置为 |
集合与逻辑: 路径集合、流集合、隔离路径集合。 |
1. 延迟测量: 源边缘交换机为数据包打时间戳,目的边缘交换机计算延迟并反馈。 2. 路径选择(新流): 新流到达时,选择延迟最小的路径。 3. 包间隔检查: 对于已有流,计算当前包与前一包的间隔I。 4. 重路由决策: 如果I > (d_current - d_min),则将当前包重路由到延迟最小的路径,并更新该流的路径记录。 5. 拥塞检测: 交换机监控出口队列长度,超过Q_th时,向目的边缘交换机报告拥塞流ID。 6. 拥塞通知: 目的边缘交换机生成CNM,发送回源边缘交换机。 7. 流隔离: 源边缘交换机将拥塞流重新路由到预定义的隔离路径集上。 8. 速率调整: 源端根据CNM调整拥塞流的发送速率。 9. 拥塞解除: 当队列长度低于阈值,发送“非拥塞”CNM,源端将流移出隔离集并恢复原速率。 |
硬件: 支持带内遥测和时间戳的可编程交换机(如P4交换机)。 |
|
Roce-NW-0679 |
负载均衡 |
逐包喷洒, 动态哈希 |
逐包喷洒负载均衡 (SprayLink) 模型 |
以数据包为粒度进行负载分担,通过动态哈希算法(Spray HASH)实时感知各路径的负载(带宽利用率、队列深度),为每个数据包选择当前负载最轻的路径,实现极致的流量均衡和高带宽利用率,同时通过接收端重排序保证RoCE等敏感协议的有序性。 |
逐包粒度: 每个包独立选择路径,实现最细粒度均衡。 |
负载均衡, 哈希算法, 排队论。 |
多路径网络(如Leaf-Spine), 需要超高带宽利用率的场景, 长流和短流混合的环境。 |
路径负载度量: L_p(t) = α * utilization_p(t) + β * queue_depth_p(t)。 |
Spray HASH函数: |
1. 负载度量计算: 每个交换机周期性地(如每10us)测量每条上行链路的实时负载。负载度量L_p(t)是带宽利用率u_p(t)和队列深度q_p(t)的加权和: |
概率与统计: 哈希函数将包均匀分布到各路径的概率期望。 |
1. 负载监控: 交换机周期性地测量每条路径的带宽利用率和队列深度。 2. 负载度量计算: 计算每条路径的负载度量L_p(t)。 3. 哈希种子更新: 根据所有路径的负载度量,更新动态哈希种子S(t)。例如,将负载最轻的路径索引编码到S(t)中。 4. 包分类: 对于每个到达的数据包,提取其流标识(如五元组)。 5. 路径选择: 计算 |
硬件: 支持动态负载均衡和包重排序的交换芯片/网卡。 |
|
Roce-NW-0680 |
可编程数据平面 |
P4编程, 拥塞标记 |
基于P4的可编程数据平面拥塞标记模型 |
使用P4语言在可编程交换机上实现自定义的拥塞标记逻辑。除了标准的ECN标记外,还可以实现更复杂的标记策略,如基于队列长度的概率标记、基于延迟的标记、多阈值标记等,并将标记信息携带在自定义的带内遥测头中,为端到端拥塞控制提供更丰富的信号。 |
灵活标记策略: 可编程实现任意标记逻辑。 |
网络编程, 主动队列管理, 信息论。 |
需要定制化拥塞控制的研究和部署, 高级网络遥测, 性能实验平台。 |
队列长度: q(t)。 |
概率标记函数: |
1. P4程序架构: 定义解析器、入口流水线、出口流水线、逆解析器。在入口或出口流水线中实现拥塞标记逻辑。2. 拥塞状态获取: 在P4程序中,可以通过标准元数据(如 |
逻辑: 标记决策基于条件判断(if-else)。 |
1. 解析: 解析器识别数据包类型(如IPv4),提取 |
|
编号 |
领域 |
核心理论 |
模型/协议/算法名称 |
目标与描述 |
精度与特征 |
理论基础 |
应用场景 |
数学要素 |
关键方程/状态机 |
定理/算法/模型/方法的逐步思考推理过程及每一个步骤的数学方程式和参数选择/参数优化、时序和软件/硬件交互流程的所有细节和算法/分步骤时序情况及数学方程式、变量/常量/参数列表及说明 |
数学特征 |
实现步骤/工作流程 |
软硬件工具 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Roce-NW-0681 |
交换芯片架构 |
多级流水线, 片上互联 |
可编程交换芯片多级流水线处理模型 |
描述现代可编程交换芯片(如Intel Tofino, Broadcom Trident)内部的多级流水线架构,包括解析器、匹配-动作阶段、流量管理器、数据包缓冲和调度等组件,以及它们如何协同处理RoCEv2数据包,实现线速转发和复杂网络功能。 |
流水线化: 多阶段并行处理,每个时钟周期处理一个数据包。 |
计算机体系结构, 流水线设计, 并行处理。 |
高性能数据中心交换机, 可编程数据平面, 需要定制化数据包处理的网络。 |
流水线级数: N。 |
流水线吞吐量: |
1. 架构概述: 可编程交换芯片通常采用“Ingress Pipeline -> Traffic Manager -> Egress Pipeline”的架构。Ingress和Egress Pipeline由多个可编程的阶段(Stage)组成,每个阶段包含解析器(Parser)、匹配-动作单元(MAU)和逆解析器(Deparser)。2. 解析器: 解析器根据预定义的包头格式,将输入的以太网帧解析为一系列头部字段(如以太网头、IP头、UDP头、BTH头)。解析过程是一个状态机,根据当前头部类型决定下一个要解析的头部。对于RoCEv2,解析路径为:Ethernet -> IPv4/IPv6 -> UDP -> BTH。3. 匹配-动作阶段: 每个阶段包含多个匹配-动作表。每个表由键(Key)、动作(Action)和动作数据(Action Data)组成。键由包头字段和元数据组成。当数据包进入一个阶段时,并行查询该阶段的所有表。匹配过程: |
集合与逻辑: 匹配表是键值对的集合,匹配过程是查找操作。 |
1. 数据包接收: SerDes接收比特流,转换为数据包,送入Ingress Pipeline。 2. 解析: 解析器根据预定义状态机逐字节解析数据包,提取各层头部字段到包头向量(header vector)。 3. 入口流水线处理: 数据包依次通过多个匹配-动作阶段。在每个阶段,根据包头向量和元数据并行查询所有表,执行匹配的动作(如修改字段、添加元数据)。 4. 流量管理: 数据包进入流量管理器,根据元数据中的出口端口和优先级进入相应的队列。调度器根据QoS策略从队列中取出数据包,发送到Egress Pipeline。 5. 出口流水线处理: 类似入口流水线,进行出口策略处理(如出口ACL、计数)。 6. 逆解析: 逆解析器根据当前有效的头部,将包头向量中的字段序列化为字节流,重新组装成数据包。 7. 数据包发送: 数据包通过SerDes发送到物理链路。 |
硬件: 可编程交换芯片(Intel Tofino, Broadcom Trident系列, NVIDIA Spectrum)。 |
|
Roce-NW-0682 |
交换网版本/架构 |
无阻塞多级交换, Clos拓扑 |
大规模无阻塞Clos交换架构设计与路由模型 |
基于Clos(三级或多级)拓扑构建大规模无阻塞交换网络,提供全带宽连接。模型包括拓扑构造、路由算法(如Valiant Load Balancing)、故障恢复机制,以及如何在此架构上高效运行RoCE等低延迟流量。 |
无阻塞: 任意输入-输出对可同时通信而不干扰。 |
图论, 网络拓扑, 组合设计。 |
超大规模数据中心核心交换层(Spine层), 高性能计算互连, 需要高可扩展性和高带宽的网络。 |
Clos参数: (m, n, r), 其中n为输入/输出交换机端口数,m为中间级交换机数量,r为输入/输出交换机数量。 |
严格无阻塞条件: |
1. Clos拓扑构造: 一个三级Clos网络由输入级(Ingress Stage)、中间级(Middle Stage)和输出级(Egress Stage)交换机组成。设每个输入/输出交换机有n个下行端口连接终端,有m个上行端口连接中间级交换机。共有r个输入交换机和r个输出交换机。总端口数为N = r * n。2. 无阻塞条件证明: a. 严格无阻塞: 在最坏情况下,一个输入交换机上除一个端口外,其他n-1个端口都已占用,且它们连接到不同的中间级交换机。同时,一个输出交换机上除一个端口外,其他n-1个端口也已占用,且也连接到不同的中间级交换机。要建立剩余的一对连接,需要一个新的中间级交换机,因此总共需要 (n-1) + (n-1) + 1 = 2n - 1 个中间级交换机。即 m ≥ 2n - 1。 b. 可重排无阻塞: 允许临时中断现有连接并重新路由,以建立新连接。此时只需要 m ≥ n 即可。3. 路由算法: 在Clos网络中,从输入交换机i到输出交换机j有m条路径(通过m个不同的中间级交换机)。路由算法需要选择一条路径。常用算法包括: a. 确定性路由: 使用哈希函数 |
组合数学: Clos网络是三级互连网络, 无阻塞条件是组合数学问题。 |
1. 拓扑构建: 根据目标端口数N和成本预算,选择参数n, m, r,构建三级Clos网络。 2. 地址分配: 为每个终端分配唯一的地址(如IP地址),地址编码可以反映其连接的输入交换机。 3. 路由表计算: 对于每个输入交换机,计算到每个输出交换机的所有可能路径(通过每个中间级交换机)。 4. 流量转发: 当数据包从终端进入输入交换机时,交换机根据目的地址确定输出交换机j,然后根据路由算法(如哈希或随机)选择一个中间级交换机k,将数据包转发给k。 5. 中间级转发: 中间级交换机k根据目的地址将数据包转发给输出交换机j。 6. 输出级转发: 输出交换机j将数据包发送到目的终端。 7. 故障处理: 当检测到链路故障时,路由协议或控制器重新计算路径,更新转发表,避开故障点。 |
硬件: 商用以太网交换机(如Spine交换机), 高速光模块。 |
|
Roce-NW-0683 |
交换协议 |
数据中心桥接, 优先级流控 |
基于优先级的流量控制协议状态机与死锁避免模型 |
详细描述PFC协议的状态机、帧格式、触发/恢复机制,并建模其在多跳网络中可能引发的死锁问题(如Head-of-Line阻塞死锁),以及通过配置规则(如禁止同一优先级在相邻端口同时启用PFC)和软件机制(如死锁检测与恢复)来避免死锁。 |
按优先级暂停: 八个优先级队列独立控制。 |
有限状态机, 死锁理论, 图论。 |
无损以太网数据中心, 存储网络(NVMe over Fabrics), 高性能计算网络。 |
PFC帧: 包含启用位向量、时间参数(pause_time)。 |
PFC触发条件: |
1. PFC协议细节: PFC是IEEE 802.1Qbb标准,基于802.3x PAUSE帧扩展。PFC帧包含一个8位的启用向量(每个优先级一位)和一个暂停时间(pause_time,以量子为单位,1量子=512比特时间)。当接收方收到PFC XOFF帧时,停止发送指定优先级的数据,直到收到XON帧(pause_time=0)或计时器超时。2. 状态机建模: 对于每个优先级队列,有两个主要状态:XON和XOFF。 a. XON状态: 可以发送数据。当本地队列深度超过阈值时,向上一跳发送PFC XOFF帧,并进入XOFF状态。 b. XOFF状态: 停止发送数据。当收到PFC XON帧或本地队列深度低于恢复阈值时,向上一跳发送PFC XON帧(如果需要),并返回XON状态。3. 死锁形成分析: 考虑一个简单的两跳拓扑:Server A -> Switch1 -> Switch2 -> Server B。假设所有链路都启用了PFC优先级3。如果Switch2的出口队列拥塞,它会向Switch1发送PFC XOFF。Switch1停止向Switch2发送优先级3的数据,但Switch1可能正在从Server A接收优先级3的数据,这些数据在Switch1的入口队列堆积。如果Switch1的入口队列也触发了PFC,它会向Server A发送PFC XOFF。这不会导致死锁。死锁发生在更复杂的拓扑中,例如环状依赖:Port1的优先级3等待Port2释放缓冲区,而Port2的优先级3又在等待Port1。4. 死锁避免配置规则: 一个常见的规则是:在任意两个直接相连的端口之间,不能在同一优先级上同时启用PFC。即,如果端口A向端口B启用了PFC优先级p,则端口B不能向端口A启用PFC优先级p。这打破了循环依赖的可能性。5. 死锁检测与恢复: 软件可以监控PFC触发计数和队列状态。如果某个队列长时间处于XOFF状态且没有数据被发送,可能发生死锁。恢复机制可以包括:临时禁用PFC、丢弃部分数据包以打破僵局、或通过控制平面发送特殊帧重置状态。6. 参数选择: PFC触发阈值(XOFF阈值)和恢复阈值(XON阈值)需要仔细设置。通常,XOFF阈值设置为队列总深度的50%-70%,XON阈值设置为XOFF阈值的30%-50%。阈值设置过小会导致不必要的PFC触发,过大则会导致延迟增加和缓冲区压力。变量/常量: Q_p: 优先级p的队列深度。 Thresh_XOFF_p: 优先级p的XOFF阈值。 Thresh_XON_p: 优先级p的XON阈值。 pause_time: PFC帧中的暂停时间。 state_p: 优先级p的状态(XON或XOFF)。 |
逻辑: 状态机基于条件转换。 |
1. 队列监控: 交换机硬件持续监控每个优先级队列的深度。 2. 触发判断: 如果某个优先级队列的深度超过XOFF阈值,则生成PFC XOFF帧,帧中设置对应优先级的启用位,并计算pause_time(通常基于队列超限程度)。 3. 帧发送: 将PFC帧发送给上一跳设备(目的MAC为组播地址01-80-C2-00-00-01)。 4. 状态转换: 本地进入XOFF状态,停止发送该优先级的数据。 5. 恢复判断: 当队列深度低于XON阈值时,生成PFC XON帧(pause_time=0)发送给上一跳。 6. 状态恢复: 收到XON帧或本地触发恢复后,返回XON状态,恢复发送。 7. 死锁避免检查: 配置时检查所有相邻端口对的PFC优先级启用情况,确保不违反“禁止双向同优先级PFC”规则。 |
硬件: 支持PFC的以太网交换芯片和网卡。 |
|
Roce-NW-0684 |
流量工程 |
软件定义网络, 全局优化 |
基于SDN的全局流量工程与带宽预留模型 |
利用SDN控制器集中收集全网拓扑和流量需求,通过线性规划或启发式算法计算最优的端到端路径和带宽分配,为RoCE等关键流量提供有保证的带宽和低延迟路径,同时最大化网络整体利用率。 |
集中控制: SDN控制器拥有全局视图。 |
线性规划, 网络流优化, 图论。 |
数据中心网络, 混合关键性流量(RoCE与普通TCP共存), 需要满足SLA的网络切片。 |
网络拓扑: 有向图G=(V,E), 边容量为c(e)。 |
多商品流问题: |
1. 问题建模: 给定网络拓扑G=(V,E),每条边e有容量c(e)。给定一组流量需求K={(s1,t1,d1), (s2,t2,d2), ...},其中(s,t)是源-目的对,d是带宽需求。目标是找到每条需求的路径(或路径集合)和带宽分配,使得所有链路负载不超过其容量,同时优化某个目标(如最小化最大链路利用率、最小化总延迟)。这是一个多商品流问题。2. 线性规划公式: 变量:对于每个需求k和每条可能路径p∈P_k,设x{kp}为分配给路径p的流量。目标:最小化最大链路利用率θ。约束: a. 需求满足: Σ{p∈P_k} x{kp} = d_k, 对于所有需求k。 b. 容量约束: Σ{k} Σ{p∈P_k: e∈p} x{kp} ≤ c(e), 对于所有边e。 c. 链路利用率: Σ{k} Σ{p∈P_k: e∈p} x{kp} ≤ θ * c(e), 对于所有边e。 d. 非负: x{kp} ≥ 0。3. 求解方法: 由于路径数量可能指数增长,直接求解LP可能不可行。常用方法: a. 列生成: 初始只考虑少量路径,通过求解子问题(最短路径问题)生成新的、可能改善目标的路径,迭代直到最优。 b. 启发式算法: 如先分配大的需求,使用最短路径,如果链路容量不足,则调整已有路径。4. 路径选择与拆分: 允许将单个需求拆分到多条路径(多路径路由)。这可以提高灵活性和利用率。对于RoCE流量,由于需要保证有序,可能更倾向于单一路径或使用支持乱序交付的传输层。5. 带宽预留实现: 控制器计算好路径和带宽分配后,通过OpenFlow或P4 Runtime下发流表项到交换机。流表项匹配流量特征(如DSCP、源/目的IP),并设置动作:转发到指定端口,并可能通过计量器(meter)限制速率以保证带宽预留。6. 动态调整: 流量需求可能随时间变化。控制器可以周期性(如每5分钟)重新计算优化问题,并根据结果更新流表。7. 参数优化: 目标函数中的权重可以调整,以权衡不同目标(如利用率 vs. 延迟)。对于RoCE流量,可以在目标函数中加入延迟项,惩罚经过跳数多的路径。变量/常量: G=(V,E): 网络拓扑图。 c(e): 边e的容量。 K: 流量需求集合。 d_k: 需求k的带宽。 P_k: 需求k的所有可能路径集合。 x_{kp}: 分配给需求k路径p的流量(决策变量)。 θ: 最大链路利用率(决策变量)。 |
线性规划: 问题可以表述为线性规划。 |
1. 拓扑发现: SDN控制器通过LLDP或BGP-LS收集全网拓扑和链路容量。 2. 流量需求收集: 通过NetFlow/sFlow或主动探测获取流量矩阵D,或由应用/租户主动提交带宽预留请求。 3. 优化求解: 控制器运行优化算法(如线性规划求解器或启发式算法),为每个流量需求计算路径和带宽分配。 4. 流表生成: 将优化结果转化为具体的流表项,包括匹配字段、动作(输出端口、计量器ID)。 5. 流表下发: 通过南向接口(如OpenFlow)将流表项下发到路径上的所有交换机。 6. 监控与调整: 持续监控链路利用率和流量变化。如果利用率超过阈值或需求变化,触发重新计算和流表更新。 |
软件: SDN控制器(如ONOS, OpenDaylight), 线性规划求解器(如Gurobi, CPLEX), 网络监控工具(如sFlow, NetFlow)。 |
|
Roce-NW-0685 |
流量整形 |
令牌桶, 速率限制 |
分层令牌桶流量整形与调度模型 |
使用令牌桶算法对流量进行整形和监管,确保流量符合预定的速率(承诺信息速率CIR和峰值信息速率PIR)。模型包括多个层次的令牌桶(如双桶或三桶),以及它们与调度器(如SP+WRR)的结合,实现对RoCE流量带宽的精确保证和突发容忍。 |
速率限制: 强制流量不超过指定速率。 |
排队论, 漏桶算法, 令牌桶算法。 |
网络出口流量整形, 保证RoCE流量的带宽, 服务等级协议(SLA)遵守。 |
令牌桶参数: CIR (承诺信息速率), CBS (承诺突发大小), PIR (峰值信息速率), PBS (峰值突发大小)。 |
令牌更新: |
1. 令牌桶原理: 令牌桶是一个容器,以恒定速率(CIR)产生令牌,最多容纳CBS个令牌。数据包需要获取足够数量的令牌(等于包字节数)才能被发送。如果令牌不足,数据包将被缓存或丢弃。这确保了长期平均速率不超过CIR,但允许短时间突发不超过CBS。双桶模型增加了一个峰值桶(PIR, PBS),提供更灵活的整形。2. 分层整形架构: 在交换机中,流量整形可以在多个层次进行: a. 端口级整形: 限制整个端口的出口总速率。 b. 队列级整形: 限制某个优先级队列的速率。 c. 流级整形: 限制单个流的速率。通常,令牌桶以层次化方式组织,例如先进行流级整形,再进行队列级整形。3. 令牌生成与消耗的离散事件模拟: 设当前时间为t,承诺令牌数为B_c(t),峰值令牌数为B_p(t)。当大小为L的数据包到达时: a. 如果 L ≤ B_c(t),则数据包被标记为绿色(符合承诺速率),从承诺桶中扣除L个令牌:B_c(t) = B_c(t) - L。 b. 否则,如果 L ≤ B_p(t),则数据包被标记为黄色(超过承诺但符合峰值速率),从峰值桶中扣除L个令牌:B_p(t) = B_p(t) - L。 c. 否则,数据包被标记为红色(超过峰值速率),可能被丢弃或进行其他处理。4. 令牌生成过程: 令牌以恒定速率生成。在离散时间模型中,每隔固定时间间隔Δt,更新令牌数:B_c(t+Δt) = min(CBS, B_c(t) + CIR * Δt)。类似地,B_p(t+Δt) = min(PBS, B_p(t) + PIR * Δt)。5. 与调度器结合: 整形后的数据包进入调度器(如SP+WRR)。绿色和黄色的包可能进入不同的优先级队列。调度器根据优先级和权重决定发送顺序。6. 参数选择: CIR根据SLA设置。CBS通常设置为CIR * T,其中T是允许的突发时间(如10ms)。PIR可以设置为端口线速或更高。PBS设置类似。7. 实现细节: 在硬件中,令牌桶通常用计数器和定时器实现。计数器表示当前令牌数,定时器周期性触发令牌添加。当数据包通过时,计数器减少。变量/常量: CIR: 承诺信息速率(字节/秒)。 CBS: 承诺突发大小(字节)。 PIR: 峰值信息速率(字节/秒)。 PBS: 峰值突发大小(字节)。 B_c(t): 时刻t承诺桶中的令牌数。 B_p(t): 时刻t峰值桶中的令牌数。 L: 数据包大小(字节)。 Δt: 令牌更新周期(如1微秒)。 |
连续与离散: 令牌生成是连续的,但模拟中离散化。 |
1. 令牌初始化: 初始化承诺令牌桶和峰值令牌桶为满(B_c = CBS, B_p = PBS)。 2. 令牌生成: 每隔Δt时间,为承诺桶增加CIR * Δt个令牌(不超过CBS),为峰值桶增加PIR * Δt个令牌(不超过PBS)。 3. 包到达: 数据包到达整形器,大小为L。 4. 标记决策: 检查承诺令牌桶:如果B_c ≥ L,则标记为绿色,B_c = B_c - L;否则检查峰值令牌桶:如果B_p ≥ L,则标记为黄色,B_p = B_p - L;否则标记为红色。 5. 动作执行: 绿色包直接进入调度队列;黄色包可能进入较低优先级队列或进行降级;红色包可能被丢弃或进行策略定义的动作(如打标但不保证)。 6. 调度: 调度器根据包的标记和优先级,从队列中选择包发送。 7. 计数与统计: 记录每种颜色包的数量和字节数,用于监控和计费。 |
硬件: 支持层次化流量整形的交换芯片(如带有双令牌桶的流量管理器)。 |
|
编号 |
领域 |
核心理论 |
模型/协议/算法名称 |
目标与描述 |
精度与特征 |
理论基础 |
应用场景 |
数学要素 |
关键方程/状态机 |
定理/算法/模型/方法的逐步思考推理过程及每一个步骤的数学方程式和参数选择/参数优化、时序和软件/硬件交互流程的所有细节和算法/分步骤时序情况及数学方程式、变量/常量/参数列表及说明 |
数学特征 |
实现步骤/工作流程 |
软硬件工具 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Roce-NW-0686 |
拥塞控制 |
基于速率的端到端拥塞控制 |
RoCEv2拥塞控制协议 (RCP) 模型 |
描述RoCEv2协议中基于速率调整的拥塞控制机制。通过接收端生成的拥塞通知包(CNP)反馈网络拥塞状态,发送端根据CNP频率动态调整发送速率,实现在无损以太网中的高效、低延迟传输。 |
速率自适应: 发送速率根据拥塞反馈动态调整。 |
控制理论, 反馈系统, 优化理论。 |
无损RoCE网络, AI训练和存储集群, 需要高吞吐和低延迟的数据中心。 |
发送速率: R(t) (字节/秒)。 |
速率更新方程: |
1. 问题建模: 目标是在避免网络拥塞的同时最大化吞吐量。将网络视为一个黑盒,发送端通过CNP反馈了解拥塞状态。这是一个典型的反馈控制系统。2. 速率调整算法: 发送端维护当前速率R。当收到CNP时,表明路径上发生了拥塞,需要降低速率: |
控制理论: 闭环反馈系统, 稳定性分析需考虑延迟。 |
1. 数据包发送: 发送端以当前速率R发送RoCEv2数据包。 2. 拥塞检测: 交换机监控出口队列长度。当长度超过Kmin时,以概率P标记数据包的ECN位。 3. CNP生成: 接收端收到ECN标记的数据包后,生成CNP包并发送回源端。 4. CNP接收: 发送端收到CNP包,解析拥塞信息。 5. 速率调整: 如果收到CNP,则 |
硬件: 支持ECN和CNP生成的交换芯片, 支持速率限制的RoCE网卡。 |
|
Roce-NW-0687 |
负载均衡 |
流量感知自适应路由 |
流量感知自适应路由 (TAAR) 模型 |
根据网络链路的实时负载(如带宽利用率、队列长度)动态选择路由路径,避免拥塞链路,实现负载均衡和低延迟。模型包括负载测量、路径成本计算和路由决策。 |
动态感知: 基于实时负载指标。 |
图论, 最短路径算法, 控制理论。 |
数据中心网络(Leaf-Spine), 动态流量模式, 需要低延迟和均衡负载的网络。 |
链路成本: C(l) = f(utilization(l), queue_depth(l))。 |
链路成本函数: |
1. 负载测量: 每个交换机周期性地测量其每个端口的出口链路利用率u(l)和队列深度q(l)。利用率可以通过统计一段时间内发送的字节数除以链路容量得到。队列深度可以直接从硬件计数器读取。2. 成本计算: 为每条链路l计算一个成本C(l)。成本函数应使得拥塞链路的成本更高。例如: |
图论: 网络是带权图, 路由是最短路径问题。 |
1. 负载测量: 每个交换机周期性地测量各端口的利用率和队列深度。 2. 成本更新: 根据测量值更新本地链路成本。如果成本变化超过阈值,则触发更新。 3. 信息分发: 通过路由协议(如OSPF LSA)将更新的链路状态信息洪泛到全网。 4. 拓扑维护: 每个交换机根据收到的链路状态信息构建全网拓扑图,并计算到所有目的地的最短路径树。 5. 路由决策: 当新流到达时,根据最短路径树选择出口端口。对于已有流,定期检查当前路径成本是否远高于最优路径成本(考虑滞后),如果是,则触发重路由。 6. 流表更新: 将路由决策编程到交换机的流表中。 |
硬件: 支持链路利用率监控的交换芯片。 |
|
Roce-NW-0688 |
流量工程 |
线性规划, 多商品流 |
最小化最大链路利用率 (MMLU) 模型 |
通过线性规划优化流量分配,使得所有链路的最大利用率最小化,从而平衡网络负载,避免局部拥塞,提高整体网络吞吐量和鲁棒性。 |
全局优化: 基于全局流量矩阵和拓扑。 |
线性规划, 网络流优化, 对偶理论。 |
数据中心骨干网, 流量工程, 网络规划与扩容。 |
决策变量: x{sd}^{l} (从s到d的流量在链路l上的比例)。 |
线性规划形式: |
1. 问题建模: 给定网络拓扑G=(V,E),链路容量c_l,流量需求矩阵D=[d{sd}],其中d{sd}是从节点s到节点d的流量需求。目标是找到流量分配方案,使得所有链路的利用率的最大值最小化。这是一个多商品流问题。2. 线性规划公式: 变量:θ(最大链路利用率),x{sd}^{l}(从s到d的流量在链路l上分配的比例)。目标:最小化θ。约束: a. 流守恒: 对于每个商品(s,d)和每个节点v,流入等于流出,除非v是源或目的。 b. 容量约束: 对于每条链路l,所有商品的流量之和不超过θ * c_l。 c. 非负: x{sd}^{l} ≥ 0。3. 求解方法: 使用线性规划求解器(如单纯形法、内点法)求解上述LP。由于变量数量可能很大(O( |
V |
^2 * |
E |
|
Roce-NW-0689 |
QoS |
差分服务, 带宽保证 |
基于类的加权公平队列 (CBWFQ) 模型 |
将流量划分为多个类(Class),每个类分配一个带宽权重或保证带宽。调度器按照权重为每个类提供服务,确保每个类获得其保证的带宽,同时允许超额带宽按照权重共享。 |
带宽保证: 每个类获得最小带宽保证。 |
排队论, 公平队列, 加权公平队列。 |
企业网络, 数据中心QoS, 需要为关键应用(如VoIP, RoCE)提供带宽保证的场景。 |
类别数量: N。 |
调度规则: 首先保证每个类获得其保证带宽B_i。剩余带宽R按权重分配:类i获得的额外带宽为 |
1. 分类与队列: 数据包根据DSCP、源/目的IP、端口等字段分类到N个不同的队列。每个队列对应一个类。2. 带宽保证机制: 为每个类i配置一个保证带宽B_i。调度器确保在任意时间窗口T内,类i获得的带宽至少为B_i * T,前提是类i有数据要发送。3. 超额带宽分配: 如果某些类没有使用完其保证带宽,这些未使用的带宽称为超额带宽。超额带宽按照各类的权重w_i进行分配。权重越高,获得的超额带宽比例越大。4. 调度算法实现: 一种实现方式是使用虚拟时间(Virtual Time)。每个类i维护一个虚拟开始时间S_i和虚拟完成时间F_i。当类i有数据包到达时, |
公平性: 加权公平队列保证长期公平性。 |
1. 分类: 数据包到达时,根据预定义的分类规则(如ACL)将其映射到相应的类队列。 2. 入队: 数据包进入对应的类队列。 3. 调度决策: 调度器维护每个类的虚拟完成时间F_i。当需要发送下一个数据包时,调度器从所有有数据包的类中选择F_i最小的类。 4. 服务: 从选中的类队列头部取出一个数据包发送。 5. 虚拟时间更新: 发送后,更新该类的虚拟完成时间: |
硬件: 支持CBWFQ的交换芯片和路由器(如Cisco ASR系列)。 |
|
Roce-NW-0690 |
网络资源分配 |
博弈论, 公平分配 |
纳什议价解 (NBS) 带宽分配模型 |
将网络中的带宽分配建模为一个合作博弈问题,利用纳什议价解(Nash Bargaining Solution)来分配带宽,使得分配结果满足帕累托最优性、对称性、独立于无关替代品和线性变换不变性,从而实现公平且高效的带宽分配。 |
公平性: 满足纳什公平公理。 |
博弈论, 合作博弈, 纳什议价。 |
网络切片, 多租户数据中心, 需要公平分配带宽的场景。 |
玩家集合: N (流或用户)。 |
纳什议价解: |
1. 问题建模: 有N个用户(或流)竞争网络带宽。每个用户i有一个效用函数U_i(x_i),表示分配带宽x_i给用户i带来的满意度。如果用户无法达成协议,则每个用户获得 disagreement utility d_i(通常为0)。可行集S是所有满足网络容量约束的带宽分配向量的集合。2. 纳什议价解: NBS是解决合作博弈的一种方案,它最大化所有玩家效用增量的乘积: |
优化: NBS是一个带约束的优化问题。 |
1. 问题建模: 识别网络中的用户(流)和资源(链路带宽),定义效用函数U_i和 disagreement point d_i。 2. 集中式求解: 收集所有信息,求解优化问题 |
软件: 凸优化求解器(CVX, Gurobi), 分布式算法实现, SDN控制器。 |
|
Roce-NW-0691 |
性能预测 |
排队论, 马尔可夫链 |
M/M/1/K 排队网络模型 |
使用M/M/1/K队列(泊松到达、指数服务时间、单个服务器、有限容量K)的排队网络来建模数据中心的网络节点,预测端到端延迟、丢包率和吞吐量,为容量规划和性能评估提供理论依据。 |
解析解: M/M/1/K队列有闭合形式的解。 |
排队论, 随机过程, 生灭过程。 |
网络性能分析, 交换机缓冲区大小设计, 网络仿真与规划。 |
到达率: λ (包/秒)。 |
稳态概率: |
1. 模型假设: 假设每个网络节点(如交换机输出端口)可以建模为一个M/M/1/K队列。数据包到达过程是泊松过程,速率为λ。服务时间(即数据包传输时间)服从指数分布,平均服务时间为1/μ,因此服务率为μ。系统容量为K,包括一个正在服务的包和K-1个在队列中等待的包。当系统中有K个包时,新到达的包将被丢弃。2. 状态转移图: 系统状态n表示系统中的包数(0 ≤ n ≤ K)。从状态n到n+1的转移率为λ(到达),从状态n到n-1的转移率为μ(离开)。这是一个有限状态的生灭过程。3. 稳态平衡方程: 对于状态n,流入率等于流出率: |
概率与统计: 泊松过程, 指数分布, 生灭过程。 |
1. 参数获取: 测量或估计到达率λ、平均包长、链路速率(从而计算服务率μ),以及缓冲区大小K。 2. 计算流量强度: ρ = λ/μ。 3. 计算稳态概率: 如果ρ≠1,计算p_0 = (1-ρ)/(1-ρ^{K+1}),然后p_n = ρ^n * p_0 for n=1,...,K。如果ρ=1,p_n = 1/(K+1) for all n。 4. 计算丢包率: P_loss = p_K。 5. 计算有效到达率: λ_eff = λ * (1 - P_loss)。 6. 计算平均队列长度: L = Σ_{n=0}^{K} n * p_n。 7. 计算平均延迟: W = L / λ_eff。 8. 网络扩展: 对于排队网络,先求解每个节点的流量方程得到每个队列的到达率,然后对每个队列单独应用M/M/1/K公式,最后合并结果。 |
软件: 排队论计算工具(如MATLAB, Python with SciPy), 网络仿真器(NS-3, OMNeT++)。 |
|
Roce-NW-0692 |
能耗优化 |
动态电压频率调整, 睡眠调度 |
能量感知路由与调度 (EARS) 模型 |
在满足性能约束(如延迟、吞吐量)的前提下,通过动态关闭空闲链路、调整交换机端口的供电状态(睡眠、低功耗、活跃)以及选择能耗更低的路由路径,最小化整个网络的能量消耗。 |
能量节省: 通过休眠空闲设备降低能耗。 |
组合优化, 动态规划, 约束满足。 |
绿色数据中心, 能源成本敏感的网络, 流量具有明显峰谷模式的数据中心。 |
设备状态: s ∈ {SLEEP, LOW_POWER, ACTIVE}。 |
目标函数: |
1. 能耗模型: 网络设备(交换机、链路)的能耗与其状态和负载相关。对于链路,能耗模型可以简化为: |
组合优化: 设备状态选择是0-1整数 |
|
编号 |
领域 |
核心理论 |
模型/协议/算法名称 |
目标与描述 |
精度与特征 |
理论基础 |
应用场景 |
数学要素 |
关键方程/状态机 |
定理/算法/模型/方法的逐步思考推理过程及每一个步骤的数学方程式和参数选择/参数优化、时序和软件/硬件交互流程的所有细节和算法/分步骤时序情况及数学方程式、变量/常量/参数列表及说明 |
数学特征 |
实现步骤/工作流程 |
软硬件工具 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Roce-NW-0693 |
交换芯片架构 |
多级交换, 信元交换 |
基于信元交换的负载均衡交换矩阵模型 |
交换芯片内部将数据包分割为固定长度的信元,通过交换矩阵进行调度和传输,最后在输出端口重组。该模型描述信元交换的整个过程,包括信元分割、队列管理、调度算法和重组机制,以及如何实现高吞吐量和低延迟。 |
固定长度: 信元长度固定,便于调度。 |
排队论, 调度算法, 组合数学。 |
高性能交换芯片, 路由器核心交换, 需要高吞吐量的网络设备。 |
信元长度: L_c (字节)。 |
调度约束: 每个输入在每个调度周期最多发送一个信元,每个输出在每个调度周期最多接收一个信元。 |
1. 信元分割: 当数据包到达输入端口,如果包长超过信元长度L_c,则被分割成多个信元。每个信元加上内部头(包含输出端口、序列号等信息)形成内部信元。2. 虚拟输出队列: 每个输入端口为每个输出端口维护一个队列(VOQ),即Q_in(i,o)。信元根据目的输出端口进入相应的VOQ。这解决了HOL阻塞。3. 调度算法: 交换矩阵的调度器每个时隙(T_slot)选择一组不冲突的匹配(每个输入最多连接一个输出,每个输出最多连接一个输入)。常用的调度算法包括:轮询、iSLIP、最大匹配等。4. 信元传输: 被选中的信元通过交换矩阵传输到输出端口。交换矩阵可以是crossbar、共享内存或多级结构。5. 重组: 输出端口收到属于同一个数据包的所有信元后,根据序列号重组为原始数据包。6. 性能分析: 在均匀流量下,iSLIP等算法可以在几次迭代后达到100%吞吐量。对于非均匀流量,需要更复杂的调度算法。7. 参数选择: 信元长度通常为64字节(包括内部头)。时隙T_slot = L_c / 链路速率。例如,对于40Gbps链路和64字节信元,T_slot = 12.8 ns。变量/常量: L_c: 信元长度(字节)。 N: 输入/输出端口数。 Q_in(i,o): 输入i到输出o的VOQ队列长度(信元数)。 T_slot: 一个时隙的时间(秒)。 |
组合优化: 调度是二分图匹配问题。 |
1. 信元分割: 输入端口收到数据包,分割为固定长度信元,加上内部头。 2. 入队: 根据内部头中的输出端口,将信元放入对应的VOQ。 3. 调度请求: 每个输入端口向调度器报告其非空的VOQ。 4. 调度决策: 调度器运行调度算法(如iSLIP),产生输入到输出的匹配。 5. 信元传输: 根据匹配结果,输入端口将信元通过交换矩阵发送到输出端口。 6. 重组: 输出端口按序列号重组信元为数据包,移除内部头。 7. 包传输: 将重组后的数据包发送到输出链路。 |
硬件: 支持信元交换的交换芯片(如Broadcom StrataXGS)。 |
|
Roce-NW-0694 |
交换协议 |
多路径传输, 负载均衡 |
等价多路径路由 (ECMP) 哈希模型 |
在存在多条等价路径的网络中,通过哈希数据包头部字段(如五元组)将流量分散到不同路径,以实现负载均衡。模型描述哈希函数的设计、哈希冲突的处理以及路径失效时的重哈希机制。 |
负载均衡: 流量均匀分布在多条路径上。 |
哈希函数, 概率论, 组合数学。 |
数据中心Clos网络, 路由器和交换机的负载均衡, 任何多路径网络。 |
路径数量: N。 |
哈希函数: |
1. 哈希键选择: 为了保持流内有序,同一个流的数据包必须选择相同的路径。因此,哈希键应选择能够唯一标识流的字段,通常使用五元组(源IP、目的IP、源端口、目的端口、协议)。对于隧道封装的数据包,可能需要使用内层头部。2. 哈希函数: 哈希函数应具有良好的均匀性,使得不同流的哈希值均匀分布在0到N-1之间。常用的哈希函数包括CRC32、Bhash(jhash)等。对于简单模型,可以使用线性哈希: |
哈希: 将大空间映射到小空间。 |
1. 提取哈希键: 解析数据包头部,提取五元组。 2. 计算哈希值: 对五元组应用哈希函数H,得到哈希值h。 3. 计算路径索引: 计算 |
硬件: 支持ECMP的交换芯片和路由器。 |
|
Roce-NW-0695 |
网络数据处理 |
包喷洒 (Packet Spraying) |
基于包喷洒的多路径负载均衡模型 |
将单个流的数据包分散到所有可用路径上,以最大化利用多路径带宽并减少流的完成时间。该模型描述包喷洒的机制、乱序问题及其解决方案(如接收端重排序)。 |
高带宽利用率: 充分利用所有路径的带宽。 |
概率论, 排队论, 随机过程。 |
数据中心网络, 高性能计算, 需要最大化吞吐量的应用。 |
路径数量: N。 |
路径选择: 对每个包,随机选择一条路径,或轮询选择。 |
1. 包喷洒机制: 当数据包到达发送端,发送端从N条可用路径中随机选择一条(或轮询),然后将数据包发送到该路径。每个包独立选择路径。2. 吞吐量增益: 假设各路径容量相等且独立,则单个流的吞吐量可以接近N倍单路径容量。3. 乱序问题: 由于各路径的排队延迟和传播延迟不同,后发送的包可能先到达,导致乱序。乱序会触发TCP的重传机制,降低性能。对于RoCE,乱序也会导致接收端处理复杂。4. 重排序缓冲区: 接收端维护一个重排序缓冲区(ROB),按照序列号重新排序数据包后再提交给上层。ROB需要足够大以容纳乱序的包。5. 延迟分析: 假设各路径延迟为随机变量,则包的端到端延迟为所选路径的延迟。由于路径选择是随机的,包的延迟分布是各路径延迟分布的混合。6. 路径选择策略: 随机选择简单,但可能导致瞬时负载不均衡。轮询(Round-Robin)可以保证各路径包数量均衡,但仍可能由于包大小不同导致字节数不均衡。更高级的策略可以基于路径的当前队列长度进行选择。7. 参数优化: 重排序缓冲区的大小需要根据路径延迟差和带宽延迟积来设置。如果缓冲区太小,会导致丢包或阻塞;太大则增加内存开销。变量/常量: N: 路径数量。 p_i: 选择路径i的概率(随机选择时p_i=1/N)。 D_i: 路径i的延迟(随机变量)。 B: 重排序缓冲区大小(包数)。 |
随机变量: 路径延迟是随机变量, 路径选择是随机的。 |
1. 路径选择: 发送端为每个数据包随机(或轮询)选择一条路径。 2. 发送: 将数据包发送到所选路径。 3. 接收: 接收端从各路径接收数据包,由于延迟差异,包可能乱序到达。 4. 重排序: 接收端将包放入重排序缓冲区,按照序列号排序。 5. 递交: 当序列号连续时,将有序的包提交给上层。 6. 缓冲区管理: 如果缓冲区满,则丢弃最旧的包或通知发送端减速。 |
硬件: 支持多路径转发的交换机和路由器, 支持重排序的网卡。 |
|
Roce-NW-0696 |
队列管理 |
主动队列管理, 随机早期检测 |
随机早期检测 (RED) 队列管理模型 |
通过随机丢弃或标记到达的数据包来避免TCP全局同步和队列溢出,从而维持较小的平均队列长度和低延迟。模型描述平均队列长度的计算、丢弃概率函数以及参数设置。 |
随机丢弃: 以概率丢弃包,避免全局同步。 |
控制理论, 随机过程, 排队论。 |
路由器队列管理, 与TCP协同避免拥塞, 数据中心网络。 |
平均队列长度: q_avg。 |
平均队列更新: |
1. 平均队列长度计算: RED使用指数加权移动平均(EWMA)来平滑瞬时队列长度的波动: |
指数加权平均: 平均队列是指数加权移动平均。 |
1. 队列更新: 当数据包到达时,更新瞬时队列长度q(加1)。 2. 计算平均队列: 更新平均队列长度:q_avg = (1 - w_q) * q_avg + w_q * q。 3. 丢弃决策: 如果q_avg < min_th,不丢弃;如果q_avg > max_th,丢弃;否则,计算丢弃概率p = max_p * (q_avg - min_th)/(max_th - min_th),并以概率p丢弃该包。 4. 入队: 如果未丢弃,则将包放入队列。 5. 出队: 当链路空闲时,从队列头部取包发送。 6. 参数调整: 可动态调整参数,如Adaptive-RED根据目标队列长度调整max_p。 |
硬件: 支持RED的交换芯片和路由器。 |
|
Roce-NW-0697 |
网络资源分配 |
最大最小公平分配 |
最大最小公平带宽分配模型 |
在多个流共享网络资源时,按照最大最小公平准则分配带宽:在满足所有流的需求下,尽可能提高最低分配,然后次低,以此类推。该模型描述最大最小公平的定义、计算方法和性质。 |
公平性: 所有流获得公平的份额。 |
优化理论, 公平性, 水资源分配。 |
网络带宽分配, 多用户资源共享, QoS保证。 |
流集合: F = {1, 2, ..., N}。 |
最大最小公平定义: 分配向量x是最大最小公平的,如果对于任何流i,如果增加x_i,必然导致某个x_j (x_j ≤ x_i)减少。 |
1. 定义: 一个分配向量x是最大最小公平的,如果它是可行的(满足容量约束),并且对于任何其他可行分配y,如果存在某个流i使得y_i > x_i,那么必然存在某个流j使得y_j < x_j 且 x_j ≤ x_i。换句话说,你无法在不让一个更小或相等的分配变少的情况下增加任何一个流的分配。2. 计算方法: 最大最小公平分配可以通过“加水算法”迭代计算。假设有N个流共享容量为C的链路,每个流i的需求为d_i。算法步骤: a. 初始化所有流为未满足。 b. 计算公平份额f = 剩余容量 / 未满足流数量。 c. 对于每个未满足流i,如果d_i ≤ f,则分配x_i = d_i,标记为已满足,并从剩余容量中减去d_i。 d. 如果所有流都满足,则结束;否则,返回步骤b。3. 多链路网络: 对于多链路网络,最大最小公平分配可以通过线性规划求解。目标是在链路容量约束下最大化最小分配。也可以使用分布式算法,如基于价格的算法。4. 性质: 最大最小公平分配是唯一的。它倾向于保护小流量流,而限制大流量流。5. 参数: 流需求d_i可以是实际需求或无穷大(贪婪流)。链路容量约束是线性约束。6. 与比例公平的关系: 最大最小公平是α-公平当α→∞时的特例。比例公平是α=1时的特例。7. 应用: 在计算机网络中,TCP的拥塞控制近似实现了最大最小公平。在SDN中,可以通过集中式计算最大最小公平分配,然后通过流量整形实现。变量/常量: N: 流数量。 d_i: 流i的需求(如果未知,可设为无穷大)。 C: 链路容量(或多链路网络的容量向量)。 x_i: 流i的分配(决策变量)。 f: 公平份额。 |
优化: 最大最小公平可以表述为最大化最小分配(max-min)的优化问题。 |
1. 收集信息: 收集所有流的需求d_i和网络拓扑(链路容量C_l)。 2. 求解最大最小公平分配: 使用加水算法(单链路)或线性规划(多链路)计算分配x_i。 3. 实施分配: 在交换机上通过流量整形或速率限制实施分配x_i。 4. 监控与调整: 监控实际流量,如果需求变化,重新计算分配。 |
软件: 线性规划求解器, 加水算法实现, SDN控制器。 |
|
Roce-NW-0698 |
性能预测 |
网络演算, 确定性排队论 |
网络演算 (Network Calculus) 端到端延迟上界模型 |
使用网络演算理论,通过流的到达曲线和节点的服务曲线,推导出流经多个网络节点的端到端延迟上界。该模型提供最坏情况下的性能保证,适用于实时和关键任务网络。 |
最坏情况保证: 提供延迟上界,而非平均延迟。 |
网络演算, 最小加代数, 排队论。 |
实时网络, 工业控制, 航空电子, 需要确定性延迟的网络。 |
到达曲线: α(t) = b + rt (漏桶约束)。 |
延迟上界: 对于到达曲线α和服务曲线β,延迟上界为 |
1. 基本概念: 网络演算使用最小加代数(min-plus algebra)来描述数据流的到达和服务。流的到达过程用到达曲线α(t)约束,表示在任意时间区间[s, s+t]内到达的数据量不超过α(t)。节点的服务能力用服务曲线β(t)描述,保证节点在任意时间区间[s, s+t]内服务的数量至少为β(t)。2. 延迟上界: 如果一个流以到达曲线α(t)到达,并经过一个服务曲线为β(t)的节点,则其延迟上界为D_max = max{t≥0} {inf{τ≥0: α(t) ≤ β(t+τ)}}。直观地说,延迟是水平方向α(t)和β(t)之间的最大水平距离。3. 常见曲线: a. 到达曲线: 漏桶模型:α(t) = b + rt,其中b是突发容量,r是平均速率。 b. 服务曲线: 速率延迟服务器:β(t) = R(t - T)^+,其中R是服务速率,T是处理延迟。4. 串联节点: 如果流经过多个节点,每个节点提供服务曲线β_i,则整个系统提供的服务曲线是各服务曲线的卷积(在最小加代数下):β_total = β_1 ⊗ β_2 ⊗ ... ⊗ β_n。对于速率延迟服务器,如果每个节点有参数(R_i, T_i),则总服务曲线为β_total(t) = R*(t - T_total)^+,其中R = min_i R_i,T_total = Σ_i T_i + Σ{i=1}^{n-1} b_i / R_i,b_i是流在节点i的突发。5. 端到端延迟上界: 对于漏桶到达曲线和串联的速率延迟服务器,端到端延迟上界为D_total = Σ_i T_i + b / R,其中R是瓶颈链路速率,b是初始突发。6. 参数选择: 到达曲线的参数b和r可以通过测量或规范得到。服务曲线的参数R和T由网络设备性能决定,如链路速率和交换机处理延迟。7. 应用: 网络演算可用于为关键流量提供延迟上界保证。通过流量整形(如令牌桶)约束流的到达曲线,并通过资源预留(如保证服务速率)提供服务曲线,可以计算延迟上界。变量/常量: α(t): 到达曲线,约束到达数据量。 β(t): 服务曲线,保证服务量。 b: 突发容量(字节)。 r: 平均到达速率(字节/秒)。 R: 服务速率(字节/秒)。 T: 处理延迟(秒)。 D_max: 延迟上界(秒)。 |
最小加代数: 卷积运算: |
1. 确定到达曲线: 通过流量规范或测量,确定流的到达曲线α(t),例如漏桶参数(b, r)。 2. 确定服务曲线: 通过资源预留或设备规格,确定每个节点提供的服务曲线β_i(t),例如速率延迟参数(R_i, T_i)。 3. 计算总服务曲线: 对于串联节点,计算总服务曲线β_total = β_1 ⊗ β_2 ⊗ ... ⊗ β_n。 4. 计算延迟上界: 计算α(t)和β_total(t)之间的最大水平距离,得到端到端延迟上界D_max。 5. 验证: 检查D_max是否满足应用需求。如果不满足,需要调整流量整形或资源预留参数。 |
软件: 网络演算计算工具(如DiscoDNC, CyNC), 流量整形器。 |
|
Roce-NW-0699 |
能耗优化 |
能量比例计算 |
能量比例网络设备功耗模型 |
网络设备(交换机、路由器)的功耗与其负载(吞吐量)成比例,但在低负载时效率较低。该模型描述设备功耗与负载之间的关系,并提出通过动态调整设备状态(如关闭部分线卡、降低时钟频率)来改善能量比例性。 |
能量比例: 功耗与负载成比例。 |
能量效率, 功耗管理, 动态电压频率调整。 |
绿色数据中心, 节能网络, 流量具有潮汐效应的网络。 |
负载: u (利用率,0-1)。 |
线性模型: |
1. 功耗模型: 网络设备的功耗通常可以建模为静态功耗和动态功耗之和: |
线性模型: 功耗与利用率成线性关系。 |
1. 监控负载: 监控设备各组件(端口、交换芯片)的利用率u。 2. 预测负载: 基于历史数据预测未来一段时间的负载。 3. 状态决策: 根据当前和预测负载,决定组件的状态(如活跃、低功耗、睡眠)。目标是在满足性能约束下最小化能耗。 4. 状态转换: 如果新状态与当前状态不同,执行状态转换,考虑转换延迟和能耗。 5. 功耗测量: 测量实际功耗,用于模型校准。 |
硬件: 支持DVFS的处理器, 支持节能以太网(EEE)的网卡, 可休眠的交换芯片。 |
|
Roce-NW-0700 |
交换架构 |
输出队列, 输入队列, 交叉点队列 |
输入排队 (IQ) 交换机的调度模型 |
输入排队交换机在每个输入端口维护多个虚拟输出队列(VOQ),以避免HOL阻塞。调度器每个时隙选择输入和输出之间的匹配,以最大化吞吐量。模型描述VOQ结构、调度算法(如iSLIP)及其稳定性。 |
避免HOL: VOQ消除HOL阻塞。 |
图论, 二分图匹配, 调度算法。 |
高速核心路由器, 交换芯片。 |
输入数量: N。 |
调度约束: |
1. 输入排队交换机架构: 交换机有N个输入和N个输出。每个输入端口有N个VOQ,分别对应每个输出。数据包到达输入端口时,根据目的输出放入相应的VOQ。2. HOL阻塞问题: 如果没有VOQ,只有一个队列,那么当队列头部的包因输出端口忙而阻塞时,后面的包即使目的输出空闲也被阻塞,这就是HOL阻塞。VOQ消除了这个问题。3. 调度问题: 每个时隙,调度器需要选择一个匹配,即一组输入-输出对,使得每个输入最多连接一个输出,每个输出最多连接一个输入。匹配的选择基于VOQ的长度。目标是最大化吞吐量,即尽可能多地服务队列。4. 调度算法: 最大权匹配是NP难的,因此使用启发式算法,如iSLIP: a. 请求: 每个输入端口向所有有非空VOQ的输出端口发送请求。 b. 授权: 每个输出端口从收到的请求中选择一个(如基于轮询指针),并发送授权。 c. 接受: 每个输入端口从收到的授权中选择一个(如基于轮询指针),并发送接受。 d. 更新轮询指针。iSLIP是迭代的,可以在多次迭代后收敛到无冲突匹配。5. 稳定性: 如果到达过程是允许的(admissible),即每个输入和每个输出的总负载小于1,则iSLIP可以达到100%吞吐量。6. 性能分析: 在均匀流量下,iSLIP性能接近最大匹配。在非均匀流量下,可能需要更复杂的算法。7. 实现复杂度: 调度器需要在每个时隙内完成匹配计算,对于高速交换机,时隙很短(如12.8ns for 40Gbps and 64-byte cells),因此算法必须简单高效。iSLIP可以在硬件中并行实现。变量/常量: N: 输入/输出端口数。 Q(i,j): 输入i到输出j的VOQ长度(信元数)。 M(i,j): 二进制匹配矩阵,1表示输入i连接到输出j。 |
图论: 匹配是二分图匹配。 |
1. VOQ入队: 数据包到达输入端口,根据目的输出放入相应的VOQ。 2. 调度请求: 每个输入端口检查其VOQ,向所有非空VOQ对应的输出端口发送请求。 3. 授权: 每个输出端口从收到的请求中选择一个(基于轮询指针),发送授权。 4. 接受: 每个输入端口从收到的授权中选择一个(基于轮询指针),发送接受。 5. 更新指针: 输出端口和输入端口更新其轮询指针到下一个位置。 6. 数据传输: 根据匹配结果,输入端口从VOQ中取出信元,通过交叉开关发送到输出端口。 7. 重复迭代: 可以进行多轮请求-授权-接受以增加匹配数。 |
硬件: 支持输入排队和VOQ的交换芯片。 |
|
Roce-NW-0701 |
交换架构 |
共享内存 |
共享内存交换机的缓冲区管理模型 |
共享内存交换机将所有数据包存储在一个统一的全局内存中,每个输出端口有一个队列。模型描述共享内存的分配策略、如何避免输出端口饿死以及如何实现高效的缓冲区管理。 |
高缓冲区利用率: 内存被所有端口共享,利用率高。 |
排队论, 资源共享, 公平队列。 |
高性能交换机, 路由器, 需要高缓冲区利用率的场景。 |
总内存大小: B_total。 |
内存分配: 为每个端口设置阈值,当总使用内存超过阈值时,丢弃新到达的包或进行流控制。 |
1. 共享内存架构: 所有输入端口将接收到的数据包存入一个统一的全局内存。每个输出端口在内存中有一个逻辑队列。当输出端口空闲时,从自己的队列头部取包发送。2. 缓冲区分配策略: 由于内存共享,需要防止一个端口的流量占满内存,导致其他端口饿死。常见的策略有: a. 静态划分: 为每个端口分配固定的缓冲区空间。简单,但利用率低。 b. 动态阈值: 为每个端口设置一个动态阈值,阈值与剩余内存成比例。例如,端口i的阈值T_i = (总内存 - 已用内存) * w_i,其中w_i是权重。 c. 推送输出: 当内存不足时,将包直接推送到输出端口,如果输出端口忙则丢弃。3. 性能优势: 共享内存可以提高缓冲区利用率,因为统计复用使得所有端口同时出现拥塞的概率较低。4. 调度: 每个输出端口独立地从自己的队列中调度包。调度算法可以是FIFO、优先级队列等。5. 实现细节: 共享内存通常由高速SRAM实现,需要高带宽以支持所有端口的并发访问。内存管理单元负责分配和释放内存块。6. 参数选择: 阈值参数w_i可以设置为端口的权重,如端口速率比例。7. 与输出排队的关系: 共享内存交换机本质上是一种输出排队,因为每个输出端口有自己的队列,但内存是共享的。变量/常量: B_total: 总内存大小(字节)。 Q_i: 输出端口i的队列长度(字节)。 T_i: 端口i的阈值(字节)。 w_i: 端口i的权重。 |
资源共享: 内存是共享资源。 |
1. 包到达: 数据包从输入端口到达,解析目的输出端口。 2. 内存分配: 检查总内存使用情况和该输出端口的队列长度。如果总内存未满且该端口队列长度小于阈值,则为包分配内存块。否则,丢弃包或流控。 3. 写入内存: 将包数据写入分配的内存块。 4. 队列管理: 将内存块描述符放入对应输出端口的队列。 5. 调度: 输出端口空闲时,从自己的队列头部取出描述符。 6. 读取内存: 根据描述符从内存中读取包数据。 7. 发送: 将包发送到输出链路,并释放内存块。 |
硬件: 共享内存交换芯片(如Cisco Crossbar技术)。 |
|
Roce-NW-0702 |
交换协议 |
信元交换, 虚拟输出队列 |
基于信元交换的虚拟输出队列调度模型 |
在基于信元交换的交换机中,使用虚拟输出队列(VOQ)解决HOL阻塞,并采用调度算法(如iSLIP)在输入和输出之间建立匹配。模型详细描述信元交换、VOQ和调度算法的交互。 |
信元交换: 固定长度信元,便于调度。 |
图论, 调度, 排队论。 |
高速核心路由器, 交换芯片。 |
信元长度: L_cell。 |
调度目标: 最大化 |
1. 信元交换概述: 数据包被分割为固定长度的信元(如64字节)。信元在交换矩阵中独立传输,在输出端口重组为数据包。2. VOQ结构: 每个输入端口为每个输出端口维护一个队列(VOQ)。信元根据目的输出端口进入相应的VOQ。3. 调度挑战: 每个时隙,调度器需要选择一组输入-输出对进行连接,使得每个输入最多连接一个输出,每个输出最多连接一个输入。这是一个二分图匹配问题。4. iSLIP算法步骤: a. 请求: 每个输入端口向所有非空VOQ对应的输出端口发送请求。 b. 授权: 每个输出端口可能收到多个输入端口的请求。它选择一个输入端口发送授权。选择策略可以是轮询(round-robin):输出端口维护一个指针,指向下一个优先授权的输入端口。从指针位置开始,选择第一个请求的输入端口。 c. 接受: 每个输入端口可能收到多个输出端口的授权。它选择一个输出端口发送接受。输入端口也维护一个指针,指向下一个优先接受的输出端口。从指针位置开始,选择第一个授权的输出端口。 d. 指针更新: 如果输出端口在授权阶段选择了一个输入端口,则将其指针更新到该输入端口的下一个位置。同样,输入端口在接受到一个授权后,将其指针更新到该输出端口的下一个位置。5. 多轮迭代: 单轮iSLIP可能无法匹配所有输入输出。可以进行多轮迭代,在每轮中,未匹配的输入和输出继续参与下一轮。通常2-4轮迭代即可获得很好的匹配。6. 性能: iSLIP在均匀流量下可以达到100%吞吐量,在非均匀流量下性能也很好。7. 实现复杂度: 调度器需要在每个时隙内完成多轮迭代,因此需要高速硬件逻辑。变量/常量: L_cell: 信元长度(字节)。 N: 输入/输出端口数。 Q(i,j): 输入i到输出j的VOQ中信元数量。 M(i,j): 匹配矩阵。 grant_pointer[j]: 输出端口j的授权指针。 accept_pointer[i]: 输入端口i的接受指针。 |
图匹配: 二分图匹配问题。 |
1. 信元分割: 输入端口将数据包分割为信元,每个信元加上内部头(包含输出端口、序列号)。 2. VOQ入队: 根据内部头中的输出端口,将信元放入对应的VOQ。 3. 调度请求: 每个输入端口检查其VOQ,向所有非空VOQ对应的输出端口发送请求。 4. 授权: 每个输出端口根据其授权指针,从请求中选择一个输入端口,发送授权。 5. 接受: 每个输入端口根据其接受指针,从授权中选择一个输出端口,发送接受。 6. 指针更新: 输出端口和输入端口更新各自的指针。 7. 数据传输: 根据匹配结果,输入端口从VOQ中取出信元,通过交换矩阵发送到输出端口。 8. 重组: 输出端口将信元重组为数据包。 |
硬件: 支持VOQ和iSLIP调度的交换芯片。 |
|
Roce-NW-0703 |
网络数据处理 |
带内网络遥测 |
带内网络遥测 (INT) 数据收集与处理模型 |
在数据包中嵌入指令,指示交换机在数据包经过时添加遥测数据(如队列深度、时间戳)。收集端汇总这些数据,进行网络性能监控和故障诊断。模型描述INT头部格式、指令集和数据收集机制。 |
带内: 遥测数据携带在数据包中。 |
可编程数据平面, 网络测量, 数据聚合。 |
网络性能监控, 故障诊断, 网络感知应用。 |
INT头部: 指令字段, 长度字段, 节点数量等。 |
INT头部格式: 通常包括指令字段(指定要收集的数据类型)、剩余长度、节点数等。 |
1. INT概述: INT允许数据包在通过网络时收集网络状态信息。发送端在数据包中插入INT头部,其中包含指令,指示交换机需要收集的数据。每个支持INT的交换机根据指令添加相应的遥测数据。最终,接收端或收集器从数据包中提取遥测数据。2. INT头部格式: INT头部包括: a. 指令字段: 指定要收集的数据类型,如交换机ID、入口端口、出口端口、队列深度、时间戳等。 b. 长度字段: 指示INT头部的总长度。 c. 节点数: 已添加数据的节点数量。 d. 数据区: 每个节点添加的数据块。3. 交换机行为: 当交换机收到带有INT头部的数据包时,它解析指令,收集指定的本地信息(如当前队列深度),然后将这些信息添加到数据包的INT头部中。数据包继续转发。4. 数据收集: 接收端收到数据包后,解析INT头部,提取各节点的数据。这些数据可以发送到收集器进行进一步分析。5. 开销分析: 每个节点添加的数据量取决于指令。例如,如果收集交换机ID(4字节)、队列深度(2字节)、时间戳(4字节),则每个节点增加10字节。对于10跳路径,INT头部增加100字节。6. 可编程性: INT指令可以动态配置,例如通过P4程序定义。7. 应用: INT可以用于实时监控队列拥塞、检测网络环路、测量延迟等。变量/常量: L_instruction: 指令字段长度。 L_data_per_node: 每个节点添加的数据长度。 N_hops: 路径跳数。 INT_overhead = L_instruction + N_hops * L_data_per_node。 |
数据结构: INT头部是特定格式的数据结构。 |
1. INT头部插入: 发送端在数据包中插入INT头部,设置指令字段。 2. 交换机处理: 每个支持INT的交换机解析INT头部,根据指令收集本地信息,将信息添加到INT头部的数据区,更新节点数。 3. 转发: 交换机正常转发数据包。 4. 数据提取: 接收端从数据包中提取INT头部,解析各节点添加的数据。 5. 数据分析: 将数据发送到收集器,进行网络性能分析和故障诊断。 |
硬件: 支持INT的可编程交换芯片(如Intel Tofino)。 |
|
Roce-NW-0704 |
交换芯片架构 |
多级交换, 缓冲器 |
多级交换架构的缓冲器位置模型 |
多级交换架构(如Clos网络)中,缓冲器可以放在输入、中间级或输出。模型分析不同缓冲器位置(输入排队、输出排队、共享内存)对性能和复杂度的影响。 |
缓冲器位置: 输入、中间、输出。 |
排队论, 交换架构, 性能分析。 |
高性能交换机设计, 路由器设计。 |
缓冲器位置: 输入、输出、共享。 |
输出排队: 输出端口缓冲, 需要N倍加速比。 |
1. 缓冲器位置分类: a. 输入排队: 缓冲器位于输入端口。需要VOQ和调度算法。调度复杂,但交换矩阵不需要加速。 b. 输出排队: 缓冲器位于输出端口。交换矩阵需要N倍加速(即一个时隙内从N个输入各接收一个信元)。调度简单(FIFO),但需要高速内存。 c. 共享内存: 所有端口共享一个缓冲器。本质上是输出排队,但内存共享,利用率高。 d. 交叉点排队: 缓冲器位于交叉点(每个输入-输出对有一个缓冲器)。不需要调度,但需要N^2个缓冲器。2. 性能比较: 输出排队性能最好,因为输出端口可以立即服务队列中的包,但需要N倍加速。输入排队有HOL阻塞,但通过VOQ和好的调度算法可以达到高吞吐量。共享内存结合了两者的优点,但需要复杂的缓冲区管理。3. 复杂度比较: 输入排队需要调度器,复杂度O(N^2)或更高。输出排队需要高速内存,带宽为N倍端口速率。共享内存需要高带宽内存和中央仲裁器。交叉点排队需要大量缓冲器(N^2个)。4. 实际应用: 高速核心路由器常采用输入排队或共享内存。以太网交换机常采用输出排队或共享内存。5. 模型分析: 对于输入排队,在均匀流量下,使用iSLIP等算法可以达到100%吞吐量。对于输出排队,吞吐量由输出端口速率决定,但需要加速。6. 参数: N为端口数,B为缓冲器大小。变量/常量: N: 端口数。 B: 缓冲器大小(信元数)。 speedup: 加速比,输出排队需要N倍加速。 |
排队模型: 不同缓冲位置对应不同排队模型。 |
1. 架构选择: 根据性能、成本、复杂度要求选择缓冲器位置。 2. 设计实现: 如果选择输入排队,设计VOQ结构和调度器。如果选择输出排队,设计高速输出缓冲器和N倍加速交换矩阵。如果选择共享内存,设计共享内存架构和仲裁器。 3. 性能评估: 通过仿真或分析评估所选架构的吞吐量、延迟等指标。 |
硬件: 交换芯片(输入排队:Cisco CRS; 输出排队:Juniper MX; 共享内存:Cisco Nexus)。 |
|
Roce-NW-0705 |
交换协议 |
链路聚合, 负载均衡 |
链路聚合组 (LAG) 哈希模型 |
将多个物理链路捆绑成一个逻辑链路,提高带宽和可靠性。通过哈希数据包头部字段选择物理链路,实现负载均衡。模型描述LAG的建立、哈希算法、故障检测和切换。 |
带宽聚合: 多个物理链路捆绑为一个逻辑链路。 |
哈希, 故障检测, 冗余。 |
交换机间互联, 服务器多网卡绑定, 提高带宽和可靠性。 |
成员链路数量: N。 |
链路选择: |
1. LAG建立: 通过LACP协议协商将多个物理链路捆绑成一个逻辑链路。LAG被视为一个逻辑端口,具有单个IP地址和MAC地址。2. 负载均衡: 流量通过哈希选择物理链路。哈希键通常包括五元组(源IP、目的IP、源端口、目的端口、协议),以确保同一流的数据包走同一条物理链路,避免乱序。哈希函数可以是CRC、异或等。3. 故障检测: 通过链路层协议(如IEEE 802.3ad)检测物理链路的状态。如果链路故障,则将其从LAG中移除。4. 故障恢复: 当链路故障时,原本哈希到该链路的流量会重新哈希到其他链路。由于哈希键不变,同一流的数据包会重新映射到另一条链路,可能导致短暂乱序,但TCP可以处理。5. 负载均衡质量: 哈希的均匀性决定了负载均衡的效果。如果哈希不均匀,可能导致某些链路过载。可以通过调整哈希键(如加入VLAN ID、MPLS标签)改善。6. 参数选择: 成员链路数量N通常为2的幂,以便哈希取模。哈希键的选择需要权衡流保持和负载均衡。7. 与ECMP的关系: LAG是链路层聚合,ECMP是网络层多路径。两者都使用哈希进行负载均衡,但层次不同。变量/常量: N: LAG中成员链路数量。 key: 哈希键,通常为五元组的组合。 H: 哈希函数。 link_index: 选择的物理链路索引(0到N-1)。 |
哈希: 哈希用于选择链路。 |
1. LAG建立: 通过LACP协议发现对端,协商形成LAG。 2. 哈希键选择: 配置哈希键(如五元组)。 3. 流量转发: 当数据包需要从LAG发送时,提取哈希键,计算哈希值,取模得到link_index,从对应的物理链路发送。 4. 故障检测: 周期性检测各物理链路状态。 5. 故障处理: 如果某链路故障,将其从LAG中移除,N减1。后续流量哈希时使用新的N。 6. 恢复处理: 如果故障链路恢复,将其重新加入LAG,N加1。 |
硬件: 支持LAG的交换芯片和网卡。 |
|
Roce-NW-0706 |
网络数据处理 |
网络功能虚拟化 |
网络功能虚拟化 (NFV) 资源分配模型 |
将网络功能(如防火墙、负载均衡器)从专用硬件迁移到通用服务器上的虚拟机,通过软件实现。模型描述如何为虚拟网络功能(VNF)分配计算、存储和网络资源,以最小化成本或最大化性能。 |
虚拟化: 网络功能以软件形式运行在通用硬件上。 |
虚拟化, 资源分配, 服务功能链。 |
电信云, 数据中心, 网络功能部署。 |
VNF集合: V = {v1, v2, ..., vn}。 |
目标函数: |
1. 问题描述: 给定一组VNF,每个VNF有资源需求(CPU、内存、存储)。给定物理网络,包括服务器(具有CPU、内存资源)和链路(具有带宽资源)。需要将每个VNF放置到服务器上,并将VNF之间的流量路由,满足资源约束和服务等级协议(如延迟)。目标是最小化总成本(服务器和链路成本)。2. 整数线性规划模型: 变量:x{v,s}为二进制变量,表示VNF v是否放置在服务器s上。f{v,u}^{l}为连续变量,表示从VNF v到VNF u的流量在链路l上的比例。约束: a. 放置约束: 每个VNF必须放置在一个服务器上:Σ_s x{v,s} = 1。 b. 资源约束: 对于每个服务器s,放置在上面的VNF的CPU需求之和不超过CPU容量。类似有内存约束。 c. 流量守恒: 对于每个节点和每个流量,流入等于流出。 d. 带宽约束: 对于每条链路l,所有流量的总和不超过带宽容量。 e. 延迟约束: 端到端延迟不超过阈值。3. 服务链: VNF通常按顺序组成服务链,如防火墙->负载均衡器->代理。流量必须按顺序经过这些VNF。这可以通过约束流量变量实现。4. 求解: 该问题是NP难的混合整数规划。可以使用启发式算法,如贪心、遗传算法,或者使用ILP求解器求解小规模问题。5. 动态调整: 流量需求可能变化,需要动态调整VNF的放置和资源分配。这可以通过在线算法或周期性重新优化实现。6. 参数: VNF资源需求可以从性能测试中得到。服务器和链路成本可以是实际费用或能耗。变量/常量: V: VNF集合。 S: 服务器集合。 E: 链路集合。 cpu_v: VNF v的CPU需求。 mem_v: VNF v的内存需求。 C_s: 服务器s的CPU容量。 M_s: 服务器s的内存容量。 B_l: 链路l的带宽容量。 d{v,u}: VNF v到u的流量需求。 x{v,s}: 二进制放置变量。 f{v,u}^{l}: 流量变量。 |
整数规划: 放置变量是二进制的。 |
1. 建模: 根据VNF需求、物理网络拓扑和资源,建立整数线性规划模型。 2. 求解: 使用ILP求解器或启发式算法求解,得到VNF放置和流量路由方案。 3. 部署: 根据放置方案,在服务器上启动VNF实例。 4. 配置路由: 根据流量路由方案,配置SDN流表,引导流量经过VNF服务链。 5. 监控与调整: 监控资源利用率和性能,如果不符合SLA,重新优化。 |
软件: NFV编排器(OpenStack, ONAP), SDN控制器, ILP求解器。 |
|
Roce-NW-0707 |
网络资源分配 |
网络切片, 资源隔离 |
网络切片资源分配模型 |
将物理网络划分为多个逻辑网络切片,每个切片为特定服务(如eMBB, URLLC, mMTC)提供隔离的资源。模型描述如何为切片分配带宽、计算和存储资源,以满足不同服务的SLA。 |
隔离: 切片之间资源隔离。 |
资源分配, 隔离, 切片。 |
5G核心网, 多租户数据中心, 网络虚拟化。 |
切片集合: S = {s1, s2, ..., sn}。 |
约束: |
1. 网络切片概念: 网络切片是基于NFV和SDN实现的逻辑网络,为特定服务类型定制。每个切片包含虚拟化的网络功能、连接和资源。2. 资源分配问题: 给定物理网络的资源(带宽、计算、存储)和多个切片的需求,如何分配资源以满足各切片的SLA,同时最大化资源利用率或服务提供商收益。3. 模型: 设资源类型集合R,每个资源r的总量为C_r。切片集合S,每个切片s对资源r的需求为d{s,r}(可能是硬性需求或弹性需求)。分配量a{s,r}需要满足:Σ_s a{s,r} ≤ C_r。目标可以是最大化总效用Σ_s U_s(a{s,1}, ..., a_{s, |
R |
}),其中U_s是切片s的效用函数。4. 效用函数: 不同切片有不同的效用函数。例如,eMBB切片对带宽需求高,效用随带宽增加而增加;URLLC切片对延迟敏感,效用函数可能包含延迟约束。5. 隔离与共享: 资源可以静态分配(硬隔离)或动态共享(软隔离)。硬隔离保证每个切片的资源,但利用率低。软隔离允许切片共享资源池,但需要机制防止一个切片饿死其他切片。6. 动态分配: 切片的需求可能随时间变化,因此资源分配需要动态调整。这可以通过在线优化或市场机制(如拍卖)实现。7. 参数: 资源需求d{s,r}可以通过历史数据或预测得到。效用函数U_s需要与服务提供商和客户协商。变量/常量: S: 切片集合。 R: 资源类型集合。 C_r: 资源r的总量。 d{s,r}: 切片s对资源r的需求。 a_{s,r}: 分配给切片s的资源r的量。 U_s: 切片s的效用函数。 |
优化: 资源分配是约束优化问题。 |
|
Roce-NW-0708 |
拥塞控制 |
显式拥塞通知, 量化拥塞通知 |
量化拥塞通知 (QCN) 模型 |
交换机测量队列长度,生成拥塞通知消息(CM)发送给源端,源端根据CM中的信息调整发送速率。QCN是IEEE 802.1Qau标准,用于数据中心桥接中的拥塞控制。 |
显式反馈: 交换机直接发送拥塞通知给源。 |
控制理论, 反馈系统。 |
数据中心桥接, 无损以太网, 替代PFC的拥塞控制。 |
队列长度: q(t)。 |
反馈计算: |
1. QCN概述: QCN是链路层拥塞控制协议,用于数据中心桥接。交换机测量队列长度,计算反馈值Fb,并将Fb嵌入反向数据包(如CNP)发送给源端。源端根据Fb调整发送速率。2. 交换机行为: 交换机监控队列长度q。当数据包经过时,交换机计算反馈值Fb = (q - Q_eq) + w * (q - q_old),其中Q_eq是期望队列长度,q_old是上一次采样的队列长度,w是权重。Fb反映了队列偏离期望值的程度和变化趋势。如果Fb > 0,则生成拥塞通知消息(CM),包含Fb值,并将CM发送给源端(通常通过反向数据包携带)。3. 源端行为: 源端维护当前速率R。当收到CM时,根据Fb值降低速率: |
反馈控制: 使用比例微分(PD)控制器。 |
1. 队列采样: 交换机采样队列长度q。 2. 计算反馈: 计算Fb = (q - Q_eq) + w * (q - q_old)。 3. 发送CM: 如果Fb > 0,生成CM,包含Fb值,通过反向数据包发送给源端。 4. 源端接收: 源端收到CM,解析Fb。 5. 速率降低: 源端根据Fb降低速率:R_new = R_old * (1 - Gd * Fb)。 6. 速率恢复: 如果未收到CM,则每T时间增加速率:R_new = R_old + Gi。 7. 限制速率: 确保速率在最小值和最大值之间。 |
硬件: 支持QCN的交换芯片和网卡。 |
|
Roce-NW-0709 |
网络数据处理 |
数据包分类, 多域分类 |
基于多域数据包分类的流表匹配模型 |
数据包分类根据多个头部字段(如源IP、目的IP、源端口、目的端口、协议)将数据包映射到对应的流表项。模型描述分类算法(如元组空间搜索、决策树)及其在硬件(TCAM)和软件中的实现。 |
多域: 基于多个字段分类。 |
算法, 数据结构, 查找。 |
防火墙, 访问控制, 流量工程, SDN流表。 |
规则数量: N。 |
分类问题: 给定数据包头部,查找匹配的最高优先级规则。 |
1. 问题描述: 给定一个规则集,每个规则由多个字段的范围或前缀指定,并有一个动作和优先级。当数据包到达时,需要找到所有匹配的规则中优先级最高的那个。2. 算法分类: a. 线性搜索: 遍历所有规则,复杂度O(N),适用于小规模。 b. 决策树: 将搜索空间递归地划分为子空间,直到每个子空间包含少量规则。然后线性搜索这些规则。复杂度O(d * log N)。 c. 元组空间搜索: 将规则按字段长度分组,然后进行哈希查找。复杂度依赖于字段长度分布。 d. TCAM: 使用三态内容可寻址存储器硬件,可以在一个时钟周期内匹配所有规则,但功耗高、成本高。3. 决策树算法: 例如HyperCuts,递归地将多维空间切割成子空间。选择切割的维度使得每个子空间中的规则数大致相等。在叶子节点,对少量规则进行线性搜索。4. 硬件实现: TCAM将每个规则存储为二进制串(0,1,don't care)。数据包头部也转换为二进制串,与所有规则并行比较,返回最高优先级的匹配。TCAM速度快,但容量有限且功耗大。5. 软件实现: 使用决策树等算法,在CPU上实现。可以处理大量规则,但速度较慢。6. 参数: 规则数量N可达数千,字段 |
涵盖标记、包喷洒、哈希、负载均衡、细粒度路由、队列、信元交换、流量工程、QoS、拥塞避免、流量整形、网络资源分配、参数优化、性能预测、能耗优化等主题。
-
基于深度学习的流量分类模型
-
可编程数据平面下的动态负载均衡
-
基于网络演算的延迟上界分析
-
微突发流量检测与缓解
-
基于强化学习的路由优化
-
网络功能虚拟化资源调度
-
时间敏感网络调度
-
基于共识的分布式网络状态同步
-
网络切片资源隔离模型
-
基于博弈论的跨层优化
-
网络编码在数据中心的应用
-
基于贝叶斯网络的故障定位
-
软件定义网络的安全策略合成
-
网络能耗与性能的权衡优化
-
基于随机几何的网络覆盖分析
-
移动边缘计算中的计算卸载
-
区块链驱动的网络资源交易
-
基于图神经网络的拓扑优化
-
量子密钥分发在网络安全的集成
-
6G网络中的智能反射面配置
-
基于P4的可编程数据包标记与重路由
-
多路径传输中的包喷洒与乱序重组
-
一致性哈希在ECMP中的应用与优化
-
基于流大小的自适应负载均衡
-
细粒度流表匹配与动作执行
-
虚拟输出队列调度与仲裁
-
信元交换中的调度算法
-
基于SDN的全局流量工程
-
差分服务代码点标记与PHB
-
显式拥塞通知标记与反馈
-
令牌桶与漏桶流量整形
-
网络资源分配的比例公平
-
基于控制理论的参数自整定
-
排队网络性能预测
-
网络设备能耗模型与优化
-
网络功能链的部署与调度
-
时间敏感网络的流量调度
-
网络状态的一致性分发
-
网络切片资源隔离与保障
-
基于机器学习的异常流量检测
|
编号 |
领域 |
核心理论 |
模型/协议/算法名称 |
目标与描述 |
精度与特征 |
理论基础 |
应用场景 |
数学要素 |
关键方程/状态机 |
定理/算法/模型/方法的逐步思考推理过程及每一个步骤的数学方程式和参数选择/参数优化、时序和软件/硬件交互流程的所有细节和算法/分步骤时序情况及数学方程式、变量/常量/参数列表及说明 |
数学特征 |
实现步骤/工作流程 |
软硬件工具 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Roce-NW-0710 |
网络数据处理/标记 |
可编程数据平面, 元数据携带 |
基于P4的可编程数据包标记与策略执行模型 |
利用P4可编程数据平面,在数据包处理流水线中根据预定义策略(如ACL、流量分类)为数据包添加、修改或删除标记(如DSCP、VLAN标签、自定义元数据),并基于标记执行相应动作(如转发、丢弃、镜像)。 |
灵活标记: 支持多层、多字段标记。 |
有限状态机, 匹配-动作表, 协议无关转发。 |
数据中心网络QoS, 安全策略实施, 流量工程, 监控与遥测。 |
匹配字段: 包头域(如IP src/dst, TCP port), 元数据。 |
匹配-动作规则: |
1. 问题建模: 目标是根据网络策略对数据包进行标记,以便后续处理。策略由规则集合定义,每条规则包含匹配条件和动作。匹配条件基于数据包头部字段(如5元组)和元数据。动作包括设置标记字段(如DSCP、内部颜色)或添加/删除头部(如VLAN)。2. P4流水线设计: 在P4程序中定义解析器、多个匹配-动作阶段和逆解析器。解析器提取包头字段到头部结构。匹配-动作表根据匹配键(如目的IP前缀)选择动作。动作可以修改头部字段或元数据。3. 标记逻辑: 标记可以存储在数据包携带的元数据中,或直接修改现有头部字段。例如,根据源IP地址将数据包标记为高优先级: |
集合与逻辑: 规则集合是匹配模式与动作的映射。 |
1. 解析: 数据包进入解析器,根据预定义格式解析出以太网、IP、TCP/UDP等头部字段。 2. 入口处理: 数据包依次通过多个匹配-动作阶段。在每个阶段,根据包头字段和元数据查询表。如果匹配,则执行对应动作(如设置meta.priority)。 3. 流量管理: 基于标记(如meta.priority)将数据包分配到不同的队列。 4. 出口处理: 在出口流水线,可以基于标记执行额外动作(如重写DSCP)。 5. 逆解析: 将修改后的头部序列化,发送到出口端口。 |
硬件: 支持P4的可编程交换芯片(Intel Tofino, Barefoot Tofino)。 |
|
Roce-NW-0711 |
网络数据处理/包喷洒 |
多路径传输, 负载均衡 |
基于流哈希的包喷洒与接收端重组模型 |
在发送端将单个流的数据包通过哈希函数分散到多条并行路径上(包喷洒),以利用所有路径的带宽。在接收端,根据数据包序列号进行重组,处理乱序到达,提高吞吐量和负载均衡度。 |
带宽聚合: 利用多条路径的总带宽。 |
哈希函数, 排队论, 多路径传输。 |
数据中心多路径网络(如ECMP), 需要高吞吐量的应用(如大数据传输)。 |
路径数量: N。 |
路径选择: |
1. 问题建模: 给定N条并行路径(如ECMP路径),目标是将单个流的数据包均匀分布到所有路径上,以聚合带宽。挑战在于数据包可能乱序到达接收端,需要重组。2. 发送端操作: 对于每个数据包,计算五元组(源IP、目的IP、源端口、目的端口、协议)的哈希值: |
哈希函数: 将五元组映射到整数, 要求均匀分布。 |
1. 路径发现: 通过路由协议(如OSPF)发现到目的地的多条等价路径。 2. 哈希计算: 发送端为每个数据包计算五元组哈希值,并对N取模得到路径索引。 3. 包喷洒: 根据路径索引,将数据包通过对应路径发送出去。 4. 接收缓冲: 接收端将到达的数据包根据序列号插入重组缓冲区。 5. 顺序交付: 从缓冲区中按顺序取出连续序列号的数据包交付给上层应用。 6. 超时与重传: 如果缓冲区中某个序列号的数据包长时间缺失,触发重传机制。 |
硬件: 支持ECMP的交换芯片, 网卡支持多队列RSS。 |
|
Roce-NW-0712 |
网络数据处理/哈希 |
一致性哈希, 负载均衡 |
一致性哈希在ECMP中的抗抖动优化模型 |
在ECMP中使用一致性哈希将流映射到路径,当路径数量变化(如链路故障)时,仅重新映射少量流,从而最小化流重分布和TCP重传,提高网络稳定性。 |
最小扰动: 路径变化时仅影响少量流。 |
一致性哈希, 环哈希, 虚拟节点。 |
数据中心网络ECMP, 负载均衡器, 需要高稳定性的网络。 |
哈希环: 将哈希空间组织成环(0 ~ 2^m-1)。 |
节点位置计算: |
1. 问题建模: 传统ECMP使用简单哈希取模,当路径数量N变化时,大多数流的映射会改变(扰动率为1-1/N)。一致性哈希旨在将扰动率降低到约K/N,其中K是流的数量,N是路径数量。2. 哈希环构造: 将哈希输出空间(如0到2^m-1)视为一个环。对于每条路径,计算多个虚拟节点在环上的位置: |
哈希: 一致性哈希将流和节点映射到环上。 |
1. 初始化: 对于每条物理路径,生成r个虚拟节点,计算其哈希位置,插入哈希环(有序数据结构)。 2. 流映射: 当流到达时,计算flow_key的哈希值h。在环中查找第一个位置≥h的虚拟节点。如果找不到(h大于所有节点),则选择环上第一个节点。该虚拟节点对应的物理路径即为流的路径。 3. 路径增加: 新路径加入,生成其r个虚拟节点并插入环。重新映射受影响的流(哈希值在新节点和下一个原节点之间的流)到新路径。 4. 路径删除: 路径故障,从环中移除其所有虚拟节点。重新映射原本映射到这些节点的流到顺时针下一个节点对应的路径。 5. 负载监控: 定期统计各路径的流量,如果负载不均衡,可以动态调整虚拟节点数量r。 |
软件: 负载均衡软件(如Nginx, HAProxy), 交换机操作系统中的ECMP实现(如Linux内核), 自定义一致性哈希库。 |
|
Roce-NW-0713 |
负载均衡 |
流大小感知, 动态调度 |
基于流大小预测的自适应负载均衡模型 |
通过在线估计或预测流的大小(如大象流与老鼠流),将大象流分配到轻载路径,老鼠流随机分配,以避免大象流之间的冲突和尾部延迟增加。 |
流大小感知: 区分大象流和老鼠流。 |
在线学习, 预测算法, 负载均衡。 |
数据中心网络, 混合流量(长短流共存), 需要低延迟和高吞吐的场景。 |
流大小估计: S_f (估计的流大小)。 |
流分类: |
1. 问题建模: 数据中心流量具有重尾分布,少数大象流占据大部分带宽,大量老鼠流对延迟敏感。传统ECMP随机哈希可能导致多个大象流哈希到同一路径,造成拥塞。目标是根据流大小动态分配路径,平衡负载并降低延迟。2. 流大小预测: 在流开始时预测其大小是困难的。可以采用在线估计:当流的前几个数据包到达时,根据历史信息(如相同五元组的流大小)或机器学习模型(如基于包间隔、包大小的特征)进行预测。简单方法:将流的前K个字节作为样本,假设流大小与已发送字节数正相关。3. 分类阈值: 设定阈值T,将流分为大象流(S_f > T)和老鼠流(S_f ≤ T)。T可以根据网络状况调整,例如设置为链路容量的1%。4. 路径选择策略: a. 大象流: 选择当前负载最小的路径。负载L_p可以用路径的当前流量速率、队列长度或带宽利用率来衡量。 b. 老鼠流: 随机选择路径或使用传统ECMP哈希。因为老鼠流数量多但体积小,随机分配可以保证负载均衡。5. 负载信息收集: 交换机定期向控制器报告路径负载,或使用分布式协议交换负载信息。为了减少开销,可以仅在负载变化超过阈值时报告。6. 动态调整: 如果大象流分配到某路径后导致该路径负载过高,可以将其迁移到其他路径。流迁移需要小心处理,避免数据包乱序。7. 参数优化: 预测窗口K:K太小则预测不准,K太大则决策延迟长。阈值T:需要根据流量分布调整。负载更新周期:太短则开销大,太长则信息过时。变量/常量: S_f: 流f的估计大小(字节)。 T: 大象流阈值(字节)。 L_p: 路径p的负载(如带宽利用率,0-1)。 K: 用于预测的初始包数量。 |
统计: 流大小分布是重尾分布。 |
1. 流开始: 当新流的第一个数据包到达时,为其分配一个流记录。 2. 初始预测: 观察流的前K个数据包,根据包大小和间隔预测总流大小S_f。 3. 分类: 如果S_f > T,标记为大象流;否则为老鼠流。 4. 路径选择: 对于大象流,查询各路径当前负载,选择负载最小的路径。对于老鼠流,使用哈希函数随机选择路径。 5. 流表下发: 将流路径决策编程到交换机的流表中(如OpenFlow)。 6. 负载监控: 定期监控各路径负载,如果某路径负载超过阈值,考虑将部分大象流迁移到其他路径。 7. 流结束: 当流结束时,释放流记录,更新路径负载统计。 |
硬件: 支持流表状态跟踪的交换芯片。 |
|
Roce-NW-0714 |
细粒度路由 |
源路由, 路径编码 |
可编程源路由与路径编码模型 |
在数据包头部编码完整的路径信息(如交换机端口序列),使交换机无需查找路由表,直接根据编码信息转发,实现精确的路径控制和快速转发。 |
路径确定性: 数据包沿预定路径转发。 |
源路由, 包头编码, 位操作。 |
数据中心网络流量工程, 特定路径需求(如低延迟、高安全), 测试与测量。 |
路径编码: 每个跳用端口号或节点ID表示。 |
转发规则: |
1. 问题建模: 传统路由基于目的地址查找,交换机需要维护大型转发表。源路由将路径信息嵌入数据包头部,交换机只需读取头部中的下一跳信息即可转发,简化了转发逻辑。2. 路径编码方案: 路径可以编码为一系列交换机端口号或交换机ID。例如,每个跳用8位表示端口号(支持256个端口)。对于长度为L的路径,需要L * 8位的头部空间。为了支持变长路径,可以使用标签栈:每个标签对应一跳,交换机弹出栈顶标签得到下一跳,然后将剩余标签压回。3. 包头设计: 在以太网帧中,可以使用自定义以太类型(EtherType)定义源路由头部。头部包含:版本、长度、当前跳索引、路径信息(端口列表)。或者利用现有字段,如MPLS标签栈。4. 转发逻辑: 交换机解析源路由头部,根据当前跳索引读取对应的端口号。然后将数据包从该端口转发出去,并递增当前跳索引。如果当前跳索引等于路径长度,则到达目的地,移除源路由头部。5. 循环检测: 为了防止转发循环,可以在头部添加跳数限制(TTL),每经过一跳减1,减到0则丢弃。6. 路径计算: 控制器基于全局拓扑计算路径,并将路径编码下发到源主机或边缘交换机。路径计算可以考虑带宽、延迟、策略等约束。7. 参数优化: 编码宽度(每个跳的位数)取决于网络规模(端口数量)。路径长度受包头空间限制。例如,在以太网帧中,最大传输单元(MTU)为1500字节,需要预留空间给源路由头部。变量/常量: L: 路径长度(跳数)。 W: 每跳编码宽度(比特)。 offset: 当前跳在包头中的偏移量(比特)。 path[L]: 路径数组,每个元素是端口号。 TTL: 生存时间。 |
编码: 路径信息编码为位串。 |
1. 路径计算: 控制器根据源、目的和约束(如带宽、延迟)计算一条路径,得到端口序列path[0], path[1], ..., path[L-1]。 2. 包头编码: 在数据包头部添加源路由头,将路径序列编码进去,并设置当前跳索引为0,TTL为L。 3. 入口交换机: 源主机或边缘交换机添加源路由头。 4. 转发: 每个交换机读取源路由头中的当前跳索引对应的端口号,从该端口转发数据包。然后递增当前跳索引,递减TTL。 5. 出口处理: 当当前跳索引等于L时,移除源路由头,将原始数据包交付给目的主机。 6. 错误处理: 如果TTL为0,丢弃数据包并发送ICMP超时消息。 |
硬件: 支持解析自定义包头的可编程交换芯片。 |
|
Roce-NW-0715 |
队列管理 |
主动队列管理, 随机早期检测 |
随机早期检测 (RED) 队列管理模型 |
通过监控平均队列长度,在队列满之前以一定概率随机丢弃或标记数据包,从而避免TCP全局同步,减少丢包和队列延迟,提高网络吞吐量。 |
提前丢包: 在队列满之前开始丢包。 |
控制理论, 随机过程, 主动队列管理。 |
路由器、交换机出口队列, 与TCP协同避免拥塞。 |
平均队列长度: avg_q (指数加权移动平均)。 |
平均队列更新: |
1. 问题建模: 传统尾部丢弃(Tail Drop)在队列满时丢弃所有后续数据包,导致多个TCP连接同时超时和重传,引起全局同步,吞吐量振荡。RED通过早期随机丢弃,使TCP连接在不同时间减少窗口,从而保持高吞吐量和低延迟。2. 平均队列计算: 使用指数加权移动平均(EWMA)平滑瞬时队列波动: |
指数加权移动平均: 平均队列是低通滤波器。 |
1. 队列监控: 每个数据包到达时,更新当前队列长度current_q。 2. 平均队列更新: 计算平均队列长度:avg_q = (1 - w_q) * avg_q + w_q * current_q。 3. 丢包决策: 如果avg_q < min_th,则接受数据包。如果avg_q > max_th,则丢弃数据包。如果min_th ≤ avg_q ≤ max_th,则计算概率p = max_p * (avg_q - min_th) / (max_th - min_th)。生成一个随机数r ∈ [0,1)。如果r < p,则丢弃数据包;否则接受。 4. 数据包入队: 如果未丢弃,则将数据包放入队列尾部。 5. 调度发送: 调度器从队列头部取出数据包发送。 |
硬件: 支持RED的交换芯片和路由器(如Cisco系列)。 |
|
Roce-NW-0716 |
信元交换 |
输入排队, 调度算法 |
iSLIP调度算法模型 |
用于输入排队交换机的迭代调度算法,通过多轮迭代匹配输入端口和输出端口,解决输入排队中的队头阻塞问题,实现高吞吐量和公平性。 |
迭代匹配: 多轮请求-授予-接受。 |
二分图匹配, 迭代算法, 输入排队调度。 |
输入排队交换机, 高速交换架构, 需要高吞吐和低延迟的场景。 |
请求矩阵: R[i][j] (输入i有信元发往输出j则为1)。 |
迭代步骤: 1. 请求: 每个输入向所有有信元的输出发送请求。 2. 授予: 每个输出从所有请求中选择一个输入(如轮询指针)。 3. 接受: 每个输入从所有授予中选择一个输出(如轮询指针)。 |
1. 问题建模: 输入排队交换机有N个输入和N个输出。每个输入有N个虚拟输出队列(VOQ),分别对应每个输出。调度器在每个时隙选择一组匹配(输入-输出对),使得每个输入和每个输出最多被匹配一次。目标是最大化匹配权重(如队列长度)。iSLIP是一种迭代的、增量的匹配算法。2. 算法状态: 每个输入i维护一个授予指针g_i,指向下一个要尝试授予的输出。每个输出j维护一个接受指针a_j,指向下一个要尝试接受的输入。3. 迭代过程: 每轮迭代包括三步:请求、授予、接受。可以执行多轮迭代以提高匹配率。 a. 请求: 每个输入i向所有非空VOQ(i,j)对应的输出j发送请求。 b. 授予: 每个输出j收到多个请求。它从请求中选择一个输入,选择规则是:从接受指针a_j开始,顺时针找到第一个请求的输入。然后输出j向该输入发送授予,并更新a_j指向该输入的下一个位置。 c. 接受: 每个输入i可能收到多个授予。它从授予中选择一个输出,选择规则是:从授予指针g_i开始,顺时针找到第一个授予的输出。然后输入i接受该授予,并更新g_i指向该输出的下一个位置。4. 多轮迭代: 将上一轮已匹配的输入输出排除,对剩余未匹配的输入输出重复请求-授予-接受步骤。通常进行log N轮迭代。5. 性能: 在均匀独立流量下,iSLIP可以达到100%吞吐量。指针更新机制提供了公平性。6. 实现复杂度: 每轮迭代需要O(N^2)次操作,但可以通过并行硬件实现高速匹配。7. 参数: 迭代轮数K通常为3-4轮。指针位宽为log2 N。变量/常量: N: 输入/输出端口数量。 VOQ[i][j]: 输入i到输出j的队列。 g_i: 输入i的授予指针(输出索引)。 a_j: 输出j的接受指针(输入索引)。 R[i][j]: 请求矩阵(布尔)。 G[j]: 输出j授予的输入索引。 A[i]: 输入i接受的输出索引。 |
二分图匹配: 输入和输出是二分图的两部, 匹配是边的子集。 |
1. 初始化: 所有输入指针g_i和输出指针a_j初始化为0。 2. 请求阶段: 对于每个输入i和输出j,如果VOQ[i][j]非空,则设置R[i][j]=1,否则为0。 3. 授予阶段: 对于每个输出j,从指针a_j开始,按顺序检查输入,找到第一个R[i][j]=1的输入i。设置G[j]=i,并更新a_j = (i+1) mod N。 4. 接受阶段: 对于每个输入i,从指针g_i开始,按顺序检查输出,找到第一个G[j]=i的输出j。设置A[i]=j,并更新g_i = (j+1) mod N。 5. 调度: 对于每个匹配的(i,j),从VOQ[i][j]头部取出一个信元发送。 6. 多轮迭代: 将已匹配的输入输出从考虑中移除,重复步骤2-4,进行K轮。 7. 指针更新: 仅当授予或接受成功时才更新指针,避免饥饿。 |
硬件: 输入排队交换芯片, 调度器ASIC。 |
|
Roce-NW-0717 |
流量工程 |
线性规划, 多商品流 |
最大并发流 (MCF) 模型 |
在给定网络容量和流量需求下,寻找一个最大的缩放因子λ,使得所有流量需求按比例缩放λ倍后仍能被网络容纳。用于评估网络在满足所有需求同时所能支持的最大负载。 |
比例公平: 所有需求按相同比例缩放。 |
线性规划, 网络流, 对偶理论。 |
网络容量规划, 流量工程, 网络升级评估。 |
缩放因子: λ。 |
线性规划: |
1. 问题建模: 给定网络拓扑G=(V,E),链路容量c_l,流量需求矩阵D(d{sd}表示从s到d的需求)。目标是找到最大缩放因子λ,使得所有需求同时乘以λ后,存在一种路由方式,满足流量守恒和链路容量约束。这衡量了网络支持给定需求模式的能力。2. 线性规划公式: 变量:λ(缩放因子),f{sd}^{l}(需求(s,d)在链路l上的流量)。目标:最大化λ。约束: a. 流守恒: 对于每个节点v和每个需求(s,d),流入等于流出,除非v是源或汇。源s的净流出为λ * d{sd},汇d的净流入为λ * d{sd}。 b. 容量约束: 每条链路l上的总流量不超过其容量c_l。 c. 非负: f{sd}^{l} ≥ 0。3. 对偶问题: 原问题的对偶变量是链路价格p_l。对偶问题是最小化Σ_l c_l * p_l,满足对偶约束。对偶变量p_l可以解释为链路的影子价格,表示增加单位容量对目标λ的边际贡献。4. 求解方法: 可以使用线性规划求解器(如单纯形法、内点法)求解。由于变量数量多,也可以采用分解方法,如列生成或拉格朗日松弛。5. 路径公式: 也可以使用路径-流量公式:对于每个需求(s,d),枚举路径集合P{sd},变量x_p表示在路径p上分配的流量。约束:Σ{p∈P{sd}} x_p = λ * d{sd},且Σ{p: l∈p} x_p ≤ c_l。6. 解释: 最优解λ表示网络可以支持需求矩阵的倍数。如果λ≥ 1,则网络可以支持所有需求;如果λ* < 1,则网络容量不足,需要升级。7. 扩展: 可以加入额外约束,如路径长度限制、单路径路由等。变量/常量: λ: 缩放因子(决策变量)。 f{sd}^{l}: 需求(s,d)在链路l上的流量(决策变量)。 d{sd}: 从s到d的原始需求。 c_l: 链路l的容量。 p_l: 对偶变量,链路l的价格。 |
线性规划: 目标函数和约束是线性的。 |
1. 数据收集: 获取网络拓扑G、链路容量c_l、需求矩阵D。 2. 构建线性规划: 定义变量λ和f{sd}^{l},写出目标函数和约束。 3. 求解线性规划: 使用LP求解器求解,得到最优λ*和流量分配f{sd}^{l}。 4. 结果分析: 如果λ≥ 1,网络容量充足;否则,识别瓶颈链路(对偶价格高的链路)。 5. 路由生成: 将链路-流量分配f_{sd}^{l*}分解为具体的路径和流量。 6. 实施: 根据路径分配配置路由。 |
软件: 线性规划求解器(Gurobi, CPLEX), 网络优化库(如Python的PuLP)。 |
|
Roce-NW-0718 |
QoS |
差分服务, 每跳行为 |
差分服务 (DiffServ) 每跳行为 (PHB) 模型 |
在网络边界对流量进行分类、标记和整形,在核心网络根据数据包的DSCP值提供不同的每跳行为(如加速转发、确保转发),实现可扩展的QoS。 |
可扩展性: 核心网络只根据DSCP处理,无需维护每流状态。 |
差分服务架构, 流量分类, 流量整形。 |
企业网, 运营商网络, 需要提供不同服务质量等级的网络。 |
DSCP值: 6位, 编码PHB。 |
计量器: 令牌桶或漏桶。 |
1. 架构概述: DiffServ将网络分为边界和核心。边界节点负责流量分类、计量、标记和整形。核心节点根据数据包的DSCP值执行相应的PHB,包括队列调度和丢弃策略。2. 分类与标记: 在边界,数据 |
|
编号 |
领域 |
核心理论 |
模型/协议/算法名称 |
目标与描述 |
精度与特征 |
理论基础 |
应用场景 |
数学要素 |
关键方程/状态机 |
定理/算法/模型/方法的逐步思考推理过程及每一个步骤的数学方程式和参数选择/参数优化、时序和软件/硬件交互流程的所有细节和算法/分步骤时序情况及数学方程式、变量/常量/参数列表及说明 |
数学特征 |
实现步骤/工作流程 |
软硬件工具 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Roce-NW-0719 |
拥塞控制 |
基于瓶颈带宽和往返传播延迟的模型 |
BBR (Bottleneck Bandwidth and Round-trip propagation time) 拥塞控制算法模型 |
通过测量瓶颈带宽和最小往返时间来建立发送速率模型,主动探测网络容量并避免缓冲区膨胀,实现高吞吐量和低延迟。 |
主动探测: 周期性探测带宽和RTT。 |
控制理论, 网络测量, 优化理论。 |
高速长肥网络, 视频流, 云计算。 |
瓶颈带宽: BtlBw (估计的瓶颈带宽)。 |
带宽估计: |
1. 核心思想: BBR认为网络拥塞主要由数据包在缓冲区排队引起,而非丢包。因此,它通过测量瓶颈带宽(BtlBw)和往返传播时间(RTprop)来建立网络模型,并试图将飞行中的数据量(inflight)保持在BDP(BtlBw * RTprop)附近,从而避免排队。2. 状态机: BBR有四个状态:STARTUP、DRAIN、PROBE_BW、PROBE_RTT。 a. STARTUP: 指数增长发送速率,直到估计的带宽停止增长。 b. DRAIN: 排空在STARTUP阶段可能产生的多余队列。 c. PROBE_BW: 周期性地以略高于当前估计带宽的速率发送,探测潜在带宽增长,然后以略低于估计带宽的速率发送以排空队列。 d. PROBE_RTT: 周期性地降低发送速率并保持最小数据量,以测量准确的RTprop。3. 测量: 持续测量交付速率(delivery_rate)作为带宽估计,测量RTT作为延迟估计。交付速率计算为一段时间内确认的数据量除以时间间隔。4. 速率控制: 发送速率由 pacing_rate 控制,目标是将 inflight 保持在 BDP 附近。 pacing_rate 通常设置为当前估计的 BtlBw。5. 参数选择: STARTUP阶段增长因子通常为2/ln2。PROBE_BW阶段使用8个周期的增益序列:5/4, 3/4, 1, 1, 1, 1, 1, 1。PROBE_RTT周期通常为10秒。6. 时序: BBR在每个ACK或发送事件时更新模型。PROBE_BW周期通常为8个RTT。7. 与丢包恢复的交互: BBR不将丢包视为拥塞信号,但会配合快速重传和快速恢复。变量/常量: BtlBw: 估计的瓶颈带宽(字节/秒)。 RTprop: 估计的往返传播时间(秒)。 delivery_rate: 当前测量的交付速率(字节/秒)。 pacing_rate: pacing 速率(字节/秒)。 inflight: 已发送未确认的数据量(字节)。 cwnd_gain: 拥塞窗口增益(默认2)。 pacing_gain: pacing 增益序列数组。 |
最优化: 目标是最大化吞吐量同时最小化延迟。 |
1. 初始化: 进入STARTUP状态,设置 pacing_gain = cwnd_gain = 2/ln2。 2. 发送数据包: 根据当前 pacing_rate 和 cwnd 发送数据包。 3. 收到ACK: 更新 delivered 和 delivered_time,计算 delivery_rate = Δdelivered / Δt。更新 BtlBw = max(BtlBw, delivery_rate)。更新 RTprop = min(RTprop, rtt_sample)。 4. 状态转移: 在STARTUP中,如果带宽估计在3个RTT内没有增长,进入DRAIN。在DRAIN中,当 inflight ≤ BDP 时,进入PROBE_BW。在PROBE_BW中,循环使用8个 pacing_gain 值。周期性地(每10秒)进入PROBE_RTT,降低 inflight 并保持至少4个包,持续200ms,然后回到PROBE_BW。 5. 计算速率和窗口: pacing_rate = pacing_gain * BtlBw。 cwnd = max(cwnd_gain * BDP, 4 * MSS)。 6. 重复: 持续进行步骤2-5。 |
软件: Linux内核TCP BBR实现, 用户空间库(如quiche)。 |
|
Roce-NW-0720 |
拥塞控制 |
立方函数增长, 丢包恢复 |
TCP CUBIC 拥塞控制算法模型 |
使用立方函数(cubic function)作为拥塞窗口增长函数,在丢包后快速恢复,并优化高带宽延迟积网络的性能,减少RTT不公平性。 |
立方增长: 窗口增长函数为立方函数。 |
非线性函数, 丢包恢复, 拥塞避免。 |
高速网络, 长肥网络, 互联网TCP传输。 |
拥塞窗口: cwnd。 |
窗口增长函数: |
1. 核心思想: CUBIC旨在解决标准TCP在高带宽延迟积(BDP)网络中收敛慢的问题。它使用立方函数作为窗口增长函数,使得窗口在丢包后快速增长,接近W_max时增长放缓,超过W_max后再次加速,从而高效探测带宽。2. 窗口增长函数: 在拥塞避免阶段,窗口大小W(t)是时间t的函数: |
立方函数: 窗口增长是时间的三次函数。 |
1. 初始化: cwnd = 1, ssthresh = 无限大。 2. 慢启动: 当 cwnd < ssthresh 时,每收到一个ACK,cwnd += 1。 3. 拥塞避免: 当 cwnd ≥ ssthresh 时,使用CUBIC函数计算目标窗口: |
软件: Linux内核TCP CUBIC实现, 网络仿真器(ns-3)。 |
|
Roce-NW-0721 |
传输协议 |
基于UDP的多路复用和安全传输 |
QUIC (Quick UDP Internet Connections) 协议栈模型 |
在UDP之上实现可靠、多路复用、加密的传输协议,减少连接建立延迟,提供前向纠错和连接迁移等功能,旨在替代TCP/TLS/HTTP/2。 |
零RTT连接: 首次连接即可发送数据。 |
密码学, 可靠传输, 多路复用。 |
网页加载, 移动应用, 实时通信。 |
连接ID: CID (用于连接迁移)。 |
丢包检测: 基于包号和ACK帧。 |
1. 连接建立: QUIC使用TLS 1.3进行加密握手。0-RTT允许客户端在首次连接时立即发送数据,通过重用之前协商的密钥。1-RTT握手在第一次连接时完成。2. 多路复用: 每个QUIC连接包含多个流(stream),每个流独立传输数据。流之间无队头阻塞,因为每个流帧可以独立发送和重传。流ID用于标识。3. 可靠传输: 每个包有唯一的包号(packet number),用于丢包检测。接收方发送ACK帧确认收到的包。支持选择性确认(SACK)。重传使用新的包号,避免重传歧义。4. 流量控制: 连接级别和流级别都有流量控制。接收方通过MAX_DATA和MAX_STREAM_DATA帧通告信用窗口(credit window),发送方不能发送超过窗口的数据。5. 拥塞控制: QUIC使用可插拔的拥塞控制算法,默认是CUBIC或BBR。拥塞窗口基于包号而非字节。6. 前向纠错(FEC): 可选功能,发送方可以发送冗余数据(如XOR FEC帧),允许接收方恢复丢失的包而不需要重传。7. 连接迁移: 使用连接ID(CID)而非IP/端口四元组标识连接。当客户端IP地址改变(如从WiFi切换到蜂窝网络)时,连接可以保持。8. 帧格式: QUIC包包含一个头部和多个帧。帧类型包括STREAM(数据)、ACK(确认)、CRYPTO(加密握手数据)等。9. 参数: 初始拥塞窗口(默认10个包),最大包大小(默认1350字节),空闲超时时间等。变量/常量: CID: 连接标识符(可变长度)。 Packet Number: 包号(64位)。 Stream ID: 流标识符(62位)。 Offset: 流内的字节偏移量。 Credit Window: 流量控制信用窗口(字节)。 Ack Delay: ACK延迟时间。 |
密码学: 使用TLS 1.3进行密钥协商和加密。 |
1. 握手: 客户端发送Initial包(包含CRYPTO帧)开始握手。服务器回复Initial包和Handshake包。双方完成TLS 1.3握手。 2. 发送数据: 应用数据通过STREAM帧发送。每个STREAM帧包含流ID、偏移量、长度和数据。 3. 包封装: 将多个帧封装到一个QUIC包中,添加包头(包括CID和包号)。 4. 加密: 使用当前加密级别(初始、握手、1-RTT)的密钥对包进行加密。 5. 发送: 通过UDP socket发送QUIC包。 6. 接收与处理: 接收方解密包,处理帧。对于STREAM帧,按偏移量将数据写入接收缓冲区。发送ACK帧确认收到的包。 7. 丢包检测与重传: 如果包未在预期时间内被确认,则重传。重传时使用新的包号。 8. 流量控制: 接收方定期发送MAX_DATA和MAX_STREAM_DATA帧更新信用窗口。 9. 连接迁移: 如果客户端IP改变,它使用相同的CID发送包,服务器接受并继续连接。 |
软件: QUIC实现(Google quiche, Cloudflare ngtcp2), 浏览器(Chrome), 服务器(Caddy)。 |
|
Roce-NW-0722 |
负载均衡 |
分布式控制器, 流表同步 |
SDN控制器集群负载均衡与一致性模型 |
在多个SDN控制器实例之间分配交换机管理负载,保持网络视图的一致性,并通过分布式协议同步流表状态,实现高可用性和可扩展性。 |
负载均衡: 交换机在控制器间均衡分配。 |
分布式系统, 共识算法, 负载均衡。 |
大规模SDN网络, 多控制器部署, 需要高可用性的网络。 |
控制器集合: C = {c1, c2, ..., cn}。 |
负载均衡目标: |
1. 问题建模: 在大规模SDN网络中,单个控制器可能成为瓶颈。使用控制器集群,将交换机分配给多个控制器管理。目标是最小化最大控制器负载,同时保持网络状态的一致性。2. 交换机分配算法: 初始分配可以基于交换机ID哈希。动态负载均衡:监控每个控制器的负载L(c),负载可以是CPU使用率、内存使用率、流表项数量等。当负载不均衡时,将一些交换机从高负载控制器迁移到低负载控制器。迁移需要考虑交换机与控制器的通信延迟。3. 状态同步: 网络状态(如拓扑、流表)需要在控制器之间同步。可以使用分布式数据库(如etcd)或分布式共识算法(如Raft)。对于每个网络事件(如链路变化),一个控制器处理并生成状态更新,然后通过共识协议复制到其他控制器。4. 一致性模型: 强一致性(线性化)确保所有控制器看到相同的状态顺序。这可以通过Raft实现:一个领导者控制器处理所有写请求,并将日志复制到追随者。5. 故障处理: 如果控制器故障,其管理的交换机需要重新分配给其他控制器。可以通过心跳检测故障。故障控制器的状态可以从其他控制器恢复(如果状态已复制)。6. 性能指标: 负载均衡度: |
优化: 负载均衡是最小化最大负载问题。 |
1. 初始化: 启动多个控制器实例,形成集群。使用分布式共识算法选举领导者。 2. 交换机连接: 交换机启动时,通过负载均衡算法(如哈希)连接到一个控制器。 3. 负载监控: 每个控制器定期报告其负载(CPU、内存、流表数量)给负载均衡器或领导者。 4. 负载均衡决策: 领导者或专门的负载均衡器计算负载分布。如果某个控制器负载过高(超过平均负载的τ倍),则选择其管理的部分交换机迁移到低负载控制器。 5. 交换机迁移: 向目标控制器发送迁移请求,目标控制器与交换机建立连接,然后原控制器断开连接。迁移过程中,流表状态需要同步。 6. 状态同步: 当网络状态变化时(如流表更新),处理该事件的控制器将状态更新作为日志条目通过共识协议复制到其他控制器。 7. 故障检测: 控制器之间定期发送心跳。如果领导者故障,追随者发起选举选出新领导者。 8. 故障恢复: 故障控制器的交换机由新领导者重新分配。 |
软件: SDN控制器(ONOS, OpenDaylight), 分布式共识库(etcd, ZooKeeper), 负载均衡模块。 |
|
Roce-NW-0723 |
网络功能虚拟化 |
资源分配, 服务功能链 |
NFV资源分配与服务功能链 (SFC) 映射模型 |
将虚拟网络功能(VNF)部署在物理服务器上,并将服务功能链(一系列VNF)映射到物理路径,优化资源使用和端到端延迟。 |
VNF放置: 决定VNF在哪个服务器上运行。 |
整数规划, 图论, 虚拟网络嵌入。 |
电信云, 边缘计算, 网络安全服务链。 |
物理网络: G_p = (V_p, E_p), 节点资源c_v, 链路带宽b_e。 |
目标函数: |
1. 问题建模: 给定物理网络G_p,每个物理节点p有CPU、内存资源c_p,每条物理链路e有带宽b_e。给定SFC请求G_s,每个VNF节点v有资源需求r_v,每条虚拟链路e有带宽需求d_e和延迟要求l_e。目标是将每个VNF节点映射到物理节点,每条虚拟链路映射到物理路径,满足资源约束,并最小化总资源成本或端到端延迟。2. 整数规划公式: 定义二进制变量x{v,p}=1表示VNF v映射到物理节点p。定义变量f{e,p,q}表示虚拟链路e的流量从物理节点p到q。目标函数:最小化总资源成本 Σ_v Σ_p cost_p * r_v * x{v,p} + Σ_e delay(e)。约束包括:节点资源容量:Σ_v r_v * x{v,p} ≤ c_p ∀p;链路带宽容量:Σ_e d_e * f{e,p,q} ≤ b{(p,q)} ∀(p,q);流量守恒:对于每个虚拟链路e和每个物理节点p,流入等于流出;延迟约束:Σ{(p,q)} delay{(p,q)} * f{e,p,q} ≤ l_e ∀e。3. 启发式算法: 由于问题是NP-hard,通常使用启发式算法。例如,首先按资源需求降序排序VNF,然后依次将每个VNF放置到资源足够且延迟最小的物理节点上。虚拟链路映射使用最短路径算法,考虑带宽剩余。4. 资源成本: 成本可以是电力消耗、租赁费用等。延迟惩罚可以是路径延迟的线性函数。5. 动态调整: 当SFC请求到达或离开时,需要重新优化映射。可以使用在线算法。6. 参数: VNF资源需求(vCPU、内存、存储)。带宽需求(Mbps)。延迟要求(毫秒)。变量/常量: x{v,p}: 二进制,VNF v是否映射到物理节点p。 f{e,p,q}: 虚拟链路e在物理链路(p,q)上的流量比例。 cost_p: 物理节点p的单位资源成本。 delay{(p,q)}: 物理链路(p,q)的延迟。 |
整数规划: 变量是二进制的, NP-hard。 |
1. 请求解析: 接收SFC请求,包括VNF序列、资源需求、带宽需求和延迟约束。 2. 排序VNF: 将VNF按资源需求降序排序。 3. VNF放置: 对于每个VNF,遍历所有物理节点,选择满足资源需求且使得到前一个VNF(如果已放置)的延迟最小的节点。如果找不到,则拒绝请求。 4. 虚拟链路映射: 对于每对相邻的已放置VNF,在物理网络上计算一条最短路径,满足带宽和延迟约束。如果找不到路径,则回退并尝试其他放置。 5. 资源分配: 在选定的物理节点和链路上分配资源。 6. 配置下发: 通过NFV编排器在物理节点上实例化VNF,并配置网络路径(如VLAN、SDN流表)。 7. 监控与调整: 监控资源使用情况,如果资源不足或延迟超标,触发重新映射。 |
软件: NFV编排器(OpenStack Tacker, ONAP), SDN控制器, 优化求解器(Gurobi)。 |
|
Roce-NW-0724 |
时间敏感网络 |
时间感知整形, 调度 |
时间感知整形器 (TAS) 调度模型 |
在TSN中,将时间划分为固定长度的周期,每个周期内为不同流量类别分配固定的时间窗口(门控列表),确保关键流量(如音频视频)的低延迟和零丢包。 |
时间划分: 周期性的时间窗口。 |
周期调度, 门控机制, 实时系统。 |
工业自动化, 车载网络, 音视频传输。 |
周期长度: T。 |
调度规则: 在时间t,如果t mod T在[ start, start+duration )内,则打开queue_id对应的队列门。 |
1. 问题建模: TAS旨在为时间敏感流量提供有界延迟和零拥塞丢包。时间被划分为固定长度的周期T(如125μs)。每个周期内,为每个流量类别(队列)分配一个或多个时间窗口,在此期间该队列的门打开,允许发送数据。其他时间门关闭。2. 门控列表配置: 每个输出端口维护一个门控列表,列表中的每个条目包含队列ID、开始时间偏移量(相对于周期开始)和持续时间。门控列表在周期内重复。3. 调度过程: 在每个时间点,调度器检查门控列表,确定哪些队列的门是打开的。只有门打开的队列才能参与调度。调度器通常结合严格优先级调度:在门打开的队列中,选择优先级最高的队列发送数据。4. 保护带: 为了避免一个队列的数据包跨越时间窗口边界而影响下一个窗口,可以在窗口结束时设置保护带(guard band),在此期间不发送任何数据,以确保队列为空。5. 配置计算: 给定一组时间敏感流(周期、最大帧长、延迟要求),需要计算门控列表,使得所有流都能在截止时间前传输。这可以建模为周期任务调度问题(如最早截止时间优先)。6. 同步: 所有交换机需要时间同步(如IEEE 802.1AS),以确保门控列表对齐。7. 参数: 周期T通常为125μs、250μs等。窗口持续时间根据流量负载计算。变量/常量: T: 周期长度(秒)。 G: 门控列表,包含多个条目(queue_id, start, duration)。 t: 当前时间(从某个参考点开始)。 guard_band: 保护带长度(秒)。 |
周期函数: 门控列表是周期性的。 |
1. 时间同步: 所有交换机通过gPTP(IEEE 802.1AS)同步时钟。 2. 门控列表配置: 网络控制器根据流量需求计算门控列表,并下发给每个交换机。 3. 队列管理: 数据包根据优先级分类到不同队列。 4. 门控执行: 在每个时间点,交换机根据本地时间和门控列表,打开或关闭每个队列的门。 5. 调度: 在门打开的队列中,根据严格优先级选择最高优先级的队列,发送一个数据包。 6. 保护带: 在窗口结束前,提前停止发送,进入保护带,确保队列清空。 7. 周期重复: 每个周期结束后,重新开始门控列表。 |
硬件: 支持TSN的交换芯片(如Marvell Prestera), 时间同步硬件。 |
|
Roce-NW-0725 |
物联网路由 |
距离向量, 目标函数 |
RPL (Routing Protocol for Low-Power and Lossy Networks) 路由模型 |
为低功耗有损网络(LLN)设计,构建以根节点为根的有向无环图(DAG),使用目标函数和度量选择最优父节点,支持多路径和修复。 |
DAG构造: 构建以根为根的有向无环图。 |
距离向量, 有向无环图, 目标函数优化。 |
物联网, 无线传感器网络, 智能家居。 |
秩: Rank (节点到根的距离)。 |
秩计算: |
1. 网络拓扑: RPL构建一个或多个Destination-Oriented DAGs(DODAG)。每个DODAG有一个根节点(通常为汇聚节点)。每个节点有一个秩(Rank),表示其到根的距离。秩随着跳数增加而增加。2. 控制消息: DODAG Information Object(DIO):由根节点周期性广播,包含DODAG ID、版本、秩等信息。DODAG Information Solicitation(DIS):节点主动请求DIO。Destination Advertisement Object(DAO):子节点向上游发送,用于建立下行路由。3. 父节点选择: 节点监听来自邻居的DIO消息,根据目标函数(OF)计算每条路径的成本。目标函数基于度量,如期望传输次数(ETX)、延迟、能量等。节点选择成本最小的邻居作为父节点。4. 秩的计算: 节点的秩基于其父节点的秩和到父节点的链路成本: |
图论: DAG是有向无环图。 |
1. 初始化: 根节点广播DIO消息,秩为0。 2. DIO接收: 节点收到DIO后,根据目标函数计算通过该邻居到根的路径成本。 3. 父选择: 节点选择成本最小的邻居作为父节点,并计算自己的秩:Rank = Rank(parent) + cost(parent)。 4. DIO发送: 节点根据自己的秩,使用Trickle算法广播DIO消息。 5. DAO发送: 节点向父节点发送DAO消息,通告自己的可达性,用于建立下行路由。 6. 路由表维护: 节点维护到父节点的上行路由,并通过DAO消息学习下行路由。 7. 修复: 如果父节点失效,节点选择备用父节点。如果无备用父节点,则发送DIS请求DIO,重新加入DODAG。 |
硬件: 低功耗无线模块(如IEEE 802.15.4)。 |
|
Roce-NW-0726 |
无线网络 |
功率控制, 信干噪比 |
基于SINR的分布式功率控制模型 |
每个发射节点根据接收到的干扰和噪声调整发射功率,以达到目标信干噪比(SINR),从而最大化网络容量或保证链路质量。 |
分布式: 每个节点基于本地信息调整功率。 |
优化理论, 博弈论, 控制理论。 |
蜂窝网络, 无线自组织网络, 无人机网络。 |
发射功率: p_i (节点i的发射功率)。 |
SINR计算: |
1. 问题建模: 网络中有多个发射-接收对。每个发射节点i以功率p_i发送信号到其接收节点。接收节点i收到的信号功率为G{ii} * p_i,来自其他发射节点j的干扰为Σ{j≠i} G{ji} * p_j,加上噪声N_i。SINR_i = (G{ii} * p_i) / (Σ{j≠i} G{ji} * p_j + N_i)。目标是找到功率向量p,使得每个链路的SINR_i ≥ γ_i(目标SINR),且总功率最小。2. 可行性条件: 目标SINR向量γ可行当且仅当矩阵(I - F)的最大特征值小于1,其中F{ij} = (γ_i * G{ji}) / G{ii} for i≠j, and F{ii}=0。3. 分布式功率控制算法: 每个节点i周期性地测量当前SINR_i,然后更新功率: |
线性代数: 可行性条件涉及矩阵特征值。 |
1. 初始化: 每个节点以初始功率p_i(0)发射(如最大功率)。 2. SINR测量: 接收节点i测量当前SINR_i(t)。 3. 反馈: 接收节点将SINR_i(t)发送给发射节点(或发射节点估计)。 4. 功率更新: 发射节点计算新功率:p_i(t+1) = (γ_i / SINR_i(t)) * p_i(t)。如果有限制,则p_i(t+1) = min(p_i(t+1), p_max)。 5. 发射: 以新功率发射信号。 6. 重复: 重复步骤2- |
|
编号 |
领域 |
核心理论 |
模型/协议/算法名称 |
目标与描述 |
精度与特征 |
理论基础 |
应用场景 |
数学要素 |
关键方程/状态机 |
定理/算法/模型/方法的逐步思考推理过程及每一个步骤的数学方程式和参数选择/参数优化、时序和软件/硬件交互流程的所有细节和算法/分步骤时序情况及数学方程式、变量/常量/参数列表及说明 |
数学特征 |
实现步骤/工作流程 |
软硬件工具 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Roce-NW-0727 |
网络遥测 |
带内遥测, 可编程数据平面 |
带内网络遥测 (INT) 模型 |
在数据包转发路径中插入指令,使交换机在数据包内记录网络状态(如队列延迟、拥塞标记),实现精细化的网络性能监控和故障定位。 |
带内测量: 测量数据携带在数据包中。 |
可编程数据平面, 网络测量, 数据包处理。 |
数据中心网络, 网络性能监控, 故障诊断。 |
INT指令: 指定要收集的数据。 |
INT头格式: 包含指令字段, 如 |
1. 架构: INT包括三个组件:INT源(在数据包中插入INT指令)、INT传输节点(交换机按指令收集数据并写入数据包)、INT接收端(从数据包中提取并分析数据)。2. 数据包格式: 在原有数据包(如以太网帧)中插入INT头部。INT头部包含:指令字段(指定要收集的数据类型,如队列延迟、拥塞标记、时间戳)、长度字段(元数据总长度)、顺序字段等。3. 交换机行为: 交换机解析INT指令,将指定的本地状态(如入端口、出端口、队列延迟、时间戳、队列长度等)追加到数据包的INT元数据部分。然后更新INT头部的长度字段。4. 数据收集: 接收端(如目的主机或收集器)解析INT元数据,得到路径上所有交换机的状态序列,可以用于计算路径延迟、定位拥塞点等。5. 开销控制: INT元数据会增大数据包,可能超出MTU。可以通过采样(只对部分数据包进行INT)或截断(只记录前N跳)来控制开销。6. 与RDMA协同: 在RoCE网络中,可以在RoCEv2数据包中嵌入INT指令,监控RDMA流量的端到端延迟和拥塞情况,用于调整流量调度或触发拥塞控制。7. 参数: INT元数据每个跳的典型大小约为4-8字节。指令字段长度通常为1-2字节。采样率可以根据负载调整。变量/常量: INT_instruction: 指令字段,位图指示要收集的数据类型。 metadata_per_hop: 每跳元数据大小(字节)。 hop_count: 路径跳数。 sample_rate: 采样率(例如0.01)。 |
指令集: INT指令类似于CPU指令集。 |
1. 配置: 控制器向交换机下发INT指令集,指定要收集的数据类型。 2. 标记: 源主机或边缘交换机在数据包中插入INT头部(可以基于流抽样)。 3. 转发与收集: 路径上的每个交换机解析INT头部,根据指令将本地状态(如时间戳、队列长度)追加到数据包的INT元数据区域。 4. 接收与分析: 目的主机或遥测收集器接收数据包,提取INT元数据,得到路径上各跳的状态信息。 5. 可视化与告警: 分析数据,生成网络性能视图,并在异常时告警。 |
硬件: 支持INT的可编程交换芯片(如Barefoot Tofino)。 |
|
Roce-NW-0728 |
网络控制 |
集中式控制器, 南向接口 |
SDN控制器与交换机协同模型(以OpenFlow为例) |
SDN控制器通过南向接口(如OpenFlow)向交换机下发流表项,交换机根据流表项匹配数据包并执行动作,实现网络可编程控制。 |
集中控制: 控制器集中计算流表。 |
集中控制, 流表匹配, 流水线处理。 |
SDN网络, 网络虚拟化, 流量工程。 |
流表项: 匹配字段, 优先级, 计数器, 动作。 |
匹配: 数据包头字段与流表项匹配域匹配。 |
1. 架构: SDN控制器(如ONOS、OpenDaylight)通过OpenFlow协议与交换机通信。交换机维护一个或多个流表,每个流表包含多个流表项。2. 流表项结构: 每个流表项包括:匹配字段(如入端口、以太网类型、IP地址、TCP端口等)、优先级、计数器、指令(如动作集)、超时时间、Cookie等。3. 流水线处理: 数据包进入交换机后,从第一个流表开始匹配。如果匹配成功,则执行该流表项的动作,并可能跳转到后续流表。如果未匹配,则生成Packet-In消息发送给控制器。4. 控制器决策: 控制器收到Packet-In后,根据全局视图计算转发路径,然后通过Flow-Mod消息向相关交换机下发流表项。5. 与RDMA协同: 在RoCE网络中,控制器可以识别RDMA流量(通过UDP目的端口4791),并为其计算低延迟、无拥塞的路径,下发相应的流表项,实现流量工程。6. 性能优化: 为了减少控制器负载和流表项数量,可以使用聚合流表项(如通配符)。为了加速匹配,可以使用TCAM或硬件优化。7. 参数: 流表项超时时间(如空闲超时、硬超时)。OpenFlow协议版本(如1.3、1.5)。变量/常量: match_fields: 匹配字段,如源IP、目的IP等。 priority: 优先级,数值越高优先级越高。 instructions: 指令集,包括动作和跳转。 counters: 计数器,如包数、字节数。 idle_timeout: 空闲超时(秒)。 |
匹配: 流表匹配是模式匹配问题。 |
1. 初始化: 交换机启动,连接到控制器。 2. 拓扑发现: 控制器通过LLDP或其他机制发现网络拓扑。 3. 流表下发: 控制器根据路由策略计算流表项,通过Flow-Mod消息下发到交换机。 4. 数据包处理: 交换机收到数据包,按流水线匹配流表。如果匹配成功,执行动作(如从指定端口转发)。如果未匹配,封装为Packet-In消息发送给控制器。 5. 控制器响应: 控制器处理Packet-In,计算路径并下发新流表项。 6. 流表维护: 控制器定期更新流表项,如删除过期项。 |
硬件: 支持OpenFlow的交换机(如OVS硬件交换机)。 |
|
Roce-NW-0729 |
网络虚拟化 |
隧道封装, 覆盖网络 |
VxLAN (Virtual Extensible LAN) 模型 |
通过MAC-in-UDP封装,在IP网络上创建虚拟的二层网络,解决VLAN ID数量限制和跨越三层的二层扩展问题,支持大规模多租户数据中心网络。 |
MAC-in-UDP: 原始以太网帧封装在UDP中。 |
隧道技术, 覆盖网络, 封装。 |
数据中心网络, 云计算, 多租户网络。 |
VNI: 24位虚拟网络标识符。 |
封装: 原始以太网帧 + VxLAN头(8字节) + 外层UDP头 + 外层IP头 + 外层以太网头。 |
1. 封装格式: VxLAN在原始以太网帧前添加8字节的VxLAN头部,然后封装在UDP报文中。VxLAN头部包含24位VNI(虚拟网络标识符),用于标识租户。外层IP头部的源IP是源VTEP的IP,目的IP是目的VTEP的IP。外层UDP头部的目的端口是4798(IANA分配),源端口由源VTEP选择(通常使用内层流的哈希,用于ECMP)。2. VTEP: VxLAN隧道端点,可以是交换机(硬件VTEP)或服务器Hypervisor(软件VTEP)。VTEP负责封装和解封装VxLAN报文。3. 控制平面: 需要学习MAC地址和VTEP的映射。可以通过多播(原始VxLAN规范)或SDN控制器(如EVPN)分发。在EVPN方案中,使用BGP EVPN协议在VTEP之间交换MAC/IP和VNI信息。4. 与RDMA协同: 在RoCE over VxLAN场景中,RDMA流量(RoCEv2)封装在VxLAN中。这要求VTEP支持RoCE的拥塞控制(如ECN)和优先级流控(PFC)的透传或映射。5. 性能考虑: 封装增加报文长度,可能导致分片。UDP校验和可以为0(表示不计算),但RoCEv2要求校验和有效。6. 参数: VNI范围(1-16777215)。UDP源端口范围(如使用哈希避免ECMP极化)。变量/常量: VNI: 虚拟网络标识符(24位)。 inner_eth_frame: 原始以太网帧。 outer_src_ip: 源VTEP IP。 outer_dst_ip: 目的VTEP IP。 outer_src_port: 外层UDP源端口(通常为内层流五元组哈希)。 outer_dst_port: 4798。 |
封装: 在原始帧外添加额外头部。 |
1. 学习: VTEP通过控制平面(如EVPN)或数据平面(多播)学习目的MAC地址对应的远端VTEP IP地址。 2. 封装: 当VTEP收到需要发送到远程VTEP的以太网帧时,它添加VxLAN头部(含VNI)、外层UDP头部(源端口为哈希值,目的端口4798)、外层IP头部(源IP为本地VTEP IP,目的IP为远端VTEP IP)、外层以太网头部。 3. 转发: 封装后的IP报文在底层IP网络中路由到目的VTEP。 4. 解封装: 目的VTEP收到报文后,检查UDP目的端口为4798,剥离外层头,根据VNI将原始以太网帧转发到对应的虚拟网络。 5. 交付: 原始以太网帧被发送到目标虚拟机或容器。 |
硬件: 支持VxLAN硬件卸载的网卡和交换机。 |
|
Roce-NW-0730 |
网络虚拟化 |
虚拟局域网, 标签交换 |
VLAN (IEEE 802.1Q) 模型 |
在以太网帧中插入4字节的802.1Q标签,包含12位VLAN ID,用于在二层网络中划分广播域,实现流量隔离和网络分段。 |
帧标记: 在以太网帧头插入VLAN标签。 |
帧格式, 标签交换, 网络分段。 |
企业网络, 数据中心, 网络隔离。 |
VLAN标签: 包含TPID (0x8100), PCP, DEI, VID。 |
帧格式: 目的MAC(6B) + 源MAC(6B) + TPID(0x8100, 2B) + TCI(2B, 含PCP, DEI, VID) + 以太类型 + 载荷。 |
1. 帧格式: 在标准的以太网帧的源MAC地址和以太类型之间插入4字节的802.1Q标签。标签包括:2字节的TPID(Tag Protocol Identifier,固定为0x8100),2字节的TCI(Tag Control Information)。TCI又包含3位PCP(优先级代码点)、1位DEI(丢弃 eligible指示符)和12位VID(VLAN ID)。2. 端口类型: a. Access端口: 属于一个VLAN,接收未标记的帧,并打上该VLAN的标签;发送时剥离标签。 b. Trunk端口: 允许多个VLAN的帧通过,帧必须带有VLAN标签。 c. Hybrid端口: 可以同时处理标记和未标记帧。3. VLAN转发: 交换机根据帧的VLAN标签和目的MAC地址在对应的VLAN MAC表中查找转发端口。如果端口是Access端口,则在发送前剥离VLAN标签。4. 与RDMA协同: 在RoCE网络中,VLAN可用于隔离RDMA流量,并利用PCP字段提供优先级(与RoCE的优先级流控PFC结合)。通常将RDMA流量分配到高优先级的VLAN,并启用PFC以防止丢包。5. 扩展性限制: VLAN ID只有12位,最多4094个(0和4095保留),不适合超大规模多租户环境。因此出现了VxLAN等扩展技术。6. 参数: VLAN ID范围1-4094。PCP值0-7,对应8个优先级。变量/常量: VID: VLAN标识符(1-4094)。 PCP: 优先级代码点(0-7)。 DEI: 丢弃 eligible指示符(0或1)。 TPID: 标签协议标识符(0x8100)。 |
标签: 在帧中插入固定长度标签。 |
1. 入端口处理: 接收帧,判断端口类型。如果是Access端口,则打上该端口的默认VLAN ID标签;如果是Trunk端口,帧必须带标签。 2. 查找: 根据帧的目的MAC地址和VLAN ID查找MAC地址表,得到出端口。 3. 出端口处理: 如果出端口是Access端口,则剥离VLAN标签后发送;如果是Trunk端口,则保留标签发送。 4. 广播/未知单播: 如果在VLAN内未找到目的MAC,则向该VLAN内所有端口(除入端口)广播。 |
硬件: 支持VLAN的以太网交换机。 |
|
Roce-NW-0731 |
拥塞控制 |
基于信用的流控, 无损网络 |
基于信用的流量控制模型 |
接收方向发送方通告信用(credit),表示其可用的缓冲区空间。发送方仅在有信用时发送数据,避免接收方缓冲区溢出,实现无损传输。 |
基于信用: 发送速率由接收方信用控制。 |
流量控制, 信用机制, 缓冲区管理。 |
存储网络, 高性能计算, 无损以太网。 |
信用: credit (可发送的数据量)。 |
发送条件: |
1. 基本思想: 接收方维护一个信用池,初始值等于其空闲缓冲区大小。接收方将信用值发送给发送方。发送方每发送一定量的数据,就减少相应的信用。当信用为零时,发送方停止发送。接收方每释放一定量的缓冲区,就增加信用并通知发送方。2. 信用报文: 接收方通过信用报文(如RoCE的ACK)或专用报文(如InfiniBand的信用包)发送信用更新。信用可以是基于字节的或基于数据包的。3. 与RDMA协同: 在RoCE中,流量控制通常由链路层(如以太网流控)或RoCE本身的传输层提供。RoCEv2使用基于信用的流量控制,接收方在ACK中携带信用信息。4. 防止死锁: 如果信用报文丢失,发送方可能永远等待。可以通过超时机制或周期性发送信用更新来避免。5. 性能优化: 信用更新频率影响性能。更新太频繁增加开销,更新太慢可能导致发送方停顿。可以设置信用阈值,当信用低于阈值时发送更新。6. 参数: 初始信用大小(通常等于接收缓冲区大小)。信用更新阈值(如缓冲区的一半)。信用更新超时时间。变量/常量: credit: 发送方持有的信用(字节)。 buffer_size: 接收方缓冲区大小(字节)。 threshold: 信用更新阈值(字节)。 timer: 信用更新定时器。 |
信用: 信用是非负整数。 |
1. 初始化: 接收方计算空闲缓冲区大小,作为初始信用发送给发送方。发送方设置credit = 收到的信用。 2. 发送数据: 发送方检查credit > 0,如果大于0,则发送数据,并更新credit = credit - sent_bytes。 3. 接收处理: 接收方收到数据后,将其放入缓冲区,并释放已处理数据的缓冲区空间。 4. 信用更新: 当释放的缓冲区空间达到阈值或定时器超时时,接收方将增加的信用发送给发送方。 5. 信用增加: 发送方收到信用更新后,增加credit。 6. 重复: 重复步骤2-5。 |
硬件: 支持信用流控的网卡(如InfiniBand HCA, RoCE网卡)。 |
|
Roce-NW-0732 |
拥塞控制 |
显式拥塞通知, 量化拥塞通知 |
ECN (Explicit Congestion Notification) 与 QCN (Quantized Congestion Notification) 模型 |
在交换机检测到拥塞时标记数据包(ECN)或发送拥塞通知报文(QCN),接收方通过ACK将拥塞信号反馈给发送方,发送方降低发送速率,避免拥塞加剧。 |
显式信号: 交换机主动发出拥塞信号。 |
拥塞控制, 反馈控制, 量化。 |
数据中心网络, 无损以太网, RoCE。 |
拥塞标记: ECN标记位(IP头)。 |
ECN标记: 如果队列长度 > K, 设置IP头中的ECN标记位。 |
1. ECN机制: 在IP头部有2位ECN字段。发送方设置ECN-Capable Transport (ECT) 位。交换机在队列长度超过阈值K时,将ECT位标记为Congestion Experienced (CE)。接收方收到CE标记的数据包后,在ACK中设置ECE(ECN-Echo)标志。发送方收到ECE后,减少拥塞窗口。2. QCN机制: 交换机测量队列长度和队列变化率,计算反馈值(量化值)。然后生成拥塞通知报文(CNP)发送给源(或由数据包携带到接收方再返回)。源根据反馈值调整发送速率。3. 与RDMA协同: RoCEv2支持ECN。交换机在检测到拥塞时标记RoCEv2数据包(IP头中的ECN位)。接收方通过ACK将拥塞信号返回给发送方。发送方根据拥塞信号降低发送速率。4. 参数选择: ECN标记阈值K通常设置为队列大小的30%-50%。QCN的反馈函数通常为: |
阈值: 当队列超过阈值时标记。 |
1. ECN标记: 交换机监控队列长度。当数据包到达时,如果队列长度 > K,且数据包支持ECN,则标记IP头的ECN位为CE。 2. 接收方反馈: 接收方收到CE标记的数据包后,在下一个ACK中设置ECE标志。 3. 发送方反应: 发送方收到ECE后,将拥塞窗口减半(或按其他规则)。 4. QCN测量: 交换机测量队列长度Qlen和变化率ΔQ。计算反馈值F = (Qlen - Qeq) + w * ΔQ。 5. QCN反馈: 交换机生成CNP报文,包含反馈值F,发送给源(或由数据包携带)。 6. 发送方调整: 源根据F调整发送速率,例如: |
硬件: 支持ECN/QCN的交换机(如Barefoot Tofino)。 |
|
Roce-NW-0733 |
负载均衡 |
可编程哈希, 一致性与非一致性 |
可编程哈希 (Programmable Hash) 模型 |
在交换机中实现可编程的哈希函数,根据数据包头部字段(可自定义)计算哈希值,用于ECMP和链路聚合,以实现灵活的负载均衡。 |
可编程: 哈希函数的输入字段和算法可配置。 |
哈希函数, 可编程数据平面, 负载均衡。 |
数据中心交换机, ECMP, 链路聚合组。 |
哈希字段: 从数据包头部提取的字段(如IP, 端口, VLAN)。 |
哈希计算: |
1. 哈希字段选择: 用户可以配置哈希函数使用的字段,例如:源IP、目的IP、源端口、目的端口、协议号、VLAN ID等。这些字段从数据包头部提取并连接成字节流。2. 哈希算法: 常见的哈希算法包括CRC16、CRC32、XOR等。CRC具有良好的均匀性。算法通常由硬件实现,以保证线速。3. 哈希种子: 为了应对哈希冲突(如多个流映射到同一路径),可以配置哈希种子,改变哈希分布。4. 与ECMP协同: 在ECMP中,哈希值用于从多条等价路径中选择一条。哈希值对路径数N取模,得到路径索引。5. 与RDMA协同: 对于RoCE流量,可以选择使用RoCE特有的字段(如DIP QoS)进行哈希,以实现更精细的负载均衡。6. 可编程性: 在P4等可编程数据平面语言中,哈希函数可以作为可编程块,允许用户自定义字段和算法。7. 参数: 哈希字段的选择(如五元组)。哈希算法参数(如多项式)。哈希种子(随机数)。变量/常量: fields: 参与哈希的字段列表。 hash_func: 哈希函数(如crc16)。 seed: 哈希种子(例如0x1234)。 N: 等价路径数量。 index: 路径索引(0 到 N-1)。 |
哈希: 将任意长度数据映射到固定范围。 |
1. 配置: 用户通过管理界面或控制器配置哈希字段、算法和种子。 2. 字段提取: 交换机解析数据包头部,提取配置的字段。 3. 计算哈希: 将提取的字段和种子输入哈希函数,得到哈希值H。 4. 路径选择: 计算路径索引:index = H mod N。 5. 转发: 根据索引选择对应的出端口,转发数据包。 |
硬件: 支持可编程哈希的交换芯片(如Broadcom Trident)。 |
|
Roce-NW-0734 |
网络测量 |
主动探测, 延迟测量 |
双向主动测量协议 (TWAMP) 模型 |
通过发送探测报文并接收响应,测量网络性能指标(如延迟、丢包、抖动),支持单向和双向测量,用于网络性能监控和故障定位。 |
主动探测: 发送探测报文测量性能。 |
网络测量, 时间戳, 统计。 |
网络性能监控, SLA验证, 故障诊断。 |
探测报文: 包含序列号和时间戳。 |
延迟计算: |
1. 架构: TWAMP包括控制客户端、服务器、会话发送方和会话反射器。控制客户端和服务器建立控制连接,协商测量会话。会话发送方向反射器发送探测报文,反射器返回响应。2. 报文格式: 探测报文(UDP)包含序列号、时间戳(T1)。反射器收到探测报文后,记录接收时间戳(T2),并在响应报文中包含T1、T2和反射器的发送时间戳(T3)。发送方收到响应后记录接收时间戳(T4)。3. 延迟计算: 往返延迟 = T4 - T1。单向延迟需要时钟同步。如果时钟同步,则前向延迟 = T2 - T1,反向延迟 = T4 - T3。4. 丢包计算: 发送方记录发送的序列号,接收方记录接收的序列号,通过比较计算丢包数。5. 抖动计算: 延迟的变化量,通常计算为连续延迟差的绝对值。6. 与RDMA协同: 在RoCE网络中,可以使用TWAMP测量RDMA流量的端到端延迟,用于验证网络性能或触发路径切换。7. 参数: 探测报文大小(默认62字节)。发送间隔(如每秒10个)。测量持续时间。变量/常量: T1: 探测报文发送时间戳。 T2: 探测报文接收时间戳(反射器)。 T3: 响应报文发送时间戳(反射器)。 T4: 响应报文接收时间戳(发送方)。 seq: 序列号。 packet_size: 探测报文大小。 interval: 发送间隔。 |
时间戳: 高精度时间戳(纳秒级)。 |
1. 控制连接建立: 控制客户端与服务器建立TCP连接,协商测量参数。 2. 启动会话: 控制客户端请求启动测量会话,服务器和反射器准备就绪。 3. 发送探测: 会话发送方按间隔发送UDP探测报文,包含序列号和发送时间戳T1。 4. 反射响应: 反射器收到探测报文,记录T2,构造响应报文,包含T1、T2、T3(发送时间戳),发送回发送方。 5. 接收响应: 发送方收到响应,记录T4,计算延迟。 6. 统计: 收集一段时间内的延迟、丢包、抖动。 7. 结束会话: 控制客户端请求停止会话。 |
硬件: 支持高精度时间戳的网卡。 |
|
Roce-NW-0735 |
网络功能 |
网络地址转换, 端口转换 |
NAT (Network Address Translation) 与 NAPT (Network Address Port Translation) 模型 |
将私有IP地址和端口映射为公有IP地址和端口,实现私有网络访问公共网络,并节省公有IP地址。 |
地址转换: 私有IP到公有IP的映射。 |
地址转换, 端口转换, 状态跟踪。 |
家庭路由器, 企业网关, IPv4地址节省。 |
NAT表: 映射条目(私有IP:端口, 公有IP:端口)。 |
SNAT: 出方向转换源IP和端口。 |
1. 转换类型: a. SNAT(源NAT): 修改数据包的源IP和端口,用于内部主机访问外部网络。 b. DNAT(目的NAT): 修改数据包的目的IP和端口,用于外部主机访问内部服务器。 c. PAT(端口地址转换): 多个私有IP映射到一个公有IP,通过端口区分会话。2. NAT表: NAT设备维护一个转换表,每个表项包含内部IP:端口、外部IP:端口、协议、超时时间等。3. 出方向流程: 当内部主机发送数据包到外部时,NAT设备检查NAT表,如果没有匹配表项,则创建一个新表项,分配一个外部IP:端口,并修改数据包的源IP和端口。然后转发数据包。4. 入方向流程: 当外部主机发送数据包到NAT设备的外部IP:端口时,NAT设备查找NAT表,找到对应的内部IP:端口,修改数据包的目的IP和端口,并转发到内部主机。5. 超时: NAT表项如果在超时时间内没有数据包,则被删除。超时时间根据协议不同(如TCP、UDP、ICMP)而不同。6. 与RDMA协同: RDMA over NAT需要特殊处理,因为RDMA传输层使用特定的端口(4791)。通常需要静态端口映射,将外部IP:4791映射到内部RDMA服务器的IP:4791。7. 参数: NAT表大小(通常几万到几十万条)。超时时间(如TCP 24小时,UDP 5分钟)。变量/常量: internal_ip: 内部IP地址。 internal_port: 内部端口。 external_ip external_port: 外部IP和端口。 protocol: 协议(TCP/UDP)。 timeout: 表项超时时间。 |
映射: 私有到公有的映射函数。 |
1. 出方向数据包: NAT设备收到内部主机发送的数据包,检查NAT表。 2. 表项查找/创建: 如果找到匹配表项,则使用该表项的外部IP:端口。如果没有,则创建新表项,分配一个外部IP:端口(如果是PAT,则分配一个未使用的端口)。 3. 地址转换: 修改数据包的源IP和端口为外部IP:端口。 4. 转发: 将数据包转发到外部网络。 5. 入方向数据包: NAT设备收到外部发往外部IP:端口的数据包,查找NAT表。 6. 反向转换: 如果找到表项,修改数据包的目的IP和端口为内部IP:端口。 7. 转发: 将数据包转发到内部主机。 8. 表项维护: 定期清理超时的NAT表项。 |
硬件: 支持NAT的硬件路由器。 |
|
Roce-NW-0736 |
网络安全 |
访问控制, 状态检测 |
有状态防火墙 (Stateful Firewall) 模型 |
跟踪网络连接的状态(如TCP三次握手),根据连接状态和规则决定是否允许数据包通过,提供比无状态防火墙更强的安全性。 |
状态跟踪: 维护连接状态表。 |
状态检测, 访问控制, 连接跟踪。 |
企业网络安全, 边界防护, 入侵防御。 |
连接状态: NEW, ESTABLISHED, RELATED, INVALID等。 |
状态检测: 如果数据包属于已建立的连接,则允许通过。 |
1. 状态跟踪: 有状态防火墙维护一个连接跟踪表,记录每个连接的状态(如源IP、目的IP、源端口、目的端口、协议、状态、超时时间等)。2. 连接状态: 常见状态包括:NEW(新连接)、ESTABLISHED(已建立连接)、RELATED(相关连接,如FTP数据连接)、INVALID(无效数据包)。3. 规则匹配: 当数据包到达时,防火墙首先检查连接跟踪表。如果数据包属于已建立的连接,则允许通过。否则,根据规则表进行匹配。规则表通常按顺序匹配,第一条匹配的规则决定动作。4. 动态规则: 对于出方向的新连接,防火墙在允许的同时,会在连接跟踪表中创建一条表项。对于入方向的数据包,如果是对已建立连接的响应,则允许。5. 与RDMA协同: RDMA使用RoCE(基于UDP)或iWARP(基于TCP)。有状态防火墙需要支持这些协议的状态跟踪。例如,对于RoCEv2,防火墙需要跟踪UDP端口4791的“连接”(虽然不是面向连接的),允许返回流量。6. 参数: 连接跟踪表大小(通常几十万条)。状态超时时间(如TCP ESTABLISHED 24小时,UDP 5分钟)。变量/常量: conn_tuple: 连接五元组(协议,源IP,源端口,目的IP,目的端口)。 state: 连接状态(NEW, ESTABLISHED等)。 timeout: 状态超时时间。 rule_table: 规则表,每条规则包括匹配条件和动作(允许/拒绝)。 |
状态机: 连接状态变化是状态机。 |
1. 数据包到达: 防火墙收到数据包,提取五元组。 2. 连接跟踪查找: 在连接跟踪表中查找该五元组。 3. 状态匹配: 如果找到,检查数据包是否符合连接状态(如TCP序列号在窗口内),如果符合,则允许通过,并更新连接状态和超时时间。 4. 规则匹配: 如果未找到连接,则按顺序匹配规则表。如果规则允许,则创建新的连接跟踪表项(对于有状态的协议),并允许数据包。如果规则拒绝,则丢弃数据包。 5. 状态更新: 对于已建立连接的数据包,更新连接跟踪表项的超时时间。 6. 清理: 定期清理超时的连接跟踪表项。 |
硬件: 硬件防火墙(如Cisco ASA)。 |
|
Roce-NW-0737 |
网络虚拟化 |
虚拟交换机, 覆盖网络 |
Open vSwitch (OVS) 模型 |
虚拟交换机,实现基于流的转发、VLAN、隧道、OpenFlow协议支持等,用于虚拟化环境中的网络连接。 |
虚拟交换机: 在软件中实现交换机功能。 |
虚拟化, 软件定义网络, 覆盖网络。 |
虚拟化平台(KVM, Xen), 云计算网络, SDN。 |
流表: 匹配字段, 优先级, 计数器, 动作。 |
流表匹配: 类似于OpenFlow交换机。 |
1. 架构: OVS由内核模块和用户空间守护进程组成。内核模块处理数据包快速路径(如流表匹配和转发),用户空间处理慢路径(如未匹配流表的数据包)和控制平面(如OpenFlow协议)。2. 流表: OVS支持多级流表,类似于OpenFlow交换机。流表项包括匹配字段、优先级、计数器、动作等。动作包括:转发、修改字段、隧道封装、送到控制器等。3. 隧道: OVS支持多种隧道协议,如VxLAN、GRE、Geneve等。隧道端点可以是OVS虚拟端口。4. 与SDN控制器协同: OVS支持OpenFlow协议,可以与SDN控制器(如ONOS、OpenDaylight)通信,接收流表项。5. 与RDMA协同: 在虚拟化环境中,虚拟机之间的RDMA流量可能经过OVS。OVS需要支持RDMA的加速,如SR-IOV直通,或通过流表将RDMA流量直接转发,避免内核开销。6. 性能优化: 使用内核模块加速数据平面。对于高频流,流表项缓存在内核中。7. 参数: 流表超时时间。隧道MTU。变量/常量: flow_table: 流表,每个表项包含匹配字段和动作。 tunnel_type: 隧道类型(VxLAN, GRE等)。 tunnel_id: 隧道标识符(如VNI)。 |
流表: 基于流的转发, 使用元组匹配。 |
1. 初始化: 启动OVS守护进程,创建网桥和虚拟端口。 2. 控制器连接: 连接到SDN控制器(如果配置)。 3. 流表下发: 控制器下发流表项到OVS。 4. 数据包处理: 数据包到达OVS端口,内核模块查找流表。如果匹配,则执行动作(如从指定端口转发或隧道封装)。如果不匹配,则送用户空间处理。 5. 用户空间处理: 用户空间可以执行更复杂的处理,如发送到控制器或学习新的流表项并安装到内核。 6. 隧道处理: 如果动作是隧道封装,则添加隧道头部并发送。如果是解封装,则移除隧道头部并继续处理。 |
硬件: 服务器网卡(支持SR-IOV)。 |
|
Roce-NW-0738 |
网络协议 |
路径最大传输单元发现 |
路径MTU发现 (PMTUD) 模型 |
通过发送不同大小的探测报文,发现从源到目的路径上的最小MTU,避免分片,提高传输效率。 |
动态发现: 通过探测发现路径MTU。 |
网络探测, MTU发现, 分片避免。 |
任何IP网络, 特别是跨不同MTU的网络。 |
MTU: 最大传输单元, 链路层帧的最大载荷。 |
探测: 发送大小为当前估计路径MTU的数据包, 设置DF位。 |
1. 基本过程: 源主机假设路径MTU为第一跳链路的MTU,发送设置DF(Don't Fragment)位的数据包。如果路径中某链路的MTU小于数据包大小,路由器将丢弃数据包并发送ICMP“数据包过大”消息(Type 3, Code 4)给源主机,其中包含该链路的MTU。源主机根据此MTU降低估计的路径MTU,并重新发送。重复此过程直到数据包成功到达目的地。2. 维护路径MTU: 源主机为每个目的地缓存路径MTU。定期(如10分钟)增加路径MTU以探测是否路径MTU已增大(如路径变化)。3. 与TCP协同: TCP在连接建立时使用路径MTU发现,确定MSS(最大报文段长度)。MSS = 路径MTU - IP头 - TCP头。4. 与RDMA协同: RDMA over IP(如RoCEv2)也依赖路径MTU发现。RDMA的MTU通常较大(如1024、2048、4096字节),需要确保路径MTU足够大,否则会导致分片,影响性能。5. 问题: 如果ICMP“数据包过大”消息被防火墙过滤,PMTUD会失败,导致连接问题。可以使用TCP MSS选项来避免。6. 参数: 初始路径MTU(通常为第一跳链路MTU)。超时时间(如收到ICMP后等待时间)。增加探测间隔(如10分钟)。变量/常量: pmtu: 当前估计的路径MTU(字节)。 mtu_of_link: 链路的MTU。 icmp_type: ICMP消息类型(3表示目的不可达)。 icmp_code: ICMP代码(4表示需要分片但DF位已设置)。 icmp_next_hop_mtu: ICMP消息中指示的下一跳MTU。 timer: 增加探测定时器。 |
迭代: 逐步逼近路径MTU。 |
1. 初始化: 设置路径MTU为第一跳链路的MTU。 2. 发送探测: 发送一个大小为路径MTU的数据包,设置DF位。 3. 处理ICMP: 如果收到ICMP“数据包过大”消息,提取其中的下一跳MTU,将路径MTU设置为该值,返回步骤2。 4. 成功: 如果数据包成功到达(收到确认,如TCP ACK),则记录当前路径MTU。 5. 定时增加: 定时器超时后,增加路径MTU(如增加一个固定值),返回步骤2,探测是否路径MTU已增大。 |
硬件: 路由器, 支持PMTUD的网卡。 |
|
Roce-NW-0739 |
网络管理 |
简单网络管理协议 |
SNMP (Simple Network Management Protocol) 模型 |
用于网络设备管理和监控,通过GET、SET、TRAP等操作,管理站可以读取和设置设备的管理信息,并接收设备的异步告警。 |
客户端/服务器: 管理站与代理之间通信。 |
网络管理, 管理信息库, 协议。 |
网络设备监控, 故障管理, 性能管理。 |
OID: 对象标识符, 唯一标识MIB对象。 |
SNMP操作: Get, GetNext, Set, Response, Trap。 |
1. 架构: SNMP包括管理站(Manager)、代理(Agent)和管理信息库(MIB)。代理运行在网络设备上,维护MIB。管理站通过SNMP协议与代理通信,读取或设置MIB对象。2. MIB: MIB是一个树形结构,每个节点有一个OID(对象标识符)和一个标签。例如,系统描述的OID是1.3.6.1.2.1.1.1。MIB对象有类型(如整数、字符串、计数器等)。3. SNMP操作: a. Get: 管理站读取一个或多个MIB对象的值。 b. GetNext: 读取下一个MIB对象的值,用于遍历表。 c. Set: 设置MIB对象的值。 d. Response: 代理对Get/Set的响应。 e. Trap: 代理主动发送异步通知,如链路状态变化。4. 版本: SNMPv1、v2c、v3。v2c增加了GetBulk操作;v3增加了安全性(认证和加密)。5. 与RDMA协同: 可以通过SNMP监控RDMA网络设备的性能,如端口发送/接收字节数、错误计数等。需要设备支持相关的MIB。6. 参数: 团体名(community string,相当于密码)。超时时间。重试次数。变量/常量: oid: 对象标识符,点分十进制表示。 community: 团体名(v1/v2c)。 pdu_type: PDU类型(0 Get, 1 GetNext, 2 Response, 3 Set, 4 Trap等)。 var_bindings: 变量绑定列表,每个是oid和值的对。 |
树形结构: MIB是树, OID是路径。 |
1. 初始化: 代理加载MIB,监听UDP端口161。管理站配置团体名和目标设备。 2. Get请求: 管理站发送Get PDU,包含OID和团体名,到代理的161端口。 3. 代理处理: 代理验证团体名,查找OID对应的值,构造Response PDU返回。 4. Set请求: 管理站发送Set PDU,设置OID的值。代理验证权限后设置,并返回Response。 5. Trap发送: 当设备发生特定事件(如链路断开),代理主动发送Trap到管理站的162端口。 6. 管理站处理: 管理站接收Response或Trap,更新数据库或告警。 |
硬件: 网络设备(交换机,路由器)支持SNMP代理。 |
|
Roce-NW-0740 |
网络协议 |
动态主机配置协议 |
DHCP (Dynamic Host Configuration Protocol) 模型 |
动态分配IP地址和其他网络配置参数(如子网掩码、默认网关、DNS服务器)给主机,简化网络管理。 |
动态分配: 主机启动时自动获取IP地址。 |
网络配置, 动态分配, 租约管理。 |
企业网络, 家庭网络, 无线网络。 |
DHCP报文: Discover, Offer, Request, Ack等。 |
租约管理: 每个分配的地址有租期, 租期到期前可续约。 |
1. 协议过程: DHCP使用四步过程:Discover、Offer、Request、Ack(DORA)。 a. Discover: 客户端广播DHCP Discover报文,寻找DHCP服务器。 b. Offer: 服务器响应DHCP Offer报文,提供IP地址和其他配置。 c. Request: 客户端选择其中一个Offer,广播DHCP Request报文,请求该IP地址。 d. Ack: 服务器确认请求,发送DHCP Ack报文,客户端正式获得IP地址。2. 租约管理: 分配的IP地址有租期(如24小时)。客户端在租期过半时尝试续约(发送DHCP Request给原服务器)。如果续约失败,在租期87.5%时广播Discover寻找新服务器。3. DHCP中继: 如果客户端和服务器不在同一子网,需要DHCP中继代理。中继代理接收客户端的广播报文,将其单播转发给DHCP服务器,并将服务器的响应广播回客户端子网。4. 与RDMA协同: 在RDMA网络中,主机需要IP地址进行通信。DHCP可以用于动态分配IP地址。对于固定服务器,通常使用静态IP。5. 参数: 地址池范围。租期时间。选项:子网掩码、路由器、DNS服务器等。6. 安全性: DHCP容易受到攻击,如伪造服务器。可以使用DHCP Snooping等安全机制。变量/常量: client_mac: 客户端MAC地址。 offered_ip: 服务器提供的IP地址。 lease_time: 租期(秒)。 renewal_time: 续约时间点(lease_time/2)。 rebinding_time: 重新绑定时间点(0.875 * lease_time)。 |
广播/单播: Discover广播, Offer单播或广播。 |
1. 客户端初始化: 客户端启动,发送DHCP Discover广播。 2. 服务器响应: 服务器收到Discover,从地址池中选择一个未分配的IP地址,发送DHCP Offer(包含IP地址、租期等)。 3. 客户端请求: 客户端收到一个或多个Offer,选择一个,发送DHCP Request广播,指明选择的服务器和IP地址。 4. 服务器确认: 被选择的服务器发送DHCP Ack确认,客户端配置IP地址。 5. 租期管理: 客户端启动租期定时器。在renewal_time,客户端向原服务器发送Request请求续约。如果成功,重置定时器。如果失败,在rebinding_time广播Request。如果租期到期仍未续约,客户端停止使用该IP地址,重新开始Discover。 |
硬件: 路由器, 交换机(支持DHCP中继)。 |
|
Roce-NW-0741 |
网络协议 |
地址解析协议 |
ARP (Address Resolution Protocol) 模型 |
将IP地址解析为MAC地址,以便在以太网上发送数据包。主机通过广播ARP请求查询目标IP的MAC地址,目标主机回复ARP应答。 |
地址解析: IP地址 -> MAC地址。 |
地址解析, 局域网协议。 |
以太网, IPv4网络。 |
ARP报文: 包含发送方和目标的IP和MAC地址。 |
ARP请求: 发送方MAC已知, 目标MAC为广播。 |
1. 报文格式: ARP报文包括硬件类型、协议类型、硬件地址长度、协议地址长度、操作码(1请求,2应答)、发送方硬件地址、发送方协议地址、目标硬件地址、目标协议地址。2. 解析过程: 当主机A需要发送数据包给主机B(同一子网),且不知道B的MAC地址时,A广播ARP请求,请求B的MAC地址。请求中包含A的IP和MAC地址,以及B的IP地址。所有主机收到请求,但只有B回复ARP应答,包含B的MAC地址。A收到应答后,将映射存入ARP缓存。3. 缓存: ARP缓存表项有超时时间(如20分钟)。超时后删除,需要时重新解析。4. 与RDMA协同: 在RoCE中,RDMA通信需要目标主机的MAC地址。因此,在建立连接前,需要先通过ARP解析MAC地址。RoCEv2基于IP,因此依赖ARP。5. 安全性: ARP无认证,容易受到ARP欺骗攻击。可以使用静态ARP表项或ARP防护。6. 参数: ARP缓存超时时间。重试次数。变量/常量: sender_ip, sender_mac: 发送方IP和MAC。 target_ip, target_mac: 目标IP和MAC。 opcode: 操作码(1请求,2应答)。 arp_cache: ARP缓存表,映射IP到MAC。 timeout: 缓存表项超时时间(如1200秒)。 |
广播: ARP请求是广播。 |
1. 检查缓存: 主机A需要发送数据包给主机B(IP_B)。首先检查ARP缓存是否有IP_B的映射。 2. 发送ARP请求: 如果没有,构造ARP请求报文,发送方为A的IP和MAC,目标IP为IP_B,目标MAC为广播地址(FF:FF:FF:FF:FF:FF)。广播该请求。 3. 接收ARP请求: 所有主机收到请求,只有IP地址匹配的主机B处理。 4. 发送ARP应答: 主机B构造ARP应答,发送方为B的IP和MAC,目标为A的IP和MAC,单播发送给A。 5. 更新缓存: A收到应答,将IP_B到MAC_B的映射加入ARP缓存,设置超时时间。 6. 发送数据: A使用MAC_B发送数据包。 |
硬件: 以太网网卡。 |
|
Roce-NW-0742 |
网络协议 |
邻居发现协议 |
NDP (Neighbor Discovery Protocol) 模型 |
IPv6中替代ARP的协议,用于发现同一链路上的其他节点,解析IP地址到MAC地址,并检测邻居可达性。 |
IPv6: 用于IPv6地址解析。 |
地址解析, 邻居发现, IPv6。 |
IPv6网络。 |
ND报文: 邻居请求, 邻居通告, 路由器请求, 路由器通告等。 |
地址解析: 发送邻居请求(NS), 目标节点回复邻居通告(NA)。 |
1. 报文类型: a. 路由器请求 (RS): 主机发送,请求路由器发送路由器通告。 b. 路由器通告 (RA): 路由器发送,通告前缀、默认路由器等。 c. 邻居请求 (NS): 用于地址解析和重复地址检测。 d. 邻居通告 (NA): 响应NS,或主动通告。 e. 重定向: 路由器通知主机更好的下一跳。2. 地址解析: 主机A需要解析主机B的IPv6地址到MAC地址时,发送NS报文(目标地址为B的请求节点组播地址)。B收到后,回复NA报文(单播给A),包含自己的MAC地址。3. 邻居缓存: 类似ARP缓存,存储IPv6地址到MAC地址的映射,并包含状态(如不完整、可达、陈旧等)。4. 与RDMA协同: RoCEv2支持IPv6,因此需要NDP进行地址解析。5. 安全性: NDP容易受到类似ARP欺骗的攻击。可以使用IPsec或SEcure Neighbor Discovery (SEND) 来保护。6. 参数: 邻居请求重传时间。邻居可达性超时时间。变量/常量: target_address: 目标IPv6地址。 source_link_layer_address: 源链路层地址(MAC)。 destination_link_layer_address: 目标链路层地址。 neighbor_cache: 邻居缓存表。 |
组播: NS发送到请求节点组播地址。 |
1. 地址解析: 主机A需要解析主机B的IPv6地址。A发送NS报文,目标地址为B的请求节点组播地址,源为A的MAC地址。 2. 接收NS: 主机B收到NS,回复NA报文,目标地址为A的IPv6地址(单播),包含B的MAC地址。 3. 更新缓存: A收到NA,将B的IPv6地址和MAC地址加入邻居缓存,状态设为可达。 4. 可达性检测: 定期检测邻居是否可达,如发送NS,如果没有响应,则状态变为不可达。 5. 路由器发现: 主机启动时发送RS,路由器回复RA,主机学习默认路由器和前缀。 |
硬件: 支持IPv6的网卡和路由器。 |
|
Roce-NW-0743 |
网络协议 |
互联网控制消息协议 |
ICMP (Internet Control Message Protocol) 模型 |
用于传递控制消息,如网络错误报告、诊断工具(ping, traceroute)和网络管理。 |
错误报告: 如目的不可达, 超时。 |
控制协议, 错误报告, 诊断。 |
网络诊断, 错误报告, 路径MTU发现。 |
ICMP报文: 类型, 代码, 校验和, 数据。 |
ping: 发送ICMP回显请求, 期望回显应答。 |
1. 报文格式: ICMP报文封装在IP数据报中。前4字节包括类型、代码和校验和。其余部分取决于类型。2. 常见类型: a. 回显请求/应答 (Type 8/0): 用于ping。 b. 目的不可达 (Type 3): 代码表示原因,如网络不可达(0)、主机不可达(1)、端口不可达(3)。 c. 超时 (Type 11): 代码0表示TTL超时,用于traceroute。 d. 重定向 (Type 5): 路由器通知主机有更好的路由。 e. 数据包过大 (Type 3, Code 4): 用于路径MTU发现。3. ping原理: 发送方发送ICMP回显请求,接收方收到后回复回显应答。通过计算往返时间(RTT)检测连通性和延迟。4. traceroute原理: 发送一系列UDP或ICMP数据包,TTL从1开始递增。每经过一个路由器,TTL减1,当TTL为0时,路由器发送ICMP超时报文给源主机。源主机通过接收到的ICMP超时报文的源地址得到路由器地址。当数据包到达目的地,目的地发送目的不可达(端口不可达)报文,traceroute结束。5. 与RDMA协同: RDMA over IP(如RoCEv2)依赖ICMP进行路径MTU发现(数据包过大消息)。6. 参数: ping的数据包大小、间隔、次数。traceroute的最大跳数。变量/常量: type: ICMP类型(0-255)。 code: ICMP代码(0-255)。 checksum: 校验和。 identifier: 标识符(用于ping)。 sequence: 序列号(用于ping)。 ttl: 生存时间。 |
封装: ICMP报文封装在IP中。 |
1. ping发送: 主机A构造ICMP回显请求报文,设置标识符和序列号,发送给主机B。 2. ping接收: 主机B收到请求,构造ICMP回显应答报文,交换源和目的IP地址,将标识符和序列号原样返回,发送给A。 3. RTT计算: A收到应答,根据发送时间和接收时间计算RTT。 4. traceroute: 主机A发送TTL=1的数据包(UDP或ICMP)到目的主机B。第一跳路由器将TTL减为0,丢弃数据包并发送ICMP超时报文给A。A记录该路由器地址。然后A发送TTL=2的数据包,第二跳路由器回复ICMP超时报文。重复直到数据包到达B,B回复端口不可达(或回显应答)。 5. 路径MTU发现: 发送设置DF位的数据包,如果路由器需要分片但DF位设置,则发送ICMP数据包过大报文,其中包含下一跳MTU。 |
硬件: 路由器, 主机。 |
|
Roce-NW-0744 |
网络协议 |
域名系统 |
DNS (Domain Name System) 模型 |
将域名解析为IP地址的分布式数据库系统,采用分层、分布式的设计,支持缓存和递归查询。 |
分布式: 全球分布的多级DNS服务器。 |
分布式数据库, 域名解析, 缓存。 |
互联网域名解析, 负载均衡, CDN。 |
域名: 如www.example.com。 |
递归查询: 本地DNS服务器代表客户端查询, 直到得到答案。 |
1. 域名空间: 域名空间是树形结构,根在顶部,下面有顶级域(如.com、.org)、二级域(example)等。2. 资源记录: DNS数据库中存储的资源记录(RR)包含:名称、类型、类、TTL、数据长度、数据。常见类型:A(IPv4地址)、AAAA(IPv6地址)、CNAME(别名)、MX(邮件交换)、NS(名称服务器)。3. 查询过程: 客户端向本地DNS服务器发送递归查询。本地DNS服务器如果缓存中有答案,则直接返回;否则,从根DNS服务器开始迭代查询。例如,查询www.example.com:本地DNS服务器问根服务器,根服务器返回.com的顶级域服务器地址;本地DNS服务器问.com服务器,返回example.com的权威服务器地址;本地DNS服务器问example.com服务器,返回www.example.com的A记录。4. 缓存: DNS服务器缓存查询结果,根据TTL决定缓存时间。客户端也可以缓存。5. 与RDMA协同: RDMA通信通常使用IP地址,但应用程序可能使用域名。因此,在建立连接前,可能需要DNS解析。对于频繁通信的场景,可以将域名解析结果缓存,避免DNS延迟。6. 安全性: DNS容易受到欺骗攻击,可以使用DNSSEC(DNS安全扩展)进行数字签名。变量/常量: domain_name: 域名(字符串)。 rr_type: 资源记录类型(A, AAAA等)。 ttl: 生存时间(秒)。 dns_server: DNS服务器IP地址。 cache: 本地缓存,存储域名到IP的映射。 |
树形结构: 域名空间是树, 每个节点是标签。 |
1. 客户端查询: 应用程序需要解析域名,向本地DNS服务器发送递归查询。 2. 本地缓存: 本地DNS服务器检查缓存,如果有且未过期,则直接返回。 3. 迭代查询: 如果没有,本地DNS服务器从根服务器开始迭代查询: a. 向根服务器查询,得到顶级域服务器地址。 b. 向顶级域服务器查询,得到权威服务器地址。 c. 向权威服务器查询,得到答案。 4. 缓存答案: 本地DNS服务器将答案缓存,并根据TTL设置过期时间。 5. 返回客户端: 本地DNS服务器将答案返回给客户端。 6. 客户端缓存: 客户端也可能缓存答案。 |
硬件: DNS服务器。 |
|
Roce-NW-0745 |
网络协议 |
边界网关协议 |
BGP (Border Gateway Protocol) 模型 |
互联网中自治系统之间交换路由信息的路径向量协议,用于在不同自治系统之间传递路由可达性信息。 |
路径向量: 路由包含所经过的AS路径。 |
路径向量, 路由协议, 策略。 |
互联网骨干, 多宿主网络, 数据中心互联。 |
AS号: 自治系统编号。 |
路径选择: 基于属性(如LOCAL_PREF, AS_PATH长度)选择最佳路径。 |
1. 邻居建立: BGP运行在TCP端口179上。两个BGP路由器建立TCP连接,然后交换OPEN消息协商参数。之后交换KEEPALIVE消息保持连接。2. 路由更新: 通过UPDATE消息通告或撤销路由。UPDATE消息包含网络层可达信息(NLRI)和路径属性。3. 路径属性: a. AS_PATH: 路由经过的AS列表。 b. NEXT_HOP: 下一跳IP地址。 c. LOCAL_PREF: 本地优先级,用于出口策略。 d. MED: 多出口鉴别符,用于向邻居AS建议入口。 e. COMMUNITY: 标记路由的社区属性。4. 决策过程: BGP路由器收到多条到达 |
涵盖标记、包喷洒、哈希、负载均衡、细粒度路由、队列、信元交换、流量工程、QoS、拥塞避免、流量整形、网络资源分配、参数优化、性能预测、能耗优化等主题,并优先关注RoCE网络中的SDN领域及各类协议的协同。
|
编号 |
领域 |
核心理论 |
模型/协议/算法名称 |
目标与描述 |
精度与特征 |
理论基础 |
应用场景 |
数学要素 |
关键方程/状态机 |
数学特征 |
实现步骤/工作流程 |
软硬件工具 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Roce-NW-0745 |
SDN与RoCE协同 |
集中控制, 无损网络 |
SDN-RoCE2协同控制平面模型 |
通过SDN控制器集中管理RoCEv2网络的无损参数(PFC阈值、ECN阈值)、路由路径和优先级映射,动态适应流量变化,实现全局优化的无损以太网。 |
集中优化: 控制器基于全局视图计算最优配置。 |
软件定义网络, 无损以太网, 优化控制。 |
云数据中心, 多租户AI云, RoCEv2网络。 |
控制器状态: 网络拓扑, 链路利用率, 队列深度。 |
优化问题: |
1. 架构: SDN控制器(如ONOS)通过南向接口(OpenFlow/gNMI)管理支持RoCE的交换机。控制器收集带内网络遥测(INT)数据,获取全网队列状态、拥塞点信息。2. 无损参数优化: 控制器根据流量模式(大象流与老鼠流比例)动态计算并下发PFC的Xon/Xoff阈值和ECN的标记阈值K。目标是在避免队列溢出(丢包)和最小化PFC暂停帧传播(死锁风险)之间取得平衡。3. 动态路由: 基于实时拥塞信息,为RDMA流量(目的UDP端口4791)计算低延迟、无拥塞的路径,并更新交换机流表。例如,将大象流引导至空闲链路。4. 优先级映射: 控制器配置交换机将RoCEv2流量(DSCP或PCP)映射到高优先级队列,并启用该队列的PFC,确保无损传输。5. 多租户隔离: 通过VxLAN VNI或VLAN为不同租户(或不同AI任务)创建独立的虚拟网络,并为每个虚拟网络配置独立的无损参数和带宽保障。6. 故障恢复: 当检测到链路故障时,控制器在<100ms内重新计算路径并更新流表,确保RDMA连接不中断。7. 与NCCL/HCCL协同: 控制器可与集合通信库(如NCCL)协同,获取通信模式(如AllReduce模式),进一步优化流量的路由和调度。变量/常量: |
全局优化: 控制器求解网络范围的优化问题。 |
1. 发现与收集: 控制器发现网络拓扑,并通过INT持续收集各交换机端口的队列深度、流量速率等状态。 2. 分析与计算: 控制器分析流量模式,使用优化算法计算最优的PFC/ECN阈值和RDMA流量路由路径。 3. 配置下发: 控制器通过南向接口向交换机下发:a. 流表项,指导RDMA流量走特定路径;b. 队列配置,包括PFC阈值、ECN阈值、调度权重。 4. 监控与调整: 持续监控网络状态。如果检测到拥塞或链路故障,返回步骤2重新计算并下发新配置。 5. 租户管理: 接收租户网络创建请求,分配VNI,并为其配置独立的虚拟网络和无损参数集。 |
|
Roce-NW-0746 |
RDMA与集合通信 |
资源管理, 连接建立 |
RDMA-NCCL连接建立与资源管理模型 |
描述NCCL(或其他集合通信库如HCCL、BCCL)如何通过控制平面(TCP)交换信息,并在数据平面建立RDMA Queue Pair(QP)、注册内存,最终实现GPU间直接内存访问(GDR)的完整流程。 |
控制与数据分离: TCP用于控制信令, RDMA用于数据面。 |
集合通信, RDMA Verbs, GPU Direct RDMA。 |
AI大模型训练集群, 高性能计算。 |
QP状态: RESET, INIT, RTR, RTS。 |
QP状态转换: |
1. 初始化与Bootstrap: 所有参与集合通信的进程(rank)启动。通过TCP Socket连接到一个Bootstrap Master(或使用共享文件),交换rank ID、IP地址、端口号等基本信息,并确认通信拓扑(如环、树)。2. RDMA资源创建: 每个rank调用Verbs API创建保护域(PD)、完成队列(CQ)和队列对(QP)。对于N个rank的全互联通信,每个rank会创建N-1个QP,分别对应其他每个rank。3. QP信息交换: 每个rank将本地的QP信息(QP编号-QPN、本地标识符-LID、全局标识符-GID)通过Bootstrap通道(TCP)发送给其他rank。4. QP状态机切换: rank A收到rank B的QP信息后,调用 |
状态机: QP建立遵循确定的状态转换序列。 |
1. Bootstrap: 所有rank通过TCP连接到Bootstrap服务,交换IP、端口、rank ID。 2. 资源创建: 每个rank调用 |
|
Roce-NW-0747 |
网络虚拟化与RoCE |
隧道封装, 无损传输 |
VxLAN-over-RoCE封装与转发模型 |
在VxLAN隧道中承载RoCEv2流量,解决跨三层网络的RDMA通信问题。重点处理VxLAN封装对RoCE报文头(特别是UDP校验和、ECN位)的透传,以及保证无损特性的跨隧道传递。 |
MAC-in-UDP: 原始以太网帧(含RoCEv2)封装在UDP中。 |
覆盖网络, 隧道技术, 无损以太网。 |
跨数据中心/跨租户的RoCE通信, 云原生AI训练。 |
VNI: 24位虚拟网络标识符。 |
封装格式: |
1. 封装过程: 源VTEP收到来自VM或容器的原始以太网帧,该帧承载RoCEv2报文(目的UDP端口4791)。VTEP根据目标MAC地址和VNI查找转发表,获得远端VTEP的IP地址。然后进行VxLAN封装:添加VxLAN头部(含VNI)、外层UDP头部(目的端口4789)、外层IP头部(源IP为本地VTEP IP,目的IP为远端VTEP IP)、外层以太网头部。2. 关键处理: a. ECN透传: 为了保持端到端的拥塞通知,需要将内层IP头部的ECN位复制到外层IP头部(或根据策略映射)。b. DSCP/PCP映射: 将内层IP的DSCP或内层以太网的PCP优先级映射到外层IP的DSCP或外层以太网的PCP,以确保RoCE流量在底层网络中获得高优先级和可能的PFC保护。c. UDP校验和: RoCEv2要求UDP校验和有效。如果VTEP硬件支持VxLAN和RoCE卸载,应计算外层UDP校验和;否则可能置0,依赖底层网络不检查校验和。3. 转发: 封装后的报文在IP底层网络中路由到目的VTEP。4. 解封装: 目的VTEP收到报文,识别UDP目的端口为4789,剥离外层头,根据VNI将原始以太网帧交付给目标VM或容器。5. 与SDN协同: SDN控制器可以管理VTEP的转发表(如通过EVPN),并为RoCE over VxLAN流量规划特定的底层路径,确保低延迟和无损。6. 性能考量: 封装增加50字节开销,需调整MTU(通常设为9000)避免分片。硬件卸载对性能至关重要。变量/常量: |
封装开销: 固定增加50字节。 |
1. 学习: VTEP通过控制平面(如EVPN)学习目的MAC地址与远端VTEP IP的映射关系,并关联VNI。 2. 接收原始帧: VTEP从连接服务器的端口收到承载RoCEv2的原始以太网帧。 3. 查找与封装: 根据目的MAC和VNI查找转发表,获得远端VTEP IP。构造VxLAN封装头,将内层IP的ECN和DSCP映射到外层头部。 4. 发送: 将封装后的IP报文从物理端口发出。 5. 网络传输: 报文在IP网络中路由。 6. 接收与解封装: 目的VTEP收到报文,检查目的UDP端口为4789,剥离外层头。 7. 转发: 根据VNI将原始以太网帧从对应端口发出,送达目标服务器。 |
|
Roce-NW-0748 |
QoS与优先级流控 |
优先级映射, 逐跳流控 |
VLAN优先级映射与PFC协同模型 |
在二层网络中,利用VLAN标签中的PCP(Priority Code Point)字段为RDMA流量分配高优先级,并在对应优先级的队列上启用PFC,实现逐跳的无损流量控制,防止RoCE流量因拥塞丢包。 |
基于优先级: 使用802.1Q VLAN标签中的3位PCP字段(0-7)。 |
IEEE 802.1Q, IEEE 802.1Qbb (PFC)。 |
数据中心二层网络, RoCEv2部署。 |
PCP值: 0-7, 通常将RoCE流量映射到较高优先级(如6)。 |
PFC帧: 包含每个优先级的 |
1. 优先级标记: 在RoCE流量的入口点(通常是网卡或接入交换机),根据报文特征(以太网类型0x8915 for RoCEv1或UDP目的端口4791 for RoCEv2)将其VLAN标签的PCP字段设置为高优先级(例如6)。2. 队列映射: 交换机端口配置基于PCP的队列映射。将PCP 6映射到单独的高优先级队列(通常是一个严格优先级队列或具有高权重的加权队列)。3. 启用PFC: 在该高优先级队列上启用PFC。配置Xoff和Xon阈值。当该队列的缓冲区占用超过Xoff时,交换机会向上一跳设备发送PFC暂停帧,指定暂停优先级为6。4. 流量控制: 上一跳设备(交换机或网卡)收到PFC暂停帧后,停止发送优先级为6的流量,直到收到 |
优先级映射: 将协议类型映射到PCP值。 |
1. 配置: 在网卡和所有交换机的端口上配置基于PCP的队列映射,并为RoCE使用的优先级(如PCP 6)启用PFC,设置Xoff和Xon阈值。 2. 标记: 源端网卡或边缘交换机对发出的RoCEv2报文打上VLAN标签,并设置PCP=6。 3. 入队: 交换机端口根据PCP值将报文放入对应的优先级队列。 4. 监控与触发: 交换机监控PCP 6队列的深度。当深度 > Xoff,构造并发送PFC暂停帧(指定优先级6)到上游设备。 5. 暂停与恢复: 上游设备收到PFC帧后,停止发送PCP 6的流量。当队列深度 < Xon,交换机发送 |
|
Roce-NW-0749 |
负载均衡 |
可编程哈希, 一致性哈希 |
可编程哈希在ECMP中的应用模型 |
在交换机数据平面实现可编程的哈希函数,根据数据包头部字段(可自定义选择,如五元组、VxLAN VNI、GTP TEID等)计算哈希值,用于从多条等价路径中选择一条,以实现灵活的负载均衡,并缓解哈希极化问题。 |
可配置字段: 哈希输入字段可编程选择。 |
哈希函数, 等价多路径路由, 可编程数据平面。 |
数据中心Clos网络, Spine-Leaf架构, ECMP。 |
哈希输入: 选择的包头字段(如src_ip, dst_ip, src_port, dst_port, protocol, vni)。 |
field2 |
... |
||
|
Roce-NW-0750 |
负载均衡 |
流大小感知, 动态路径分配 |
基于流大小的自适应负载均衡模型 |
监控流的大小(如通过采样或INT),将大象流(大流)和老鼠流(小流)区分对待。将大象流调度到剩余容量大的路径,而老鼠流使用传统ECMP,以优化整体网络吞吐量和流完成时间。 |
流大小感知: 识别并区分大象流和老鼠流。 |
流量工程, 负载均衡, 大象流检测。 |
数据中心网络, AI训练(存在大量大象流)。 |
流大小阈值: |
路径选择: 对于大象流,选择 |
1. 流检测: 通过采样(如sFlow)或带内遥测(INT)识别新流并估计其大小。简单的方法是监控流的前几个数据包,如果其字节数在短时间内超过阈值 |
分类: 将流分为大象流和老鼠流。 |
1. 监测: 边缘交换机通过采样或INT监测新流,并估计其大小。 2. 上报: 如果流大小超过阈值,交换机向控制器上报流信息。 3. 计算路径: 控制器根据全局链路利用率,选择剩余容量最大的路径给该大象流。 4. 下发流表: 控制器生成精确匹配的流表项(匹配五元组),并通过OpenFlow下发到路径上的所有交换机。 5. 转发: 后续该流的数据包匹配精确流表项,被引导到指定路径。 6. 老鼠流转发: 未匹配任何精确流表项的流(老鼠流)使用默认的ECMP表进行哈希转发。 7. 定期更新: 控制器定期收集链路状态,必要时重新计算并调整大象流的路径。 |
|
Roce-NW-0751 |
SDN数据平面 |
匹配-动作, 多级流表 |
细粒度流表匹配与动作执行模型 |
描述可编程交换机(如P4)中基于多级流表的包处理流水线。流表由匹配字段和动作组成,支持对数据包进行复杂的匹配(包括自定义头部)和执行一系列动作(转发、修改、丢弃、送控制器等),实现灵活的转发逻辑。 |
可编程匹配: 可匹配任意包头字段甚至有效载荷。 |
可编程数据平面, 匹配-动作表, 包处理流水线。 |
SDN交换机, 网络功能虚拟化, 定制化数据包处理。 |
匹配字段: 协议字段(如eth.dst, ip.src, tcp.port), 元数据。 |
匹配: |
1. 流水线架构: 可编程交换机的数据平面由一系列处理阶段(解析器、入口流水线、流量管理器、出口流水线、逆解析器)组成。入口/出口流水线包含多个匹配-动作单元(MAU),每个MAU包含一个或多个流表。2. 解析器: 根据预定义的报文格式,将输入的比特流解析成具有层次结构的头部字段和元数据。3. 入口流水线处理: 数据包依次经过多个流表。在每个流表中,根据匹配字段查找匹配的条目。如果匹配,则执行该条目对应的动作集。动作可以修改包头字段、更新元数据、添加或删除头部,并决定数据包是继续进入下一个流表、跳转到其他流表,还是离开流水线(如转发或丢弃)。4. 流量管理器: 包含数据包缓冲区、队列调度和整形逻辑。处理后的数据包可能在这里排队。5. 出口流水线处理: 类似于入口流水线,在数据包从出口发出前进行最终处理。6. 逆解析器: 根据当前有效的头部,将处理后的数据包重新组装成比特流发送出去。7. 与RoCE协同: 可以编程实现针对RoCEv2流量的特殊处理。例如:a. 识别: 匹配UDP目的端口4791。b. 优先级标记: 设置PCP或DSCP为高优先级。c. 拥塞标记: 如果队列深度超过阈值,设置IP头部的ECN位。d. 测量: 复制数据包样本送控制器进行性能分析。8. 表项管理: 流表项由控制平面(SDN控制器)通过南向接口(如P4Runtime)动态添加、删除或修改。变量/常量: |
流水线: 数据包按顺序经过多个处理阶段。 |
1. 解析: 解析器根据报文类型(以太网、IP、UDP等)提取各层头部字段,存入头部实例,并初始化元数据。 2. 入口处理: 数据包进入入口流水线。在第一个流表(例如,用于ACL)中匹配。如果匹配,执行动作(如设置优先级)。然后根据动作指示,可能跳转到下一个流表(例如,用于路由)。 3. 路由查找: 在路由流表中,根据目的IP地址匹配,执行动作(如设置出端口、递减TTL)。 4. 出口处理: 数据包经过流量管理器排队后,进入出口流水线。可能进行出口ACL检查或计数。 5. 逆解析: 逆解析器根据当前有效的头部,将数据包序列化为比特流,从指定的物理端口发出。 6. 控制平面交互: 如果某流表未匹配,默认动作可能是 |
|
Roce-NW-0752 |
队列调度 |
虚拟输出队列, 仲裁调度 |
虚拟输出队列调度与仲裁模型 |
在输入排队交换机中,为每个输入端口和每个输出端口维护一个虚拟队列(VOQ),解决队头阻塞问题。通过调度器(仲裁器)决定每个时隙哪个VOQ可以发送数据包到交叉开关,以最大化吞吐量和公平性。 |
解决HoL阻塞: 每个输入为每个输出维护独立队列。 |
输入排队, 交叉开关调度, 组合匹配。 |
高性能交换机, 数据中心核心交换机。 |
VOQ矩阵: |
最大权重匹配: 寻找请求矩阵的最大权重匹配,权重可以是队列长度。 |
1. 队列结构: 在输入端口,为每个输出端口维护一个独立的FIFO队列,即VOQ。当数据包到达输入端口i,目的地为输出端口j时,它被放入VOQ |
矩阵表示: 请求和许可可以表示为矩阵。 |
1. 入队: 数据包到达输入端口i,目的输出为j,被放入VOQ |
|
Roce-NW-0753 |
交换架构 |
信元交换, 切片与重组 |
信元交换调度算法模型 |
将变长数据包切割成固定长度的信元(Cell),在交换矩阵中以信元为单位进行调度和传输,然后在输出端口重新组装成原始数据包。这种机制简化了交换调度,可以实现高吞吐量和低延迟。 |
固定长度: 信元长度固定(如64字节)。 |
交换结构, 信元切片, 调度。 |
核心路由器, 高性能交换机, 框式设备内部交换。 |
信元长度: |
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)