Chinaunix首页 | 论坛 | 博客
  • 博客访问: 795054
  • 博文数量: 264
  • 博客积分: 592
  • 博客等级: 中士
  • 技术积分: 1574
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-24 22:02
文章分类

全部博文(264)

文章存档

2019年(2)

2018年(1)

2017年(1)

2016年(4)

2015年(14)

2014年(57)

2013年(88)

2012年(97)

分类:

2013-03-06 22:29:58

原文地址:网络QoS原理与实现 [1] 作者:conghonglei

本系列首先对网络QoS进行简单介绍,然后对不同调度算法的原理进行一定分析,最后简单介绍Linux中实现的几种调度算法。
整体目录为:
1         神马是QoS
2         神马是CoS
3         QoS的实现机制
4         Traffic Management
5         Packet Queuing
5.1       Buffer Management
5.2       Packet Scheduling
5.2.1     Packet Fair Queuing Scheduler
6         QoS in Linux
6.1       Packet queuing in Linux
6.2       如果在Linux中实现一个调度
6.3       DRR在Linux中的实现
6.4       层次化调度
6.5       HTB在Linux中的实现


神马是QoS
QoS,字面意思就是服务质量,QoS好就是服务质量好,QoS差就是服务质量差。那么服务质量是什么呢?针对网络设备而言,网络设备的功能就是数据包的转发,服务质量就是对数据包的转发行为符合预期的转发要求,客户很满意?。那么客户的转发预期是什么?就是设备的带宽,吞吐量能够保证,丢包率很低,整体延迟很小,而且抖动也很小,对于优先级高的包优先处理,对于不该转发的包就不转发,能够对各种不同类型的包做很好的流量整形,使整个网络有很好的可管理性。
因此对于QoS,有以下几个重要的性能参数:
  •  Bandwidth and Throughput,带宽和吞吐量,在系统负载严重,各种feature都打开的时候,系统的吞吐量仍能获得保证
  •  Packet Loss Rate,丢包率
  •  Delay,包转发延迟
  •  Jitter,也叫 Delay Variance,转发延迟的抖动
  •  Bit Error Rate,误码率
实际系统中,管理员对不同的网络服务定义了不同的性能参数,那么一个网络设备的QoS的好坏就是实际的性能参数与定义的各个性能参数之间的差异了。


神马是CoS
CoS,就是Class of Service,即网络服务的类型。不同网络服务可能有不同的CoS值,为不同CoS定义这种服务类型的各个QoS参数。在layer2和layer3的协议中,这个值就是对应了packet的priority。
对于二层CoS,在802.1Q中定义如下:
可以看到,在VLAN头中有3bits的user priority字段,000为最低,111为最高。二层的priority用于LAN中,并且应该是反映layer3协议的CoS值。
对于三层的CoS,在IP头的TOS字段。ToS有8个bit,前面三个和最后一个bit一般不用,中间[3:6]定义如下:
但是在IPV6中,又进行了进一步的修订,利用了6个bits。

待续

阅读(702) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~