你真的理解“带宽”含义吗?

“带宽”这个词并不陌生,即使是非技术人员,普通的老百姓,也经常会提到,比如“我家换了10M带宽的光纤,速度嗷嗷的”,“谁在下载把带宽都占用了,视频看不了”。对于互联网行业的技术人员而言,在平时的网络调优、申请部署资源时,带宽也是个必不可少的参数。可是你真的知道带宽这个词所指的准确含义吗?

有些人从字面上的意思直观理解为带宽是类似于高速路的路面宽度。部分人知道带宽的单位是bits/s,即单位时间的比特数,所以理解为高速路上行驶的汽车的速度。这两种经常被“误解”的理解也没有太大的失误,反而对于“带宽”这个词的普及起了推动作用。但是如果做为一名关注性能的互联网从业人员而言,还是应该清楚其精确含义的。

如上文所提到的,带宽的单位是bit/s,所以100M带宽,应该指的是100Mbit/s,即“每秒100M的比特数”。那是不是就可以理解为上面提到的“汽车行驶速度”呢?其实这个理解应该称之为传输速度,与网络传输的介质、距离都是有关系的。

而带宽确切的含义应该是指数据的发送速度——在单位时间里,能发送的最大比特数。100M的带宽,就是指该网络里能发送数据的最大速度是100Mbit。

我们粗略的说下数据进入到网络传输的过程:程序内存里准备好数据——操作系统内核发出系统调用,进入内核缓冲区(队列形式)——CPU通知网卡控制器来取数据——网卡取数据是一个从内核缓冲区把数据拷贝到网卡缓冲区的过程——网卡缓冲区里的数据发送到网络中(线路中)。从这个过程里我们“顺便”理解了为什么平时会提到54M的网卡、百兆网卡这些概念:网卡发送数据速度的上限。

说到这我们可以想到:100M的带宽,是指有能力在单位时间里,发出上限为100M比特的数据。但是这些数据能按期望的都“准时”到达吗?这就要看网络的具体情况了:传输距离、传输介质、网络是否有堵塞(比如接收方跟不上处理速度导致)。所以并不是说带宽高了网络就肯定能好,这是两个概念。

那要提升带宽——数据发送速度时要考虑什么因素呢,是不是说有了百M网卡,就可以达到百M的bit/s了?我们回头看下上文提到的数据传输过程,可以知道网卡取数据和发数据只是其中的一个环节而已。所以往往还需要从以下几个因素来考虑优化:

1.数据发送装置将二进制信号传送到线路的能力,称之为信号传输频率。

2.对应第一点的,接收装置对二进制信号的接收能力。

3.数据传播介质的并行能力,这里比较像是“带宽的误解含义”,暂且称之为“宽度”吧。比如计算机总线的宽度,如32位、64位,光纤并行组成光缆,等等。

当然,数据传输过程中,还会有信号在介质中的衰减、受限于传输材料等因素,这些就属于通信技术范畴了。

本文同时发表在本人博客www.newhottopic.com  ,并非转载。

猜你喜欢

转载自rijin.iteye.com/blog/2028444