DiffServ--百度介绍

2023-05-16

区分服务(DiffServ)是IETF工作组为了克服Inter-Serv的可扩展性差在1998年提出的另一个服务模型,目的是制定一个可扩展性相对较强的方法来保证IP的服务质量。

与综合服务(IntServ)不同,区分服务(DiffServ)是基于类的QoS技术,它不需要信令。在网络入口处,网络设备检查数据包内容,并为数据包进行分类和标记,所有后续的QoS策略都依据数据包中的标记做出。

区分服务无需保存流状态和信令信息,可扩展性好,但由于缺少端到端的带宽预留,在拥挤的链路上服务保证可能会被削弱。

由于综合服务和区分服务都没有明显的优势,QoS机制仍然采用综合服务和区分服务相结合的技术来提供网络上需求的服务带宽。

RFC 2474, Defnition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers

RFC 2475, An Architecture for Differentiated Services Framework

RFC 2597, Assured Forwarding PHB

RFC 2598, An Expedited Forwarding PHB

RFC 2983, Differentiated Services and Tunnels

RFC 3086, Defnition of Differentiated Services Per Domain Behaviors and Rules for their Specifcation

RFC 3140, Per Hop Behavior Identifcation Codes

RFC 3246, An Expedited Forwarding PHB

RFC 3247, Supplemental Information for the New Defnition of the EF PHB

RFC 3248, A Delay Bound alternative revision of RFC2598

一同发展的还有许多与DiffServ有关的因特网草案(Internet

Drafts)可以参考:

An Informal Management Model for Diffserv Routers

Management Information Base for the Differentiated Services Architecture

New Terminology and Clarifcation for Diffserv

Differentiated Services Quality of Service Policy Information Base

An Assured Rate Per-Domain Behaviour for Differentiated Services

简介

编辑 播报

DiffServ:区分服务体系结构

(DiffServ: Differentiated Service )

它是一种保证QoS的网络技术。 [1] 

区分服务体系结构(DiffServ)定义了一种可以在互联网上实施可扩展的服务分类的体系结构。一种“服务”,是由在一个网络内,在同一个传输方向上,通过一条或几条路径传输数据包时的某些重要特征所定义的。这些特征可能包括吞吐率、时延、时延抖动,和/或丢包率的量化值或统计值等,也可能是指其获取网络资源的相对优先权。服务分类要求能适应不同应用程序和用户的需求,并且允许对互联网服务的分类收费。

DiffServ 体系结构由许多在网络节点上实现的功能要素组成,包括每一跳转发小集合,数据包归类功能,和交通调节功能。其中,交通调节功能又包含测量、标记、整形、和监察策略四部分。在本体系结构,只在网络的边界节点上实现复杂的分类和调节功能,并且,通过在 IPv4 和 IPv6 包头的 DS 段做适当的标记 [DSFIELD],聚合流量,然后根据所做的标记,采取不同的每一跳转发策略。因此,本体系结构具备可扩展性。“每一跳行为”保证了在互相竞争资源的数据流中为每个网络节点分配缓冲区和带宽资源时,有一个合理的处理力度。在核心网络节点上,无需维护每个应用程序流或每个用户转发状态。

分类服务体系结构基于这样一个简单模型:进入网络的流量在网络边缘处进行分类和可能的调节,然后被分配到不同的行为集合中去。每一个行为集合由唯一的 DS 编码点标识。在网络核心处,数据包根据 DS 编码点对应的每一跳行为转发。在本节中,我们讨论在分类服务区域中的关键组件,流量分类和调节功能,以及分类服务是如何通过流量调节和基于 PHB 的转发而实现的。

特点

编辑 播报

DiffServ的最大特点就是简单有效、扩展性强。其实施特点是采用聚合的机制将具有相同特性的若干业务流聚合起来,为整个聚合流提供服务,而不再面向单个业务流。也就是说在DiffServ网络边界路由器上保持每流状态,核心路由器只负责数据包的转发而不保持状态信息 [1]  。

在Diff-Serv模型中,业务流被划分成不同的差分服务类。一个业务流的差分服务类由其IP包头中的差分服务标记字段(Different Service Code Point,简称DSCP)来表示。在实施DiffServ的网络中,每一个路由器都会根据数据包的DSCP字段执行相应的PHB(Per Hop Behavior)行为。区分服务只包含有限数量的业务级别,状态信息的数量少,因此实现简单,扩展性较好。它的不足之处是很难提供基于流的端到端的质量保证。区分服务是业界认同的IP骨干网的QoS解决方案,但是由于标准还不够详尽,不同运营商的DiffServ网络之间的互通还存在困难。IETF RSVP和DiffServ两个工作组都正在研究RSVP与DiffServ相结合的问题,以进一步扩大DiffServ与现有系统的可兼容性,此外在业务分类、业务性能的量化描述以及域间业务类型映射等问题上,DiffServ模型也需进一步明确和开展的研究 [2]  。

