Delay is the time it takes for data to travel from one endpoint to another. It can be understood as the collection of four key delay components: processing delay, queueing delay, transmission delay, and propagation delay.
- Processing Delay is the time associated with the system analyzing a packet header and determining where the packet must be sent. This depends heavily on the entries in the routing table, the execution of data structures in the system, and the hardware implementation.
Queueing Delay is the time between a packet being queued and it being sent. This varies depending on the amount of traffic, the type of traffic, and what router queue algorithms are implemented. Different algorithms may adjust delays for system preference, or require the same delay for all traffic.
Transmission Delay is the time needed to push a packet’s data bits into the wire. This changes based on the size of the packet and the bandwidth. This does not depend on the distance of the wire, as it is solely the time to push a packet’s bits into the wire, not to travel down the wire to the receiving endpoint.
- Propagation Delay is the time associated with the first bit of the packet traveling from the sending endpoint to the receiving endpoint. This is often referred to as a delay by distance, and as such is influenced by the distance the bit must travel and the propagation speed.
These pieces of delay come together to make up the total delay in a network. Round-trip time consists of these delays combined to the receiving endpoint and back to the sending endpoint.