news 2026/3/19 14:39:16

DSCP 标记:差分服务的核心流量标识技术

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DSCP 标记:差分服务的核心流量标识技术

DSCP全称Differentiated Services Code Point(差分服务代码点),是 TCP/IP 协议栈中用于实现流量差异化服务的核心标记字段,隶属于 IETF 定义的 DiffServ(差分服务)架构。它的核心作用是为数据包赋予服务等级标识,让网络设备(交换机、路由器)能够快速识别流量优先级,并执行对应的转发策略(如队列调度、拥塞控制、无损保障等)。在数据中心无损网络 + PFC场景中,DSCP 标记是实现 “关键流量无损传输、非关键流量尽力转发” 的前提。


一、 DSCP 的技术定位与包头位置

DSCP 字段嵌入在 IP 包头中,具体位置如下:

  1. IPv4 包头:占用原TOS(Type of Service,服务类型)字段的前 6 位,剩余 2 位为ECN(显式拥塞通知)字段,合称为Differentiated Services字段(长度1字节)。
  2. IPv6 包头:占用Traffic Class(流量类别)字段的前 6 位,剩余 2 位同样为 ECN 字段。

这种设计的优势在于:DSCP 标记随 IP 数据包全程传输,网络中间设备无需解析传输层(TCP/UDP)或应用层协议,仅通过 IP 包头即可识别流量优先级,处理效率极高。


二、 DSCP 的编码结构与分类

DSCP 共 6 位,可定义64 种不同的服务等级(取值范围000000~111111,对应十进制0~63)。为了简化部署,IETF 将这些编码划分为三类核心PHB(Per-Hop Behavior,每跳行为),即网络设备对标记流量的标准化处理策略。

