Tag: Packet Switching in Computer Networks

Packet Switching in Networking | Switching

Switching in Computer Networks-

 

The process of moving the data packets towards their destination by forwarding them from one port to the other port is called as switching.

 

Switching Techniques-

 

Various switching techniques are-

 

 

  1. Circuit Switching
  2. Message Switching
  3. Packet Switching

 

In this article, we will discuss about Packet Switching.

 

Packet Switching-

 

In packet switching,

  • The entire message to be sent is divided into multiple smaller size packets.
  • This process of dividing a single message into smaller size packets is called as packetization.
  • These smaller packets are sent after the other.
  • It gives the advantage of pipelining and reduces the total time taken to transmit the message.

 

Optimal Packet Size-

 

If the packet size is not chosen wisely, then-

  • It may result in adverse effects.
  • It might increase the time taken to transmit the message.

So, it is very important to choose the packet size wisely.

 

Example-

 

Consider-

  • There is a network having bandwidth of 1 MBps.
  • A message of size 1000 bytes has to be sent.
  • Packet switching technique is used.
  • Each packet contains a header of 100 bytes.

 

 

Out of the following, in how many packets the message must be divided so that total time taken is minimum-

  1. 1 packet
  2. 5 packets
  3. 10 packets
  4. 20 packets

 

NOTE

  • While calculating the total time, we often ignore the propagation delay.
  • The reason is in packet switching, transmission delay dominates over propagation delay.
  • This is because each packet is transmitted over the link at each hop.

 

Let us analyze each case one by one.

 

Case-01: Sending Message in 1 Packet-

 

In this case, the entire message is sent in a single packet.

 

Size Of Packet-

 

Packet size

= 1000 bytes of data + 100 bytes of header

= 1100 bytes

 

Transmission Delay-

 

Transmission delay

= Packet size / Bandwidth

= 1100 bytes / 1 MBps

=  1100 x 10-6 sec

= 1100 μsec

= 1.1 msec

 

Total Time Taken-

 

Total time taken to send the complete message from sender to receiver

= 3 x Transmission delay

= 3 x 1.1 msec

= 3.3 msec

 

Case-02: Sending Message in 5 Packets-

 

In this case,

  • The entire message is divided into total 5 packets.
  • These packets are then sent one after the other.

 

Data Sent in One Packet-

 

Data sent in one packet

= Total data to be sent / Number of packets

= 1000 bytes / 5

= 200 bytes

 

Size Of One Packet-

 

Packet size

= 200 bytes of data + 100 bytes of header

= 300 bytes

 

Transmission Delay-

 

Transmission delay

= Packet size / Bandwidth

= 300 bytes / 1 MBps

=  300 x 10-6 sec

= 300 μsec

= 0.3 msec

 

Time Taken By First Packet-

 

Time taken by the first packet to reach from sender to receiver

= 3 x Transmission delay

= 3 x 0.3 msec

= 0.9 msec

 

Time Taken By Remaining Packets-

 

Time taken by the remaining packets to reach from sender to receiver

= Number of remaining packets x Transmission delay

= 4 x 0.3 msec

= 1.2 msec

 

Total Time Taken-

 

Total time taken to send the complete message from sender to receiver

= 0.9 msec + 1.2 msec

= 2.1 msec

 

Case-03: Sending Data in 10 packets-

 

In this case,

  • The entire message is divided into total 10 packets.
  • These packets are then sent one after the other.

 

Data Sent in One Packet-

 

Data sent in one packet

= Total data to be sent / Number of packets

= 1000 bytes / 10

= 100 bytes

 

Size Of One Packet-

 

Packet size

= 100 bytes of data + 100 bytes of header

= 200 bytes

 

Transmission Delay-

 

Transmission delay

= Packet size / Bandwidth

= 200 bytes / 1 MBps

=  200 x 10-6 sec

= 200 μsec

= 0.2 msec

 

Time Taken By First Packet-

 

Time taken by the first packet to reach from sender to receiver

= 3 x Transmission delay

= 3 x 0.2 msec

= 0.6 msec

 

Time Taken By Remaining Packets-

 

Time taken by the remaining packets to reach from sender to receiver

= Number of remaining packets x Transmission delay

= 9 x 0.2 msec

= 1.8 msec

 

Total Time Taken-

 

Total time taken to send the complete message from sender to receiver

= 0.6 msec + 1.8 msec

= 2.4 msec

 

Case-04: Sending Data in 20 Packets-

 

In this case,

  • The entire message is divided into total 5 packets.
  • These packets are then sent one after the other.

 

Data Sent in One Packet-

 

Data sent in one packet

= Total data to be sent / Number of packets

= 1000 bytes / 20

= 50 bytes

 

Size Of One Packet-

 

Packet size

