Ping delay

From: Jean-Christophe Varaillon (jcv@vbc.net)
Date: Tue Jul 31 2001 - 07:15:58 EDT


Dear Sir,

I have this network design:

              +-----------+
              | c3500XL |
              +-----------+
               | |
               | |
 +---------------+ +---------------+
 | FreeBSD_1 | | FreeBSD_2 |
 +---------------+ +---------------+

FreeBSD_1 and FreeBSD_2 are all connected to 100M ports

If I log on to FreeBSD_1 and ping FreeBS_2, I get ping times of 1.2 to 1.3
ms or so.
Ping packets have 56 data bytes, so the packet is 80 bytes or so.

The equipment is connected at 100M full duplex,
--------------------------------------------------------------------
FreeBSD_1> ifconfig fxp0
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.0.26 netmask 0xffffff00 broadcast 192.168.0.255
        inet6 fe80::202:b3ff:fe2b:7c1a%fxp0 prefixlen 64 scopeid 0x1
        ether 00:02:b3:2b:7c:1a
        media: autoselect (100baseTX <full-duplex>) status: active
        supported media: autoselect 100baseTX <full-duplex> 100baseTX
10baseT/UTP <full-duplex> 10baseT/UTP
FreeBSD_1>
--------------------------------------------------------------------

So the time required to clock the data out should be like

        80 bytes * 8 / 10^8 = 6.4 * 10^2 / 10^8 = 6.4 us

Assume that the router copies the data each way, so the time required
should be four copy times

        4 * 6.4 us = 25.6 us = 0.025 ms

plus delays at either end. Why is the delay so great?

If I increase the packet size to 1500, so that the time required
to clock the data out becomes

        1500 * 8 / 10^8 = 120 * 10^2 / 10^8 = 120 us

and four copy times is

        4 * 120us = 480 us = 0.48 ms

we get this kind of result:

--------------------------------------------------------------------
FreeBSD_1>ping -c 10 -q FreeBSD_2; ping -c 10 -s 1500 -q FreeBSD_2
PING FreeBSD_2 (192.168.0.31): 56 data bytes

--- FreeBSD_2 ping statistics ---
10 packets transmitted, 10 packets received, 0% packet loss
round-trip min/avg/max/stddev = 1.224/1.374/2.294/0.309 ms

PING FreeBSD_2 (192.168.0.31): 1500 data bytes

--- FreeBSD_2 ping statistics ---
10 packets transmitted, 10 packets received, 0% packet loss
round-trip min/avg/max/stddev = 2.472/2.528/2.569/0.031 ms

FreeBSD_1>
--------------------------------------------------------------------

That is, the ping time is increased by 1.2 ms.

* we are transmitting about 20 times as much data, but the
        ping time is only doubling

* on the other hand, the time for four copies is going up by
        about 0.5 ms, but the time time is going up by around 2.5
        times as much

Why is that?

Regards,
Jean-Christophe.



This archive was generated by hypermail 2b29 : Sun Aug 04 2002 - 04:12:47 EDT