1、基于CISCO路由器的QOS


1、QOS模型尽力而为服务模型(Best-effort)集成服务模型(Integrated Services)差分服务模型(Differentiated Services)
2、差分服务模型结构
3、分类与标记标记可以使用IP包头中TOS的高三位(IP优先级)或高六位(DSCP)做标记。
在R1上将ICMP流量的优先级设置为2,将HTTP流量的DSCP值设置为AF22,其他没匹配到的流量优先级设置为1,在ISP上查看标记是否生效。
ISP配置如下:
ip http serveraccess-list 100 permit ip any any dscp af22access-list 100 permit ip any any precedence 1access-list 100 permit ip any any precedence 2interface FastEthernet2/0service-policy input MARK
R1配置如下:access-list 110 permit icmp any anyaccess-list 120 permit tcp any any eq www
class-map match-all ICMPmatch access-group 110class-map match-all WWWmatch access-group 120
policy-map MARKclass ICMP set precedence 2class WWW set dscp af22class class-default set precedence 1interface FastEthernet2/0service-policy input MARK
TEST上的测试命令ping 33.1.1.1telnet 33.1.1.1 80
查看命令show ip access-listsshow class-map show policy-map show policy-map interface s0/1

4、队列技术(拥塞管理)队列技术应用于接口的出方向,一个接口只能使用一种队列技术。路由器的接口上有一个软件队列和一个硬件队列。数据包先进入软队列,然后使用队列技术对数据包进行调度进入硬件队列,硬件队列始终采用先进先出的方式发送数据包。常用的队列技术:FIFO、PQ、CQ、WFQ、LLQ都是CLI工具,而CBWFQ是MQC工具。先进先出队列(FIFO)优先级队列(PQ)自定义队里(CQ)加权公平队列(WFQ)低延时队列(LLQ)实时传输队列(RTP PQ):基于类加权公平队列(CBWFQ)
队列技术三大组件:分类组件、插入丢弃组件、调度组件
先进先出队列(FIFO)默认时:当接口的速度大于2.048Mbps是,路由器采用FIFO进行调度。
优先级队列(PQ)队列数:高、中、普通、低共4个队列分类:根据事先分类放入不同队列插入丢弃:可以设置队列长度,队列满后,数据包将被尾丢弃调度:按照高、中、普通、低的顺序调度,只用高优先级的队列为空才会调度中优先级,依次类推。优点:保证高优先数据包优先转发缺点:高优先队列不为空,低优先级队列永远得不到转发
指定不符合任何类型的数据包将进入的队列(默认normal)priority-list 1 default high根据数据包的入口分类并将其放入到某个队列priority-list 1 interface serial 0/0 high根据数据包的协议类型分类并将其放入到某个队列priority-list 1 protocol ip high tcp telnet指定各队列的大小priority-list 1 queue-limit 10 10 10 10在接口上应用队列priority-group 1
=================================================================R1=================================================================priority-list 1 interface FastEthernet2/0 highpriority-list 1 protocol ip normal tcp wwwpriority-list 1 default lowpriority-list 1 queue-limit 10 20 30 40
interface Serial0/1priority-group 1
查看接口上的队列show int s0/1查看队列配置show queueing priority测试队列是否生效debug priorityshow queueing interface s0/1
自定义队列(CQ)队列数:CQ有17个队列,其中队列0为优先级队列。只有队列0为空,才为其他队列服务。分类:根据事先分类放入不同队列插入丢弃:可以设置队列长度,队列满后,数据包将被尾丢弃调度:为第1个队列转发一定字节数的数据包后,就转为为第2个队列转发,依次轮询优点:保证每个队列都有被服务的机会
指定不符合任何类型的数据包将进入的队列(默认队列1)queue-list 1 default 1根据数据包的入口分类并将其放入到某个队列queue-list 1 interface serial 0/0 1根据数据包的协议类型分类并将其放入到某个队列queue-list 1 protocol ip 1 tcp telnet指定每次轮询时各队列被转发的数据包字节数queue-list 1 queue 1 byte-count 100指定各队列的大小queue-list 1 queue 1 limit 100指定优先级队列(例如此时为2,则队列0和1都是优先级队列)queue-list 1 lowest-custom 2在接口上应用队列custom-queue-list 1
=================================================================R1=================================================================queue-list 1 interface FastEthernet2/0 2queue-list 1 protocol ip 3 tcp www queue-list 1 queue 1 byte-count 100 limit 100queue-list 1 queue 2 byte-count 200 limit 200queue-list 1 queue 3 byte-count 300 limit 300queue-list 1 lowest-custom 4
interface Serial0/1custom-queue-list 1
查看接口上的队列show int s0/1查看队列配置show queueing custom测试队列是否生效debug custom-queueshow queueing interface s0/1

