网络工程师之路由交换QOS服务质量篇

网络工程师之路由交换QOS服务质量篇

以下均为个人笔记,摘录到csdn做备份

路由交换之QOS 服务质量

QOS 服务质量

QOS (服务质量)

包括:传输业务的带宽(不能变)、传输延迟(传输的时间)和抖动(时延的差值)、数据的丢包率
抖动是因为端到端时延不相等造成的
丢包是在传输过程中的每个环节发生,一般情况在队列满的情况下丢弃尾部数据(会造成丢包)

木桶理论:最大带宽BW等于数据传输路径上最小带宽

端到端时延:传输时延:传输时延又叫串行化时延,它的大小在很大程度上取决于带宽的大小。
处理时延:处理时延是指路由器把数据包从入接口放到出接口队列需要的时间,它的大小跟路由器的处理性能有关。
队列时延:队列时延指数据包在出口队列中停留的时间,它的大小跟队列中数据包的大小和数量、带宽以及队列机制有关

三种模型:
1、尽力而为模型 传输和丢弃都是公平模式
2、集成模型 通过信令向网络申请特定的服务 在发送报文之前,向网络申请, 端到端的预留 (需要留带宽 或者时延 丢包率进行预留 按照申请好的带宽发送数据)
3、差分服务模型 对进出的流量进行分类(红,黄,绿, 先丢红色再丢黄色最后丢绿色)

DiffServ DS节点:采用相同服务提供策略和实现了相同PHB集合相连的DS节点组成叫DS域
边界节点:将DS域和非DS域连接在一起DS 边界节点需根据域间制定的流量控制协定TCA进行流量控制并设置报文的DSCP值。
内部节点,用于在同一个DS 域中连接DS 边界节点和其他内部节点。DS 内部节点仅需基于DSCP 值进行简单的流分类以及对相应的流实施流量控制

在IP报文中有专门的字段进行QoS的标记,在IPV4中为ToS,IPv6中为TrafficClass。ToS字段用前6bit来标记DSCP,如果只用前3 bit 就为IP优先级。DSCP和IP优先级都是标记的标准。?
IP优先级一般情况用0-5 当取值为000时,为普通处理,如果取值为001,为优先处理, 如果取值为010为快速处理,为011为闪速处理(语音控制业务),如果处理为100为急速处理(给视频用),101为关键处理(给语音使用),当110时做网监控制(OSPF,BGP等网络协议默认为6) 当111为网络控制, 802.1P就是VLAN里的优先级 (VLAN里PRI字段为优先级,MPLS VPN中EXP也是优先级,都是3bit)二层优先级叫做COS 三层为QOS 规则都是一样 8021.P指的是Pri
当ToS为0001时,表示数据要有最小开销.。
如果取值为0010 表示可靠性最高。
如果是0100 表示使用最大的吞吐量(平均速率)
如果取值为1000 表示时延最小

PHB(DS节点作用于数据流的行为):发现未定义到PHB的映射,则DS节点将选择采用缺省PHB(即Best-Effort,DSCP=000000)进行转发处理。(PHB对应的DSCP的6bit)(IPP对应的就是IP优先级)

IETF DiffServ工作组目前定义了四种PHB:

    1、Default PHB(缺省PHB)
    2、Class-Selector PHB(类选择PHB,6bit最后三位bit固定为0,兼容IPP,用来做控制信息)
    3、Expedited Forwarding PHB(加速转发PHB,一般是低时延应用的,数值固定,取值为101110)
    4、Assured Forwarding PHB(确保转发PHB,对带宽要求较高的,6bit中最后一位固定为0,倒数第二三bit用来表示丢弃的可能性,没有00可能,数值越大,丢弃的可能越大,前3bit代表转发优先级,数值越大代表优先级越高 001(AF1)010(AF2)011(AF3) 100(AF4) )
          AF1对应:10 12 14   AF2对应:18 20 22  AF3对应:26 28 30   AF4:34 36 38 

