端到端QoS服务模型
网络应用都是端到端的通信,两个主机进行通信,中间可能要跨越多个物理网络,经过多个路由器,要实现端到端的QoS,就必须从全局考虑。QoS的服务模型就是研究采用什么模式实现全局的服务质量保证。
QoS有如下三种服务模型:
- 尽力而为(Best-Effort)服务模型
- 综合服务(Integrated Service,简称IntServ)模型
- 差分服务(Differentiated Service,简称DiffServ)模型
Best-Effort服务模型
Best-Effort是最简单的QoS服务模型,应用程序可以在任何时候,发出任意数量的报文,而且不需要通知网络。对Best-Effort服务,网络尽最大的可能性来发送报文,但对时延、可靠性等性能不提供任何保证。
Best-Effort服务模型适用于对时延、可靠性等性能要求不高的业务质量保证。Best-Effort是现在Internet的缺省服务模型,它适用于绝大多数网络应用,如FTP、E-Mail等。
IntServ模型
IntServ模型是指应用程序在发送报文前,需要通过信令(signaling)向网络描述它的流量参数,申请特定的QoS服务。网络在流量参数描述的范围内,预留资源以承诺满足该请求。在收到确认信息,确定网络已经为这个应用程序的报文预留了资源后,应用程序才开始发送报文。应用程序发送的报文应该控制在流量参数描述的范围内。网络节点需要为每个流维护一个状态,并基于这个状态执行相应的QoS动作,来满足对应用程序的承诺。
IntServ模型使用RSVP(Resource Reservation Protocol)作为信令,类似于ATM SVC的方式,是面向连接的。RSVP工作在传输层,但不参与应用数据的传送,是一种网络上的控制协议(类似于ICMP),用于在网络节点间传递资源预留信息以及建立资源预留。
在通过RSVP建立端到端通信的过程中,沿途的各路由器(包括核心路由器)必须为每个要求服务质量保证的数据流保存状态信息,称为“软状态”。“软状态”是一种临时性状态,被定期的RSVP信息更新。通过RSVP信息的预留,各路由器可以判断是否有足够的资源可以预留。只有所有的路由器都给RSVP提供了足够的资源,“路径”方可建立。
IntServ模型使用的RSVP信令需要跨越整个网络进行资源请求/预留,因此要求端到端所有网络节点支持RSVP协议,且每个节点需要周期性同相邻节点交换状态信息,协议报文开销大。更关键的是,所有网络节点需要为每个数据流保存状态信息,而当前在Internet骨干网上有着成千上万条数据流,因此IntServ模型在Internet骨干网上无法得到广泛应用。IntServ模型一般应用在网络的边沿。
DiffServ模型
DiffServ模型的基本原理是将网络中的流量分成多个类,每个类享受不同的处理,尤其是网络出现拥塞时不同的类会享受不同的优先处理,从而得到不同的丢弃率、时延以及时延抖动。同一类的业务在网络中会被聚合起来统一发送,保证相同的延迟、抖动、丢包率等QoS指标。
Diffserv模型中,业务流分类和汇聚工作在网络边缘由边缘路由器完成。边界路由器可以通过多种条件(比如报文的源地址和目的地址、ToS域中的优先级、协议类型等)灵活地对报文进行分类,对不同的报文设置不同的标记字段,而其他路由器只需要简单地识别报文中的这些标记,进行资源分配和流量控制。因此,DiffServ是一种基于报文流的QoS模型。
与Intserv模型相比,DiffServ模型不需要信令。在DiffServ模型中,应用程序发出报文前,不需要预先向网络提出资源申请,而是通过设置IP报文头部的QoS参数信息,来告知网络节点它的QoS需求。网络不需要为每个流维护状态,而是根据每个报文流指定的QoS参数信息来提供服务,对报文的服务等级划分,有差别地进行流量控制和转发,提供端到端的QoS保证。
DiffServ模型充分考虑了IP网络本身灵活性、可扩展性强的特点,将复杂的服务质量保证通过报文自身携带的信息转换为单跳行为,从而大大减少了信令的工作。因此,DiffServ模型不但适合运营商环境使用,而且也大大加快了IP QoS在实际网络中应用的进程。