服务质量_QOS【管制和拥塞避免机制】

<div class="title"><a id="Header1_HeaderTitle" class="headermaintitle" href="https://www.cnblogs.com/good-study/">尒東陳 / 2023-05-31 / 原文

服务质量_QOS【标记和队列】

1.1 区分服务模型配置步骤:

  • 分类classfication/标记Marking
  • 管制Policing/整形Shaping            限速
  • 拥塞避免机制RED WRED       防止尾丢弃
  • 队列Queuing:PQ、CQ、WFQ、FIFO、CB、WFQ、LLQ、WRRQ、SRRQ、DRRQ

1.2 拥塞避免机制 RED

1.2.1 背景

  •  多股tcp流量在不同时间启动;
  • TCP是慢启动机制,窗口大小会不断增加;
  • 尾丢弃机制会导致多个会话的多个报文被同时丢弃;
  • 超过实际总带宽的时候,Tcp会话会同时收到影响,重启;

1.2.2 RED拥塞避免机制(随机早期检测)

  •  预先设置队列阈值,上图,队列大小为40,设置最小阈值为32,最大为40,当队列数量小于32时不丢弃,在32-40之间时随机丢弃,大于40直接执行尾丢弃,随着队列数量不断增加丢弃概率越高,最大丢弃概率为10%。

使用RED会产生什么问题呢?带宽使用量会更接近实际带宽大小。

 

1.3 WRED 拥塞避免机制

  •  根据IP Precedence不同,设置的最小阈值不同,且随机丢弃的概率也随着IP Precedence越高,机率越小;RSVP高于所有IP Precedence;
  • WRED默认可以识别报文中携带IP Precedence值,也可以支持DSCP;
interface FaceEthernet0/0
 random-detect prec-based

interface FaceEthernet0/0
 random-detect dscp-based         //支持dscp的Wred

random-detect dscp ef 39 45 20
//39丢弃低阈值,45丢弃高阈值,20丢弃概率1/20

 

 

1.4 FBWRED-基于流的WRED

RED和WRED都是基于TCP流量去设计的;FBWRED可以为icmp、tcp、udp提供早期拥塞避免机制;

interface FaceEthernet0/0
 random-detect flow           //这些流是设备自动定义的

 

 

1.5 CBWRED-基于MQC模型的WRED

优先级队列(Priority)不能使用WRED

ip access-list extended Business
 permit tcp any any range ftp-data ftp
 permit tcp any range ftp-data ftp any
ip access-list extended DATA
 permit tcp any any eq www
 permit tcp any eq www any
 permit tcp any any eq telnet
 permit tcp any eq telnet any
ip access-list extended VoIP
 permit udp any any range 16384 32767
 permit udp any range 16384 32767 any
!
class-map match-all DATA
 match access-group name DATA
class-map match-all VoIP
 match access-group name VoIP
class-map match-all Business
 match access-group name Business
!
policy-map CBWRED
 class VoIP
  priority percent 20        //优先级队列不能使用WRED
 class DATA
  bandwidth percent 30 
  random-detect dscp-based
 class Business
  bandwidth percent 20 
  random-detect dscp-based
 class class-default
  fair-queue
  random-detect dscp-based
  random-detect ecn
!
interface Ethernet0/0
 service-policy output CBWRED
!

 

 //random-detect ecn:ECN(Explicit Congestion Notification)是一种拥塞通知机制,用于向网络中的设备传递拥塞信息,而不是简单地丢弃数据包。ECN 使用 IP 包头中的 ECN 标志位来指示网络设备有关拥塞状态的信息。

 

1.6 流量管制Policing和流量整形Shaping

  •  在进入队列之前,通过整形器和管制器会标个色;绿色流量正常转发;红色流量整形器会进行缓存到该流量变成绿色时,红色流量管制器要么丢弃要么重标记再进行转发。
  • 管制比整形更加严格一些。

  • 入向流量和出向流量都可以进行流量管制
  • 超额流量一般被丢弃
  • 对于tcp而言,会导致tcp大量重传
  • 管制支持对数据包标记或者重标记
  • 管制建议在支持可以突发流量的环境中使用。

 

  •  只有出向流量可以整形
  • 超额流量进行缓存
  • tcp重传限制到最小
  • 整形一般是不支持重标记的
  • 整形建议在不支持突发的环境中使用。

 

 1.6.1 流量整形Shaping

令牌桶算法