「QoS」- 服务模型(Service Model)

  CREATED BY JENKINSBOT

QoS 服务模型

通常 QoS 提供以下三种服务模型:

Best-Effort service(尽力而为服务模型)

应用程序可以在任何时候,发出任意数量的报文;
网络尽最大的可能性来发送报文。对时延、可靠性等性能不提供任何保证;

Best-Effort 是最简单的服务模型;
应用程序可以在任何时候,发出任意数量的报文,而且不需要事先获得批准,也不需要通知网络;
对 Best-Effort 服务,网络尽最大的可能性来发送报文。但对时延、可靠性等性能不提供任何保证;
Best-Effort 服务是现在 Internet 的缺省服务模型,它适用于绝大多数网络应用,如 FTP、E-Mail 等,它通过 FIFO 队列来实现;

Integrated service(综合服务模型,简称 IntServ)

应用程序在发送报文前,需要向网络申请特定的服务;
网络在收到应用程序的资源请求后,通过交换 RSVP 信令信息,为每个信息流预留资源;

IntServ 是一个综合服务模型,它可以满足多种 QoS 需求;
这种服务模型在发送报文前,需要向网络申请特定的服务。这个请求是通过信令 RSVP 来完成的,RSVP 是在应用程序开始发送报文之前来为该应用申请网络资源的;
一旦网络确认为应用程序分配资源,则网络将为每个流(Flow,由两端的 IP 地址、端口号、协议号确定)维护一个状态,并基于这个状态执行报文的分类、流量监管、排队及其调度。应用程序在收到网络的确认信息(即确认网络已经为这个应用程序的报文预留了资源)后,才开始发送报文。只要应用程序的报文控制在流量参数描述的范围内,网络将承诺满足应用程序的 QoS 需求;
小例子:就好比你要预定车辆,需要事先申请,声明想要什么样的服务,在资源满足的情况下,预留资源以满足该请求;
但是这样也有一个缺点,车辆服务方要为此维护大量的订车信息;

缺点:实现较复杂;当无流量发送时,仍然独占带宽,使用率较低;该方案要求端到端所有节点设备都支持并运行 RSVP 协议;

Differentiated service(区分服务模型,简称 DiffServ)

将网络中的流量分成多个类,然后为每个类定义相应的处理行为,使其拥有不同的优先转发、丢包率、时延等;

DiffServ 是一个多服务模型,它也可以满足不同的 QoS 需求。该模型目前 IP 网络广泛使用;

应用程序在发出报文前,不需要通知网络为其预留资源。对 DiffServ 服务模型,网络不需要为每个流维护状态,它根据每个报文的差分服务类(各报文头中的差分服务标记字段,如 IP 头的 DS Field),来提供特定的服务;

其实就是将网络中的流量分成多个类,不同的类采用不同的处理。也就是说,先对流量分类,然后把类别标记在报文头中,通过报文携带到网络上,网络各节点只需要简单地识别报文中的这些标记,进行相应的处理;

小例子:就好比你去坐火车,火车票就是用来标记你所要享受的服务,是软卧、硬卧、硬座还是无座。火车票你随身携带,上车时你根据火车票进入对应的车厢,享受相应的服务:进入卧铺车厢的,可以舒服的躺着,进入硬座车厢,表示要坐着或站着咯。车票就相当于报文头中的“标记”;

除了流分类和标记,差分服务比较优秀的地方还有强大的队列技术。当网络拥塞,也就是进来的报文太多,设备处理不过来,就让报文排队;