QOS的流程:
1、流分类:依据一定的匹配规则识别出对象。流分类是有区别地实施服务的前提。
2、流量监管:对进入路由器的特定流量的规格进行监管。当流量超出规格时,可以采取限制或惩罚措施,以保护运营商的商业利益和网络资源不受损害。
3、流量整形:一种主动调整流的输出速率的流控措施,通常是为了使流量适配下游路由器可供给的网络资源,避免不必要的报文丢弃和拥塞。
4、拥塞管理:网络拥塞时必须采取的解决资源竞争的措施。通常是将报文放入队列中缓存(缓存到桶里),并采取某种调度算法安排报文的转发次

流量分类:根据ACL。根据报文自身信息。 三层:用不到数据字段 二层:FCS

所有VoIP数据报文聚合为EF业务类,将报文的IP优先级标记为5。 若使用DSCP(Differentiated Services Codepoint,区分服务编码点,ToS域的的前6位),则最多可分成26 = 64类。
如使用IP报文头的ToS(Type of service,服务类型)字段的前三位(即IP优先级)来标记报文,可以将报文最多分成23 = 8类

简单流分类:对IP优先级和DSCP优先级做改变
复杂流分类:复杂流分类是指采用复杂的规则,如综合链路层、网络层、传输层信息(例如源MAC 地址、目的MAC 地址、源IP 地址、目的IP 地址、用户组号、协议类型或应用程序的TCP/UDP 端口号等)对报文进行精细的分类。

简单流分类分为基础的八种:入方向 AF1-4 BE0 BE1 EF6 EF7
域:定义了一组分类规则,规定了带不同优先级(dscp、mpls exp、802.1p等)的报文与内部优先级的映射关系,以及内部优先级与报文本身优先级的映射关系。

1、配置举例:
(1)在接口g3/0/0和g4/0/9,实现DSCP与EXP的映射。

                                         配置diffserv域,名称为d1

                                         [RT-0]diffserv  domain  d1 

                                         配置报文入方向的映射关系

                                         [RT-0-dsdomain-d1]ip-dscp-inbound  34   phb  af1 green 

                                         配置报文出方向的映射关系

                                         [RT-0-dsdomain-d2]mpls-exp-outbound af1 green  map  3

                                         在接口下应用简单流分类

                                         [RT-0-GigabitEthernet3/0/0]trust upstream  d1  

                                         [RT-1-GigabitEthernet4/0/9]trust upstream  d2  

复杂流分类:复杂流分类是指根据五元组(源地址、源端口号、协议号码、目的地址、目的端口号)。五元组组成关键字 然后匹配规则表 然后映射到动作表
:分规则还有动作

当处理报文时,根据报文中用来分类的字段信息组成关键字,查找规则表;如果报文能匹配上规则部分,则根据查找结果确定该规则对应的动作表,确定该报文应该执行何种动作。如果报文没有匹配上任何一条规则,则报文不做分类按普通报文正常转发。

ACL:访问控制列表。用于复杂流分类的规则部分。

流量整形:流量整形是对报文的速率进行控制,使报文以均匀的速率发送出去。对应出接口。超过流量进行缓冲
流量监管:为了使有限的网络资源可以更好地为用户服务,可以对特定用户的业务流进行监管,使其适应分配给它的那部分网络资源。可以应用入接口和出接口。流量监管的典型应用是监督进入网络的某一流量的规格,把它限制在一个合理的范围之内,或者对超出的部分流量进行丢弃,以保护网络资源和运营商的利益。

(CR)约定访问速度:CAR可以对特定流量进行流量监管,对超出限额的流量进行丢弃或者重新标记。

(TB)令牌桶:当指定好的流量进行监管是要经过令牌桶,拿到通行证的流量可以通过,没拿到的不允许通过,强行通过的会被丢弃。们定义包长度为B,令牌数量为TB,如果进入令牌桶处理的包长度B –TB<0,报文能拿到令牌则报文是绿色的,同时令牌桶中减少相应报文长度的令牌,TB=TB-B,反之拿不到令牌的报文是红色的,令牌不减少。

可以设置报文的优先级为5,当报文不符合流量特性的时候,可以丢弃,也可以设置报文的优先级为1并继续进行发送。这样,后续的处理可以尽量保证不丢弃优先级为5的报文,在网络不拥塞的情况下,也发送优先级为1的报文,当网络拥塞时,首先丢弃优先级为1的报文,然后才丢弃优先级为5 的报文。

