文章目录
DCB(Data Center Bridging)
在网络技术中,DCB(Data Center Bridging)是一组增强以太网标准的集合、一种用于数据中心的网络技术,旨在提供可靠的网络服务(无丢包以太网),以满足高吞吐量和低延迟的需求。DCB 通过带宽限制、流量控制和优先级控制等功能,优化数据中心的网络性能和可靠性。它可以实现更好的数据包传输,降低延迟和丢包率,提高网络质量和稳定性。
DCB 通过以下几种关键技术来实现这些目标:
- 优先级流量控制(Priority-based Flow Control, PFC):允许在每个优先级上独立地启用或禁用流量控制,从而避免网络拥塞。
- 增强传输选择(Enhanced Transmission Selection, ETS):提供带宽管理功能,确保不同流量类型之间的公平带宽分配。
- 数据中心桥接交换(Data Center Bridging Exchange, DCBX):用于交换和协商 DCB 配置参数,确保网络设备之间的兼容性。
- 拥塞通知(Congestion Notification, CN):在网络拥塞时发送通知,帮助源设备调整传输速率,以减少拥塞。
优先级流量控制(Priority-based Flow Control, PFC)
是一种基于优先级的流量控制机制,旨在减少网络拥塞和数据包丢失。PFC 是 IEEE 802.1Qbb 标准的一部分,主要用于数据中心和高性能计算环境。
主要功能
- 基于优先级的流量暂停:PFC 允许在以太网链路上创建多个优先级队列,并根据每个队列的优先级单独暂停或恢复流量传输。这与传统的以太网暂停机制(IEEE 802.3x)不同,后者会暂停整个链路上的所有流量。
- 零丢包传输:当下游设备的某个优先级队列发生拥塞时,它会发送一个暂停帧给上游设备,要求暂停该优先级队列的流量传输,从而实现零丢包传输。
- 提高网络效率:通过只暂停特定优先级的流量,PFC 可以确保其他优先级的流量继续传输,提高网络的整体效率和性能。
工作原理
● 优先级队列:设备将发送和接收接口分成多个优先级队列,每个队列对应一个优先级。
● 暂停帧:当某个优先级队列发生拥塞时,下游设备会发送一个暂停帧(PAUSE)到上游设备,指示其暂停该优先级队列的流量传输。
● 恢复传输:当拥塞解除后,下游设备会发送一个恢复帧,指示上游设备恢复该优先级队列的流量传输。
在优先级流量控制(PFC)中,上游设备通过接收到的暂停帧(Pause Frame)来确定哪个优先级队列需要暂停。每个暂停帧包含一个优先级使能向量(Priority Enable Vector),该向量指示哪些优先级队列需要暂停。
PFC 帧格式
PFC 帧的格式如下:
● 目的 MAC 地址:固定为 01-80-c2-00-00-01。
● 源 MAC 地址:发送帧的设备的 MAC 地址。
● 以太网类型:固定为 88-08。
● 控制操作码:固定为 01-01。
● 优先级使能向量:每个比特对应一个优先级队列,1 表示暂停该队列,0 表示不暂停。
● 暂停时间:每个优先级队列的暂停时间,当时间为 0 时表示取消暂停。
工作原理
- 队列映射:上游设备和下游设备的优先级队列一一对应。
- 发送暂停帧:当下游设备的某个优先级队列发生拥塞时,它会发送一个包含优先级使能向量的暂停帧给上游设备。
- 解析暂停帧:上游设备接收到暂停帧后,根据优先级使能向量确定需要暂停的优先级队列,并暂停相应队列的流量传输。
这种机制确保了流量控制的精细化管理,只暂停特定优先级的流量,而不影响其他优先级的流量,从而提高网络的整体效率和性能。
增强传输选择(Enhanced Transmission Selection, ETS)
是一种用于数据中心网络的带宽管理机制。ETS 是 IEEE 802.1Qaz 标准的一部分,旨在确保不同类型的流量在共享同一物理链路时能够获得公平的带宽分配。
主要功能
- 带宽分配:ETS 允许为不同的流量类型分配最小带宽,确保每种流量类型在网络繁忙时仍能获得所需的带宽。
- 动态调整:如果某种流量类型未使用其分配的带宽,ETS 允许其他流量类型使用未使用的带宽,从而提高链路利用率。
- 流量分类:ETS 根据 IEEE 802.1p 优先级将流量分为多个传输类(Traffic Class),并为每个传输类分配带宽。
工作原理
● 优先级队列:网络设备将流量分配到不同的优先级队列,每个队列对应一个传输类。
● 带宽保证:每个传输类在网络中分配一定百分比的带宽,确保关键流量的传输。
● 带宽共享:当某个传输类未使用完其分配的带宽时,其他传输类可以使用剩余的带宽。
调度算法
ETS 支持多种调度算法,以优化带宽分配和流量管理:
4. 加权轮询(WRR):根据队列的权重分配带宽,确保每个队列都能获得相应的带宽。
5. 严格优先级(SP):高优先级队列优先传输,确保关键业务的正常运行。
6. 基于信用的整形(CBS):通过令牌桶模型控制流量,确保带宽的有效利用。
数据中心桥接交换协议(Data Center Bridging Exchange, DCBX)
是一种用于数据中心网络的自动化管理协议。它的主要功能是通过链路层发现协议(LLDP)来交换和配置数据中心桥接相关参数,确保链路两端的设备配置一致,从而优化网络性能和可靠性。
主要功能
- 发现对端设备的DCB配置信息:DCBX可以自动发现并读取对端设备的DCB配置参数。
- 交换和配置DCB参数:通过DCBX,设备可以交换和配置如优先级流量控制(PFC)和增强传输选择(ETS)等参数,确保网络的无缝运行。
- 检测配置错误:DCBX能够检测并报告链路两端的配置不一致或错误,帮助管理员及时调整配置。
关键技术
● 优先级流量控制(PFC):基于优先级的流量控制机制,确保高优先级流量的可靠传输。
● 增强传输选择(ETS):通过灵活的调度机制,确保不同类型流量的服务质量。
● 链路层发现协议(LLDP):用于设备之间的能力发现和信息交换。
DCBX 的应用可以显著减少手动配置的工作量,降低配置错误的风险,提高数据中心网络的整体性能和可靠性。
Intel 的一些高端网卡,如 Intel® Ethernet Network Adapters,支持 DCBX 功能。这些网卡可以通过 DCBX 协议自动配置优先级流量控制(PFC)、增强传输选择(ETS)等参数,减少手动配置的工作量和错误风险。
拥塞通知(Congestion Notification, CN)
用于在检测到网络拥塞时通知发送方,以便其调整传输速率,从而减少丢包和降低网络延迟。CN 是数据中心桥接(DCB)技术的一部分,主要用于高性能计算和数据中心网络。
主要功能
- 检测拥塞:网络设备(如以太网交换机)检测到拥塞时,会生成拥塞通知消息。
- 发送通知:拥塞通知消息会发送给数据源端点(通常是服务器),要求其降低数据传输速率。
- 调整传输速率:数据源端点接收到拥塞通知后,会调整其传输速率,以缓解网络拥塞。
工作原理
● 拥塞检测:当交换机检测到某个队列的拥塞程度超过预设阈值时,会生成拥塞通知消息。
● 通知发送:交换机会将拥塞通知消息发送给数据源端点,通常通过特定的控制帧或协议。
● 速率调整:数据源端点接收到通知后,会根据通知中的信息调整其传输速率,减少数据发送量,从而缓解拥塞。
优点
● 减少丢包:通过提前通知拥塞情况,避免了数据包的丢失。
● 降低延迟:减少了由于丢包重传导致的网络延迟。
● 提高网络效率:通过动态调整传输速率,优化了网络资源的利用。
CN 的应用可以显著提高数据中心网络的性能和可靠性,特别是在高吞吐量和低延迟要求的环境中。
拥塞通知消息(Congestion Notification Message, CNM)
在网络中用于通知发送方当前存在的拥塞情况,以便发送方调整其传输速率。以下是拥塞通知消息的一些关键特征和组成部分:
组成部分
- 目的 MAC 地址:通常是发送方的 MAC 地址,以确保通知消息能够正确返回给发送方。
- 源 MAC 地址:拥塞检测设备的 MAC 地址。
- 以太网类型:指定为特定的类型字段,以区分拥塞通知消息。
- 拥塞通知标记:包含拥塞程度的量化反馈值,通常用几个比特表示。
- 其他字段:可能包括 VLAN 标签、优先级信息等,以便更精确地控制流量。
工作原理
- 拥塞检测:网络设备(如交换机)检测到某个队列发生拥塞时,会生成拥塞通知消息。
- 发送通知:拥塞通知消息会发送给数据源端点,通常通过特定的控制帧或协议。
- 速率调整:数据源端点接收到通知后,会根据通知中的信息调整其传输速率,减少数据发送量,从而缓解拥塞。
示例
在 IEEE 802.1Qau 标准中,拥塞通知消息(CNM)包含以下字段:
● 目的 MAC 地址:源端设备的 MAC 地址。
● 源 MAC 地址:拥塞检测设备的 MAC 地址。
● 以太网类型:指定为 0x890D,表示这是一个拥塞通知消息。
● 拥塞通知标记:包含拥塞程度的量化反馈值,通常用 6 个比特表示。
这种机制确保了流量控制的精细化管理,只暂停特定优先级的流量,而不影响其他优先级的流量,从而提高网络的整体效率和性能。
处理过程涉及多个层次,具体如下:
- 网卡硬件处理:
○ 网卡硬件负责接收拥塞通知消息,并将其传递给驱动程序。现代网卡通常具有硬件加速功能,可以高效地处理这些控制消息。 - 驱动程序处理:
○ 驱动程序接收到网卡硬件传递的拥塞通知消息后,会解析消息内容,并根据消息中的信息调整传输速率或其他参数。驱动程序是连接硬件和操作系统内核的桥梁,负责将硬件事件传递给内核。 - 内核处理:
○ 内核中的网络栈会进一步处理这些通知,调整传输控制协议(如 TCP)的参数,以响应网络拥塞情况。内核可能会调整拥塞窗口大小、传输速率等,以减少网络拥塞。
处理流程
- 接收消息:网卡硬件接收到拥塞通知消息,并进行初步处理(如支持硬件加速:网卡硬件接收到拥塞通知消息,并识别出这是一个控制消息。解析消息内容,包括优先级使能向量和暂停时间等字段。优先级使能向量指示哪些优先级队列需要暂停,暂停时间指示需要暂停的时长。根据解析结果,硬件会调整相应优先级队列的状态。例如,如果某个优先级队列需要暂停,硬件会停止该队列的数据传输,直到暂停时间结束或接收到恢复帧)。
- 传递消息:网卡硬件将消息传递给驱动程序。
- 解析消息:驱动程序解析消息内容,并将相关信息传递给内核。
- 调整参数:内核根据消息内容调整网络传输参数,以响应拥塞情况。
这种多层次的处理机制确保了网络设备能够快速响应拥塞情况,优化网络性能和可靠性。
其他模式
AVB(Audio Video Bridging,音视频桥接),是一组由IEEE 802.1标准委员会制定的技术标准,旨在通过以太网实现高质量、低延迟的音视频传输。它主要用于需要精确时钟同步和带宽预留的应用场景,确保数据流在确定的时间内到达目的地,适用于汽车多媒体传输和其他需要严格时间同步的应用。