网站建网站建站,建设信用卡网站,百度快速收录账号购买,高清图片素材哪里找可靠传输技术旨在通过多种方法确保数据包在传输过程中不会丢失或损坏#xff0c;同时保证数据包按发送顺序到达接收端#xff0c;其要求在链路发生丢包或网络发生拥塞等情况下能够完全保证数据包的正确性同时尽可能地提高传输速率。RoCE v2协议实现可靠传输的技术手段共有三种… 可靠传输技术旨在通过多种方法确保数据包在传输过程中不会丢失或损坏同时保证数据包按发送顺序到达接收端其要求在链路发生丢包或网络发生拥塞等情况下能够完全保证数据包的正确性同时尽可能地提高传输速率。RoCE v2协议实现可靠传输的技术手段共有三种分别为丢包重传机制、流量控制及拥塞管理。接下来将就这三种技术手段进行详细分析。
1丢包重传机制
为了简化设计同时降低成本RoCE v2协议使用了后退N帧go-back-N重传算法处理数据传输过程中产生的丢包。后退N帧重传算法的工作流程如图1所示。 图1 后退N帧重传算法工作流程图
在RoCE v2协议数据包发送过程中基础传输报文头Base Transformation HeadBTH中包含一个唯一包序列编号Packet Serial NumberPSN同时接收端也会为每条链路维护一个期望包序列编号expect Packet Serial NumberePSN每当接收端接收到一个数据包对比其包头中的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