1、平均速率(Committed Information Rate):向桶中放置令牌的速率
2、突发尺寸(Committed Burst Size):令牌桶的容量,每次突发所允许的最大流量尺寸,设置的突发尺寸必须大于最大报文长度
单桶单速率流量监管: 一个令牌桶,容量是CBS
双桶单速率流量监控:两个令牌桶,一个的容量是CBS ,一个的容量是EBS ,一个填充令牌的速率CIR,两个令牌桶使用同一个填充速率。当有 B 字节的报文传过来的时候,根据两个桶的当前容量来对这个报文进行处理。
B-CBS-EBS<0 就可以发 先填充CBS在填充EBS (先走CBS,如果CBS不够则走EBS,如果都不够直接丢弃)

双桶双速率流量监控:两个令牌桶,一个的容量是CBS ,一个的容量是PBS 。这两个令牌桶分别使用两个填充令牌的速率,一个填充速率是 CIR,一个填充速率是 PIR 。当有 B 字节的报文传过来得时候,根据两个桶的当前容量来对这个报文进行处理。 (有主备之分,主备分担减令牌,如果主不允许过备也不允许过,主允许过但是备不够也可以过)

1、单令牌桶主要由两个
参数构成:
CIR(Committed Information Rate):承诺信息速率,表示向令牌桶中投放令牌的速率,即长时间的端口平均速率。
CBS(Committed Burst Size):承诺突发尺寸,用来决定在部分流量超过CIR之前的最大突发流量,即为令牌桶的容量(深度)。设置的突发尺寸必须大于报文的最大长度

2、单速双桶,主要由三个参数构成
承诺信息速率CIR:表示向C桶中放置令牌的速率,即C桶允许的流的平均速度
承诺突发尺寸CBS:表示C桶的容量,即每次突发C桶所允许的最大的流量尺寸
额外突发尺寸EBS:表示E桶的容量,即每次突发E桶所允许的最大的流量尺寸

配置: 如果在接口直接配置的话是直接对所有流量都匹配 如果ACL配置的话基于复杂分流,匹配到的进行策略调整。 cir和pir速率是100-1000W/kb
pir要大于cir
若cir-value<=10000kbit/s,则cbs-value的缺省值为10000byte 若cir-value>10000kbit/s,cbs-value的缺省值等于cir-value的值,单位是byte

cir cir-value:指定承诺信息速率(Committed Information Rate),即保证能够通过的速率。整数形式,取值范围是100~10000000,单位是kbit/s。

pir pir-value:指定峰值速率PIR(Peak Information Rate),即最大能够通过的速率。整数形式,取值范围是100~10000000,单位

green:数据包的流量符合承诺信息速率时对数据包采取的动作,缺省值为pass。
yellow:数据包的流量超过承诺信息速率但小于峰值速率时对数据包采取的动作,缺省值为pass。
red:数据包的流量超过峰值速率时对数据包采取的动作,缺省值为discard。

 执行命令qos car cir cir-value [ pir pir-value ] [ cbs cbs-value pbs pbs-value ] [ green { discard | pass } [ yellow { discard | pass } [ red { discard | pass } ] ] ] { inbound | outbound },在接口上配置CAR。

1、执行命令system-view,进入系统视图。

2、执行命令traffic classifier classifier-name [ operator { and | or } ],定义流分类并进入类视图。

3、请根据实际情况对路由器的匹配规则进行定义。本例定义报文发送者的IP地址。

4、执行命令traffic behavior behavior–name,定义行为进入流行为视图。

5、执行命令car cir cir-value [ pir pir-value ] [ cbs cbs-value pbs pbs-value ] [ green { discard | pass } [ yellow { discard | pass } [ red { discard | pass } ] ] ] ,配置流量监管动作。

6、执行命令traffic policy policy-name,定义流量策略并进入策略视图。

7、执行命令classifier classifier-name behavior behavior-name,在流量策略中为类指定采用的行为。

