dscp值_轻松解决网络带宽问题,QOS服务模型之DSCP,通信理论第20篇

通信知识第20篇;看本篇请先看上一篇QOS基础:如何解决网络带宽不宽裕问题,通信QOS服务模型原理,通信19篇

本节内容主要对QOS原理认识,接下来的章节会对二层通信知识点进行系统讲解。

890d81289772d8bd144a952be205283b.png

QOS概念:

应用于在带宽还不充裕的情况下可以平衡一下各种服务流量占用的矛盾,如果带宽足够的话,QOS是没有任何使用价值的应用于在带宽还不充裕的情况下可以平衡一下各种服务流量占用的矛盾,如果带宽足够的话,QOS是没有任何使用价值的。

DSCP:

这种标记在frame中和packet中本身就存在,frame中存在cos字段,packet中有tos字段,只不过在正常的传输模型中(例如best-effort)并不使用,而在Diffserv中,数据包的标记作用就体现出来了,并且在packet中,Diffserv提出了一个新的标记,就DSCP(Diffesentiated Services Code Point )区分服务代码点;

QoS的实现以IETF 的DiffServ 体系为基础

DiffServ体系规定每一个传输报文将在网络中被分类到不同的类别,分类信息被包含在了IP 报文头中,DiffServ 体系使用了IP 报文头中的TOS(Type Of Service)中的前6个比特来携带报文的分类信息。当然分类信息也可以被携带在链路层报文头上。

885766b290ebb6107ee18c3c1d77bd9d.png

一般地,附带在报文中的分类信息有:

  1. 帧头的Tag Control Information 中的前3 个比特,它包含了8 个类别的优先级信息,通常称这三个比特为为User Priority bits。
  2. 报文头中的TOS 字段前3 个比特,称作IP precedence value;或者携带在IP 报文头中的TOS 字段前6 个比特,称作Differentiated Services Code Point (DSCP) value。在遵循DiffServ 体系的网络中,各交换机和路由器对包含同样分类信息的报文采取同样的传输服务策略,对包含不同分类信息的报文采取不同的传输服务策略。报文的分类信息可以被网络上的主机、交换机、路由器或者其它网络设备赋予。
  3. 可以基于不同的应用策略或者基于报文内容的不同为报文赋予类别信息。识别报文的内容以便为报文赋予类别信息的做法往往需要消耗网络设备的大量处理资源,为了减少骨干网络的处理开销,一般这种赋予类别信息的方式都使用在网络边界。
cc61305dcc7b3c458ec2fb93fac43c14.png

交换机或路由器根据报文所携带的类别信息,可以为各种交通流提供不同的传输优先级,或者为某种交通流预留带宽,或者适当的丢弃一些重要性较低的报文、或者采取其他一些操作等等。这些独立设备的这种行为在DiffServ 体系中被称作每跳行为(per-hop behavior)

如果网络上的所有设备提供了一致的每跳行为,那么对于DiffServ体系来说,这个网络就可以构成end-to-end QoS solution。

cdac2ee53a866f062553c75bc6c839c1.png

下面几个段落将详细介绍本交换机所提供的以DiffServ 体系为基础的QoS模型。

QoS入口端动作包括Classifying、Policing 和Marking

Classifying:确保将网络交通流划分成以DSCP值来标识的各个数据流。随后交换机将根据DSCP值来对各个数据流实施不同的QoS策略。

Policing:用于约束某个流的所占用的传输带宽,根据配置的Policer来决定流中的哪些部分超出了所限制的传输带宽,并将结果传递给下一阶段的Marking动作。

Marking:决定怎样处理数据流中在Policing动作中超限的部分。可能的处理动作有丢弃超限部分和用另外的DSCP值标记超限部分。

QoS出口端动作包括Queueing和Scheduling:  

Queueing:根据数据流的每一个报文所附带的DSCP值来确定将报文送往端口的哪个输出队列,有关Queueing的更详细介绍,请参阅Queueing章节。 Scheduling:确定以什么样的方式处理被送到端口各个输出队列中的报文有关Scheduling的更详细介绍,请参阅Scheduling 章节。下面的段落将详细介绍QoS模型的各个阶段的动作。

Classifying :

Classifying 即为分类,其过程是根据信任策略或者根据分析每个报文的内容来确定将这些报文归类到以DSCP 值来表示的各个数据流中,因此分类动作的核心任务是确定输入报文的DSCP 值。分类发生在端口接收输入报文阶段,当某个端口关联了一个表示QoS 策略的policy-map 后,分类就在该端口上生效,它起作用于所有从该端口输入的报文。

d7ba18822124389b09e25e22723701a3.png

对于一般非IP 报文,交换机将根据以下准则来归类报文:

  1. 如果报文本身不包含QoS 信息,即报文的第二层报文头中不包含User Priority bits,那么可以根据报文输入端口的缺省CoS值来获得报文的QoS信息。端口的缺省CoS值和报文的UserPriority bits 一样,取值范围为0~7。取得报文的CoS 值之后,再根据交换机上配置的CoS-to-DSCP map 来将CoS 转化为DSCP 值。
  2. 如果报文本身包含QoS 信息,报文的第二层报文头中包含User Priority bits,那么可以直接从报文中获得CoS 值,然后再根据交换机上配置的CoS-to-DSCP map 来将CoS 转化为DSCP值。注意以上两种归类准则只有当端口的QoS 信任模式打开的时候才起作用。打开端口的QoS 的信任模式意味着不通过分析报文的内容,而直接从报文中或报文的输入端口上获得报文QoS信息,从而得到DSCP 值。
  3. 如果端口关联的policy-map 中使用了基于mac access-list extended 的ACLs 归类,那么在该端口上,将通过提取报文的源MAC 地址、目的MAC 地址以及Ethertype 域来匹配关联的ACLs,以确定报文的DSCP 值。
  4. 要注意的是,如果端口关联了某个policy-map,但又没有为其设置相应的DSCP 值,则交换机将按照缺省行为为符合这种归类的报文分配优先级:即根据报文第二层报文头中包含的优先级信息或端口的缺省优先级。