DiffServ的体系结构

编辑 播报

为了满足DiffServ模型提出的分类服务特性要求,IETF RFC2475定义了一种可以在互联网上实现可扩展的分类业务的体系结构,这种体系结构通过标记IP数据分组的区分服务标记字段(DS Field)体现不同的业务级别,从而提供可扩展的差异性服务。DiffServ体系结构的网络体现是由区分服务域(DS域,DS Domain),每个DS域则是由一些具有DiffServ功能的网络结点组成,这些结点被称作区分服务结点(DS 结点, DS Node),依据这些DS结点的所处的不同位置,它们又可以被分为DS边界结点(DS Boundary Node)和DS内部结点(DS interior Node),每个DS域也可能拥有一个实现域内服务分类的策略/资源管理结点。 [3] 

服务等级合约和业务量合约

服务等级合约(SLA,Service Level Agreement)是用户与服务提供者之间大臣过得一种描述了用户可享受的转发服务特性的服务约定合同。这里用户既可以是一个使用者,也可以是另一个上游DS域。服务等级合约可以包括一些业务流调节规则,这些规则可能构成了一个完整的业务量调节合约或者是该合约的一部分。

业务量调节合约(TCA,Traffic Conditioning Agreement)是一份描述了分类器进行业务量处理是所需依据规则的合约,这些处理规则包括业务流的分类规则,相应的业务流属性(Traffic Profile),以及对此业务流的测量、标记、丢弃和/或整形规则。业务量调节合约包含源自以下方面描述的业务量调节规则:SLA的显示指定所有规则,相关服务需求所体现的隐式指定和/或来自于DS域的服务提供策略。

SLA和TCA都属于商业的合约,它们的技术细节分别由服务等级规范(SLS,Service LevelSpecification)和流量调节规范(TCS,Traffic Conditioning Specification)来表述。

DS域与DS区

IETF在DiffServ模型中引入了DS域的概念,DS域是由一些彼此相连的DS结点构成的集合,它们具有统一的服务提供策略,而且实现一样的PHB组分类,比如某个ISP的网络或者内部网。但一个DS域并不一定都只是由一个网络构成,它也可以由同一个管理机构下的多个网络构成。DS域有明确的边界,边界由边界结点构成,在边界对进入的分组业务流进行分类的流量调节等处理。每个DS域都要通过边界结点与其他DS域或非DS域相连。

DiffServ区(Region)则是由多个连续的DS域构成,一个DS区内的DS域可以支持不同的PHB组,并且不同DS域内DSCP到PHB的映射关系也可能不相同。但是,为了提供可贯穿多个DS域的业务,每个对等的DS域之间都必须明确定义彼此分类的对一般高关系,指明如何在域边界处正确调节从一个DS域传向另一个DS域的业务流。DS区内的DS域也可以采用相同的服务提供策略,并支持相同的DSCP到PHB组的映射关系,这样的好处是消除了在DS域间进行业务量调节的需求。

区分服务的边界结点和内部结点

一个DS域是由一些DS边界结点和DS内部结点构成的,DS边界结点是那些连接着本DS域与其他DS域或者无DS能力的域的网络节点,DS内部结点则是那些连接着同一个DS域内的其他结点的网络结点。DS边界结点和内部结点都必须能够按照DSCP与PHB的对应关系实现分组流的数据转发。

边界结点的主要功能为:实现分组流的分类(Classify)和调节(逻辑上分为分类器和调节器),保存流的相应状态信息,根据预定的流规格对进入或离开区域的流进行调节,包括计量、标记、管制等操作动作,使输入流(或输出流)符合预先制定的TCA,并在分组包头标记DSCP值,分类归入行为聚。

协议结构

编辑 播报

在 DiffServ 中,定义了一个替换头字段,称为 DS 字段,用来取代现有的 IPv4 TOS(Octet)和 IPv6 Traffic Class(Octet)。其格式如下所示:

6 bit DSCP

2 bit CU

DSCP ― 即区分服务代码点,用于选择 PHB。

CU ― 当前尚未使用。

