下文属于半原创,主要还是引用大家的内容,毕竟看到一个大佬科普的内容非常好。

1 上传与下载

网络数据传输分为发送数据和接收数据两部分。上传就是向外部发送数据,下载为从外部接收数据。通俗一点说,下载速度是指你把网络上的内容下载到手机或者电脑上时的速度,比如下载软件、看电影、浏览网页之类的速度;上传的话是把手机或电脑里面的内容传到网络上去,比如你传照片给好友和空间,或者领取购物券。

例如,在您双十一抢购或者是平时抢红包的时候,下载网速影响您打开网页的速度;而抢购和抢红包是否成功,则是上传速度影响较大。

上传速度以及下载速度都受网络带宽和设备性能制约。 用户申请的宽带业务速率指技术上所能达到的最大理论速率值,用户上网时还受到用户电脑软硬件的配置、所浏览网站的位置、网站带宽等情况的影响,故用户上网时的速率通常低于理论速率值。

关于上行带宽,下行带宽以及内网带宽等与主题并非密切相关内容放在:

http://alvincr.com/2020/05/%e4%b8%89%e7%a7%8d%e5%b8%a6%e5%ae%bd%e5%8f%8a%e5%a6%82%e6%9e%9c%e8%af%84%e6%b5%8b%e7%bd%91%e7%bb%9c/

2 PING

PING指一个数据包从用户的设备发送到测速点,然后再立即从测速点返回用户设备的来回时间。

一般以毫秒(ms)计算,一般PING在0~100ms都是正常的速度,不会有较为明显的卡顿。

普及更大带宽的困境

宽带自然是越快越好,但个中的矛盾在于,现在宽带费用是包月的,你用还是不用,用多少,扔你多少包都不影响运营商的收入。换句话说,运营商投入再多的资本,大举兴建骨干网络,和快递站的容量也没人给运营商加鸡腿。

而增加网络容量那是要真金白银的,运营商当然不乐意。

但如果是按流量收费那就是另一个故事了:运营商肯定把网络建得畅通无阻,巴不得你玩命用呢。

比如手机的按流量收费。

其实无线网络相对于光纤,容量是相当有限的。毕竟频率就那么多,但光纤的话可以无限拉。但中国的手机网络极快的从2G升到3G,又升到4G现在准备上5G了。而且,如果是按流量收费的套餐,一般也不会限你的速度,导致手机网速很多时候比宽带还快,就是这个道理。

总体来说,按流量收费是大势所趋。你邮寄多少包裹,就收你多少邮费确实更合理一些,实际操作起来问题很多,所以一时半会不会也不能指望它普及。

另一方面,那如果国家出钱,把骨干网和接入的部分都做到畅通无阻,我是不是就能用上便宜又高速又稳定的网络了呢?或者换句话说,现在中国电信中国联通神马的骨干网络建设其实相当的给力,放在那里也是放着,为啥就不给我用呢?

这就涉及到互联网运营商之间的结算方法了。再往下这坑可就越挖越深,差不多可以写本书了。所以我尽量把概念简化,有不准确的地方大家多担待。

3 抖动

网络中的延迟是指信息从发送到接收经过的延迟时间;而抖动是指最大延迟与最小延迟的时间差,如最大延迟是20毫秒,最小延迟为5毫秒,那么网络抖动就是15毫秒,它主要标识一个网络的稳定性。

上传maven_信息传输

4 丢包

丢包(Packet loss)是指一个或多个数据包(packet)的数据无法透过网络到达目的地。丢包与比特错误(bit error)与噪声(noise)所造成的虚假的数据包(spurious packets)是三个最主要的数字通信错误的原因。

丢包是指一个或多个数据包的数据无法通过网络到达目的地。可能原因是多方面的,或是网络中多路径衰落造成信号衰减;或是通道阻塞造成丢包;或是损坏的数据包被拒绝通过;或是有缺陷的网上硬件有缺陷,网上驱动程序有故障。

上传maven_局域网_02

解决方法:丢包复原