= 50 bytes of data + 100 bytes of header

= 150 bytes

 

Transmission Delay-

 

Transmission delay

= Packet size / Bandwidth

= 150 bytes / 1 MBps

=  150 x 10-6 sec

= 150 μsec

= 0.15 msec

 

Time Taken By First Packet-

 

Time taken by the first packet to reach from sender to receiver

= 3 x Transmission delay

= 3 x 0.15 msec

= 0.45 msec

 

Time Taken By Remaining Packets-

 

Time taken by the remaining packets to reach from sender to receiver

= Number of remaining packets x Transmission delay

= 19 x 0.15 msec

= 2.85 msec

 

Total Time Taken-

 

Total time taken to send the complete message from sender to receiver

= 0.45 msec + 2.85 msec

= 3.3 msec

 

Observations-

 

  • When data is sent in 1 packet, total time taken = 3.3 msec
  • When data is sent in 5 packets, total time taken = 2.1 msec
  • When data is sent in 10 packets, total time taken = 2.4 msec
  • When data is sent in 20 packets, total time taken = 3.3 msec

 

Conclusion-

 

We conclude-

  • Total time decreases when packet size is reduced but only up to a certain limit.
  • If the packet size is reduced beyond a certain limit, then total time starts increasing.

 

From the given choices,

  • Sending the message in 5 packets would be most efficient.
  • In other words, packet size = 300 bytes would be the best choice.

 

Types of Packet Switching-

 

Packet switching may be carried out in the following 2 ways-

 

 

  1. Virtual Circuit Switching
  2. Datagram Switching

 

Virtual Circuit Switching-

 

Virtual circuit switching operates in the following three phases-

  1. Establishing a circuit
  2. Transferring the data
  3. Disconnecting the circuit

 

1. Establishing A Circuit-

 

In this phase,

  • A logical connection is established between the two ends.
  • It provides a dedicated path for data to travel from one to the other end.
  • Resources are reserved at intermediate switches which are used during the transmission.

 

 

2. Transferring The Data-

 

After the connection is established,

  • The entire data travels over the dedicated path from one end to the other end.

 

3. Disconnecting The Circuit-

 

After the data transfer is completed,

  • The connection is disconnected.

 

Datagram Switching-

 

In datagram switching,

  • There exists no dedicated path for data to travel.
  • The header of each packet contains the destination address.
  • When any intermediate switch receives the packet, it examines its destination address.
  • It then consults the routing table.
  • Routing table finds the corresponding port through which the packet should be forwarded.

 

Virtual Circuit Switching Vs Datagram Switching-

 

The following table shows a comparison between virtual circuit switching and datagram switching-

 

Virtual Circuit Switching Datagram Switching
The first packet during its transmission-

1) Informs the intermediate switches that more packets are following.

2) Reserve resources (CPU, bandwidth and buffer) for the following packets at all the switches on the way.

The first packet does not perform any such task during its transmission.
The packets are never discarded at intermediate switches and immediately forwarded since resources are reserved for them. The packets may be discarded at intermediate switches if sufficient resources are not available to process the packets.
It is a connection oriented service since resources are reserved for the packets at intermediate switches. It is a connection less service since no resources are reserved for the packets.
All the packets follow the same dedicated path. All the packets take path independently.
Data appears in order at the destination since all the packets take the same dedicated path. Data may appear out of order at the destination since the packets take path independently.
It is highly reliable since no packets are discarded. It is not reliable since packets may be discarded.
It is costly. It is cost effective.
Only first packet requires a global header which identifies the path from one end to other end.

All the following packets require a local header which identifies the path from hop to hop.

All the packets require a global header which contains full information about the destination.
ATM (Asynchronous Transfer Mode) uses virtual circuit switching. IP Networks use datagram switching.
Virtual circuit switching is normally implemented at data link layer. Datagram switching is normally implemented at network layer.

 

PRACTICE PROBLEM BASED ON PACKET SWITCHING TECHNIQUE-

 

Problem-

 

In a packet switching network, packets are routed from source to destination along a single path having two intermediate nodes. If the message size is 24 bytes and each packet contains a header of 3 bytes, then the optimum packet size is-

  1. 4 bytes
  2. 6 bytes
  3. 7 bytes
  4. 9 bytes

 

Solution-

 

 

Let bandwidth of the network = X Bps and 1 / X = a

 

Option-A: Packet Size = 4 Bytes

 

In this case,

  • The entire message is divided into packets of size 4 bytes.
  • These packets are then sent one after the other.

 

Data Sent in One Packet- 

 

Data size

= Packet size – Header size

= 4 bytes – 3 bytes

= 1 byte

Thus, only 1 byte of data can be sent in each packet.

 

Number Of Packets-

 

Number of packets required