加权公平队列(WFQ)默认时:当接口的速度小于2.048Mbps时,路由器采用WFQ进行调度。
分类:具有相同协议类型,源IP,目的IP,源端口,目的端口,TOS值的数据包看成一个流,同一个流的数据包将放到一个队列中。插入丢弃:队列满后,数据包将执行WFQ丢弃,丢弃最差完成时间的数据包调度:先调度最快能转发完毕的数据包,包的大小采用虚拟包大小(虚拟包大小=实际包大小/(IP优先级+1))优点:优先级越高、包越小的数据包优先得到转发

WFQ丢弃机制:(丢弃最差完成时间的数据包)HQO(Hold Queue Out Limit):整个WFQ系统所能存放的最大数据包数量,这个值为各队列之和。CDT(Congestive Discard Threshold):WFQ丢弃机制的门限值,当各队列数据包数量之和达到CDT就开始丢弃数据包。
=================================================================R1=================================================================interface Serial0/1fair-queue 512 64 (指定CDT为512,最大会话数为64)hold-queue 1500 out (指定HQO为1500)
查看接口上的队列show int s0/1

基于类的加权公平队列(CBWFQ)
分类:允许自定义类,把数据放入不同队列,最多可以定义64个类,不匹配分类的数据放到系统默认类class-default中插入丢弃:可以设置队列长度,队列满后,数据包将被尾丢弃调度:对每个队列保留指明带宽,每个队列默认采用FIFO调度,但也可以结合WFQ调度。如何保证带宽及各队列数据包如何被调度到硬件队列无从知晓。优点:保证流量的最小带宽,而不是限制最多带宽
=================================================================R1=================================================================access-list 1 permit 192.168.1.100access-list 2 permit 192.168.1.1class-map match-all 100match access-group 1class-map match-all 1match access-group 2
policy-map MARKclass 100 bandwidth 500class 1 bandwidth 500
interface Serial0/1service-policy output MARK
查看命令show class-map show policy-map show policy-map interface s0/1
低延时队列(LLQ)
LLQ配置类似CBWFQ,调度机制类似PQ。LLQ通常和CBWFQ一起使用。=================================================================R1=================================================================class-map match-any CLASS-MAP3 match ip precedence 5class-map match-all CLASS-MAP2 match protocol telnetclass-map match-any CLASS_MAP1 match protocol http match protocol ftp
policy-map MY-POLICY class CLASS_MAP1 bandwidth 512 class CLASS-MAP2 bandwidth 128 queue-limit 128 class CLASS-MAP3 priority 128
interface Serial0/0bandwidth 1024service-policy output MY-POLICY
这个例子中结合使用了LLQ和CBWFQ。CLASS-MAP3使用LLQ,保证带宽为128kbps,优先于CLASS-MAP1,CLASS-MAP2转发CLASS-MAP1,CLASS-MAP2使用WFQ,保证带宽分别为512kbps,128kbps。查看命令show class-map show policy-map show policy-map interface s0/0
RTP优先队列RTP优先队列是一种解决语音服务质量的简单技术,期原理就是将承载语音的RTP数据包送入优先级队列使其得到优先转发。RTP识别语音的UDP数据包端口,这些数据包通常使用16384~32767的偶数端口发送。RTP优先队列可以和前面的任何一种队列包括FIFO、PQ、CQ、WFQ、CBWFQ、LLQ结合使用,但是它的优先级是最高的。即使RTP和LLQ一起使用,RTP的优先级也比LLQ高。
interface Serial0/0ip rtp priority 16384 16383 25616384最低UDP端口号,16383端口增量,带宽256kbps

