戏说关于服务质量QoSWord格式文档下载.docx
- 文档编号:19811248
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:16
- 大小:88.53KB
戏说关于服务质量QoSWord格式文档下载.docx
《戏说关于服务质量QoSWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《戏说关于服务质量QoSWord格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。
分配牌照,在交通系统里面是按照地区,车辆大小,类型等来区分的,划分种类,然后把相对应的归入种类里面就可以了,网络里面也是如此,把数据先进行种类划分,然后在把他们归入种类,使用的是class-map.
Class-map,其实这是一个超级曾强的ACL,这个说法是我们论坛的老资格说的,我觉得挺有道理的,他在运作上面和ACL是很相近的,使用的是2各条件区分,一个是匹配所有配置(match-all),一个是匹配其中至少一个(match-any)。
在我们进行分配的过程中首先我们要进行种类划分
牌照的划分就是
你是北京的,海淀区的,微型车,是跑出租的,就可以划分到京A的行列里面,你所要遵守的就是一套专用的行车策略,比方说在专用的地方可以停车,在专用地域可以载客和掉头,这些政策是普通车辆所不能享用的,当然这些制定好的策略要尽快告诉驾驶数据的驾驶员和交通管理者才能达到目的。
而网络也是如此
匹配的IPACL,匹配的协议,匹配的进站接口,匹配的VLAN等等。
只要你匹配就可以被划分到这个class-map组里面,只要发现匹配就会把它进行归纳,这也是他功能强大的一个原因。
分配完毕以后我们就要给这些class-map建立行车策略(policy-map).简单的情况就是class-map1里面的数据优先级被设定为10,class-map2的数据优先级被设定成1,优先级高的享受特权,至于特权内容,我们以后再说,先搞个贵族称号再说。
然后把建立的策略告知给数据转发的端口,以便在端口上面执行这些策略。
Access-list133permittcp192.168.9.00.0.0.255anyeqtelnet
Class-mapmatch-allwqguo8888
Matchaccess-group133
Policy-mapnet130
Classwqguo8888
Setipprecedence10
Classwqguo9999
Setipprecedence1
Interfacegagiether1/0/1
Ipaddress10.0.0.1255.255.255.192
Service-policyoutputnet130
当然把数据进行归纳是一件很动脑筋的工作,脑筋活的定义的方法那可真是五光十色,和软件编程没啥区别,但是这个就是经验的区别了,只能意会不能言传,比方说在一个class-map里面再嵌套一个class-map,这样你在归类的时候就方便多了,不用一写归类的时候就把所有条件都重新写一遍,比方说北京交警今天公布,凡是排气量660以下的汽车从今天起和京A牌照的车使用相同的停车办法,这样你新的class-map只需要这样描述就可以了,匹配vlan660的数据和class-mapA的数据都归纳到新的class-mapB的里面进行策略管理。
这样你就不需要重写class-mapA里面的内容了。
所以很多人写class-map的时候聪明的都是先把class-map的嬉笑部分先归类,然后再一个一个的套,这和软件里面一开始就定义定数值的原理是相同的。
好我们开始讨论一些比较实际的策略应用。
第1种
前边说了QoS看上去就是一个超级扩展的ACL访问控制列表,那么他最重要的一个任务就是对访问进行控制,凡是外地车奥运期间不准进京,凡是3吨卡车10点以后不准上3环,凡是.jpg文件不准下载,凡是传奇IP不准登陆,凡是BT不准下载,等等。
这些就是QoS的一个最重要的功能,NBAR
这是一种最常规的应用,因为这种应用最好理解,但是设定的相对僵化也是这种简单设定的一个弊病,耽误了很多正常的工作秩序,但是简单不是NBAR的错,只要用心琢磨也能用得出神入化。
就像用简单的UNIX命令写的Shell也有不少高水准的东西,简单也是一种特色。
Class-mapnet130
Matchprocotolhttpur1“*.jpg”
Policy-mapwqguo8888
Classnet130
Drop(所有图片文件都丢,对应端口1/0/1)
!
interfacegigaether1/0/1
ipaddress10.0.0.1255.255.255.0
service-policyinputwqguo8888
第2种
QoS的终极使命拥塞管理
产生拥塞的原因最直接的一个理由就是带宽不够,北京经常堵车,我向大家最多的抱怨就是路不够宽,其实这里面也存在一个管理不善的原因,经常是数据为了抢道,你不让我,我也不让你,最后大家都走不了,堵在了那里,有的时候也是出口太小,大数据卡在了那里,结果造成了出口便秘。
当然最常见的就是地铁门口的景象,出去的和进来的相互较劲,结果谁也动不了,你看多不文明呀。
于是一个比较文明的交换方式诞生了,队列技术,它主要就是针对交换量巨大的端口,让她们遵守文明乘车的服务策略。
在尽力而为的原则下,我们制定策略。
在这个策略里面分为两种办法,一种就是先进先出队列(FirseinFirseOutQueuing)
理解很简单,你先来的你先进,先进去的出来的时候也是你先出,
这种队列无所谓你年过80还是残废军人,按先后次序排队使他始终坚守的原则,救护车你也得在后面排着,很显然这也是一种相对简单的排列方式。
还有一种就是加权公平队列
这种队列其实没啥花头,以前门口只拍了一个队列,现在分成2队,门左边一列,门右边一列,节省时间。
唯一不同的就是他会考虑优先级,优先级别越高的所得到的带宽也越高。
这个配置其实不需要配置,因为一般的都是默认的配置。
尽力就好,当然默认了。
在集中服务质量的原则下面我们制定策略
在这个策略下面我们分为两种方法,第一种PQ优先级队列(priorityQueuing)
很简单的理解,老头,小孩,伤残军人先走,救护车先过,走完了,再传输普通数据队列,这种以最优先为准则的办法主要考量的原则就是优先级,但是这种数据传输也明显存在一个不合理的问题,那就是分类太过详细了,速度明显不符合效率成本,而且他不支持隧道出口,
同时他在没有传输完毕最优先队列的时候不会传输其他队列,这也造成了一定的不公平待遇,
等地铁等了一整天,结果就因为我是青壮年结果一次都没座上,明显不公平。
Interfacef1/0/1
Priority-group1
Priority-list1protocotolsnahigh
Priority-list1protocotoliplow
Priority-list1protocotolsnmpmedium
Priority-list1protocotoludpnormal
QoS的终极使命拥塞管理之二
队列是壅塞管理的终极手段。
自定义队列(CustomQueuing)CQ
这个队列首先要说明的就是这不说让我么去手动自定义。
CQ的原理就是对PQ的一种适当纠正,纠正的范围就是把所有性质相同的数据进行分类,分成16个队列,然后根据IP优先级对他们进行带宽的分配,虽然最优先级的队列还是占用了大量的带宽,但是至少为低优先级的数据留了一线生机,没有全部封死,使得数据在传输的过程中保持了一定的公平性,但是这种纠正也会使得最高优先级的延迟会有所增加,特别是语音用户肯定会不如PQ用户来的安心。
其实理解CQ并不是很难,因为它最初的一个构想就是灵活,给所有人都留一线生机的含义,所以他有一个不雅的称号,就是剩饭队列,说真的跟打发要饭的没啥区别。
interfaceserial0
custom-queue-list1//应用位置,和ACL的感觉很像
queue-list1protocolsna1//在queue-list1中定义sna,ip,ipx队列,给他们分帮派。
queue-list1protocolip2
queue-list1protocolipx3
queue-list1queue1byte-count15000/(sna)被设为IP+IPX的3倍,这是少爷待遇
queue-list1queue2byte-conut3500/(ipx)被设为3500字节这是书童待遇
queue-list1queue3byte-conut1500/其实这条不写也成,肯定是1500,因为这就是剩饭。
CQ有一个0号队列是超级优先队列,路由器总是先把0号队列中的报文发送完然后才处理1到16号队列中的数据包,所以0号队列一般作为系统队列,通常把实时性要求高的交互式协议和链路层协议报文放到0号队列中。
但是需要说明的就是,我到现在为止没用过0号,不知道会出现何种状况,大家用的时候最好先检证一下,后果自负。
个人建议:
我个人严重鄙视这个队列的排法,说真的这个队列速度不快,质量也不保真,而且是静态配置,一打一大片,遇到瓶颈的时候也没有很好地解决办法。
不过胜在配置简单,容易理解,特别是他和ACL有很多的相像之处,把它当成扩展列表也是一个不错的选择。
基于类的加权公平队列(ClassBasedWeightedFairQueuing,CBWFQ)
这是最常用也是最不好理解的一个队列阵型,他有另外一个雅号:
逃生队列
看过那艘沉船电影的都会有比较深的印象吧,我说的不是那俩喜欢跳海的疯子,我说的是他们在逃生的时候是如何进行分类逃生的程序。
在那次逃生中很多人被丢弃了,很多人被优先照顾爬上了救生艇,还有很多人放弃了逃生,这里面就有一点这个队列的基本含义。
class-mapmatch-anykkblue1定义一个kkblue2的classmap,匹配任意一个条目
matchprotocolsqlnet匹配sqlnet协议
matchprotocolipsec匹配ipsec协议
matchaccess-group100匹配access-group100
matchipprecedence45匹配优先级是4和5的ip数据包!
class-mapmatch-allkkblue2定义一个kkblue2的classmap,要求匹配所有
matchaccess-group101匹配两个访问控制列表101和102
matchaccess-group102!
class-mapkkblue3定义一个kkblue2的classmap,要求匹配所有
matchaccess-group103匹配一个访问控制列表103
policy-mapkiss创建kiss这个policymap,
classkkblue1bandwidth6000预留带宽6000
classkkblue2bandwidth3000预留带宽3000
classkkblue3bandwidth700
classclass-defaultbandwidth200
interfaceethernet1/1
我想在这个例子里面大家都看到了一种理解,那就是利用bandwidth给各个分类分配合理的带宽。
当然分配不止带宽一个选项,还有数据包上限,令牌桶参数,延迟队列优先级等等。
而这种分类和逃生的时候妇女小孩分为一类,贵族和平民也要进行区分,他们的区分有一定的灵活性,而且是可以动态的,应为在妇女小孩的里面是不分贵族和贫民的,而且、这是一种友好队列,它许可其他类型的队列和他同时进行排列,这是他最让人心动的地方,
当然对于逃生队列的名声就因为,他支持,当队列的长度达到队列的最大长度时,缺省采用尾丢弃的策略。
但用户还可以选择用加权随机预检测(WeightedRandomEarlyDetection,WRED)的丢弃策略。
丢弃真的很残忍,但是为了安全只能这样选择。
段落总结
首先我们在考虑QoS的时候要买这样一个道理,那就是越是动态的QoS难度就会越大,但是效果就会越好,特别是应用感知型设备,我们可以给相应的应用更高的优先级,因为这保证了QoS地实现是基于更动态方式。
其实这个概念很好理解,因为无论那里的系统只要他是朝着人工智能方向发展的,就会或多或少的选择动态的发展模式,网络里面也是同样的概念。
一个会思考的网络肯定会更加快速而且便捷。
其实QoS里面比较实用的只有差分模式DiffServ,从客观的角度去理解,这是一个具有婴儿智力的初级发展模式,
他会网络边界行为(分类,做标记,策略,整形,计量,区分复杂的每用户和每一个应用任务等)(个体行为)
还会网络核心功能(队列,丢弃,和简单任务)(群体行为)
在个体行为和群体行为的双层制约下形成了一个完整的系统发展模式,也就是说用服务质量QoS得简单制约而给与网络一定的自我思考模式,这种思考是基于利益的思考,他不会对自身的负荷产生抗拒,只是基于利益的绝对服从原则而引发的一种选择式的分析模式。
而这种分析逻辑是我们给他制定,所以我们只要这样去考虑QoS就可以了,我们所制定的只是一种逻辑的思维模式。
这种逻辑的最终结果就是帮助我们更快的把数据送到目的地。
接下来我么带着这种思考模式来解读我们以下的几个队列排放模式。
从根本上面来讲,这是群体行为。
主要是理解网络是如何思考的,和他思考的逻辑。
LLQLowLatencyQueuing低延迟队列
当然从你上面来讲我们就能体会到一个宗旨那就是这个队列是为了减少延迟而配置的队列,它主要是依存在CBWFQ中而发挥作用。
在网络里面对低延迟要求比较严格的大部分是语音系统和在线游戏系统,这两个系统对延迟的要求比较严格,所以一般来讲都会把低延迟队列配给这两个系统,但是现在对延迟应用最吃力的还是网络电视和视频会议,要想传送比较清晰的画面就必须保留大量的带宽,而这种带宽还必须保持一定的连续性,这是比语音和游戏系统更加严格的一种应用,而这种应用现在已经朝着**通信系统发展,脆弱的上传是现在如何解决这一难题的最大障碍。
数据流其实和水流也有一定的类似,那就是下载比上传更加容易。
这里面有端口分配的问题。
ipcef
---为了在后面设定SETcos命令机能
---CiscoExpressForwarding(CEF)有効
---"
CEFswitchingneededfor'
set'
operations"
報告。
class-mapmatch-allRTP
matchipprecedence5优先级5
policy-mapOutboundPolicy
classRTP
setCoS5COS设定5
classclass-default
setCoS0COS设定0
interfaceFastEthernet0/0
noipaddress
noipmroute-cache
duplexauto
speedauto
interfaceFastEthernet0/0.816
encapsulationdot1Q816
ipaddress10.120.16.112255.255.255.0
service-policyoutputOutboundPolicy
dial-peervoice99131voip
destination-pattern9913109
sessiontargetipv4:
10.120.17.133
ipprecedence5
novad
-------------------------------------------------------------------------------------
class-mapmatch-allCall-Control
matchaccess-group101
matchiprtp1638416383
access-list101permittcphost10.120.16.112anyeq1720
setCoS5
classCall-Control
setCoS3
setipprecedence3
setCoS0
ipprecedence5
RTP优先队列
准确地说他是一个万能胶队列,原因很简单,它和多种队列都合得来,FIFO先进先出,PQ优先级,CQ自定义,WFQ加权公平,CBWFQ类加权公平,等等。
他的优先级最高,但是相对来说,它也是一个简单队列,原理就是在一定得端口范围内(16384-32767前者的倍数)用简单队列来保证延时和抖动的敏感业务优先发送,也是最符合QoS特权使用概念的队列之一。
一句话RTP就是救护车。
道路最优先。
虽然他是最优先,但是他的体积普遍比较小,我相信谁也没见过用卡车当救护车的,灵活是RTP的另外一个特性,只有灵活才能在保持优先的情况下不会影响到其他队列的流量受阻,像PQ动不动就饿死一批的情况是不会在RTP的身上发生的。
一般在出口处RTP不会占用超出规定的带宽,假如有提交大的数据包进入RTP的队列里面的话,一般RTP都会把它进行分尸切片,然后交叉的被转发出去,这样不容易被发现抖动,保证了服务质量的连贯性。
定义classmap
(config)#class-map
(config-cmap)#matchaccess-group101
(config-cmap)#exit
定义和使用policymap
(config)#policy-mapkiss
(config-pmap)#class
(config-pmap-c)#bandwidth5000
(config-pmap-c)#queue-limit30
(config-pmap-c)#random-detectprecedence032256100切片工厂
(config-pmap-c)#exit
(config)#interfacegi1/0/1
(config-if)#service-policyoutput
设置RTP
(config-if)#iprtppriority163841638340端口号
到了这里我们就要面对另外一个问题了,那就是QoS和IEEEE802.1Q的关系。
他们的关系产生在一个矛盾的环境里面,那就是道地交换机是因该按照受到的顺序发送缓存的数据祯呢,还是该服从用户的优先级来转法镇呢,这个矛盾就是后来的通信级别概念了。
也就是我们一直在说的特权级别概念。
二者各概念就是我们后来比较熟悉的IEEE802.Q定义。
这个概念主要产生的目的就是希望使用2级交换机来有效地支持比如语音和视频一类的通信要求,比如在XP里面就是支持IEEE802这个概念的。
他确实加强了语音视频的功能转发。
从而解决了QoS在2层设备的交换地位。
关于AuToQoS
这个世界永远都会有懒人存在的,而且懒人是占绝大多数的存在,所以AuToQoS的存在也很合情合理,毕竟这种微调网络的的工作是需要很大耐心才能完成的,那些抬头低首十几万上下的大大们自然很鄙视QoS的非智能化,于是为了节约大家的时间AuToQoS出现了。
所以我要说就是记住QoS的历史很重要,因为历史的轨迹让你能够正确的选择自己需要的那种服务质量保证,但是AuToQoS的历史同样重要因为你只要是做设计的就要参考以往的经典设计方案,借鉴前人的设计理念
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 戏说 关于 服务质量 QoS