= Total data to be sent / Data contained in one packet

= 24 bytes / 1 byte

= 24 packets

 

Transmission Delay-

 

Transmission delay

= Packet size / Bandwidth

= 4 bytes / X Bps

=  4a sec

 

Time Taken By First Packet-

 

Time taken by the first packet to reach from sender to receiver

= 3 x Transmission delay

= 3 x 4a sec

= 12a sec

 

Time Taken By Remaining Packets-

 

Time taken by the remaining packets to reach from sender to receiver

= Number of remaining packets x Transmission delay

= 23 x 4a sec

= 92a sec

 

Total Time Taken-

 

Total time taken to send the complete message from sender to receiver

= 12a sec + 92a sec

= 104a sec

 

Option-B: Packet Size = 6 bytes

 

In this case,

  • The entire message is divided into packets of size 6 bytes.
  • These packets are then sent one after the other.

 

Data Sent in One Packet-

 

Data size

= Packet size – Header size

= 6 bytes – 3 bytes

= 3 bytes

Thus, only 3 bytes of data can be sent in each packet.

 

Number Of Packets-

 

Number of packets required

= Total data to be sent / Data contained in one packet

= 24 bytes / 3 bytes

= 8 packets

 

Transmission Delay-

 

Transmission delay

= Packet size / Bandwidth

= 6 bytes / X Bps

=  6a sec

 

Time Taken By First Packet-

 

Time taken by the first packet to reach from sender to receiver

= 3 x Transmission delay

= 3 x 6a sec

= 18a sec

 

Time Taken By Remaining Packets-

 

Time taken by the remaining packets to reach from sender to receiver

= Number of remaining packets x Transmission delay

= 7 x 6a sec

= 42a sec

 

Total Time Taken-

 

Total time taken to send the complete message from sender to receiver

= 18a sec + 42a sec

= 60a sec

 

Option-C: Packet Size = 7 bytes

 

In this case,

  • The entire message is divided into packets of size 7 bytes.
  • These packets are then sent one after the other.

 

Data Sent in One Packet-

 

Data size

= Packet size – Header size

= 7 bytes – 3 bytes

= 4 bytes

Thus, only 4 bytes of data can be sent in each packet.

 

Number Of Packets-

 

Number of packets required

= Total data to be sent / Data contained in one packet

= 24 bytes / 4 bytes

= 6 packets

 

Transmission Delay-

 

Transmission delay

= Packet size / Bandwidth

= 7 bytes / X Bps

=  7a sec

 

Time Taken By First Packet-

 

Time taken by the first packet to reach from sender to receiver

= 3 x Transmission delay

= 3 x 7a sec

= 21a sec

 

Time Taken By Remaining Packets-

 

Time taken by the remaining packets to reach from sender to receiver

= Number of remaining packets x Transmission delay

= 5 x 7a sec

= 35a sec

 

Total Time Taken-

 

Total time taken to send the complete message from sender to receiver

= 21a sec + 35a sec

= 56a sec

 

Option-D: Packet size = 9 Bytes

 

In this case,

  • The entire message is divided into packets of size 9 bytes.
  • These packets are then sent one after the other.

 

Data Sent in One Packet-

 

Data size

= Packet size – Header size

= 9 bytes – 3 bytes

= 6 bytes

Thus, only 6 bytes of data can be sent in each packet.

 

Number Of Packets-

 

Number of packets required

= Total data to be sent / Data contained in one packet

= 24 bytes / 6 bytes

= 4 packets

 

Transmission Delay-

 

Transmission delay

= Packet size / Bandwidth

= 9 bytes / X Bps

=  9a sec

 

Time Taken By First Packet-

 

Time taken by the first packet to reach from sender to receiver

= 3 x Transmission delay

= 3 x 9a sec

= 27a sec

 

Time Taken By Remaining Packets-

 

Time taken by the remaining packets to reach from sender to receiver

= Number of remaining packets x Transmission delay

= 3 x 9a sec

= 27a sec

 

Total Time Taken-

 

Total time taken to send the complete message from sender to receiver

= 27a sec + 27a sec

= 54a sec

 

Observations-

 

From here,

  • Total time taken when packet size is 4 bytes = 104a sec
  • Total time taken when packet size is 6 bytes = 60a sec
  • Total time taken when packet size is 7 bytes = 56a sec
  • Total time taken when packet size is 9 bytes = 54a sec

 

Result-

 

Time taken is minimum when packet size is 9 bytes.

Thus, Option (D) is correct.

 

To gain better understanding about Packet Switching,

Watch this Video Lecture

 

Next Article- Circuit Switching Vs Packet Switching

 

Get more notes and other study material of Computer Networks.

Watch video lectures by visiting our YouTube channel LearnVidFun.