无损以太网与网络拥塞管理(PFC、ECN)

这篇具有很好参考价值的文章主要介绍了无损以太网与网络拥塞管理(PFC、ECN)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

无损以太网

无损以太网(Lossless Ethernet)是一种专门用于数据中心网络的网络技术,旨在提供低延迟、高吞吐量和可靠性的传输服务。它是在传统以太网的基础上进行了扩展,引入了新的拥塞管理机制,以避免数据包丢失和网络拥塞,在数据中心的应用中,通常使用无损以太网和RDMA结合,以实现高性能的无丢包数据传输。在无损以太网中,交换机可以使用PFC(Priority Flow Control)机制暂停低优先级流量,以确保高优先级流量的传输。而RDMA可以实现直接访问远程计算机的内存,不需要CPU的介入,从而减少了数据传输的延迟和CPU占用率。

RDMA(Remote Direct Memory Access)是一种高性能网络技术,可以实现直接访问远程计算机的内存,不需要CPU的介入。在数据中心网络中,RDMA可以提供低延迟、高吞吐量和低CPU占用的数据传输服务。

RDMA 对于网络丢包异常敏感,丢包引起的大量重传(Go-back-N)会导致吞吐性能急剧下降,而RoCE v2是一种基于无连接的UDP协议,缺乏完善的丢包保护机制。构建无损以太网数据中心RoCE在RoCE网络中,我们需要构建无损以太网用于保证数据中心网络传输过程中不丢包。构建无损以太网需支持以下关键特性:

RoCE融合InfiniBand的低时延与以太网的简单和向后兼容,实现零丢包、低时延、大带宽。

智能无损网络一方面通过流量控制技术和拥塞控制技术来提升网络整体的吞吐量,降低网络时延,另一方面通过智能无损存储网络等技术实现网络和应用系统融合优化。

无损以太网与网络拥塞管理(PFC、ECN)

构建无损以太网示意图

图片引用自无损网络数据中心应用概述_通信世界网 (cww.net.cn)

流控发展:FC(整个链路流控)–>PFC(基于优先级流控)–>PFC+ECN(流控发生前避免拥塞)/PFC+ETS(分配带宽)+ECN;


网络拥塞管理(PFC、ECN)

网络拥塞管理 是指在网络通信中,通过一系列机制来控制网络拥塞的发生和影响,以保证网络的稳定性和服务质量。其中,PFC(Priority Flow Control)和ECN(Explicit Congestion Notification)是两种常见的拥塞管理机制。

PFC 是一种流量控制技术,它可以在网络拥塞时暂停低优先级流量,以确保高优先级流量的传输。PFC使用IEEE 802.1Qbb标准,该标准定义了一组帧头标记,用于识别数据包的优先级,并将低优先级数据包暂停,以确保高优先级数据包的传输。

ECN 是一种拥塞通知技术,它可以在网络拥塞时向数据包添加标记,以通知发件人和收件人网络的拥塞情况。当路由器检测到拥塞时,它会向数据包头部添加ECN标记,然后将其传输到下一个节点。当数据包到达目的地时,收件人会检查ECN标记,如果标记已设置,则收件人会通知发件人减少发送速率,以避免进一步拥塞。ECN使用 RFC 3168 标准。

PFC和ECN通常都用于数据中心网络中,以确保高质量的服务和低延迟。PFC主要用于保证数据包传输的优先级,而ECN则用于控制网络拥塞。这两种机制可以结合使用,以最大限度地减少网络拥塞和数据包丢失,提高网络的性能和可靠性。


PFC原理

PFC 是构建无损以太网的必选手段之一,能够逐跳提供基于优先级的流量控制。设备在进行报文转发时,根据报文的优先级进入对应映射关系的队列中进行调度转发。当某一优先级报文发送速率超过接收速率,导致接收方可用数据缓冲空间不足时,设备通过PFC PAUSE帧反馈给上一跳设备,上一跳设备收到PAUSE帧报文后停止发送本优先级报文,直到再收到PFC XON帧或经过一定的老化时间后才能恢复流量发送。通过使用PFC功能,使得某种类型的流量拥塞不会影响其他类型流量的正常转发,从而达到同一链路上不同类型的报文互不影响。

智能无损网络基于PFC机制提供了智能化拥塞控制技术,可以解决传统以太网络拥塞丢包、时延大的约束,为RoCEv2分布式应用提供“无丢包、低时延、高吞吐”的网络环境,满足分布式应用的高性能需求。

