您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 网络/安全 > 正文

网络不卡顿,这四个要素很重要

发表于:2021-10-13 作者:中兴文档 来源:中兴文档

相信很多人,都有过这样的经历:

  • 追热剧,即将出现转折,人物被按下暂停键,场面有点尴尬甚至好笑。
  • 看球赛,关键球已出手,画面突然一片抖动,让人气到想直接扔手机。
  • 玩游戏,就要闪现放大,网络信号突然变弱,结果被对方英雄成功反杀。

如果将整个网络看成一片汪洋大海,那我们能够顺利上网,就是一艘艘船不断出发和返航的结果。船从我们的手机出发,在海洋/湖泊/河道中穿梭后到目的地,再带着新的数据返航至我们的手机。

这个航行的过程并非一帆风顺,也会遇到航道堵塞、船只迷航的情况。一旦数据传送出现问题,就会造成网络卡顿,给我们带来不好的网络体验。

今天我们一起了解一下影响网络质量的4个要素:

01 带宽:航道宽度

一般用带宽(Throughput)来形容网络的速率,带宽越大,数据传输的速率就越大。带宽,代表了航道的宽度。航道越宽,可以通过船只数量就越多,数据传输的过程就越顺利。带宽从几Kbits到1000 Mbps,就是一船独行和千帆竞发之间的天差地别。

02 时延:航行时间

一般用时延(Latency)来形容数据从远端到本地之间的传送时间,而且计算的是来回的时间之和。时延,代表了一艘船的航行总时长。时延越大,代表数据传输耗费的时间越多。一般时延超过50 ms,网络质量就算是不好了。一旦超过300 ms,网络的卡顿感就比较明显。

时延的大小,需要计算以下四种时延的总和:处理时延:网络设备处理数据的时间。每艘船出发前,都需要调度中心(网络设备)进行一些必要的处理,比如:确定目的地、确定传送时要走的航线。

  • 传输时延:船在数据海洋河流中的航行时间。哪怕装载满数据的船以光速(30万公里每秒)航行,走过地球两端的4万公里,最低的时延也得130 ms。
  • 队列时延:不同航道拥有不同的宽度(带宽),成千上万的船要通过某一段航道时,还需要排队等候调度中心(网络设备)的处理。
  • 串行化时延:满载数据的船,也是有一定的长度的。从船头(数据第一个bit)出发到船尾(数据最后一个bit)出发,这个时间也需要计算。

03 丢包:到不了终点的船

一般用丢包(Loss)来形容网络中数据的丢失情况。丢包,代表了哪些到达不了终点的船。丢包的原因有很多,可能是调度中心繁忙导致无法处理船只的请求、排队等候调度的船只数量过多、航路中的各个航道(链路)关闭导致船只绕路或者迷路。

在一次传送数据的过程中,有可能派出100艘船,经过层层磨难后只有80艘船顺利返航,可以计算出丢包率为20%。

丢包率是衡量网络质量的一个关键指标,丢包率一般不能大于2%,用户感觉不到太大的影响。一旦超过10%,网络质量就会迅速劣化,网络卡顿的感觉就比较明显。

4. 抖动:航行耗时的分布

一般用抖动(Jitter)来形容不同数据到达目的地时的最大时间差。抖动,代表了一个船队中每一艘船返航的时间差异。上网过程中的数据传送是持续不断的,一艘艘的船出发,就会一艘艘的船到达目的地。前一艘船的时延是60 ms,后一艘船时延是30 ms,抖动就是60 ms-30 ms=30 ms。抖动一旦出现在语音会议/视频会议中,就可能导致声音无法听清楚,图像无法看清楚。

『 网络想稳住,抓住四要素 』

在不同的应用中,带宽、时延、丢包、抖动这4个因素对网络质量的影响大小,也不尽相同:

  • 语音/视频会议,对4个因素都很敏感;
  • 在线游戏,对带宽、时延、丢包比较敏感;
  • 邮箱/新闻等HTTP应用,往往只对带宽、时延敏感。

为了保证网络质量,我们可以想尽办法保证带宽、降低时延、降低丢包率,常见的处理方式包括:

(1)  提供差异化的带宽

网络设备为不同的应用提供不同的带宽,比如:语音/视频会议、游戏这些应用,可以分配大一些的带宽;邮箱、新闻资讯这些应用,可以分配小一些的带宽。通过这种方式,带宽得到了高效利用,而且避免了不同应用的网络拥堵。

(2) 优先处理高优先级的应用

为不同的应用分配不同的优先级,网络设备优先处理高优先级的应用,可以降低这些应用的处理时延、队列时延等。而队列中优先级低的应用,则只能在没有高优先级应用的情况下,才可以得到处理。

保障网络质量的技术仍在不断的研究和改进,而具体的应用也在持续探索中。例如:运营商已经通过QoS技术为“王者荣耀”玩家提供带宽保障,保障次数达到1100万次/天。

期待在不久的将来,所有游戏、视频会议应用再也不用担心网络卡顿了。