带宽的概念

网络带宽“在口语中用来表示
信道容量,信道容量是
系统能够传输数据位的速度”(wikipedia)

常见的误解是把它当成比特位在线路中跑的速度,以为带宽越大,比特位跑的就越快

实际上,比特位在宽带上跑的速度跟在窄带上跑的速度是一样大的;如果把线路比喻成一车道的公路的话,比特位就是汽车,汽车在宽带这条路上的行驶速率跟汽车在窄带路上的
行驶速率是一样的,但是宽带路上各车之间的车距比较小,单位时间内可以通过的汽车比较多(谢希仁):

更确切一点地说,
宽带并不是高速公路,而是高速公路的入口(郭欣);带宽越高,意味着高速入口的吞吐越快。 带宽其实是
数据块从结点进入到传输媒体的速度 (谢希仁)

而所谓的高速公路的速率,对应的则是比特位单位时间内在介质中传播的距离;一般可视为 2* 10^8米/秒

如果考虑真实的硬件设备,带宽又是怎么一回事呢? 比如说,
百兆网卡,连接到千兆交换机,那整体的传输数率是多少呢? 答案是:取最小的那个值,即100Mb/s

当然,还应该考虑网线的带宽。如果网线带宽只有1M,则整体传输速率就降为1M了 (谈到网线的带宽时,不要去想高速公路的事情,否则会糊涂)。网线的带宽取决于材质(光纤比铜线好),以及一根网线是由多少细线组成的

最后,我们讨论一下,在已知带宽、传输距离的情况下,用户从一个网站下载一个东西到底要多长时间

  解这套题要套这个公式:

 

总时间 = 数据块从结点进入到传输媒体的时间 + 信号在介质中传播的时间 + 交换结点的处理、排队时间  

如果网站服务器的接入带宽是100M, 用户PC的接入带宽是10M, PC和服务器在同一张桌子上(传输距离忽略不计),且PC直连服务器;要下载的文件大小是1G(约1000MB),则

 总时间 = 数据块从结点进入到传输媒体的时间 + 信号在介质中传播的时间 + 交换结点的处理、排队时间 
         = 数据块从结点进入到传输媒体的时间 + 0m/传播速率 + 0 
         = 数据块从结点进入到传输媒体的时间
         = 数据块大小/整体带宽 
         = 1000MB/min(100M, 10M)b/s
         = 8000Mb/10Mb/s
         = 800s

如果网站服务器在上海,直连上海市的中心交换结点,且这个交换结点的带宽为1G;PC在杭州,直连杭州市的交换结点,且这个交换结点的带宽为500M; 上海到杭州的物理距离是100km。那么 (由于交换结点的处理、排队时间很难估计,这里先统统忽略,统一视为0),

   总时间 = 从服务器到上海总出口的总时间 + 上海到杭州的传输时间 + 比特位从上海到杭州的旅行时间 + 杭州交换中心到PC的时间
         = 8000Mb/min(100Mb/s,1GMb/s)  + [8000Mb/min(1GMb/s, 500Mb/s) + 100km/(2*10^8m/s)] + 8000Mb/min(500Mb/s, 10Mb/s) 
         = 80s + [16s + 0.0005s] + 800s\
         = 896.005s

注:据高人指点,上面的算法只在一个假设下才有效:“交换结点都是先把数据收齐后再把数据发送出去”;有了这个假设,当传输网络中每多一个结点时,总的时延就会多加一大块。而实际上,交换结点并不会把数据全部收齐才发出去,而是每收到一定大小的数据后就会开始转发,基本上可以理解为边收边发。

        

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.