PFC(Priority-based Flow Control,基于优先级的流量控制)也称为 Per Priority PauseCBFC(Class Based Flow Control),是对 Pause 机制的一种增强。当前以太 Pause 机制(IEEE 802.3 Annex 31B)也能达到无丢包的要求,原理如下:当下游设备发现接收能力小于上游设备的发送能力时,会主动发 Pause 帧给上游设备,要求暂停流量的发送,等待一定时间后再继续发送数据。但是以太 Pause 机制的流量暂停是针对整个接口,即在出现拥塞时会将链路上所有的流量都暂停。

PFC 允许在一条以太网链路上创建8个虚拟通道,并为每条虚拟通道指定一个优先等级,允许单独暂停和重启其中任意一条虚拟通道,同时允许其它虚拟通道的流量无中断通过。这一方法使网络能够为单个虚拟链路创建无丢包类别的服务,使其能够与同一接口上的其它流量类型共存。

无损以太网与网络拥塞管理(PFC、ECN)

PFC工作机制

图片引用自PFC优先级流量控制 - CloudEngine 12800, 12800E V200R005C10 配置指南-智能无损网络 - 华为 (huawei.com)

如上图所示,DeviceA 发送接口分成了8个优先级队列,DeviceB 接收接口有8个接收缓存(buffer),两者一一对应(报文优先级和接口队列存在着一一对应的映射关系),形成了网络中 8 个虚拟化通道,缓存大小不同使得各队列有不同的数据缓存能力。

当 DeviceB 的接口上某个接收缓存产生拥塞时,即某个设备的队列缓存消耗较快,超过一定阈值(可设定为端口队列缓存的 1/2、3/4 等比例),DeviceB 即向数据进入的方向(上游设备 DeviceA)发送反压信号“STOP”。

DeviceA 接收到反压信号,会根据反压信号指示停止发送对应优先级队列的报文,并将数据存储在本地接口缓存。如果 DeviceA 本地接口缓存消耗超过阈值,则继续向上游反压,如此一级级反压,直到网络终端设备,从而消除网络节点因拥塞造成的丢包。

PFC(Priority based Flow Control)是在交换机入口(ingress port)发起的拥塞管理机制。在通常无拥塞情况下,交换机的入口 buffer 不需要存储数据。当交换机出口(egress port)的 buffer 达到一定的阈值时,交换机的入口 buffer 开始积累,当入口 buffer 达到我们设定的阈值时,交换机入口开始主动的迫使它的上级端口降速。由于 PFC 是基于优先级的控制,所以这种反压可能导致同样优先级的应用都受到影响。如图7所示。

PFC 协议

PFC 允许在每个优先级的基础上执行链路流量控制。 特别地,PFC 用于抑制在指定时间段内传输与一个或多个优先级相关的数据帧。 可以对链路上的某些优先级启用 PFC,而对其他优先级禁用 PFC。

PFC 帧格式

无损以太网与网络拥塞管理(PFC、ECN)

PFC帧格式
描述
Destination address 目的MAC地址,取值固定为01-80-c2-00-00-01。
Source address 源MAC地址。
Ethertype 以太网帧类型,取值为8808。
Control opcode 控制码,取值为0101。
Priority enable vector 反压使能向量。
Time(0)~Time(7) 其中E(n)和优先级队列n对应,表示优先级队列n是否需要反压。当E(n)=1时,表示优先级队列n需要反压,反压时间为Time(n);当E(n)=0时,则表示该优先级队列不需要反压。
Pad 预留。传输时为0。
CRC 循环冗余校验。

无损以太网与网络拥塞管理(PFC、ECN)

ECN原理

ECN 是构建无损以太网的必选手段之一。ECN定义了一种基于 IP层及传输层 的流量控制及端到端拥塞通知机制。ECN功能 利用IP报文头中的DS域来标记报文传输路径上的拥塞状态 。支持该功能的终端设备可以通过报文内容判断出传输路径上发生了拥塞,从而调整报文的发送方式,避免拥塞加剧。

ECN(Explicit Congestion Notification) 是在交换机出口(egress port)发起的拥塞控制机制。当交换机的出口 buffer 达到我们设定的阈值时,交换机会改变数据包头中的 ECN 位来给数据打上 ECN 标签,当带 ECN 标签的数据到达接收端以后,接收端会生成 CNP(Congestion Notification Packet)并将它发送给发送端,CNP 包含了导致拥塞的 flow 或 QP 的信息,当接收端收到 CNP 后,会采取措施降低发送速度。可见 ECN 是基于TCP flow 或 RDMA QP 的拥塞控制机制,它只对导致拥塞的 fow 或 QP 起作用,不会影响到其他的应用。

无损以太网与网络拥塞管理(PFC、ECN)

IP 报文 DS 域位置信息

