DiffServ服务模型与DS码点详解

1. DiffServ概述

DiffServ(Differentiated Services,差异化服务)是IETF定义的一种QoS(Quality of Service)体系结构,旨在为IP网络提供可扩展的服务区分能力。与传统的IntServ(集成服务)模型不同,DiffServ采用简单、粗粒度的流量分类机制,通过在网络边缘进行复杂处理、在网络核心进行简单处理的方式,实现了良好的可扩展性。

1.1 DiffServ核心思想

  • 边缘复杂、核心简单:将复杂的分类、标记、整形等操作放在网络边缘设备,核心设备只需根据分组标记进行简单转发
  • 逐跳行为(PHB):定义标准化的分组转发处理方式,而非端到端服务保证
  • 服务等级聚合:将具有相同QoS需求的流量聚合为少量服务类别,而非为每个流维护状态

2. DiffServ体系结构

2.1 基本组件

  1. DS域(Differentiated Services Domain)

    • 一组连续的网络节点,遵循相同的服务提供策略和PHB定义
    • 边界节点负责流量分类、标记和整形
    • 内部节点根据DS字段执行相应的PHB
  2. DS边界节点

    • 分类器(Classifier):根据分组头字段将流量分类
    • 计量器(Meter):测量流量是否符合预定义的profile
    • 标记器(Marker):设置DS字段值
    • 整形器(Shaper)/丢包器(Dropper):实施流量整形或选择性丢包
  3. DS内部节点

    • 根据DS字段值选择适当的PHB
    • 可能包含有限的排队和调度机制