一些网络传输协议如TCP有提供可靠的数据包交付。在丢包发生时,接收器可以要求发送方重传或自动地重新发送。TCP可以复原丢包,但经常发生的重传已丢失数据包可能导致网络吞吐量下降。

用户数据报协议(UDP)协议本身没有规定恢复丢失的数据包。因此使用UDP的应用软件需要自行定义机制来处理数据包的丢失问题。

不靠谱的快递公司的日常

现在这个不靠谱的快递方式普及了,组成了一个遍布世界范围的快递网络。当然这个快递网络也不是由一家公司整体运营的,而是由很多家快递公司分别运营的。快递公司们都有自己的快递站,分拣中心,骨干物流中心网络。公司和公司之间互不干涉,但物流是通的。

比如你在大连,用网通这家快递公司寄包裹,包裹会被网通公司交给电信公司,然后再由电信公司送到广州的目的地。

快递公司虽然很多,但大家物流系统是通的,当然也有共同的特点,就是都不靠谱。

公司之间为了扩大业务,可能会覆盖相同的区域,比如你们的小区就有联通,网通,铁通三家快递公司的快递站。

你选了一家相对看着顺眼的公司,与之签约,每月给快递站50块钱。快递站承诺你,每天最多可以帮你处理20个包裹。

但实际上,这个快递站的处理能力只有100个/天(当然这个从头到尾都不会跟你说),而你所在的小区签约这家公司的用户了100多户。够用吗?这个不好说,毕竟不是每户人家每天都有包裹要邮寄的。

何况退一步讲,不够用又如何?不够用就把你的包裹随手扔了就是了。多简单!

下面具体说一下各种情况下快递站会怎么做。

  • 某一天,快递站已经收了50个包裹,你一下邮了20个,全部正常抵达。
  • 某一天,快递站已经收了90个包裹,你邮寄了6个,全部正常抵达。
  • 某一天,快递站已经收了95个包裹,你要邮20个,结果只到了10个。另外10个呢?被就地处决了呗!等等,明明容量就剩5个了,怎么还能寄出去10个呢?因为扔也不能就挑你一个人的包扔嘛。剩下5个就不知道是扔的哪个倒霉蛋的了。
  • 某一天,快递站已经收了1000个包裹,你还要邮20个,结果。。。。结果就是互相伤害呗!这个时候用网络蚂蚁/网际快车/迅雷的人占便宜,老实人吃亏。

如果快递站尚有余力,没到必须互相伤害的程度呢?这些多线程下载软件带来的提升就会大打折扣,用不用意义也就不大了。前几年,各家快递公司整体的物流能力都堪忧,尤其是快递站到户的这一部分更是如此,多线程下载自然大行其道。近两年物流能力都有长足的提高了,物流能力也都有余力了,多线程下载也就慢慢的凉了。

 

最后,思考题

某一天,快递公司已经收了50个包裹,你邮寄了20个,结果只有2个正常到达,为啥?

 

为啥?这不是理所应当的事情嘛。要不怎么能叫不靠谱的快递公司呢。虽然快递站没爆,但上游中转站爆了/所在城市总物流中心爆了/骨干运输线路爆了/收件人所在地的物流中心爆了/收件人家附近的快递站爆了,反正你的包有100000种死法,怎么死的重要吗?

当然,从快递站到骨干网,这家快递公司的处理能力/余力越大,越不太会扔掉你的包裹。所以选一家相对靠谱,余力大的公司,用户体验就会好一些。只不过问题在于,各家公司的快递站/骨干网还有多少余力,以及愿意分配给你多少余力,都属于正经的企业机密,是永远不会告诉你的。

 

各家快递公司能告诉你的只有一个虚无缥缈的承诺,每天最多可以帮你处理多少包裹。

当然你也可以用这个承诺的大小来大概推断一下快递公司规模和水平,毕竟敢承诺你每天20个的快递公司,还是相对来说比只敢承诺你每天2个包裹的公司靠谱。

