Authors Top

If you have a few years of experience in Computer Science or research, and you’re interested in sharing that experience with the community, have a look at our Contribution Guidelines.

1. Introduction

In terms of networking, a packet can be defined as a unit of data that moves from source to destination. Data delivered across computer networks such as the Internet is separated into packets. The computer or device that receives them recombines these packets.

Further, the delay or latency can be defined as the time taken by the entire message/packet to reach its destination after the initial bit is sent out from the source. It is an important metric to measure network performance. The delay of a packet is calculated by adding the following four components: propagation delay, transmission delay, queuing delay, and processing delay.

This article discusses propagation delay and transmission delay as these are harder to calculate than the other two delays.

2. Propagation Delay

The propagation delay is the time it takes for one bit to travel from one end of the link to the other. The bits travel in the form of electromagnetic signals. The speed at which electromagnetic signals propagate is determined by the medium through which they pass. Following is the formula for propagation delay:

    \[\frac{D}{S}\]

where D is the distance between sender and receiver over a link, and S is the transmission speed.

For example, if the distance between the two points is 48,000 km and the propagation speed is 2.4 * 10^{8} \frac{m}{s} in a cable then the propagation delay will be:

    \[\frac{48000\times 10^{3}}{2.4\times 10^{8}} = 200ms\]

3. Transmission Delay

Transmission delay is the time needed to push all the packet bits on the transmission link. It mainly depends upon the size of the data and channel bandwidth (in bps). Following is the formula for transmission delay:

    \[\frac{L}{R}\]

where L is the length of the packet and R is the transmission rate.

For example, the transmission of 1500 bytes (12000 bits) using a transmission rate of 100Mbps will take:

    \[t = \frac{12000}{100\times 10^{6}} = 0.12ms\]

4. Real Life Problems

To better understand the concept, this section explains three different kinds of problems related to propagation and transmission delays and methods to solve such problems.

4.1. Problem 1

Let’s see how we can calculate the latency (total delay from first bit sent to last bit received) for the following scenarios.

First, the sender and receiver are separated by two 1-Gbps links and a single switch as shown in the figure below. The packet size is 5000 bits, and each link introduces a propagation delay of 10 \mu s. Let’s assume that the switch begins forwarding immediately after it has received the last bit of the packet and the queues are empty:

For each link, the time to transmit the packet on the link is \frac{5000}{10^{9}} = 5 \mu s, after which it takes an additional 10 \mu s for the last bit to propagate across the link. Thus, with only one switch that starts forwarding only after receiving the whole packet, the total transfer delay is two transmission delays and two propagation delays: 30 \mu s.

Now, let’s see another scenario with three switches and four links, as shown in the figure below, what will be the delay?

For three switches and thus four links, the total delay is four transmission delays and four propagation delays: 60 \mu s.

4.2. Problem 2

Next, let’s see to another problem where two hosts are connected via a packet switch with 10^7 bps links. Each link has a propagation delay of 20 \mu s. The switch begins forwarding a packet 35 \mu s after receiving it. If 10000 bits of data are to be transmitted between the two hosts using a packet size of 5000 bits, calculate the time elapsed between the transmission of the first bit of data and the reception of the last bit of the data in microseconds:

Sender host transmits the first packet to the switch, the transmission time is \frac{5000}{10^{7}} which is 500 \mu s. After 500 \mu s, the second packet is transmitted. Therefore, the first packet reaches the destination in 500 + 20 + 35 + 20 + 500 = 1075 \mu s.

While the first packet is traveling to the destination, the second packet starts its journey after 500 \mu s. The rest of the time taken by the second packet overlaps with the first packet. Eventually, the overall time is 1075 + 500 = 1575 \mu s.

4.3. Problem 3

As a last practice problem, we’ll look at a scenario depicted by the following diagram where A wants to send a 5 MB file to C in chunks of 500-byte packets. To prevent any packet loss, when A sends a 500-byte packet to C, it responds with a 50-byte packet to A (through B) acknowledging that it has successfully received the packet. Only after receiving the acknowledgment, A sends the next packet. Assuming no losses, how long will it take A to send the file to C:

First, we’ll find the delay for the packet size of 500 bytes from A to C.

  • Transmission delay from A to B: \frac{500\times 8}{4\times 10^{6}} = 1 ms.
  • Transmission delay from B to C: \frac{500\times 8}{10\times 10^{6}} = 0.4 ms.
  • Propagation delay from A to B: \frac{3000\times 10^{3}}{3\times 10^{8}} = 10 ms.
  • Propagation delay from B to C: \frac{900\times 10^{3}}{3\times 10^{8}} = 3 ms.

Delay on link is the transmission delay and the propagation delay. Hence, the delay between A to B is 1+10 = 11ms. The delay from B to C is 0.4 + 3 = 3.4ms. The total delay for packet size of 500 bytes from A to C is 11ms+3.4ms = 14.4 ms

Next, let’s find the delay for the acknowledgment packet size of 50 bytes from C to A. Propagation delay would remain the same.

  • Transmission delay from B to A: \frac{50\times 8}{4\times 10^{6}} = 0.1 ms.
  • Transmission delay from C to B: \frac{50\times 8}{10\times 10^{6}}= 0.04 ms.

Hence, the delay between B to A is 0.1+10=10.1 ms and the delay from C to B is 0.04+3=3.04 ms.

  • The total delay for acknowledgement from C to A is 10.1 ms + 3.04 ms = 13.14 ms.
  • The total delay for packet and acknowledgement is 14.4 + 13.14 = 27.54 ms.
  • Number of packets in 5MB file transfer is \frac{5\times 10^{6}}{500} =10000.

Eventually, the total transfer time for a 5MB file is 10000×27.54 = 275.4 s

5. Conclusion

In this article, we have explained the concepts of propagation delay and transmission delay. To better understand the concepts, three different kinds of numerical problems have been discussed.

Authors Bottom

If you have a few years of experience in Computer Science or research, and you’re interested in sharing that experience with the community, have a look at our Contribution Guidelines.

Comments are closed on this article!