说起宽带真假这事儿啊,可能大部分人都来劲儿。今天看了一篇知乎的文章有所启发。原以为家里的宽带确实不够格,但是一位从事运营商运维工作的老手那里我得到了不少的内幕,给大家某公司吧。
各行各业都有自己的套路,那么现在的互联网+时代人们最关注的自然也就是通往互联网的唯一必经之路——宽带。
之前不少新闻、微博都说运营商假宽带,那么假不假在我自身体验看来确实有时候宽带确实不够格,但是呢自身也是学网工的,单纯的认为带宽上不去会偶尔是因为上网人多线路拥塞造成的,这个现象确实存在但是比较片面。那么我们先从网络原理上分析一下宽带的带宽不够到底是不是运营商的锅?
这里有一个梗,ATM的虚电路相较于IP在理论上可以更好地承诺网络带宽但由于某些原因最后被IP打压……(历史的车轮不讲任何道理)
我们知道当今的IP网络遵循TCP/IP协议,那么我们的网络通信是由数据包的传输来实现的,现在分析一下数据包:
TCP/IP是一个协议族,当然核心的是TCP和IP协议,让我们像剥洋葱一样,一层层剥开每一层协议:
TCP协议报文格式:
TCP最小协议开销为5X32=160bit(20byte)。
IP协议报文格式:
IP最小协议开销为5X32=160bit(20byte)。
以太网帧格式:
最小长度为64字节。
完整的数据包:
总结:
所有协议的最小开销为:14+20+20+4=58byte,按以太网最小数据包(46byte)算:其协议开销占比58/104=56%。按最大数据包(1518byte)算,也就是最大效率:其协议开销占比58/1518=3.8%。其实这种算法并不严谨,数据链路层也并不是只有以太网协议,比如ADSL所用的PPPOE,WIFI的802.11n等等,其中还少算了应用层和物理层的开销,尤其是应用层各种协议种类繁多(难于计算统计),另外,传输层UDP协议的开销也会更小一些。这些开销全部要占用网络带宽。
此外,为了维护物理链路的连接和各种协议和应用软件的连接,会定时地传输各种协议报文,类似心跳的报文,也同样会占用一定的网络带宽。思科的设备默认设置常用的应用层流量占比为75%,25%用来协议与设备间通讯。如果没有保证设备或协议的互通导致宕机脱网,那带宽也是没有任何意义的。
可能到这里大家也就看出为什么运营商承诺的带宽与我们使用网页测速工具或者其他客户端所测出的实际结果不吻合。据我的实际经验看来,除了实际应用数据报文的之外的协议或设备通信流量啊都是在实际中占比很小的,更何况是普通的家庭用户。所以应该实测带宽和运营商承诺的带宽不应该有较大的出入。
但有时候一20Mbps的带宽理论上测速结果应该会至少达到2.5MBps左右,但实际情况中偶尔可能1.5MBps都不到。这是为什么?接下来科普测速工具的猫腻:
我们常常用软件或在网站上测速,但在我看来,这并不科学,也不靠谱。本质上所有的测速原理都是通过下载一个大的文件来计算带宽的,是应用层的,而我们的带宽是纯物理层的。比如用迅雷,它计算的下载速率是你下载的文件大小除以时间,这其中根本不管物理层,数据链路层,网络层,传输层和应用层的所有协议开销,而且也不管PC中是否有其它程序同时也在占用网络带宽。真正科学的方法是从PC的网卡上抓取流量来计算带宽,但这也仅仅解决了PC侧的计算问题。那么对端呢?测速网站的服务器带宽是否够用?假设服务器的带宽只有100M,而同时有100个人在测速,那每个人测出的最大带宽也不过只有1M,哪怕你一个人就有100M带宽。另外服务器的硬件也可能是瓶颈,目前大部分服务器还是用传统硬盘,当有成百上千的用户请求时,即使带宽足够,但硬盘的传输速率也可能是瓶颈。其实,以上都不是最主要的问题,最主要的是这些测试都是测量PC到远端服务器的带宽,这些服务器可能在北京,也可能在广州,可能长达几千公里的距离。而ISP根本不可能给你承诺几千公里距离的带宽,它承诺的只是短短几公里从你家到ISP设备间的带宽。
了解了影响带宽的两大因素后可能大家心里也基本清楚了,这锅其实运营商不该背。
当然,我们不排除传统ADSL线路以及ADSL设备质量、兼容性所带来的低带宽影响,这个也还真是存在的。至于影响带宽的因素到底还有哪些?这里所牵扯的东西还是很多的,不光是技术层面,当然管理层面甚至XX层面也是有的,这里只是分享了我的一些所见与所闻给大家。
谢谢! |