区分服务模型能够提供满足不同的QOS需求的多种服务等级,与IntServ模型不同的是,使用DiffServ的应用在发送数据前不显示的通知网络设备。DIffServ是为现代网络及其解决方案量身打造的一种Qos实现。DiffServ重新指定IP数据包报头的Tos(Type of Service,服务编码点)比特。DiffServ使用DSCP(Differentiated Service code point,差异化服务编码点)作为Qos优先级描述符,它支持64个分类等级。RFC2474定义了如何根据DSCP使用ToS字节。

相关结构

编辑 播报

DiffServ与IntServ

IntServ(Integrated Services)最初试图在因特网中将网络提供的服务划分为不同类别的是IEEE提出的综合服务IntServ。IntServ可对单个的应用会话提供服务质量的保证。

为了最大限度的利用DiffServ和IntServ两种机制的互补特性,IETF提出了了两种DiffServ和IntServ的结合方式。一种方法是将IntServ视为DiffServ的接入域,DiffServ视为IntServ的核心域的组网方式:RSVP信令透明地通过DiffServ网。由网络边缘的设备处理RSVP消息,并根据DiffServ网中资源的可用性提供许可控制,DiffServ网络边界将IntServ的业务类型映射为DiffServ的业务类型;另一种方法是为DiffServ网中结点配置RSVP功能,并采取一定策略决定哪些包用RSVP、哪些用DiffServ机制进行处理。 [3] 

DiffServ与多协议标签交换(MPLS)的结合

多协议标签交换着眼于改善网络中的分组转发性能,核心思想是基于标签对分组进行转发。在MPLS域的入口结点,每个分组被赋予一个标签,而在MPLS域的内部,路由器只需要根据分组携带的标签对其进行转发。 [3] 