但可以承诺每天最多100个包裹的公司,不见得就比承诺每天20个的体验好。一个是一分钱一分货,这个后面会讲,另外一个是其实一般人平均每天也就能发3~5个包裹而已。

5 IP地址

IP地址被用来给联网的电脑一个编号。大家日常见到的情况是每台联网的电脑上都需要有IP地址,才能正常通信。我们可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”。

以下个人理解(有误请指出)

我们现在用的IP并非是个人所有,而是多个人共享。实现方法是给一台机器R一个固定IP,这个IP是用于访问全世界的IP,然后这个机器R重新给你们分配局域网内的IP,注意这里的IP和上面的IP就不同了,上面可以将整个世界当做是一个局域网,连接着服务器ABCDR,下面这个局域网是连接在这个服务器R上的所有机器(PC或服务器),这样就能缓解IP池不足的问题。

如果你要访问这个服务器R外面的服务器A,只需要向服务器R提交你要访问的数据,然后服务器R就放传话人,将你要传的话传给服务器A,A把你要的东西给R,R再传给PC,这样就能通过一个IP实现多个用户访问互联网了。

有些人要申请固定IP的原因是因为他们想要独立的IP,这个IP不用通过其他服务器,可以直接连接到万维网,自己就是服务器R,也可以向下管理其他的机器。

相关问题

1 为什么上下行带宽不一样

一般用户的上行带宽可就没有那么好控制了。尤其是近几年,P2P的兴起。你挂P2P的时候,P2P程序可不会分辨对方到底是同城的邻居还是还是相隔千里之外的国际友人。同网的倒是好说,你要是想给国际友人传数据,那对于运营商来说就跟杀父之仇一样啊。(断人财路等于杀人父母嘛!)

没有P2P之前,你给国际友人传数据也就传了,虽然运营商很不爽,但忍忍也就过去了,毕竟数量有限不是?而P2P不但数量大,还要长期的挂在网上,有的人甚至7x24小时的上传,这可就相当于7x24杀人家父母,运营商能不发飙么?

而且P2P不是一个两个人这么上传,是大家一起上传。服务器的上行带宽都是花钱买来的,毕竟有个上限。而对于个人用户上行带宽根本没啥成本,而且单个人上传少数量补嘛。所以P2P快到飞起的同时,也成了运营商挥之不去的梦魇。

所以你猜,为啥宽带的上传都那么抠门?

2 打游戏卡顿有什么有关

主要是受ping值得影响

3 看视频卡顿因素

主要是带宽有关

4 下载文件失败,页面访问极慢

主要与丢包有关

5 网络堵塞解决方法

网络拥塞造成丢包率上升的原因很多,主要是路由器资源被大量占用造成的。

如果发现网速慢,并且丢包率呈现上升的情况,这时应该show process cpu和show process mem,一般情况下发现IP input process占用过多的资源。接下来可以检查fast switching在大流量外出端口是否被禁用,如果是,则需要重新使用。

再看一下Fast switching on the same interface是否被禁用,如一个接口配有多个网段并且这些网段间流量很大时,路由器工作在process-switches方式,这种情况下要在接口上执行命令“enable ip route-cache same-interface”。

接下来,用show interfaces和show interfaces switching命令识别大量包进出的端口。一旦确认进入端口后,打开IP accounting on the outgoing interface看其特征,如果是攻击,源地址会不断变化但是目的地址不变,可以用命令“access list”暂时解决此类问题(最好在接近攻击源的设备上配置),最终解决办法是停止攻击源。

应用中遇到的造成网络拥塞的情况还有很多,如大量的UDP流量,可以用解决spoof attack的步骤解决此问题。大量的组播流、广播包穿越路由器,路由器配置了IP NAT并且有很多DNS包穿越路由器等。上述情况造成网络拥塞后,通信双方采取流量控制,丢弃不能传输的包。


参考及引用:

★ https://zhuanlan.zhihu.com/p/35623474

https://www.speedtest.cn/parsing/z4rOnVR0N8qABZAeg68W