图片引用自H3C无损网络最佳实践-6W100-新华三集团-H3C

无损以太网与网络拥塞管理(PFC、ECN)

ECN域位置信息

图片引用自H3C无损网络最佳实践-6W100-新华三集团-H3C

ECN 功能对IP报文头中DS域的最后两个比特位(称为ECN域)进行了如下定义:

  • 比特位6用于标识发送端设备是否支持ECN功能,称为ECT位(ECN-Capable Transport);

  • 比特位7用于标识报文在传输路径上是否经历过拥塞,称为CE位(Congestion Experienced);

ECN 含义:

ECT CE 含义
0 0 不支持ECN
0 1 支持ECN
1 0 支持ECN
1 1 发送拥塞

在设备上开启 ECN 功能后,拥塞管理功能将按如下方式对报文进行处理:

  • 如果队列长度小于下限,不丢弃报文,也不对 ECN 域进行识别和标记。
  • 如果队列长度在上限和下限之间,当设备根据丢弃概率计算出需要丢弃某个报文时,将检查该报文的ECN域。如果ECN域显示该报文由支持ECN的终端发出,设备会将报文的ECT位和CE位都标记为1,然后转发该报文;如果ECN域显示报文传输路径中已经经历过拥塞(即ECT和CE位都为1),则设备直接转发该报文,不对ECN域进行重新标记;如果ECT位和CE位都为0,设备会将该报文丢弃。
  • 如果队列长度超过上限,将队列中所有报文的ECN域都标记为11,当队列长度达到队列尾丢弃门限后,报文将被丢弃。

注意:在实际应用中,设备将 ECT 位为1、CE 位为0的报文,以及 ECT 位为0,CE 位为1的报文都识别为由支持 ECN 功能的终端发出的报文。

ECN交互过程

  • 发送端设置 ECN 域为 10,告知路径上的设备及接收端,发送端设备支持 ECN 功能。
  • 中间设备发生拥塞并达到门限,拥塞设备将发生拥塞的报文 ECN 域设置为11,报文正常转发。
  • 接收端收到 ECN 置位为 11 的报文,由传输层发送 CNP(Congestion Notification Packet,拥塞通知报文)通知发送端。
  • 发送端收到 CNP 报文,对对应的优先级的队列进行降速处理。
  • 经过一段可配置的时间或者发送一定数量数据,发送端恢复原来的速率。

无损以太网与网络拥塞管理(PFC、ECN)

ECN工作机制示意图

图片引用自H3C无损网络最佳实践-6W100-新华三集团-H3C

总的来说,ECN 技术能够对于拥塞流量进行精确标记以便于精准降速,同时降速可做到较为温和平稳,但是本身反应速度较慢,因此当网络中存在比较高的微突发和剧烈的拥塞时,可能来不及降速已经出现了丢包,因此通常需要使能 Fast ECN、Fast CNP 等辅助技术。PFC 技术则降速反应较快,能够迅速解除拥塞情况,但由于其只能基于优先级进行降速,容易影响和拥塞无关的 Victim 流量且会造成大范围流量震荡,存在 HOL 和 PFC 死锁等问题,一般在网络配置中应尽量少的触发 PFC 机制,仅将其作为最后的保障手段。在此基础上,PFC 和 ECN 的水线设置同样需要根据具体场景进行确定。以 ECN 为例,当拥塞较少且较为轻微时,ECN 水线设置过低会导致更多的报文被标记,导致源端过度降速,吞吐指标劣化。而当突发和拥塞较为严重时,如果 ECN 水线设置过高,可能导致降速不及时而出现丢包或触发 PFC机制,同时队列深度较深,会使得时延指标劣化。


🎢
🥘
🚀


参考

无损网络数据中心应用概述_通信世界网 (cww.net.cn)

互联网技术详解 | 智能无损以太网助力分布式存储的部署与创新(三)-新华三集团-H3C

PFC优先级流量控制 - CloudEngine 12800, 12800E V200R005C10 配置指南-智能无损网络 - 华为 (huawei.com)

RDMA之无损网络_咸鱼弟的博客-CSDN博客_ecn qp

统一的以太无损网络测试技术白皮书v2.0-2020.11.19 - 道客巴巴 (doc88.com)

Priority Flow control (PFC) PFC time class含义讲解。

【PFC】pfctest PFC测试工具_bandaoyu的博客-CSDN博客_%ce’pfcinstalltest’不能检索。

Priority Flow Control (PFC) - Onyx v3.9.1014 - NVIDIA Networking Docs 迈络思交换机PFC配置手册