5、拥塞避免随机早期预检测(RED)给队列设定两个门限值:最小门限和最大门限,当队列的平均长度小于最小门限时,不丢弃数据包;当队列的平均长度在最小门限和最大门限之间时,RED开始随机丢弃数据包;当队列的平均长度大于最高门限时,丢弃尾部所有的数据包。
加权随机早期预检测(WRED)WRED和RED的原理一样,但是WRED可以根据不同的IP优先级或DSCP值,设定不同的最小门限、最大门限和丢弃概率,从而对不同优先级的数据包提供不同的丢弃特性。WRED不能和PQ、CQ、WFQ队列同时使用。
配置基于IP Precedence的WREDrandom-detect根据IP优先级设置数据包的最小门限值、最大门限值、丢弃数据包的丢弃概率(该例中概率应该为1/10)random-detect precedence 1 10 20 10配置基于DSCP的WREDrandom-detect dscp-based根据DSCP设置数据包的最小门限值、最大门限值、丢弃数据包的丢弃概率(该例中概率应该为1/10)random-detect dscp af22 10 20 10设置计算队列平均长度的权重因子(默认值为9)random-detect exponential-weighting-constant 9
查看WRED队列配置show queueing int s0/0
基于流的加权随机早期预检测(FB-WRED)WRED中,只用TCP流会对丢包做出反应并降低速率;而UDP等非自适应流并不会对丢包做出反应,因此UDP等非自适应流在拥塞时发送分组的速率将比自适应流高得多。FB-WRED对WRED除了改进,他对占用队列资源多余公平份额的流将得到惩罚。
FB-WRED根据流和IP优先级(或者DSCP值)把到达的数据包放到不同的队列中,并且计算每个活动流的公平队列资源份额(队列长度/活动流的数目),对于占用队列资源多余公平份额的流将得到惩罚。方法是通过降低队列的WRED最大门限值来加大分组的丢弃概率。 新的最大门限值=最小门限值+{(最大门限值-最小门限值)/ 2}
配置FB-WRED(必须先配置WRED)random-detect flow设置平均深度因素(即放大因子,默认值为4)random-detect flow average-depth-factor 4设置基于流的WRED的数据流数目random-detect flow count 32
查看WRED队列配置show queueing int s0/0
基于类的加权随机早期预检测(CB-WRED)CB-WRED可以和CBWFQ、Shaping结合,而不能与FB-WRED、LLQ、Policing结合。
class-map match-any HTTP-FTP match protocol http match protocol ftp
policy-map MY-POLICY class HTTP-FTP bandwidth 512 random-detect random-detect precedence 0 20 30 10 interface Serial0/0bandwidth 1024service-policy output MY-POLICY此例启用基于优先级的WRED与CBWFQ结合。

查看命令show class-map show policy-mapshow policy-map int s0/0

6、流量(Shaping) 流量的目的是平滑流量,流量会把超出规定速率的数据缓冲起来,不是丢弃,链路的平均流量速率较大,但会造成数据的延时加大或延时抖动。
令牌桶的相关名词:CIR:承诺信息速率,单位bpsPRI:承诺信息速率,单位bpsBc:正常突发量的大小,单位为字节Be:超额突发量的大小,单位为字节Tc: 时间间隔CIR=Bc/Tc
当个令牌桶,桶的大小免费云主机域名为Bc+Be;令牌以CIR的速率添加到令牌桶中;当数据包要转发出去,如果无法从令牌桶中获取足够的令牌,就将数据包缓存起来,都有足够的令牌在发送。数据包发送的平均速率不超过CIR,但某时刻可以一超过CIR的速率Bc+Be发送。
GTS通用流量实在软件队列之前又增加一个队列来实施,这一队列采用的是WFQ。GTS可以与FIFO、PQ、CQ、WFQ配合使用。
CLI配置法interface Serial0/1traffic-shape rate 8000 1500 1000 1000
MQC配置法access-list 100 permit icmp any any
class-map match-all ICMPmatch access-group 100policy-map TESTclass ICMP shape average 8000 1000 1000
interface Serial0/1service-policy output TEST
查看命令show traffic-shapeshow traffic-shape statistics

