网络延时的一次研究 -北京赛维博信科技发展有限公司
来源:
|
作者:pmo58a406
|
发布时间: 2015-12-28
|
3484 次浏览
|
分享到:
前几天群里的朋友突然都关心起网络延时的问题来,一方面大概是因为现在许多的应用都逐渐变得对延时更加敏感,另一方面大概也因为许多网络厂商的各种低延迟的宣传让大家心生疑惑:到底我们需要多少的网络延时而实际网络又能提供多少的延时性能。
这个问题要细说起来其实也挺复杂,我尽量简单的聊一聊。
再来说说网络设备的延时,现在许多设备都开始宣传低延时特性,但许多宣传都不会说明他们讲的延时到底是端到端的延时,还是只是芯片的转发延时,实际的端到端延时跟许多具体的使用环境有关系,比如:
-
端口速率,同一台网络设备,采用1000m端口速率跟采用10G端口测试出来的延时肯定是不一样的,采用10G和40G端口测出来的延时肯定也是不一样的。比如在1000m端口速率换算成每微妙的传输速率也就1000b,也就是说如果要传输一个1500字节的报文就得花12微妙,这种速率下再去纠结能不能达到更低的延时其实也没啥意义了。许多交换机都会宣传几百纳秒的延时,但那个真心不是给千兆网络准备的。
-
接口类型,很多人以为电口产生的延时比光口产生的延时小,因为电口不需要做光电转换的过程,但实际也不对。使用电口传输的时候,为了数据包速传输过程中不会产生错误,需要将数据编码后传输,这个过程会产生相比光电转换更大的延时,比如在10G 的电口上,这个时延一般要到2.5-4微妙 ,而采用光口传输这个延时只有0.1微妙。
-
传输距离,这个也就是受限于光和电的传输速率限制了,具体到ns级别,1ns 光也就能传输0.2米,超过200米的传输距离,传输延时就到微妙级别了。
-
转发模式和缓存的影响,以前的网络设备多采用存储转发的处理方式,这种模式下数据报文要有进出缓存的两个过程,产生的延时相对来说会比较大,而现在号称低延时的网络设备基本都采用了cut through的转发模式,这种转发模式下延时得到明显改善,但如果出现网络拥塞,一旦需要用到缓存情况就更加复杂了,不说也罢。
-
网卡的影响,许多网卡为了改善性能,会采用一些自以为智能的优化方式,比如有些网卡会自动把多个小包攒成一个大包进行传输,这种情况确实提高了网络带宽利用率,但也明显增加了延时。
-
一些网络安全设备的影响,最常见的比如防火墙、DPI 等等,而如果这些设备采用透明模式部署的话,你也许根本就没意识到他们的存在,但他们的工作方式相比交换机路由器这种转发设备会增加更大的网络延时。
真正公认对网络延时极高的几个应用场景主要是: