测量网络延时的思路

一、目的

测量两个互相网络连接的电脑之间的网络传播延时。

二、思路

1、设备A作为服务端,设备B作为客户端。

2、两个设备之间建立TCP协议连接。

3、一旦建立连接,设备A就进入定时发送脉冲包的步骤。

设备A每隔500毫秒,发送一个值是整数1的字节。

设备A发送5次后,发送值是0的字节,关闭连接。

4、设备B建立连接后,进入循环:

读到字节1,就记录一次当前的毫秒数。

读到字节0,跳出循环。

5、设备B根据这5次接收的时间点,求出各自的间隔时间。

假设结果如下:

第一次和第二次之间间隔540毫秒。

第二次和第三次之间间隔535毫秒。

第三次和第四次之间间隔542毫秒。

第四次和第五次之间间隔551毫秒。

已知服务端是每隔500毫秒发送一次的,那么从设备A发给设备B的数据每次传输需要的时间如下:

样本1: 540 - 500 = 40毫秒

样本2: 535 - 500 = 35毫秒

样本3: 542 - 500 = 42毫秒

样本4 : 551 - 500 = 51毫秒

最后求传输延时的平均数。

三、缺点

1、发送者不可能精确的定时500毫秒。

2、每次发送需要的时间可能不一样。

有时候网速快,有时候网速慢。

3、延时有两部分:

把数据从电脑内存里面发送到网线里的时间。

把数据从网线送到对方电脑内存里的时间。

缺陷:没有考虑程序记录当前时间这一过程需要的时间。