对于网络延迟和带宽的理解

延迟指原子信息通过介质所需要的时间,带宽指信息在介质中传播的速度。如果我们以浏览Web页面为例的话,如果等待长时间才开始显示一个页面,但立刻就全部出现了,这说明网络的延迟比较大,带宽还不错。如果页面立刻开始出现,但是花了很长时间才全部显示出来,这说明网络的延迟还可以,但带宽较小。

对于网络传输来说,网卡,传输线路以及交换机路由器本身都是有延迟和带宽指标的。我没有办法获得所有这些指标的具体数据,只能够就我所知道的稍微说说。对于网卡来说,延迟取决于系统负载和所处网络拥塞程度。更细程度考量的话可能就是从user buffer->kernel buffer->device buffer同时考虑系统完成这件事情调度时间比如TCP_NODELAY和TCP_CORK带来的影响,我猜想的:(。网卡带宽就是所谓的千兆网卡(1000Mbps)和万兆网卡(10000Mbps).对于传输线路来说,如果是光纤的话那么传播速度是光速,在光纤中传播距离可能是实际距离的1.1-1.2倍(估计,因为不可能走直线).假设天津机房和北京机房距离150km,那么延迟为150km / 光速(3*10^5km/s) * 1.2(实际距离比率) = 0.6ms.不过考虑同事告诉我说这样计算可能是不太准确的,撇开铺线的实际距离不谈,光纤每段上会加一个中继器来增强光信号,这样计算实际上是不准确的。他友好地给我说了一下北京机房<->天津机房RTT大概10ms.最后就是交换机路由器。很少有人关注这个单项指标,因为这个取决于内部机房机架是怎么部署的,大家更关心的是从同机房两个机架上服务器延迟多少,带宽多少。而事实证明(实际上是同事告诉我的)延迟基本没有,带宽取决于服务器网卡带宽。