在生活中,运营商对于带宽的宣传铺天盖地,花样百出,让人眼花缭乱。对于普通百姓来说,最直观的感受是带宽越高,速率越快,价格也越高。但作为一名网络从业人员,我们不仅对带宽要有直观的感受,还要能明白其所代表的意思,这样才能显得我们专业:)
但据我十多年的工作经验来看,90%的网络从业人员都不了解带宽所代表的意义,也不会计算带宽,所以今天就给大家分享一下。
概念要想计算带宽,我们先要理解两个概率:
“带宽”,bandwidth
定义:指的是单位时间内链路能够传输的数据量,通常以bit per second(bps)来表示。
这里的“单位时间”,通常指的是1秒。所以带宽的通常说法是: 一秒内,链路能够传输的bit个数。
需要注意的是,bps里的b千万不能大写,因为大B代表着byte,Byte和bit之间存在者8倍的关系,即:而1byte=8bits,bps != Bps,
FPS/PPS
FPS:Frame Per Second; PPS: Packet Per Second;
Frame和Packet在这里可以等同, 它们之间的区别在我前面的文章里有描述,欢迎去查看。
FPS/PPS对于网络设备来说,是一个非常重要的概念,其意义甚至大于bps。它表示设备每秒能够处理的包个数,它才是真正考察网络设备转发性能的数据,后面的带宽计算也是与它息息相关的。
带宽计算说明我们先来看一张图片,这是专业测试人员经常查看的带宽和FPS对应关系图(为了能在手机上看的比较清楚,我把一张图片分成了两张)。
带宽和FPS对应图(Part1)
带宽和FPS对应图(Part2)
Media Type:表示媒体类型,上面写的是各种不同速率的以太网;
Line Speed:这是一个专业的的概念,表示这种类型的网络,链路的最大传输速率;
7个不同字节:64,128,256,512,1024,1028,1518 bytes,这7个字节非常具有代表性,我们经常用它们来衡量设备的吞吐量和丢包率等性能指标。
带宽计算过程我们以百兆以太网为例:在64字节,100Mbps的情况下,计算FPS值。看FPS是否与图中看到的理论值(148,809)是一样的。
100M,64字节
计算公式: 速率 = 总长度/单个帧长度
以1秒为例,则FPS就代表速率;
总长度:是指1秒内能够传输总的bit数,100Mbps表示1秒内能传输 100,000,000个bits;
单个帧长度:64bytes,还要加上8bytes前导码和12字节的空闲帧,所以最后的长度:64 8 12=84bytes。转换换成bit,单个帧长度 = 84*8= 672 bits;(关于为什么要加上前导码和空闲帧,我后面会有文章进行详述,这里大家知道这么必须加上这两个值就行);
则公式就变成了:FPS = 100,000,000/672 = 148,809;
我们看到计算出来的值和我们在图片上看到的理论值是一样的,则说明计算正确;
这个计算出来的值代表的意思是:对于100M端口来说,如果报文长度是64bytes,则要求网络设备每秒必须能处理148,809个帧,这样才不会丢包。
生活中的带宽计算上面的图中的数据都是对线速的描述,看起来可能会感觉脱离我们的生活,下面我们以生活中的带宽为例子,再来计算一遍。
假设你家的带宽是50M,传输的字节大小是128bytes,要求网络设备每秒能处理多少的报文?
速率 = 总长度/单个帧长度
总长度:代表每秒能处理的bit个数,你家的带宽50M,就表示每秒可以传输50Mbps,即每秒可以传输 50,000,000 bit;
单个帧长度:128bytes,加上前导码和空闲帧,最后真实的单个帧长度时128 8 12=148 bytes,转换为bit值为:148*8 = 1184 bits;
FPS = 50,000,000/1184 = 42,229;
这就要求网络设备每秒能够传输42229个报文,这样你家的带宽才能达到签订的50M合约值。
总结FPS指标非常重要,但是我们在工作和生活中都不经常提及它,因为它的值太长了,太难记忆了,远不如bps值直观(例如10M、20M、300M),让人容易接受。所以我们通常说带宽时,都会习惯说是bps,而不是FPS。但是作为一名专业的网络从业人员,我们还是要知道FPS代表的含义的,并且要掌握它们之间的换算公式,否则只能说明对带宽的理解还不够透彻。
各位看完上面的内容,是不是已经掌握带宽代表的含义和计算公式了呢?如果还有疑问,欢迎留言讨论,并且欢迎关注我的头条号,一起讨论网络知识!