8、执行命令interface interface-type interface-number,进入接口视图。
9、traffic-policy policy-name { inbound | outbound } [ link-layer],在接口应用流量策略。
流量整形通常采用的技术有:Generic Traffic Shaping(通用流量整形,简称GTS),
Line Rate(物理接口总速率限制,简称LR)。
它们可以对不规则或不符合预定流量特性的流量进行整形,以利于网络上下游之间的带宽匹配。

流量整形:使这类报文以比较均匀的速度向外发送。当报文的发送速度过快时,首先在缓冲区或队列进行缓存,在令牌桶的控制下,再均匀地发送这些被缓冲的报文。

GTS总结:通过流分类,哪些需要GTS总结,对于超出流量进行缓存,(默认是先进先出),

LR:物理接口总速率限制(简称LR)可以在一个物理接口上,限制接口发送报文(包括紧急报文)的总速率。
LR的处理过程仍然是采用令牌桶进行流量控制。
如果用户在路由器的某个接口上配置了LR ,规定了流量特性,则所有经由该接口发送的报文首先要经过LR的令牌桶进行处理。
如果令牌桶中有足够的令牌可以用来发送报文,则报文可以发送。如果令牌桶中的令牌不满足报文的发送条件,则报文进入QoS队列进行拥塞管理。
这样,就可以对通过该物理接口的报文流量进行控制。

参数说明
cos-value:指定配置的流队列优先级。取值可以是af1、af2、af3、af4、be、cs6、cs7、ef。
weight-value:流队列调度的权重。整数形式,取值范围是1~100。
shaping-value:整形速率,表示配置的接口带宽,等于峰值信息速率PIR的取值。整数形式,取值范围是0~1000,单位为Mbps。 shaping-percentage-value:整形速率百分比。表示每个流队列的整形速率占配置的端口输出带宽的百分比。整数形式,取值范围是0~100。

                  pq | wfq | lpq:配置该队列的调度方式。pq为绝对优先级队列调度;wfq为加权公平队列调度;lpq为低优先级调度。

三种队列调度的优先级次序为:
PQ队列的优先级高于WFQ队列的优先级。
WFQ队列的优先级高于LPQ队列的优先级。
高优先级的队列可以抢占低优先级队列的带宽。

Buffer:缓冲器
流量拥塞:是指由于供给资源的相对不足而造成服务速率下降(引入了额外的延迟)的一种现象。
处理的方法是使用队列调度技术(拥塞调度)
将所有要从一个接口发出的报文进入多个队列,按照各个队列的优先级进行处理。通过适当的队列调度机制,可以优先保证某种类型的报文的QoS 参数,例如带宽、时延、抖动等

FIFO:First In First Out,先进先出队列(优点:简单 缺点:没有公平性,发生拥塞会尾部丢弃。)队列太长会发生时延抖动,太短会加大丢包率

RR:Round Robin,轮询队列(优点:隔离不同的流。剩余流量被其他队列平均分配。缺点:无法设置队列带宽。)

WRR:Weight Round Robin,按权重轮询队列(优点:能够用权重来分配带宽,低优先级也能调度,不会饿死。缺点:还是没有解决时延和抖动问题)

PQ:Priority Queuing,优先级队列(优点:高优先级能得到全部带宽 缺点:低优先级会饿死,根本得不到带宽)

CQ:Custom Queuing,自定义队列

WFQ:Weighted Fair Queuing,加权公平队列(有点:抖动小延迟低按列队分配带。 缺点:配置复杂)

拥塞避免:传统的丢包策略采用尾部丢弃(Tail-Drop)的方法。当队列的长度达到某一最大值后,所有新到来的报文都将被丢弃。这种丢弃策略会引发TCP全局同步现象。

为了避免TCP全局同步,使用以下两种
RED:Random Early Detection,随机早期检测
WRED:Weighted Random Early Detection,加权随机早期检测

在这里欢迎大家的点赞、关注、评论,以此来促进大家互相学习交流,同时可以让新加入的小伙伴更快的了解新知识!!!

以上内容如有侵权,请联系作者进行删除

≧◠◡◠≦ 1分2分都是爱,感谢已经打赏的老板,和正在打赏的老板们 ≧◠◡◠≦

  • 12
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TinyTuiKun

感谢各位老板们的打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值