网络常识

网络中任何一环的拥挤或故障都将导致网络不畅。

上网,无非是通过一些通信方式接入互联网,关于通信方式发展的历史,这里有一份介绍视频:

要熟悉网络的话,不妨将网络视作我们平常能够见得着的水管,或者快递。当然,这几者之间仍然还是有不同的地方,但是一些结构特征是相同的。

以手机上网为例,当你在手机上打开浏览器,输入本文的网址 "https://scunet.syaoran.top" 并按下访问后,你的浏览器会将你需要请求/查看的网页文件信息打包为一个请求数据包,然后委托手机操作系统中的网络控制软件(协议栈)将消息发送给服务器,协议栈会将数据包交给网卡,在你的手机上,如果是用WIFI上网,就会交给WIFI模块,如果是用的流量,就会交给蜂窝网络模块。网络模块依据相关标准将数据包调制并转换为电磁波发射出去,被你的路由器或者运营商的基站捕获接收并解调为原始数据包。之后,数据的无线传播之旅就结束了。接下来,这些数据包将会经过交换机、路由器等有线设备,进入接入网(相当于顺丰快递在你家门口的门店)和骨干网(相当于顺丰在全国的铁路/公路/航运运输网)。网络运营商将会负责将数据包准确的送达到服务器:数据包将在机房与光缆之间穿行,并最终被远在美国的服务器接收到,当然,中间一定会经过许多防火墙的安全检查,如果你的数据包一看就不是什么正常数据,就会被切断链接,你的这次访问也就失败了。如果之后数据包能成功抵达服务器所在机房,服务器会开始对数据包所包含的请求信息解包,并调取服务器硬盘上存储的网页信息,并返回该响应消息。这个消息会通过上述的一样的路径(逻辑意义上的)回到你的手机上,并在浏览器内显示出来。于是,你的这次访问就成功了。而这一切,在大多数情况下,只需要不到一秒的时间就足够完成了。

无论是什么网络服务,其逻辑路径都会是以这种模式向你服务。可见,网络质量的好坏符合短板效应,任何一环的不良都会影响体验。对于普通用户来说,并没有能力改变骨干网和服务器(一个例子:视频聊天时,你的网络很好并不能让实时视频更流畅,得让双方的接入网的网络质量都好才行),所以,改善网络体验的方法就只有提升自己接入网的质量和选择一家骨干网质量较好的运营商。

而谈及网络质量的评估指标,一般有4个:带宽,延迟,丢包和抖动;

带宽是网络之间端到端传输的最大速率,通常有两个单位,兆比特每秒(Mbit/s或Mbps)和兆字节每秒(MB/s),不考虑1000和1024的细微区别,两者的换算关系为1MB/s=8Mbps,通常我们说的100M宽带用的单位是Mbps,也就是说网络带宽在下载文件时最快速度可以达到12.5MB/s。这个可以类比于水管的直径。相同压力下大水管流的水就是会比小水管多。此外,带宽符合短板效应,这也意味着你用着最高能达到100M的网口的路由器在只办理了30M宽带的情况下也没法在没开会员的情况下下载百度网盘里的文件时跑到1M/s的速度,这是因为你的宽带和百度服务器提供给你的带宽都被限制了。如果还有人和你一起共享这个水管,那你能分到的带宽会更小。

延时是数据包从本地传输到另一端之间需要的时间,一般是来回的时间。如果延时过大,就会觉得网络慢,特别是一些交互性强的应用。比如远程协助。延时一方面和两地之间的传输距离有关,比如中美之间通过海底光缆传输半个地球,来回距离加起来最起码4万公里,光速是30万公里每秒,所以理论延时最起码是130ms,再加上光缆需要转接和绕路,以及其他损耗,所以中美之间网络延时最好的时候也在170ms左右。造成延时另外一个原因是网络带宽的占用率,如果占用率高,则延时也高,比如电信和移动之间,如果互联带宽很小,也就是两家互通的水管很小,在高峰期传送数据时就会导致拥挤,造成互相之间延时很高。这也是为什么用校园网时到公网的延迟很大的原因,因为教育网和公网之间的水管并不大。延迟可以类比为水管中水从一端到另一端的时间。

丢包:因为物理线路故障、设备故障、病毒攻击、路由信息错误、网络拥塞、无线信号干扰等原因,数据包在传输中会有一定的损失。丢包率稍微高一点就会迅速降低上网体验。

抖动:也叫做延时的变化,如果延时不稳定,忽快忽慢,网络就存在抖动。抖动这个指标,在视频直播等场合,是一个非常重要的指标。

各种应用,对上述指标的敏感性不一,比如浏览网页往往只对带宽和延时敏感,而游戏对延时、丢包、带宽敏感,网络直播对上述几个指标都敏感。

测试这四个网络质量指标的话,推荐上speedtest测试(不要用国产的speedtest网站,测的不准!),也可以使用speedtest的官方客户端测试,在官方客户端内,你可以一次将上述四个指标测试清楚。在测试开始前,请关闭可能影响上网的一切客户端:如BT下载、VPN1、占用CPU的程序等,使测速环境不受干扰。之后,打开客户端,程序会自动搜索离你最近的speedtest测速服务器2,当程序选择好一个测试服务器后,你就可以点击开始去测速了。经过ping服务器(ping数据反映你到服务器的延迟)、从服务器上下载一个大文件,再上传至服务器,最终程序将自动得出网络质量的四项指标并保存。

值得注意的是,speedtest一般测试的都是ipv4环境下的带宽,如果你想测试你的ipv6环境的带宽的话,推荐东北大学ipv6测速站,你也可以很快获取四项数据。(打开该测速网站的前提是你有ipv6环境)

你能上网,取决于网络中任何一环都能够工作良好,而网络传输毕竟是复杂的,许多人遇到网络故障时往往不能认识到具体问题所在,就开始抱怨例如运营商等服务不好,殊不知其实故障出在自己身上,周围人其实用的都挺好。

1. 请注意:任何接管系统网络的代理软件都将会导致测试结果的不准确,例如使用VPN在某些情况下上传速度会虚高
2. 注:这里选择的服务器一般只是延迟最小的,但是不一定是两者之间带宽最好的,考虑到不同运营商之间的带宽接口,为了测速数据的准确,最好手动选择多个最近的服务器测试并将带宽求最大、延迟求最小来作为最终接入网质量的数据

results matching ""

    No results matching ""