PHB 类型全称DSCP 编码特征核心转发策略典型应用场景
EFExpedited Forwarding(加速转发)固定编码101110(十进制46低时延、低抖动、低丢包,带宽预留,优先调度实时性业务(如 RoCEv2 无损流量、语音、视频)
AFAssured Forwarding(确保转发)分 4 类(AF1~AF4),每类 3 种丢弃优先级,共 12 个编码保证最小带宽,拥塞时按丢弃优先级丢弃低优先级数据包重要非实时业务(如数据库同步、文件传输)
BEBest Effort(尽力而为)编码000000(十进制0无优先级,拥塞时优先丢弃普通业务(如网页浏览、邮件)

关键补充:AF 类的编码规则

AF 类的 6 位编码分为2 位类别标识 + 3 位丢弃优先级 + 1 位保留位,例如:

  • AF11:类别 1,丢弃优先级 1 → 编码001010(十进制10
  • AF43:类别 4,丢弃优先级 3 → 编码100110(十进制38)类别数值越大,服务等级越高;丢弃优先级数值越大,拥塞时越容易被丢弃。

三、交换机对报文 DSCP 值的处理流程

交换机对报文 DSCP 值的处理流程的核心是交换机如何确定报文的 DSCP 信息,以便后续对数据流进行分类(比如匹配队列、调度策略等)。

1. 第一步:policy-map 模块的处理

报文进入交换机后,首先经过policy-map模块,这里的逻辑是主动标记 DSCP

  • 模块内通过class-map匹配事先定义的ACL(访问控制列表,用于识别特定流量,比如训练业务的 RoCEv2 报文);
  • 如果报文匹配到 ACL,就通过set ip dscp命令主动设置该报文的 DSCP 值,之后直接输出这个 DSCP 信息;
  • 如果报文未匹配 ACL,则进入 “端口信任模式” 环节。

2. 第二步:端口信任模式的处理

若 policy-map 未匹配到流量,交换机通过 “端口信任模式”从报文或端口配置中获取 DSCP,包含 3 种信任方式:

  • trust cos:cos 是二层报文的优先级字段(比如以太网帧的 802.1p 字段)。要么取端口缺省的 cos 值,要么取报文自带的 cos 字段值,再通过cos-dscp映射表(交换机预配置的 cos 与 DSCP 对应关系),转换成 DSCP 值。
  • trust ip-prec:ip-prec 是 IPv4 包头中 TOS 字段的前 3 位(旧的优先级标识)。从报文的 ip-prec 字段取值,再通过ip-prec-dscp映射表,转换成 DSCP 值。
  • trust dscp:直接读取报文本身携带的 DSCP 字段值,无需映射,直接使用该值。

3. 第三步:信任模式关闭的情况

如果端口的 “信任模式” 被关闭,交换机将直接默认该报文的 DSCP 值为 0(对应 BE 类 “尽力而为” 服务)。

无论通过哪种方式(policy-map 设置、端口信任模式获取、信任模式关闭默认)得到 DSCP 值,最终数据流都会按照交换机内部的 DSCP 规则进行分类,用于后续的队列调度、PFC 控制等流量处理操作。流程的核心是:交换机通过 “主动标记(policy-map)+ 被动信任(端口模式)” 的方式,灵活确定报文的 DSCP,实现流量的差异化处理。


四、 DSCP 在数据中心无损网络中的典型应用

在采用DSCP+PFC + 单一无损队列架构中,DSCP 标记的核心价值是精准区分需要无损保障的训练负载流量,具体部署流程如下:

  1. 流量标记

    • 在算力节点的网卡(或接入交换机入口),对训练业务的 RoCEv2 数据包标记为DSCP 46(EF 类)—— EF 类的 “低时延、低丢包” 特性与训练负载的需求完全匹配。
    • 非关键流量(如管理流量、日志传输)保持默认的 DSCP 0(BE 类),不占用无损队列资源。
  2. 队列映射

    • 网络交换机配置DSCP 到队列的映射规则:将 DSCP 46 的流量映射到单一无损队列,其他 DSCP 标记的流量映射到普通尽力而为队列。
    • 这种 “单一无损队列” 设计,避免了多无损队列之间的资源竞争,简化了 PFC 暂停帧的触发逻辑。
  3. PFC 联动

    • 交换机对无损队列启用 PFC 功能:当队列长度达到拥塞阈值时,向上游设备发送 PFC 暂停帧,暂停对应优先级(即 DSCP 46)的流量发送,防止队列溢出丢包。
    • 非无损队列的 BE 类流量不触发 PFC,拥塞时直接丢弃,避免影响关键训练流量。

五、 DSCP 部署的关键注意事项

  1. 端到端标记一致性:必须确保流量入口设备(如服务器网卡)完成 DSCP 标记,中间网络设备(核心交换机、路由器)仅识别标记并执行策略,禁止篡改 DSCP 值—— 否则会导致下游设备无法正确识别流量优先级。

  2. 与拥塞控制算法协同:例如在 DCQCN 等 RoCEv2 拥塞控制算法中,DSCP 标记是流量分类的基础:DCQCN 仅对标记为 EF 类的无损流量进行拥塞窗口调整,确保训练负载的传输稳定性。

  3. 避免过度分类:采用 “单一无损队列”,无需定义过多 DSCP 等级 —— 过多分类会增加网络配置复杂度,反而可能引入流量调度冲突。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/15 23:53:47

ue5 设置分辨率笔记

3种方法: https://blog.csdn.net/weixin_52555766/article/details/134695226 测试没起作用。

作者头像 李华
网站建设 2026/3/13 10:02:03

java中反射机制的应用场景,零基础入门到精通,收藏这篇就够了

1. 动态代理 动态代理是Java反射机制的一个重要应用场景。通过动态代理,可以在运行时创建代理类并处理方法调用。动态代理在Java中的主要应用场景是AOP(面向切面编程),如事务管理、日志记录、权限控制等。 示例: im…

作者头像 李华
网站建设 2026/3/10 23:46:25

django基于python的快递驿站网点管理系统

目录摘要技术实现关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 随着电子商务的快速发展,快递业务量激增,传统人工管理方式已难以满足现代快递驿站的高…

作者头像 李华
网站建设 2026/3/13 15:16:06

提示工程架构师揭秘:提示工程如何重塑大数据分析生态

提示工程架构师揭秘:提示工程如何重塑大数据分析生态 1. 引入与连接:大数据分析师的“效率困境”与破局点 深夜十点,小张揉着发涩的眼睛盯着电脑屏幕——他是某零售企业的大数据分析师,今天的任务是分析“2023年双11期间华北地区母…

作者头像 李华
网站建设 2026/3/13 18:07:42

深度学习毕设项目推荐-通过python-pytorch训练识别是否是积水区域

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华