802.1Qbb-2011 - IEEE Standard for Local and metropolitan area networks–Media Access Control (MAC) Bridges and Virtual Bridged Local Area Networks–Amendment 17: Priority-based Flow Control | IEEE Standard | IEEE Xplore IEEE 802.1qbb 协议规范文章来源地址https://www.toymoban.com/news/detail-433445.html

到了这里,关于无损以太网与网络拥塞管理(PFC、ECN)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络原理IP协议/以太网

     大 家 快 来 学 习 啦 ~ ~ ~ 目录 1.IP协议 1.1地址管理 1.1.1普通地址 1.1.2特殊地址 1.1.3NAT机制 1.2路由选择 1.以太网协议 2.DNS协议 一、网络层 ①IP协议的报头格式以及各部分说明: ②对以上其它重要部分再次进行说明: 1. 16位总长度: 16位,64k,也就是说单个IP数据报最大程度不

    2023年04月08日
    浏览(86)
  • 网络以太网之(2)VLAN协议

    Author: Once Day Date: 2024年4月1日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文档可参考专栏:通信网络技术_Once-Day的博客-CSDN博客 参考文章: 《TCP/IP详解卷一》 1. VLAN虚拟局域网 1.1 VLAN协议格式

    2024年04月16日
    浏览(55)
  • 【计算机网络】数据链路层——以太网

    前面我们学习了关于应用层——自定义协议、传输层——UDP、TCP协议、网络层——IP协议,今天我将为大家分享关于数据链路层——以太网方面的知识。 “以太网” 不是一种具体的网络,而是一种技术标准;既包含了数据链路层的内容,也包含了一些物理层的内容。例如:规

    2024年02月06日
    浏览(64)
  • 计算机网络【IP协议与以太网】

    ● 4位版本号(version):指定IP协议的版本,对于IPv4来说,就是4 ●4位头部长度(header length):IP头部的长度是多少个32bit,也就是 length * 4 的字节数。4bit表示最大的数字是15,因此IP头部最大长度是60字节 ●8位服务类型(Type Of Service):3位优先权字段(已经弃用),4位TO

    2024年02月02日
    浏览(54)
  • 电子电器架构网络演化 —— 车载以太网TSN

    我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人

    2024年02月01日
    浏览(51)
  • 以太网:网络唤醒(WOL)全解指南:原理篇

    一、什么是网络唤醒 网络唤醒( Wake-on-LAN,WOL )是一种计算机局域网唤醒技术,使局域网内处于关机或休眠状态的计算机,将状态转换成引导( Boot Loader )或运行状态。无线唤醒( Wake-on-Wireless-LAN,WoWLAN )作为 WOL 的补充技术,使用无线网卡去唤醒计算机。网络唤醒在一般

    2024年02月05日
    浏览(39)
  • 华为认证网络工程师学习笔记——以太网交换安全

    常见的以太网交换安全技术,包括端口隔离、端口安全、MAC地址漂移检测、风暴控制、端口限速、MAC地址表安全、DHCP Snooping及IP Source Guard等。 目录 1、端口隔离 2、MAC地址表安全 3、端口安全 4、MAC地址漂移防止与检测 5、MACsec 6、交换机流量控制——风暴控制 7、DHCP Snooping

    2024年04月27日
    浏览(44)
  • Linux 中的以太网管理,以及udhcpc介绍和使用步骤

    在Linux中, udhcpc 是一个用于动态获取IP地址的工具,通常用于DHCP(Dynamic Host Configuration Protocol)网络配置。它是BusyBox工具集中的一部分,用于从DHCP服务器获取IP地址、网关、DNS服务器等网络配置信息。 以下是 udhcpc 的基本介绍和使用流程: 1. 安装 udhcpc : udhcpc 通常是与Bus

    2024年04月22日
    浏览(29)
  • 【计算机网络】 IP协议格式以及以太网帧结构

    IP工作在网络层 IP头分为两部分,固定部分和可变部分,固定部分就是一定要带这些数据,正常存储应该是连续的,并不是像图中这样会换行,图中只是为了方便观察。 首先是一个版本号,也就是看是ipv4还是ipv6,然后是首部长度,就是我们ip头的首部长度,是为了能将首部和

    2024年02月09日
    浏览(56)
  • [计算机通信网络]以太网的帧格式详解

    目录 一、前言 二、以太网的帧格式 Preamble(前导码): SFD(帧开始定界符): Destination Address,Source Address: Type/Len(类型/长度): Data(数据): FCS(Frame Check Sequence)(帧校验码): 以太网的帧格式对于我们理解mac地址与局域网间通信有着很大的帮助。 这篇博客主要记录

    2024年02月06日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包