QOS模型
在网络中实施QOS时,有三种模型可供参考,这三种模型并不是QOS技术,而是用来指导在各种需求下,如何实施QOS,分为以下三种模型:
1. Best-Effort Service 尽力而为服务模型
2. Integrated Service 综合服务模型,简称 Intserv
3. Differentiated Service 区分服务模型,简称 Diffserv
Best-Effort Service (尽力而为服务模型)
在尽力而为服务模型中,所有网络设备全部都是尽自己最大努力传输数据,所有数据尽管传,不需要得到许可,有多少传多少,任何数据都不能得到保证,延迟也无法预计,所以尽力而为服务模型,其实并没有实施任何QOS,默认的网络都工作在这种模型下。
Integrated Service (综合服务模型)
在实施了综合服务模型QOS的网络中,应用程序在发送数据之前,必须先向网络申请带宽,例如一个视频程序在正常通信下需要100K的带宽,那么视频程序在连接之前,必须向网络申请自己需要100K的带宽,当网络同意后,视频便可连接,并且将保证能够得到100K 的带宽,而不会有任何延迟。但是如果某些程序在连接之前没有向网络申请带宽,那么它的流量只能得到尽力而为的服务。由此可见,当某些程序流量需要绝对保证带宽时,可以在综合服务模型的网络申通过申请带宽来保证自己的流量,在申请带宽时,所用到的协议为Resource Reservation Protocol(RSVP)。 在综合服务模型中,重要的数据可以通过申请带宽而得到保证,但是在传送之前必须申请,也需要耗费额外一些时间,在现有的网络中,综合服务模型的QOS通常并不被采用。
Differentiated Service(区分服务模型)
在实施了区分服务模型QOS的网络中,网络将根据不同数据提供不同服务,因此,所有数据都被分成不同的类别,或者设置为不同的优先级,在网络发生拥塞时,网络总是先保证传输高优先级的数据,从而放弃传输低优先级的数据,但是在网络没有拥塞时,所有数据全部照常传输。在实施区分服务模型的QOS,就必须先将数据分成不同的类别,或设置成不同的优先级。现在的网络中,实施QOS时通常采用区分服务模型。
总结
在网络中,数据从源到目的地,所有的网络设备,包括路由器、交换机、防火墙等,每一台单一的设备对数据包做出的区分服务QOS行为称为per-hopbehavior.(PHB每跳行为),如果数据包从源到目的路径中所有设备都为某类数据执行相同的区分服务行为,即都执行相同的QOS策略,那么这样的QOS就被称为end-to-endQoS (端到端QOS)。
每一台单一的设备对数据包做出的区分服务Q0S行为称为per-hop behavior.(PHB每跳行为),如果数据包从源到目的路径中所有设备都为某类数据执行相同的区分服务行为,那么就被称为end-to-end QoS (端到端Q0S)
QOS 组件
在实施区分服务模型QOS时,需要考虑四个QOS组件,这些组件相互组合,可以设计出完整的QOS策略,而每个组件中,都会有相应的QOS技术提供支持,以下是Q0S四个组件:
分类和标记(classification and marking)
管制和整形(Policing and management)
拥塞管理(Congestion management)
拥塞避免(Congestion avoidance)
分类和标记
要提供区分服务的QOS,就必须先将数据分为不同的类别,或者将数据设置为不同的优先级。将数据分为不同的类别,称为分类(classification),分类并不修改原来的数据包。将数据设置为不同的优先级称为标记(marking),而标记会修改原来的数据包。分类和标记是实施QOS的前提,也是基础。
管制和整形
在实施QOS策略时,可以将用户的数据限制在特定的带宽,当用户的流量超过额定带宽时,超过的带宽将不能被传输,只能采取其它方式来处理,如果处理方式为丢弃超出带宽,那么这种行为称为管制(Policing),如果是将超出的带宽缓存在内存中,等到下一-秒再传递,这种行为称为整形(Shaping)。
拥塞管理
当网络发送拥塞后,数据还是要被传递的,正因此未接收到的数据远于自身的传输能力,所以数据被传输时就出现了先后顺序,而依照什么样的方式来传输数据,就需要队列的指导,QOS中的队列定义了数据包被传输的先后顺序。
拥塞避免
当网络发送拥塞后,超出的流量将采取其他方式处理,如果处理方式为管制,那么数据包就会丢弃,通常境况下,网络设备默认丢弃后到数据包而传输先到的数据包,这样的丢弃方式称为尾丢弃,但也可以让网络设备在发送拥塞时,先丢低优先级的数据包而传输高优先级的数据包。
总结
并不是所有的QOS技术都适合所有网络,边缘路由器和核心路由器操作是不一样的。
比如语音数据,边缘和核心要同时考虑。而通常情况是:
边缘路由器执行:数据包分类和标记
核心路由器执行:拥塞管理,拥塞避免