7、流量监管(Policing)流量监管可以应用在接口的出和入两个方向上。分为单桶单速双色、双桶单速三色、双桶双速三色。流量监管的目的是限速,流量监管会把超出规定速率的丢弃或者标记便于后继的路由器进行处理,链路的流量速率有较大起伏,整体平均带宽低,但是不会造成数据包延时增加。
令牌桶的相关名词:CIR:承诺信息速率,单位bpsPRI:承诺信息速率,单位bpsBc:正常突发量的大小,单位为字节Be:超额突发量的大小,单位为字节Tc: 时间间隔CIR=Bc/Tc
单桶单速双色
单个令牌桶,桶的大小为Be,而不是Bc+Be;令牌以CIR的速率添加到令牌桶中;当数据包要转发出去,如果可以从令牌桶中获取足够的令牌,则成为Conforn,此时桶内的令牌数为之前的令牌数减去数据包的大小;如果如法从令牌桶中获取足够的令牌,则成为Exceed,此时桶内的令牌数不变。
CLI配置法interface Serial0/1rate-limit output 8000 1500 2000 conform-action transmit exceed-action drop
MQC配置法access-list 100 permit icmp any any
class-map match-all ICMPmatch access-group 100
policy-map TESTclass ICMP police cir 8000 bc 1500 be 1000 conform-action transmit exceed-action drop
interface Serial0/1service-policy input TEST
查看命令show class-map show policy-mapshow policy-map int s0/0
双桶单速三色
两个令牌桶,TB1的大小为Bc,TB2的大小为Be;令牌以CIR的速率添加到令牌桶中TB1中,当TB1满后,令牌溢出到TB2中。当数据包要转发出去,如果可以从令牌桶TB1中获取足够的令牌,则成为Conforn,此时TB1的令牌数为之前的令牌数减去数据包的大小,TB2的令牌数不变;当数据包要转发出去,如果无法从令牌桶TB1中获取足够的令牌,但能从令牌桶TB2中获取足够的令牌,则成为Exceed,此时TB1的令牌数不变,TB2的令牌数为之前的令牌数减去数据包的大小;当数据包要转发出去,如果无法从令牌桶TB1中获取足够的令牌,也无法从令牌桶TB2中获取足够的令牌,则成为Violate,此时TB1、TB2的令牌数不变。
access-list 100 permit icmp any any
class-map match-all ICMPmatch access-group 100policy-map TESTclass ICMP police cir 8000 bc 1500 be 1000 conform-action transmit exceed-action drop violate-action drop
interface Serial0/1service-policy input TEST
查看命令show class-map show policy-mapshow policy-map int s0/0
双桶双速三色两个令牌桶,TB1的大小为Be,TB2的大小为Bc;令牌以PIR的速率添加到令牌桶中TB1中,以CIR的速率添加到令牌桶中TB2中,PIR>=CIR;当数据包要转发出去,如果可以从令牌桶TB1中获取足够的令牌,也可以从令牌桶TB2中获取足够的令牌,则成为Conforn,此时TB1的令牌数为之前的令牌数减去数据包的大小,TB2的令牌数也为之前的令牌数减去数据包的大小;当数据包要转发出去,如果可以从令牌桶TB1中获取足够的令牌,但不能从令牌桶TB2中获取足够的令牌,则成为Exceed,此时TB1的令牌数为之前的令牌数减去数据包的大小,TB2的令牌数不变;当数据包要转发出去,如果无法从令牌桶TB1中获取足够的令牌,也无法从令牌桶TB2中获取足够的令牌,则成为Violate,此时TB1、TB2的令牌数不变。
access-list 100 permit icmp any any
class-map match-all ICMPmatch access-group 100policy-map TESTclass ICMP police cir 8000 bc 1500 pir 8000 be 1500 conform-action transmit exceed-action drop violate-action drop
interface Serial0/1service-policy input TEST
查看命令show class-map show policy-mapshow policy-map int s0/0

相关推荐: xmanager无法连接linux如何解决

这篇文章主要介绍“xmanager无法连接linux如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“xmanager无法连接linux如何解决”文章能帮助大家解决问题。 解决方法:1、修改“/etc/X11/xd…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/26 22:06
下一篇 01/26 22:06