2.2 服务提供模型

  1. 服务等级协议(SLA)

    • 客户与提供商之间的合约,规定服务等级和流量profile
  2. 流量调节协议(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分类
  1. 默认PHB(Default PHB)

    • DSCP值:000000 (0)
    • 传统的尽力而为服务
    • 所有未明确标记的流量默认使用
  2. 加速转发EF(Expedited Forwarding)

    • DSCP值:101110 (46)
    • 提供低延迟、低抖动、低丢包率的服务
    • 适用于语音、视频会议等实时应用
  3. 确保转发AF(Assured Forwarding)

    • 4个独立类别(AF1x-AF4x),每类3个丢弃优先级
    • 编码格式:aaadd0 (aaa=类别,dd=丢弃优先级)
    • 例如:AF11=001010(10),AF43=100110(38)
    类别低丢弃优先级中丢弃优先级高丢弃优先级
    AF1AF11(10)AF12(12)AF13(14)
    AF2AF21(18)AF22(20)AF23(22)
    AF3AF31(26)AF32(28)AF33(30)
    AF4AF41(34)AF42(36)AF43(38)
  4. 类选择器CS(Class Selector)

    • 兼容传统IP优先级(Precedence)的DSCP值
    • 格式:xxx000 (xxx=IP优先级值)
    • CS0(0)到CS7(56)
3.2.2 DSCP值分配策略
  1. 运营商分配

    • 网络运营商定义DSCP与PHB的映射关系
    • 同一DSCP在不同网络可能对应不同服务等级
  2. 标准化DSCP

    • IETF建议的标准值(如EF、AF等)
    • 促进跨域服务的一致性
  3. 本地使用DSCP

    • 范围:xxxxx1(最低位为1)
    • 供实验或本地使用

3.3 DSCP与PHB的映射

DSCP值的主要作用是指定PHB,常见的PHB包括:

  1. 默认PHB(Default PHB)

    • 基本尽力而为转发
    • 必须支持的最低功能
  2. 加速转发PHB(EF PHB)

    • 提供近似专线的服务
    • 通常配置为高优先级队列+严格流量整形
  3. 确保转发PHB(AF PHB)

    • 在拥塞时提供不同级别的丢包优先级
    • 通常实现为加权随机早期检测(WRED)
  4. 类选择器PHB(CS PHB)

    • 向后兼容IP优先级机制
    • 提供简单的优先级排队

4. DiffServ实现示例

4.1 典型网络配置

  1. 边界路由器

    • 根据源/目的IP、端口、协议等分类流量
    • 计量流量是否符合SLA
    • 标记适当的DSCP值
    • 实施流量整形或丢包
  2. 核心路由器

    • 根据DSCP值将分组放入不同队列
    • 实施队列调度算法(如PQ、WFQ等)
    • 在拥塞时根据丢弃优先级选择性丢包

4.2 典型DSCP标记策略

流量类型DSCP值PHB类型
语音流量46EF
视频会议34AF41
关键业务数据26AF31
普通业务数据18AF21
尽力而为流量0Default
网络控制流量48CS6

5. DiffServ的优势与挑战

5.1 主要优势

  1. 良好的可扩展性

    • 核心路由器无需维护每个流的状态
    • 适合大规模网络部署
  2. 灵活性

    • 支持多种服务等级定义
    • 运营商可自定义PHB实现
  3. 兼容性

    • 与现有IP基础设施兼容
    • 逐步部署能力

5.2 面临挑战

  1. 端到端QoS保证

    • 依赖所有中间网络的支持
    • 跨域协调困难
  2. 复杂的管理配置

    • 需要精细的流量调节策略
    • SLA监控和强制执行
  3. 安全考虑

    • 防止DSCP标记滥用
    • 需要边界信任模型

DiffServ通过DS码点这一简洁而强大的机制,实现了IP网络QoS的实用化部署,成为现代网络服务质量保障的重要技术基础。理解DSCP的含义和使用方法,对于网络架构设计和QoS策略实施至关重要。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/90299.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/90299.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于 PIC16 系列的多功能电子烟(温控 + 电压控制 + 多模式)方案

基于 PIC16 系列的多功能电子烟(温控 电压控制 多模式)方案 一、芯片与最小系统推荐型号:PIC16F18313/18323 8-bit 内核,14/20-pin 小封装,成本低28 MHz 内部振荡,带 10-bit ADC(12 通道&…

小模数齿轮的加工方法有哪些?

小模数齿轮(一般指0.3≤Mn≤1)的加工方法有哪些呢?小模数齿轮的加工方法主要分为减材、增材、变形加工三类: 去材料制造 有铣齿、滚齿、插齿、刨齿、剃齿、拉齿、冲齿、研磨、珩齿、磨齿及其抛光、线切割等。 增材制造 有注塑(塑料、尼龙&…

若依前后端分离版学习笔记(二)——系统菜单介绍

前言: 这一节是将ruoyi的前端界面过一遍,查看所有系统菜单及页面功能,为后续代码学习做准备。(注意:文中包含大量截图,截图为从本地启动的3.9.0 vue3的前端界面。) 一 系统管理 1 用户管理 主要…

VRRP技术-设备备份技术

一、VRRP的概念及应用场景1.定义在 VRRP(虚拟路由冗余协议)中,将多个路由器逻辑上看作一个路由器时所使用的虚拟 IP 地址,需要满足以下要求:这个虚拟 IP 地址必须与该 VRRP 组内所有物理路由器的接口 IP 地址处于同一网…

VUE2 学习笔记5 动态绑定class、条件渲染、列表过滤与排序

动态绑定class样式&#xff1a;先设置css&#xff1a;<style>.styleBackgroundColor{background-color: aqua;}.styleContent{width:300px;height: 200px;}.styleBorder{border: 2px black solid;}</style>vue模版中&#xff0c;使用动态类名绑定&#xff0c;一般可…

推客系统全栈开发指南:从架构设计到高并发实战

一、推客系统概述与市场前景推客系统&#xff08;也称为"推客营销系统"或"社交电商系统"&#xff09;是近年来快速崛起的社交化营销工具&#xff0c;它通过整合社交网络与电子商务功能&#xff0c;让每个用户都能成为产品的推广者并获得相应奖励。市场数据…

RabbitMQ有多少种Exchange?

面试回答模板 “RabbitMQ 在 AMQP 协议中预定义了 四种常用交换机 两种特殊类型&#xff0c;共 6 种&#xff1a; Direct&#xff1a;routing-key 全等匹配&#xff1b;Fanout &#xff1a;广播&#xff0c;忽略 key&#xff1b;Topic&#xff1a;按 *.# 通配符匹配&#xff1…

ctfshow pwn43

1. 分析程序首先检查程序相关保护&#xff0c;发现程序为32位且只开启了一个NX保护checksec pwn使用IDA进行逆向分析代码&#xff0c;查看漏洞触发点&#xff1a;在main函数中&#xff0c;有一个ctfshow函数&#xff0c;这里我们跟进ctfshow()发现存在一个gets()函数&#xff0…

内网IM:BeeWorks私有化部署的安全通讯解决方案

在当今数字化办公环境中&#xff0c;内网IM已成为企业保障数据安全的核心工具。BeeWorks作为一款支持私有化部署的内网IM解决方案&#xff0c;能够帮助企业构建完全自主可控的通讯系统。无论是政府机构、金融机构&#xff0c;还是对数据安全要求极高的企业&#xff0c;BeeWorks…

SHA512算法详解

SHA-512 是 SHA-2&#xff08;Secure Hash Algorithm 2&#xff09;系列密码散列函数的重要成员&#xff0c;由美国国家安全局&#xff08;NSA&#xff09;设计&#xff0c;2001 年被纳入 NIST&#xff08;美国国家标准与技术研究院&#xff09;的 FIPS 180 标准&#xff0c;后…

通过python管理vcenter中的虚拟机

通过python管理vcenter中的虚拟机因业务需要&#xff0c;需在夜间关闭虚拟机&#xff0c;随通过计划任务远程管理开机、关机虚拟机一、通过docker配置python3.9环境 Dockerfile FROM python:3.9 RUN pip3 install pyvmomi7.0.0创建自定义镜像 docker build -t pyvmomi7:v1 .二…

AWS S3 生命周期管理最佳实践:IoT Core 日志的智能存储优化

在现代物联网应用中,设备日志数据的管理是一个重要挑战。随着设备数量的增长,日志数据量呈指数级增长,如何有效管理这些数据的存储成本成为关键问题。本文将分享如何为 AWS IoT Core 日志实施智能生命周期管理策略。 背景与挑战 IoT 设备产生的日志数据具有以下特点: 数据…

18.TaskExecutor获取ResourceManagerGateway

TaskExecutor获取ResourceManagerGatewayTaskExecutor 与 ResourceManager 之间的交互机制较为复杂&#xff0c;核心可以拆分为三个阶段&#xff1a; 首次发现与注册连接建立心跳维持 本文聚焦连接建立阶段&#xff0c;详细分析底层 RPC 连接的实现原理。回顾&#xff1a;start…

kafka查看消息的具体内容 kafka-dump-log.sh

目录kafka 消息查看1. 直接查看日志文件内容步骤&#xff1a;2. 使用 Kafka 工具查看日志主要参数说明常用命令&#xff1a;输出说明&#xff1a;3. 注意事项kafka 消息日志文件详解我们有时候遇到这样的需求&#xff0c;需要查看下kafka消息的内容。 kafka 消息查看 查看 Ka…

Spring Cloud OpenFeign 常用注解_笔记

Spring Cloud OpenFeign 提供了一种声明式、模板化的HTTP客户端&#xff0c;可以通过简单的接口描述远程调用&#xff0c;而不必手动编写低级的 HTTP 客户端代码。FeignClient用法参考&#xff1a;FeignClient用法-笔记-CSDN博客。这里梳理Spring Cloud OpenFeign 常用注解。 1…

移动端自动化Appium框架

文章目录环境搭建JAVAAndroid SDKGenymotion模拟器环境搭建 JAVA 1、安装JDK 从官网下载所需安装包&#xff0c;默认安装即可。 https://www.oracle.com/cn/java/technologies/downloads/ 2、配置环境变量 设置 - 编辑系统环境变量 - 环境变量。 系统变量下新建JAVA_HOME&a…

算法第26天|贪心算法:用最少数量的箭引爆气球、无重叠区间、划分字母区间

今日总结 用最少数量的箭引爆气球 题目链接&#xff1a;452. 用最少数量的箭引爆气球 - 力扣&#xff08;LeetCode&#xff09; 代码随想录 整体思路&#xff1a; 1、统一度量 &#xff1a; 将所有区间按照左端点进行排序&#xff1a; 用到了二维的sort&#xff0c;在类中需…

最新版的electron通信规则

介绍: 以前electron require(electron/remote).fs 就能调用node中的各种api,最新版可能为了安全考虑,除了主main.js入口文件以外,其他的地方都不能调用node中的api,比如里面的各种函数,如fs,path等。这节课来教大家最新版本的electron如何进行通信。 结构: 了解通信之前…

Python爬虫实战:研究PyPLN库相关技术

1. 引言 随着全球化的发展,葡萄牙语作为世界第六大语言,其在互联网上的文本数据量不断增长。如何从海量的葡萄牙语文本中提取有价值的信息,成为自然语言处理领域的重要研究方向。 PyPLN (Python Natural Language Processing Toolkit) 是一个专门针对葡萄牙语设计的自然语言…

层次分析法代码笔记

层次分析法 一、核心 在层次分析法中&#xff0c;通过 算术平均法、几何平均法、特征值法 计算指标权重&#xff0c;再通过 一致性检验 确保判断矩阵逻辑合理&#xff0c;为多准则决策提供量化依据。 二、代码 &#xff08;一&#xff09;一致性检验&#xff08;判断矩阵合理性…