DiffServ从上层提供业务分类及保障服务质量,MPLS在下层将DiffServ中的行为聚合BA映射成不同的标签,利用MPLS的支持保证QoS的转发,MPLS与DiffServ的结合具有很好的发展前景。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DiffServ--百度介绍 的相关文章

  • ubuntn14.04 版本内核更换详细步骤

    Ubuntu14 04 版本 xff0c 内核为 3 13 XX 更换为 3 2 66 的方法 首先 xff0c 3 2 66第二个数字为偶数 xff0c 就是稳定版 xff08 现在是不是不拿这个区分了 xff1f 没搞清 xff0c 但
  • 设计模式_spring框架中常用的8种设计模式

    spring框架中常用到的8种设计模式清单如下 xff1a 设计模式 使用地方 备注 工厂模式 BeanFactory ApplicationContext 单例模式 Spring中的Bean 代理模式 Spring AOP java反射实
  • eclipse 部署与开发 cas 6.3

    安装前 xff0c 需要准备eclipse xff0c tomcat9 xff0c jdk11安装 eclipse安装gradle插件 打开eclipse xff0c 选择help eclipse market place 搜索builds
  • 2011研发工作总结

    转眼这一年又将过去 xff0c 伴随着公司的成立 xff0c 我们辛苦而又忙碌的从年头走到了年尾 以下是总结下这一年中工作的情况 xff0c 谈谈经验感想 xff0c 说说得失 公司成立 2011年刚开始 xff0c 公司就成立了 我们在喜
  • 论文笔记——EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES(解释和利用对抗样本)

    本文参考了三篇笔记 xff0c 帮助很大 xff1a Explaining and Harnessing Adversarial Examples 阅读笔记 论文笔记 Explaining amp Harnessing Adversaria
  • C++验证哥德巴赫猜想

    include lt iostream gt using namespace std bool Prime int i 判断是否为质数的函数 int j if i lt 61 1 return 0 如果小于等于1返回0 if i 61 61
  • 能ping通Linux 但是ssh连不上问题…

    问题 xff1a 能ping通Linux服务器 但是ssh连不上 lt Linux redhat AS4 版本 gt 解决方法这个问题花了我20分钟去查资料 xff0c 网上写的解决方法也是五花八门 xff0c 不过 xff0c 总算解决了
  • RuntimeError: NCCL error in:torch/lib/c10d/ProcessGroupNCCL.cpp:514, invalid usage, NCCL version 踩坑

    运行pytorch分布式任务时 xff0c 可能在执行dist barrier 这条代码时会触发NCCL错误 xff1a RuntimeError NCCL error in torch lib c10d ProcessGroupNCCL
  • 有一种服务称为MaaS

    Metal as a Service 有一种服务称为MaaS xff08 开源 xff09 xff1a 云管理平台中必不可少的服务 为服务对象提供裸机 xff08 1或n xff09 xff0c 服务对象可以用来安装云OS和其他云功能 使用
  • UDP网络编程服务器与客户端代码

    一 xff0c 通信模型 服务器 xff1a 1 创建socket xff0c 使用socket函数 2 准备通信地址 xff0c 使用结构体类型 3 绑定socket和通信地址 xff0c 使用bind函数 4 监听 xff0c 使用li
  • SAMBA共享工具安装

    1 xff0c 环境win7 b4位 xff0c ubuntu16 04 xff0c 确定ubuntu已连接到互联网 xff0c 执行如下命令下载 Samba 工具 xff1a sudo apt get install samba samb
  • K8s ❉ node节点未找到cni0/flannel.1网络

    问题描述 xff1a 现有测试环境有3台k8s服务器 xff0c 现在新添加两台服务器 xff0c 发现新加的服务器flannel 1和cni0网卡没有生成 root 64 slave1 ifconfig docker0 flags 61
  • 学习一下freertos streambuffer

    学习一下freertos stream buffer 最近在自己从0到1写rtos xff0c 主要是为了学习rtos xff0c 并没有其他卵用 xff0c 光学会调API是不够的 xff0c 看源码又恼火 xff0c 所以学习的最好办法
  • Writable接口

    在org apache hadoop io中 xff0c hadoop使用自己的序列化格式Writables接口 xff0c 具有紧凑 xff0c 快速的特点 xff0c 不过目前只有用Java才能较容易扩展 在hadoop中 xff0c
  • 解决数据库连接慢问题

    解决数据库连接慢问题方法 xff1a 方法一 连接数据库时 xff0c 使用localhost xff0c 不要使用明确的IP地址 xff08 远程数据库除外 xff09 xff1b 方法二 在my cnf配置文件里 xff0c 添加ski
  • 难忘的2011

    前言 xff1a 这些年 xff0c 每到年终之时 xff0c 我都会写个总结 2009年的 优化生活 规划未来 记录了一位初级网络优化工程师09年的所想与所做以及对10年的规划与展望 xff1b 2010年的 今天的2010 xff0c
  • QT从字体名获取字库文件路径(从宋体获取到simsun.ttc)

    MFC版本的从字体名获取字库文件路径点击此处 最近弄的一份项目需要裁剪ttf字库 xff0c 故需要用到此功能 xff01 用了几年QT xff0c 个人感觉类库是非常强大的 xff01 QT相比VS的话亮点在开源的类库非常的丰富 xff0
  • C++编写分形问题

    目的 xff1a 递归是基本的算法思想和设计方法之一 xff0c 也是数据结构重点讲授的部分 xff0c 是许多算法的基础 xff0c 对它们的理解和运用直接关系着其他算法的理解和应用 因此 xff0c 熟练掌握递归是十分重要的 通过本题
  • MFC从字体名获取字库文件路径(从宋体获取到simsun.ttc)

    上一篇有讲到在QT中从字体名获取文字的路径 xff0c 这个是MFC版本的 xff1a QT从字体名获取字库文件路径 include lt string gt using namespace std void wcharTochar con
  • 如何在 IntelliJ IDEA 中快速生成 JavaDoc 注释模板

    笔者的工作环境 xff1a IntelliJ IDEA 2021 2 2 Ultimate Edition JDK 17 使用 IntelliJ IDEA 中的实时模块可以快速生成 JavaDoc 注释 方法如下 xff1a xff08 I

