昨天着凉感冒没有更新,同时也没有啥进度,咱就来扯闲白吧。
先Diss一下普通家庭用户,包括你的邻居王叔叔、赵哥、沈姐和李奶奶……当然也可能包括你。先别急,这是一个普遍的现象,拜运营商的宣传所赐,老百姓们有带宽的概念了,天天看着运营商的广告,上面写着100兆带宽、300兆带宽,甚至现在联通提到的“三,千兆”。“网络带宽”已经深入人心,甚至成为茶余饭后大家互相攀比的一个领域。“我家早就500兆了,你那种100M的看视频都卡……”
其实,带宽的大小只是一个一般老百姓认知,毕竟绝大多数人并不是通讯专业的,甚至真正网络专业的人也很少见,很难理解带宽只是网络系统的的一个重要参数指标,而远远不足以评价网络系统的好坏。
前天写的NFC标签很多人其实根本没有了解过这项技术,甚至也没有真正的装修过房子,在多重不理解的前题下就觉得这个东西没有用,于是就各种BBB。这件事有点怨iN了,以后写文章的时候尽量把技术背景写清楚,让大家知其然也知其所以然吧。
老百姓认识到的带宽实际上是运营商给你分配的带宽,这一点和设备所能承载的带宽是完全不一样的。设备的端口带宽最基本的大小取决于设备电路板上的这块小晶振。
每个端口都是以这只晶振的频率固定倍数来发送脉冲信号的,晶振的频率X倍数就可以理解为网络设备端口上能够传输最大的速度(位/秒),当然了这个数已经大到了已经是一个天文数字,一般会除以1000,1000000,1000000000,也就是我们说的Kb,Mb和Gb。
很幸运的是我们现在的运营商为了后期方便扩容,线路上能承载的带宽都几乎做到顶,很不幸的是运营商会根据你花了多少钱来决定你最终能享受到的宽带带宽有多大。这个就涉及到了一个拨号策略的问题,随着你的拨号,这个策略下发到你的拨号服务设备上。
说起来很简单,在设备上有一个计数器,来计算你每秒收发的数据包的数量,如果超过了限定的数量就会直接将你的数据包丢弃不做传输。在网络设备上丢包实际上是一个很常见的事情,线路不稳定、处理设备响应不及时都会产生“天然的丢包”,网络设备也习以为常了,说白话——发现丢包了,就再请求一个数据包呗……于是再请求的数据包继续计入接入设备中下一秒的包数计数器,来决定是不是进行丢弃。
在上面的描述中看到问题了吗?
举一个生活中的例子,你每天可以写20封信,但快递员每天只能给你送10封信,你在写好20封信后交给了快递员,快递员直接随机丢掉你的10封信。第二天你就只能写10封有意义的信了,外带你还要写10封信去询问丢掉的信的情况。快递员又把这些信拿走,随机丢掉10封……最终周而复始继续下去的你就只能有大约不到10封信的有效通讯量了。
这就是运营商的带宽限制策略了,但是你的设备很傻,还是每天要写20封信……
额外的丢包率就产生了,为此运营商实际上也放宽了限制,这也就是为什么有的时候我们明明是500兆带宽却在某一刻可以跑出700兆的速率的原因了——运营商都会给你额外的多一点点的带宽用于找回丢弃的数据包。
解决这个问题最好的方法其实就是问问你的宽带师傅,接入设备带宽是多少,就直接购买多大的带宽。这也是为啥iN的带宽直接选择1G的原因了——基本上每个数据包都不会被带宽限制策略所丢弃。
这样做的好处是什么呢?降低你的网络设备不必要的额外处理量。今天是聊交换机吧?额外的前期铺垫背景知识是不是太多了?这才哪到哪啊~~嘿嘿,读到这里你会又有一个新的概念了,设备的处理能力,没错,网络设备已经不是当年的集线器了,大部分是交换设备。这些交换设备都是带有处理器要对数据包进行处理加工的。所以,端口带宽又不完全取决于电路板上那块晶振的频率,还要看设备的CPU处理能力。
一个交换机或者路由器里面配备的CPU是什么样子的,能处理多少数据是一个至关重要的性能指标。
交换设备的CPU用法和普通电脑有区别,大体的架构是这种样子的:
我们把网络地址表想象为一平面图,这时候MAC地址表中就会出现两个区域,第一个是控制平面,第二个是转发平面。转发平面内的数据包主要是依靠现在的网络芯片直接做不同的端口之间的转发,高性能的网络设备会用到诸如各种FPGA技术加速转发平面的带宽(背板带宽),从控制平面内要做的事情其实是路由功能,更新第三层转发列表和MAC地址表,同时有的带有Vlan功能的交换机也会在这个平面上对数据包重新打标记。
这就要求本身交换机的CPU有强大的处理能力。
这也是我们在选用交换机的时候额外看的指标,例如“包处理能力”:
会细致地看不同的设备,每秒钟在不同模式下对数据包的处理数量,这些东西其实都是可以通过专门的网络测试工具测出来的,甚至是可以找到厂商要相应的测试报告的。正确的选择方法则是在不同的数据包处理模式下所得到的数据包的处理量可以满足交换机所有端口的全速运行。这对于专业的交换机/路由器CPU其实已经是一种挑战了,更何况现在大家很时兴玩的软路由,那上面的CPU其实也很难满足要求。当然了很多博主测试一路下载带宽还是可以自信满满的。——但真架不住那些在软路由上架虚拟机或者在虚拟机上架设软路由的骚操作。
CPU的占用过高会在交换机和路由器内产生转发平面上的“协议震荡”,这是一个现象,是指在交换平面上由于CPU的处理能力不足无法更新交换协议,在一瞬间内交换机的性能大幅度下降,直到CPU等占用降低后又逐渐恢复的一种现象。这个现象在通讯设备上还是比较前沿的,现在还不断地有论文和专利来讨论协议震荡的解决方案。当然了,最直接有效的方式就是提高CPU的算力,但是成本就会提高不少。
从另外一个转发平面来说这个部分基本上是对应交换机的一层和二层转发协议的。它的决定因素就是“背板带宽”。这是目前很多家庭用户根本没有听说词汇。说一个iN经历过的有意思的段子吧:之前天津联通刚刚升级500兆光纤的时候给的光猫是一款四口不带无线的光猫。
这个东西就比较有意思了,即便是四个黄色的LAN端口全开也只能消耗掉购买带宽的80%。这就很尴尬了,直接可以判定有100兆的带宽是白买了。当然了,iN自己也不会用这种设备。但这件事是不是能给大家建立一个带宽不匹配的概念呢?
当可用带宽和端口所需要的最大带宽不匹配的时候会让人觉得很尴尬。这个现象其实在很多交换机中是有的,就是交换机的背板带宽(交换容量)过低。
很多市面上售卖的便宜交换机只会告诉你它们的端口带宽是1000兆,但不会告诉你它们的背板带宽只有4Gb,这时候你只需要两个端口上的设备全速工作,就可以让背板占满。实际上一个8口全双工千兆交换机最低的背板带宽应该为16Gb,这样才可以满足这台交换机上的所有网络设备全速率的工作。
由于成本所限,16Gb的背板带宽对于那种几十块钱的“8口千兆交换机”来说是一个不可能完成任务。
当然了,这也是交换机价格从几十块到几十万块之间的差别。由于很多厂商的确是在这个老百姓不明白的领域上做手脚,因此也不会在各种宣传材料里面写出来自己交换机的背板带宽(交换容量)。这个本该特别重视的一个环节,也就被大家所忽略了。
如果是正规的大厂,它们是恨不得将自己的背板带宽写到最显眼的位置上的:
所以真正的去购买交换机,真的不能只是将网线插入到交换机的端口上看到千兆连接在自己电脑上显示出来就认为自己的网络跑在千兆之下。
如果看到1.0Gbps就乐开了花,那么少年,你对千兆网络还是有那么一丝误解的。
特别不喜欢絮絮叨叨写很多东西,但鉴于之前的各种异样的回复,还是写了很多。
总结一下,你买一个交换机,不仅仅要看端口速率,还要了解下这个交换机的背板带宽是多大的,能否让你的每个端口都达到标定的速率,也要看一下这个机器用的是什么CPU,能不能满足足够的包转发数率。和背板带宽以及包转发速率来比,端口数率其实是一个特别不重要的参数,知道是个满千或满万就足够了。
最新评论