注意上面三种归类准则可能会同时作用于一个端口上

在这种情况下,上面三种归类准则按3、2、1 的优先级起作用。

即,先根据ACLs 归类,在归类失败的情况下,才有可能选择归类准则2、1,在这个时候,如果端口的QoS 信任模式打开,则根据准则2 和1 直接从报文中或者从端口上获得QoS 信息;如果端口的QoS 信任模式关闭,那么那些归类失败的报文将被赋予DSCP 的缺省值0。

2bf7c4fad51ee4f68031d948270d0666.png

对于IP 报文,可以将根据以下准则来归类报文:

  1. 直接从IP 报文的TOS 字段中提取出DSCP 值。IETF规定IP 报文的TOS 字段的前6 个比特作为DSCP 值,它的取值范围为0~63,和交换机内部使用的DSCP 值一一对应。
  2. 按照非IP 报文处理,按照上面介绍的非IP 报文归类准则1、2来确定报文的DSCP 值。注意以上几种归类准则只有当端口的QoS 信任模式打开的时候才起作用。打开端口的QoS 的信任模式意味着不通过分析IP 报文的内容,而直接从IP 报文的TOS 字段中或报文的输入端口上获得QoS 信息,从而得到DSCP 值。
  3. 如果端口关联的policy-map 中使用了基于ip access-list (extended)的ACLs 归类,那么该在该端口上,将通过提取报文的源IP 地址、目的IP 地址、Protocol字段、以及第四层TCP/UDP 端口字段来匹配相关联的ACLs,以确定报文的DSCP 值。要注意的是,如果端口关联了某个policy-map,但又没有为其设置相应的DSCP 值,则交换机将按照缺省行为为符合这种归类的报文分配优先级:即根据报文第二层报文头中包含的优先级信息或端口的缺省优先级。和非IP 报文归类准则一样,以上几种归类准则可以同时作用于一个端口上。在这种情况下,上面的归类准则按照3、2、1的优先级起作用。即先根据ACLs 归类,在归类失败的情况下,才有可能选择归类准则2、1;在这个时候,如果端口选择QoS 信任模式Trust IP-precedence,那么准则1 起作用;如果端口选择QoS 信任模式Trust CoS,那么准则2 起作用。
c67349a4296f6e7155538b43b13a7644.png

Policing :

Policing 动作发生在数据流分类完成后,它用于约束被分类的数据流所占用的传输带宽。Policing动作检查被归类的数据流中的每一个报文,如果该报文超出了作用于该数据流的Policer 所允许的限制带宽,那么该报文将会被做会被作特殊处理,它或者要被丢弃,或者要被赋予另外的DSCP 值。在QoS 处理流程中,Policing 动作是可选的。如果没有Policing 动作,那么被分类的数据流中的报文的DSCP 值将会不作任何修改,报文也不会在送往Marking 动作之前被丢弃。

Marking:

经过Classifying 和Policing 动作处理之后,为了确保被分类报文报文对应DSCP 值的能够传递给网络上的下一跳设备,需要通过Marking 动作将为报文写入QoS 信息,可以使用Trust 方式直接保留报文中QoS 信息,例如,选择Trust Cos 从而保留802.1Q 报文头的Tag Control Information 中的CoS 信息;默认情况下,Marking 总是用报文对应的DSCP 值转化成QoS 信息,然后写入到报文CoS字段(对于非IP 报文)、DSCP字段或者IP-precedence 字段(对于IP 报文)中。

Queueing :

Queueing 动作负责将数据流中报文送往端口的哪个输出队列中,送往端口的不同输出队列的报文将获得不同等级和性质的传输服务策略。每一个端口上都拥有8 个输出队列,通过交换机上配置的DSCP-to-CoS Map 和Cos-to-Queue Map 两张映射表来将报文的DSCP 值转化成输出队列号,以便确定报文应该被送往的输出队列。

Scheduling :

Scheduling 动作时QoS 流程的最后一个环节。当报文被送到端口的不同输出队列上之后,交换机将采用WRR 或者SP 轮转算法发送8 个队列中的报文。可以通过设置轮转算法的权重值来配置各个输出队列在输出报文的时候所占用的传输带宽。

#程序员#,#软件#,#协议#,#互联网#,#通信#

上一章:如何解决网络带宽不宽裕问题,通信QOS服务模型原理,通信19篇

下一章:QOS介绍3(通信知识21)感谢其他人一路给我带来的知识,很惭愧自己一直潜水,于是下定决心,分享自己总结的知识,虽然写得不好,万一有人会用到,有错误的和需要改进的地方欢迎指正,怕误导他人。总结一篇看似简短的文章也非常不容易,随手点个关注支持一下吧,你的点赞是我持续创作的动力!谢谢啦!(创作不易,搬运请注明出处,“野人谷”)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值