I am using pings to measure my network latency. Why do my ping results differ from ADA's Network Round Trip Time?
There are a number of reasons why your ping times may differ from the Network Round Trip Time reported in ADA. To understand this, it is first necessary to understand ADA's Network Round Trip Time. ADA's Network Round Trip Time is the round-trip delay experienced by the actual application packets throughout the life of the session. It measures the network delay experienced by application packets as they travel from client to server, and the network delay experienced by application packets as they travel from server to client. The Network Round Trip Time excludes the server think-time; that processing time is tracked in ADA's Initial Server Response Time metric. The Network Round Trip Time also excludes the client think-time.
The ADA's Network Round Trip Time (NRTT) accounts for the normal network delay components actually experienced by the application packets:
NRTT = Serialization + Queueing + Propagation + Router/Switch Processing + LL Protocol Delay
From this equation, there is only one delay component measurement - the Propagation Delay - that is the delay the ICMP ping packet and the application packet share.
For the following analysis, we assume that the ICMP ping packet and the application packets follow the same route across the network. The Serialization Delay depends on the packet size and the link access rate. Ping sends the same-sized packet in both directions, whereas applications generally use smaller packets from the clients and larger packets from the servers.
By default ping uses 64-byte packets, so the round-trip serialization delay will be 18.3ms on a 56Kbps circuit, 4ms on a 256Kbps circuit, 0.7ms on a 1.5Mbps circuit, and 0.01ms on a 100Mbps LAN. An application that on average uses 300-byte packets from clients toward server and 1500-byte packets from server towards clients would have an average round-trip serialization delay of 257ms on a 56Kbps circuit, 56.3ms on a 256Kbps circuit, 9.6ms on a 1.5Mbps circuit, and 0.1ms on a 100Mbps LAN. The difference in Serialization Delay due to the difference in packet size depends greatly on the link access rate: huge for low-speed circuits, negligible for high-speed LANs.
The Queueing Delay depends on the serialization delay (for the packets served ahead), the dimension of the buffers, the amount of congestion, and the router/switch configuration scheduling policies. Since ping is ICMP, it may be placed in a special queue for preferential handling by the router/switch. When congestion occurs, the ping packet may be preferentially dropped while the application packet remains in the queue - thus the ping never experiences the longer queue delays. The device may preferentially move ping packets (as management packets) to the front of the queue, treating them before their fair turn. The application may create its own congestion by sending a number of back-to-back packets, thus always experiencing delay that may be exacerbated by the scheduling policies. The difference in Queueing Delay due to device handling and Quality of Service (QoS) policies can be quite significant between ping packets and the application packets.
The Router/Switch Processing Delay depends on a number of varying factors. While in general the ping packet can have a very different experience than the application packet, the absolute delay due to Router/Switch processing should still be negligible. If not, there are more important issues than why the ping differs from the NRTT& The LL (Low Level) Protocol Delay includes delay due to media access (e.g., Ethernet collisions) and TCP behavior. The ICMP ping packets may experience different protocol delays simply due to their timing pattern. And since ICMP ping packets bypass the TCP stack, they will not experience the TCP delay incurred by application packets. For example, the application may be seriously delayed by the TCP Nagle algorithm - which does not apply to ICMP ping packets. It is also possible that ADA is not physically in a position to detect an application packet drop; in this case the NRTT will include TCP retransmission delay whereas ping packets are not retransmitted.