《趣谈网络协议》学习笔记 DAY05

文章介绍了云环境中控制网络服务质量(QoS)的各种方法,包括LinuxTC模块的无类别排队规则如pfifo_fast、随机公平队列和令牌桶规则(TBF),以及基于类别的排队规则如分层令牌桶(HTB)。此外,还提及了Openvswitch在QoS控制中的应用。
摘要由CSDN通过智能技术生成

内容摘录自极客时间课程《趣谈网络协议》,如有侵权,请及时联系删除。

云中的网络QoS

QoS(Quality of service):In the field of computer networking and other packet-switched telecommunication networks, quality of service refers to traffic prioritization and resource reservation control mechanisms rather than the achieved service quality.

对于控制一台机器的网络的QoS,分两个方向,一个是入方向,一个是出方向。其实我们能控制的只有出方向,通过Shaping,将出的流量控制成自己想要的模样。而进入的方向是无法控制的,只能通过Policy将包丢弃。
在这里插入图片描述

控制QoS的方式

Linux中,可以通过TC模块(Traffic control)控制网络的QoS,主要就是通过队列的方式。

无类别排队规则(Classless Queuing Disciplines)

不需要对接收到的网络包进行分类。

pfifo_fast

pfifo_fast 分为三个fifo队列,称为三个 Band。根据网络包里面TOS(type of service),看这个包到底应该进入哪个队列。使用tc qdisc show dev eth0命令可以查询该priomap的值。不同的 TOS 对应的不同的队列,其中 Band 0 优先级最高,发送完毕后才轮到 Band 1 发送,最后才是 Band 2。在这里插入图片描述

随机公平队列(Stochastic Fair Queuing)

建立多个FIFO队列,TCP Session 会计算 hash 值,通过 hash 值分配到某个队列。在队列的另一端,网络包会通过轮询策略从各个队列中取出发送。这样不会有一个 Session 占据所有的流量。如果两个 Session 的 hash 是一样的,会共享一个队列,也有可能互相影响。hash 函数会经常改变,从而 session 不会总是相互影响。
在这里插入图片描述

令牌桶规则(TBF,Token Bucket Filter)

所有的网络包排成队列进行发送,但不是到了队头就能发送,而是需要拿到令牌才能发送。令牌根据设定的速度生成,所以即便队列很长,也是按照一定的速度进行发送的。

当没有包在队列中的时候,令牌还是以既定的速度生成,但是不是无限累积的,而是放满了桶为止。设置桶的大小为了避免下面的情况:当长时间没有网络包发送的时候,积累了大量的令牌,突然来了大量的网络包,每个都能得到令牌,造成瞬间流量大增。
在这里插入图片描述

基于类别的排队规则(Classful Queuing Disciplines)

分层令牌桶规则(HTB, Hierarchical Token Bucket)

在这里插入图片描述

Openvswitch控制QoS

网络拓扑图:
在这里插入图片描述
对应的QoS规则
在这里插入图片描述

参考

趣谈网络协议-云中的网络QoS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值