QoS---QoS服务模型、影响网络质量的因素
QoS服务模型
传统的网络设备在处理报文转发时,会依据先到达的报文优先被转发的机制进行处理,所以这样就会导致当网络发生拥塞时,一些关键业务的通信质量就得不到保障(如语音延迟、视频卡顿、关键业务无法通信等),进而影响到客户体验
QoS
在带宽有限的情况,根据不同的流量,提供不同的优先服务
一.影响通信质量的因素
1.带宽
- 网络的最大带宽是由传输路径的最小带宽决定的
- 网络带宽不一致,出现拥塞点
FIFO队列:先进先出
2.网络时延:
发送端到接收端的路径所有时延总和
时延超过50MS,认为网络质量不好
- 处理时延:网络设备内部处理等待时延
- 传输时延:传输介质和传输距离决定
- 队列时延:网络设备内部数据调度的等待时间
- 串行化时延:链路上第一个bit至发完最后一bit所需时间
3.抖动
- 每个报文到达目的的时延不同所导致, 每个报文到达的最大时间差
- 一般抖动不超过30MS
- 例如一个时延60ms,一个时延30s,那么抖动就是60ms-30ms=30ms
4.丢包
- 丢包由很多因素导致
- 处理过程:CPU繁忙导致无法处理报文
- 排队过程:在队列时,可能由于队列被装满而导致丢包
- 传输过程:链路的种种原因
- 丢包率一般不能大于2%
二、服务模型
1.尽力而为模型(默认)
best-effort
- 通过增大网络带宽,硬件性能提升网络通信质量
- 优点:效果显著
- 缺点:成本代价大,存在一定的中断业务风险(替换设备)
2.综合服务模型
Integrated Services Model
应用程序发送消息前需要先向网络设备申请带宽和服务,收到设备同意后,程序才会发出报文,通过RSVP协议
- 保障业务带宽,延时
- 实现复杂(运行RSVP协议),空闲时独占带宽,使用率低
- 通过RSVP协议 ,申请预留带宽资源
3.差分服务模型
分类、标记不同流量,定义不同处理动作,进入队列中按照调度机制实现差分服务
将网络的流量分成多个类,形成多个队列,每个类有不同的优先转发、丢包率,时延等
- 差分时服务域
- 针对报文进行区别服务的区域
- DS边界
- DS域的网络入口设备节点
- 负责流量的分类,标记
- DS节点
- DS域中间设备,出口设备
- 根据报文标记将外部优先级(报文)映射成本地优先级(设备内部)
- 是否映射由设备决定,如果设备不信任该流量就不会映射转换其优先级
- 根据本地优先级将报文放入不同的缓存队列,利用调度技术,使其优先转发
- 每个DS节点独立,对报文处理方式可以不一致 灵活性
- 缺点
- 需要在每台设备部署,对人员技术要求高
实现差分服务的关键技术:
-
报文分类和标记(报文优先级字段,DSCP)
-
拥塞管理(队列技术)、拥塞避免(尾丢弃)
-
流量整形和流量监管 (令牌桶)
优点 | 缺点 | |
---|---|---|
尽力而为服务模型 | 实现机制简单 | 对不同业务流不能进行区分对待 |
综合服务模型 | 可提供端到端QoS服务,并保证带宽、延迟 | 需要跟踪和记录每个数据流的状态,实现较复杂,且扩展性较差,带宽利用率较低 |
区分服务模型 | 不需跟踪每个数据流状态,资源占用少,扩展性较强; 且能实现对不同业务流提供不同的服务质量 | 需要在端到端每个节点都进行手工部署,对人员能力要求较高 |
dididi