1. DiffServ概述
DiffServ(Differentiated Services,差异化服务)是IETF定义的一种QoS(Quality of Service)体系结构,旨在为IP网络提供可扩展的服务区分能力。与传统的IntServ(集成服务)模型不同,DiffServ采用简单、粗粒度的流量分类机制,通过在网络边缘进行复杂处理、在网络核心进行简单处理的方式,实现了良好的可扩展性。
1.1 DiffServ核心思想
- 边缘复杂、核心简单:将复杂的分类、标记、整形等操作放在网络边缘设备,核心设备只需根据分组标记进行简单转发
- 逐跳行为(PHB):定义标准化的分组转发处理方式,而非端到端服务保证
- 服务等级聚合:将具有相同QoS需求的流量聚合为少量服务类别,而非为每个流维护状态
2. DiffServ体系结构
2.1 基本组件
-
DS域(Differentiated Services Domain):
- 一组连续的网络节点,遵循相同的服务提供策略和PHB定义
- 边界节点负责流量分类、标记和整形
- 内部节点根据DS字段执行相应的PHB
-
DS边界节点:
- 分类器(Classifier):根据分组头字段将流量分类
- 计量器(Meter):测量流量是否符合预定义的profile
- 标记器(Marker):设置DS字段值
- 整形器(Shaper)/丢包器(Dropper):实施流量整形或选择性丢包
-
DS内部节点:
- 根据DS字段值选择适当的PHB
- 可能包含有限的排队和调度机制
2.2 服务提供模型
-
服务等级协议(SLA):
- 客户与提供商之间的合约,规定服务等级和流量profile
-
流量调节协议(TCA):
- 具体实现SLA的操作参数,包括计量、标记、整形等规则
3. DS字段与码点(DS Codepoint)
3.1 IPv4/IPv6中的DS字段
DiffServ重新定义了IPv4 TOS(服务类型)字段和IPv6 Traffic Class字段的高6位作为DS字段:
0 1 2 3 4 5 6 7
+---+---+---+---+---+---+---+---+
| DS字段 | 未用 |
+---+---+---+---+---+---+---+---+
- 前6位(bit 0-5):DS码点(DSCP,Differentiated Services Codepoint)
- 后2位(bit 6-7):传统用于ECN(显式拥塞通知),DiffServ中未使用
3.2 DS码点(DSCP)详解
DSCP是DiffServ体系中的核心概念,用于指示分组应接受的PHB(逐跳行为)。DSCP值范围是0-63(6位),分为以下几个主要类别:
3.2.1 标准DSCP分类
-
默认PHB(Default PHB):
- DSCP值:000000 (0)
- 传统的尽力而为服务
- 所有未明确标记的流量默认使用
-
加速转发EF(Expedited Forwarding):
- DSCP值:101110 (46)
- 提供低延迟、低抖动、低丢包率的服务
- 适用于语音、视频会议等实时应用
-
确保转发AF(Assured Forwarding):
- 4个独立类别(AF1x-AF4x),每类3个丢弃优先级
- 编码格式:aaadd0 (aaa=类别,dd=丢弃优先级)
- 例如:AF11=001010(10),AF43=100110(38)
类别 低丢弃优先级 中丢弃优先级 高丢弃优先级 AF1 AF11(10) AF12(12) AF13(14) AF2 AF21(18) AF22(20) AF23(22) AF3 AF31(26) AF32(28) AF33(30) AF4 AF41(34) AF42(36) AF43(38) -
类选择器CS(Class Selector):
- 兼容传统IP优先级(Precedence)的DSCP值
- 格式:xxx000 (xxx=IP优先级值)
- CS0(0)到CS7(56)
3.2.2 DSCP值分配策略
-
运营商分配:
- 网络运营商定义DSCP与PHB的映射关系
- 同一DSCP在不同网络可能对应不同服务等级
-
标准化DSCP:
- IETF建议的标准值(如EF、AF等)
- 促进跨域服务的一致性
-
本地使用DSCP:
- 范围:xxxxx1(最低位为1)
- 供实验或本地使用
3.3 DSCP与PHB的映射
DSCP值的主要作用是指定PHB,常见的PHB包括:
-
默认PHB(Default PHB):
- 基本尽力而为转发
- 必须支持的最低功能
-
加速转发PHB(EF PHB):
- 提供近似专线的服务
- 通常配置为高优先级队列+严格流量整形
-
确保转发PHB(AF PHB):
- 在拥塞时提供不同级别的丢包优先级
- 通常实现为加权随机早期检测(WRED)
-
类选择器PHB(CS PHB):
- 向后兼容IP优先级机制
- 提供简单的优先级排队
4. DiffServ实现示例
4.1 典型网络配置
-
边界路由器:
- 根据源/目的IP、端口、协议等分类流量
- 计量流量是否符合SLA
- 标记适当的DSCP值
- 实施流量整形或丢包
-
核心路由器:
- 根据DSCP值将分组放入不同队列
- 实施队列调度算法(如PQ、WFQ等)
- 在拥塞时根据丢弃优先级选择性丢包
4.2 典型DSCP标记策略
流量类型 | DSCP值 | PHB类型 |
---|---|---|
语音流量 | 46 | EF |
视频会议 | 34 | AF41 |
关键业务数据 | 26 | AF31 |
普通业务数据 | 18 | AF21 |
尽力而为流量 | 0 | Default |
网络控制流量 | 48 | CS6 |
5. DiffServ的优势与挑战
5.1 主要优势
-
良好的可扩展性:
- 核心路由器无需维护每个流的状态
- 适合大规模网络部署
-
灵活性:
- 支持多种服务等级定义
- 运营商可自定义PHB实现
-
兼容性:
- 与现有IP基础设施兼容
- 逐步部署能力
5.2 面临挑战
-
端到端QoS保证:
- 依赖所有中间网络的支持
- 跨域协调困难
-
复杂的管理配置:
- 需要精细的流量调节策略
- SLA监控和强制执行
-
安全考虑:
- 防止DSCP标记滥用
- 需要边界信任模型
DiffServ通过DS码点这一简洁而强大的机制,实现了IP网络QoS的实用化部署,成为现代网络服务质量保障的重要技术基础。理解DSCP的含义和使用方法,对于网络架构设计和QoS策略实施至关重要。