随机推荐

  • FYI,PFA

    FYI For Your Information 供您参考 PFA please find attached 请参看附件
  • ArcGISEngine10.0安装后因为授权问…

    ArcGISEngine10 0 安装后因为授权问题无法使用 xff0c 添加控件提示错误 例如 xff1a 创建组件 ToolbarControl 失败 错误消息为 xff1a System ComponentModel LicenseE
  • 关于transition-group报错children must be keyed: div

    学习项目时遇到了这个报错 原来的写法 lt div v for 61 34 ball in balls 34 v show 61 34 ball show 34 class 61 34 ball 34 gt lt div class 61
  • 为什么老板对项目时间安排的永远是那么的紧?

    简单分析一下 xff0c 原因基本上也就这么两点 xff0c 一方面 xff0c 可以压缩你的时间 xff0c 大家都知道时间就是公司的最大成本 xff0c 用的时间越少 xff0c 带来的价格也就越高 1年完成的项目 半年提前完成 xff
  • GCC NOT FOUNT

    错误提示 xff1a arm linux gcc Command not found 原因 xff1a 1 xff09 没有在 bashrc 或者 etc environment中添加交叉编译工具链bin文件路径 解决方法 xff1a 使用
  • 记录个人编译DCNv2的过程(windows 10,vs2019, torch1.7.0)

    小白一个 xff0c 因为配FairMOT环境需要用到DCNv2 xff0c 就简单记录一下自己遇到的问题和解决方法 如有错误 xff0c 请多指教 首先主要参考了博客https blog csdn net Ningmoua article
  • 初识CMMI2.0

    初识 CMMI2 0 xff08 以下内容根据网络知识学习和整理而成 xff09 正式发布与获取 xff1a 2018 年 3 月 8 日 xff0c CMMI2 0 正式版本正式上线全新的主页 xff08 https cmmiinstit
  • C++编写杨辉三角

    xff08 1 xff09 美观很重要 xff0c 哈哈哈 include lt iostream gt include lt iomanip gt using namespace std int YangHuiData int n n是杨
  • IP地址的分类及范围详解:A、B、C、D、E五类是如何划分的

    IP地址类型 最初设计互联网络时 xff0c 为了便于寻址以及层次化构造网络 xff0c 每个IP地址包括两个标识码 ID xff0c 即网络ID和主机ID 同一个物理网络上的所有主机都使用同一个网络ID xff0c 网络上的一个主机 包括
  • iscsiadm命令基本用法

    发现目标 iscsiadm m discovery t sendtargets p 192 168 1 1 3260 m discovery 指定模式为discovery p 192 168 1 1 3260 指定目标ip和端口 登入节点
  • linux内核中的睡眠函数*delay、*sleep

    目录 一 睡眠函数种类 1 原子上下文 2 非原子上下文 二 使用环境 1 使用环境的不同 xff0c 选择不同的延时 2 驱动机制不同 3 内核中的计算函数执行的函数 三 实测两类函数的延时以及原因 1 测试系统中的睡眠函数 2 输出结果
  • RTOS 和裸机系统的异同-基于 ESP32 学习双核 FreeRTOS 的使用

    Learning FreeRTOS with esp32 什么是 RTOS 其本质上是运行在小型嵌入式设备上的特殊软件 系统软件 如同手机的安卓系统软件 windows 系统软件 RTOS VS 裸机系统 传统的裸机系统 xff08 无操作
  • FreeRTOS 创建第一个任务

    创建第一个任务 概述 创建任务的函数为 xff1a BaseType t span class token function xTaskCreate span span class token punctuation span TaskFu
  • ACL功能的实现

    ACL 看控制访问列表 xff08 Access Control List xff09 控制指定的用户能否通过指定的接口访问本机的服务 http https ftp ssh telnet xff0c 举个例子 xff1a 没开启ACL功能前
  • STM32 USB 虚拟串口演练

    记录一下 xff0c STM32官方虚拟串口走通流程 第一步 xff0c 在CSDN寻找经验 xff0c 结合实际情况进行计划 为了节省读者时间 xff0c 推荐写的比较好的博文 地址如下 xff1a http blog csdn net
  • Linux smbclient使用详情

    例子 smbclient 192 168 10 2 目录 U 用户名 回车 再输入 密码 参数说明 网络资源 网络资源 的格式为 服务器名称 资源分享名称 密码 输入存取网络资源所需的密码 B lt IP地址 gt 传送广播数据包时所用的I
  • ESP8266获取网络天气

    使用ESP8266模块来获取网络数据 xff08 天气 xff0c 时间等 xff09 xff0c 还是挺简单的 一步一步来 1 初始化串口与相关IO 使得MCU可正常使用串口的发送与接收 xff0c 以及一些IO控制ESP8266的使能端
  • win11环境安装postgreSql数据库

    1 xff0c 下载安装文件后一路next安装 2 数据库初始化 创建data目录 xff0c 保证软件有权限读写和访问 pg ctl D data init 3 启动数据库 pg ctl D data D data start 4 创建初
  • verilog实现38译码器

    module decode 38 input wire 2 0 a output reg 7 0 y integer i always 64 begin for i 61 0 i lt 8 i 61 i 43 1 begin if a 61
  • DiffServ--百度介绍

    区分服务 xff08 DiffServ xff09 是IETF工作组为了克服Inter Serv的可扩展性差在1998年提出的另一个服务模型 xff0c 目的是制定一个可扩展性相对较强的方法来保证IP的服务质量 与综合服务 xff08 In