服务质量
服务质量(英語:,缩写QoS)是一个术语,在分组交换网络领域中指网络满足给定业务合約的機率;或在许多情况下,非正式地指分组在網路中两点间通过的機率。QoS是一种控制机制,它提供了针对不同用户或者不同数据流采用相应不同的优先级,或者是根据应用程序的要求,保证数据流的性能达到一定的水准。QoS的保证对于容量有限的網路来说是十分重要的,特别是对于串流多媒体应用,例如VoIP和IPTV等,因为这些应用常常需要固定的传输率,对延遲也比较敏感。
在电话业务领域中,服务品質是指线路噪音和声音,适当的音量水平等指标的衡量,并且不能与服务等级相混淆。
问题的提出
在因特网创建初期并没有意识到QoS应用需要,因此整个因特网运作如一个“竭尽全力”的系统。每段信息都有4个“服务类别”位和3个“优先级”位,但是他们完全没有派上用场。依发送和接收者看来,数据包从起点到终点的传输过程中会发生许多事情,并产生如下有问题的结果:
- 丢失数据包 - 當數據包到達一個緩衝區已滿的路由器時,則代表此次的發送失敗,路由器會依網路的狀況決定要丟棄一部份、不丟棄或者是丟棄所有的數據包,而且這不可能在預先就知道,接收端的應用程式在這時必須請求重新傳送,而這同時可能造成總體傳輸嚴重的延遲。
- 延迟 - 或许需要很长时间才能将数据包传送到终点,因为它会被漫长的队列迟滞,或需要运用间接路由以避免阻塞;也许能找到快速、直接的路由。总之,延迟非常难以预料。
- 传输顺序出错 - 當一群相關的數據包被路由經過因特网時,不同的數據包可能選擇不同的路由器,這會導致每個數據包有不同的延遲時間。最後數據包到達目的地的順序會和數據包從發送端發送出去的順序不一致,這個問題必須要有特殊額外的協議負責重新整理失序的數據包。
需要QoS的應用
流量约定(SLA, Service Level Agreement服务等级协议)给数据流设定优先级,以此在网络/协议层面上,根据相互商定的尺度,设定有保障的性能、通过量、延迟等界限。一些特定形式的网络数据流需要定义服务质量,例如:
这些类型的服务被称为非弹性,意思是它们需要固定的带宽才能运作--如果得到多余的带宽,它们也无法使用;如果得到较少的带宽,则根本无法工作。相形之下,弹性应用可以从多余的带宽中受益。
保持QoS
实质上有两种方式提供QoS保证。第一种,就是简单地提供大量的资源,用丰富、安全的余量设备应付预期中的“高峰”需求。这样既好又简单,然而有人认为这种方式代价昂贵,而且不能应对高峰需求超越预期的情形,部署额外的资源也很耗费时间。
第二种是要求用户预约带宽,并且仅在能够提供可靠服务的前提下接受预约。自然,可以为预约服务向用户收费。常用的实现方法有两类。
某些技术的QoS难题
以下的特性也许只会被用在end ports,但不会在服务器,中枢或是其它的端口上,这就缓和了许多并发流的冲突。
外部链接
- IEEE 802.1 P,Q - QoS on the MAC level, 24.4.1999, Niclas Ek
- IEEE 802.1 LAN/MAN Bridging & Management (页面存档备份,存于)
- "Good old days" IP QoS: Type of Service in the Internet Protocol Suite (页面存档备份,存于)
- On the Effects of the IEEE 802.3x Flow Control in Full-Duplex Ethernet LANs, Oliver Feuser, Andre Wenzel, University of Bonn
- sslug.dk: Hyggemøde tirsdag den 11. juni 2002: Båndbreddebegrænsning
- sslug.dk: Hyggemøde tirsdag den 11. juni 2002: Båndbreddebegrænsning. Eksempler
- Linux Advanced Routing & Traffic Control
- Linux Advanced Routing & Traffic Control, HowTo
- lartc.org: The Wonder Shaper
- WRR and WIPL
- Packeteer PacketShaper 2500: Traffic Control on Autopilot, September 4, 2000, By David Newman (页面存档备份,存于)
- Packeteer PacketShaper (页面存档备份,存于)
- Traffic Shaping application for Windows (has free version) (页面存档备份,存于)
- ALTQ: Alternate Queueing for BSD UNIX (页面存档备份,存于)
- A Practical Guide to Linux Traffic Control