当前位置: 首页 > news >正文

RDMA简介7之RoCE v2可靠传输

      可靠传输技术旨在通过多种方法确保数据包在传输过程中不会丢失或损坏,同时保证数据包按发送顺序到达接收端,其要求在链路发生丢包或网络发生拥塞等情况下能够完全保证数据包的正确性同时尽可能地提高传输速率。RoCE v2协议实现可靠传输的技术手段共有三种,分别为:丢包重传机制、流量控制及拥塞管理。接下来将就这三种技术手段进行详细分析。

(1)丢包重传机制

为了简化设计同时降低成本,RoCE v2协议使用了后退N帧(go-back-N)重传算法处理数据传输过程中产生的丢包。后退N帧重传算法的工作流程如图1所示。

图1 后退N帧重传算法工作流程图

在RoCE v2协议数据包发送过程中,基础传输报文头(Base Transformation Head,BTH)中包含一个唯一包序列编号(Packet Serial Number,PSN),同时接收端也会为每条链路维护一个期望包序列编号(expect Packet Serial Number,ePSN),每当接收端接收到一个数据包,对比其包头中的PSN与本地ePSN,来判断链路上是否存在数据包丢失或数据包乱序等现象。如图1所示,再一次传输过程中PSN为2的数据包丢失,当接收端在接收到PSN为3的数据包后感知到丢包,立即发送包含PSN为2的NACK包,当发送端收到该NACK包后,无论在这之前已经正常发送了多少数据包,都会从丢失的PSN开始重新发送数据。这样的丢包重传机制将导致在丢包率较高的网络环境下,会反复重传大量数据包,性能会随着丢包率的提升急速下滑。这也就是为什么要求RoCE v2工作在二三层无损网络下。

(2)流量控制及拥塞管理

为了保证二层网络无损,需要进行严格的流量控制和拥塞管理。流量控制指通过调整发送端的发送速率,确保接收端能够处理并接收所有数据包。RoCE v2使用了IEEE 802.11Qbb中提出的基于优先级的流量控制算法(PFC)。

在PFC算法中,将网络接口分为八个虚拟通道,如图2所示,每个网卡的逻辑端口被分为八个队列并分别对应一条链路上八个不同优先级。在通信过程中,数据包将根据优先级被分配到八个虚拟队列上。同时PFC算法为每一个优先级的队列设置了相同或不同的ON/OFF阈值,当接收端某个队列的缓冲区深度超过这些阈值时,意味着下游出口或程序可能出现拥塞。PFC会向上游相应的端口发送一个暂停帧,该暂停帧指向特定优先级的流量。当发送设备接收到该暂停帧后,它将在一段时间内停止通过该优先级的虚拟通道发送数据。

图2 PFC算法对应八个虚拟通道示意图

通过对上述过程的分析可以发现,在多交换机的大型数据中心中,某个交换机的入口流量大于出口流量,就会造成拥塞。此时,拥塞会逐步向更上游传递。同时,由于PFC流控机制的颗粒度是优先级通道,可能导致流量分配不公平等问题。为了解决这一问题,RoCE v2协议引入了拥塞控制算法,以缓解链路拥塞,而PFC算法则仅作为兜底机制,尽可能减少其被触发的可能性。

目前RoCE v2协议使用较多的拥塞控制算法为基于显式拥塞通知(ECN)的DCQCN拥塞控制算法。其工作流程如图3所示。

图3 DCQCN拥塞控制算法

在DCQCN工作流程中,发送端网卡被称为响应单元(RP),接收端网卡被称为通知单元(NP)。发送端网卡将每个发送的数据包IP首部中的ECN字段标记为2bit的10,表示支持ECN拥塞控制,此时当交换机的队列超过某一阈值时,开始以一定的概率对到来的报文标记ECN字段为2bit的11。当接收端网卡接收到ECN字段为11的数据包后,发现网络中存在拥塞,则会发送拥塞通知数据包(CNP)到发送端,此时发送端将进入降速及升速流程。

相关视频感兴趣者,请搜B站用户名: 专注与守望
或链接:
https://space.bilibili.com/585132944/upload/video

http://www.xdnf.cn/news/1014769.html

相关文章:

  • 包含11个整套APP移动端UI的psd适用于旅行聊天交友相关的社交应用程序
  • 机器学习中的数据准备关键技术
  • iOS性能调试完整流程实录:工具组合下的问题定位与修复实践(含keymob)
  • 云端求解热方程:源于傅里叶的洞察-AI云计算数值分析和代码验证
  • 前端处理后端对象类型时间格式通用方法封装,前端JS处理JSON 序列化后的格式 java.time 包中的日期时间类
  • TensorFlow 与 PyTorch区别
  • 新书速览|大模型核心技术与开发实践:基于Transformer、PyTorch及Hugging Face
  • 哈希表三种数据结构在leetcode中的使用情况分析
  • 【Linux】进程创建、终止、等待、替换
  • 精品可编辑PPT | 基于人工智能及大数据的综合智能交通管理平台AI大数据平替智慧交通
  • Text2SQL、Text2API基础
  • Windows安装Oracle19
  • Linux服务器如何诊断和解决网络问题
  • 应用探析|千眼狼高速摄像机、sCMOS相机、DIC测量、PIV测量在光学领域的应用
  • 04 - CoordAttention模块
  • 职业技能大赛视角下:高职院校课堂教学破局与提质之路
  • 位运算详解之与或非的巧妙运用
  • 【6-7-6.14学习周报】
  • 让 Deepseek 写电器电费计算器小程序
  • 朴朴超市小程序 sign-v2 分析
  • Docker Windows 配置国内镜像源方法
  • 堆排序详解:从理论到实践
  • Hadoop 002 — HDFS常用命令及SpringBoot整合操作
  • 微服务--消息队列mq
  • 准确--CentOS 7.9在线安装docker
  • 微服务--nacos+feign
  • 开发指南121-微服务的弹性伸缩
  • 20.excel制作图表,图表跟随数据行数的变化而自动更新
  • 【prometheus+Grafana篇】基于Prometheus+Grafana实现postgreSQL数据库的监控与可视化
  • 产品推荐|一款具有单光子级探测能力的科学相机千眼狼Gloria 1605