浅谈Qos技术
来源:互联网 发布:ping 的端口 编辑:程序博客网 时间:2024/06/05 15:33
Quality of Service服务质量:
而当网络发生拥塞的时候,所有的数据流都有可能被丢弃;为满足用户对不同应用不同服务质量的要求,就需要网络能根据用户的要求分配和调度资源,对不同的数据流提供不同的服务质量:对实时性强且重要的数据报 文优先处理;对于实时性不强的普通数据报文,提供较低的处理优先级,网络拥塞时甚至丢弃。QoS应运而生。
QOS三种模型:指导在各种需求下,如何实施QOS
Best-EffortService 尽力而为服务模型
不实施QOS
In tegratedService 综合服务模型,简称Intserv
发送数据之前,必须先向网络申请带宽
申请带宽时,所用到的协议为Resource Reservation Protocol (RSVP)
现有的网络中,综合服务模型的QOS通常并不被采用
DifferentiatedService 区分服务模型,简称Diffserv
根据不同数据提供不同服务
类型:PHB每跳行为、端到端QOS
QOS组件:在实施区分服务模型QOS时,需要考虑四个QOS组件,这些组件相互组合,可以设计出完整的QOS策略,而每个组件中,都会有相应的QOS技术提供支持,
以下是QOS四个组件:
分类和标记(classificationand marking)
管制和整形(Policingand Shaping)
拥塞管理(Congestionmanagement)
拥塞避免(Congestionavoidance)
说明:
分类---将数据分为不同的类别
标记---将数据设置为不同的优先级称
管制---丢弃超出带宽
整形---将超出的带宽缓存在内存中,等到下一秒再传递
拥塞管理---通过队列定义了数据包被传输的先后顺序
拥塞避免---发生拥塞时,先丢低优先级的数据包而传输高优先级的数据包,默认尾丢弃
一.分类和标记(Classification and Marking)
分类和标记是区分服务的实现基础。
分类和标记实际上是相辅相成的,分类的依据便是标记。
物理层:物理接口,子接口,PVC
数据链路层:MAC地址、802.1Q或802.1P服务类别(COS)、VLAN标识、帧中继可丢弃指标符(DE)位
网络层:IP Precedence (IP优先级)、DiffServ代码点(DSCP)、源IP地址或目的IP地址
precedence占用前面3位,precedence=4,则TOS=128,计算时只以前面3位换算(4,2,1),DSCP在precedence基础上扩展3位,则DSCP=32
传输层:TCP或UDP端口号
二.管制和整形(Policing and Shaping)
整形分为三种:
Generic Traffic Shaping (GTS)为通用流量整形,适用于任何接口。
Frame Relay Traffic Shaping(FRTS) 为帧中继流量整形,是专门针对帧中继接口,通过帧中继专有技术map-class来实现。
Class-Based Shaping(CBS)为基于类的整形,可以将GTS嵌入FRTS。
三.拥塞管理(Congestion management)
拥塞管理---通过队列定义了数据包被传输的先后顺序
FIFO queuing 先进先出队列
Priority queuing (PQ) 优先级队列
PQ中有4个队列,分别是high,medium,normal,low
会出现“饿死”现象:当优先级高的数据全部传输完成之后,才能传优先级低的数据。
Custom queuing (CQ) 轮循队列
CQ中有1到16共16个队列轮循
Weighted fair queuing (WFQ) 基于Weight的公平队列
Class-based WFQ (CBWFQ) 基于类别的WFQ
Low Latency Queuing (LLQ) 低延迟队列
低延迟队列LLQ为特定的流量划分特定的带宽,划给特定流量的带宽是绝对能够保证的,无论接口有多繁忙,LLQ 中的流量是能够优先传送的,但是这些流量的带宽却不能超过所分配的带宽,如果超过了,也是没关系的,这些超过的流量只有在拥塞时才会被丢弃。为延迟和抖动较敏感的语音或视频数据绝对保证带宽。
补充: IP RTP Priority(Real-Time Transport Protocol)
尽量只为对延迟要求较高的实时数据提供带宽保证,比如尽量只为语音提供带宽保证,受RTP保护的数据流,可以在任何流量之前优先传递,
即使是LLQ和RTP同时出现的情况下,RTP的流量是优先于LLQ传送的,只有UDP目标端口号为 16384至32767的数据才能得到保护。
在接口下配置RTP:
在路由器Serial 1/0接口下配置RTP的,流量保证带宽200 Kbit。
Router(config)#int s1/0
Router(config-if)#ip rtppriority 16888 16383 200
说明:如果需要为VoIP保证带宽,请将端口号分别设置为16384 16383。
四.拥塞避免(Congestion avoidance)
Tail Drop 尾丢弃
Weighted Random Early Detection(WRED) 随机早侦测:设定丢弃概率
MQC(Modular Qos Command-Line)
模块化QOS命令行,是配置Qos处理数据的一种方式。
1.定义流量:
(config)#access-list 1 permit10.1.1.1 0.0.0.0
(config)# class-map match-allccie
(config-cmap)#match access-group1
2.设置策略:
(config)#policy-map cisco
(config-pmap)#class ccie
(config-pmap-c)#drop
3.应用策略:
(config)#interface f0/0
(config-if)#service-policyoutput cisco
Qos的令牌桶算法(token bucket algorithm)
Qos的一个重要作用就是对端口流量进行监控,这是通过Qos的令牌桶机制时下的。
令牌桶中会放置一定数量的令牌,一个令牌允许接口发送或接收1bit数据(有时是1 Byte数据)。
当接口通过1bit数据后,同时也要从桶中移除一个令牌。
当桶里没有令牌的时候,任何流量都被视为超过额定带宽。
只有当桶中有令牌时,数据才可以通过接口。
令牌桶中的令牌不仅仅可以被移除,同样也可以往里添加。
为了保证接口随时有数据通过,就必须不停地往桶里加令牌。
往桶里加令牌的速度,就决定了数据通过接口的速度。
我们通过控制往令牌桶里加令牌的速度从而控制用户流量的带宽。
设置用户的带宽为1000 bit每秒,只要保证每秒钟往桶里添加1000个令牌即可。
用户传输数据的速率被称为承诺信息速率(CIR),通常以秒为单位
CIR 加令牌速率
Burst size(Bc) 一次性加进的令牌数量
Time interval(Tc)加令牌的时间间隔
Bc / CIR= Tc
CIR是8000,Bc是4000,那就是每秒加两次,Tc就是4000/8000=0.5,也就是0.5秒,即500 ms。
如果Bc设为2000,那Tc就是2000/8000=0.25, 也就是250 ms。
令牌桶算法:单速双色、单速三色、双速三色
单速双色:单一速率下,存在两种结果(符合,超出)
只存在一个令牌桶,并且流量只会出现两种结果,即符合CIR(conform)和超出CIR(exceed)
例:
将CIR设置为8000 bit,每一秒都会往桶里加8000个令牌,在一秒钟结束后,没有用完的令牌会被全部清空,由下一秒重新加入。
第1秒,加入8000令牌,用户使用5000后,剩余3000被清空。
第2秒,加入8000令牌,用户使用6000后,剩余2000被清空。
第3秒,加入8000令牌,用户使用8000后,没有剩余。
第4秒,加入8000令牌,用户使用7000后,剩余1000被清空。
单速三色:
单一速率下存在三种结果(符合,超出,违反)
使用两个令牌桶,用户每秒的可用带宽,总是两个桶的令牌之和
第一个桶---单速双色。关键在于第二个桶,第二个桶的令牌不能直接加入,只有当一秒钟结束后,第一个桶中存在剩余令牌,被转移到第二个桶。
限制转移最大数量被称为 Excess Burst size(Be)Be是不可能超过CIR的。
在每一秒结束时,第二个桶的没用完令牌全部被清除。
第二个桶中的令牌,都是来自于上一秒第一个桶没用完的令牌。
由于使用了两个桶,所以用户的流量也会出现三种结果:
小于或等于CIR(也就是符合CIR) (conform)
大于CIR并小于或等于CIR与Be之和(也就是符合两个桶令牌之和)(exceed)
超过CIR与Be之和(也就是超过两个桶令牌之和)(violate)
双速三色:
同样使用两个令牌桶,然而这两个桶是相互独立的
第一个桶---单速双色。
第二个桶可以直接设置为CIR+Be之和,称为PIR。
也就是说第二个桶总是比第一个桶要大,用户的流量总是以第二个桶的大小传输,而不用像单速三色的令牌桶算法中,需要在上一秒钟以低于CIR的速度传输。
当用户的数据通过接口时,总是先检查第二个桶的最大速率,即PIR。如果超出则采取动作,如果未超出;
再检查是是否符合第一个桶的CIR,如果超出CIR,则采取相应动作。 如果未超过CIR,则正常传输。
推荐王达博客关于Qos令牌桶的文章:http://blog.csdn.net/lycb_gz/article/details/7492468
- 浅谈Qos技术
- 浅谈QOS
- Qos技术
- QoS技术
- QOS技术
- IP QoS 技术介绍
- IP Qos 技术详解
- QOS技术及配置实例
- QoS
- QoS
- QoS
- qos
- QoS
- QOS
- QOS
- QOS
- QoS技术中令牌桶算法实现
- 常用的音视频QoS保障技术
- notepad++自动补全括号
- 学习Android的Camera
- CSAPP缓冲区溢出攻击实验(下)
- 调试规则
- 纸牌问题
- 浅谈Qos技术
- Binary XML file line #7: Error inflating class fragment
- Python模块学习笔记— —random
- C实战:强大的程序调试工具GDB
- 括号的匹配
- OGNL表达式struts2标签“%,#,$”的区别
- Apache Curator入门实战
- ButterKnife Android程序员的一大利器
- LawOfLargeNumbers