Tag: Basics of Computer Networks

Difference between Circuit Switching And Packet 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 perform a comparison between circuit switching and packet switching.

 

Difference Between Circuit Switching And Packet Switching-

 

The following table compares circuit switching and packet switching techniques-

 

Circuit Switching Packet Switching
Virtual Circuit Switching Datagram Switching
Connection oriented service Connection oriented service Connection less service
Ensures in order delivery Ensures in order delivery Packets may be delivered out of order
No reordering is required No reordering is required Reordering is required
A dedicated path exists for data transfer A dedicated path exists for data transfer No dedicated path exists for data transfer
All the packets take the same path All the packets take the same path All the packets may not take the same path
Resources are allocated before data transfer Resources are allocated on demand using 1st packet No resources are allocated
Stream oriented Packet oriented Packet oriented
Fixed bandwidth Dynamic Bandwidth Dynamic bandwidth
Reliable Reliable Unreliable
No header overheads Only label overheads Higher overheads
Implemented at physical layer Implemented at data link layer Implemented at network layer
Inefficient in terms of resource utilization Provides better efficiency than circuit switched systems Provides better efficiency than message switched systems
Example- Telephone systems Examples- X.25, Frame relay Example- Internet

 

To gain better understanding about Circuit Switching Vs Packet Switching,

Watch this Video Lecture

 

Next Article- Distance Vector Routing | Routing Algorithms

 

Get more notes and other study material of Computer Networks.

Watch video lectures by visiting our YouTube channel LearnVidFun.

Message Switching | Switching Techniques

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 Message Switching.

 

Message Switching-

 

In message switching,

  • There exists no dedicated path to transfer data.
  • The entire message is treated as a single data unit.
  • The message is then forwarded from hop to hop.
  • Store and Forward is an important characteristic of message switching.
  • The message carries a header that contains the full information about the destination.
  • When any intermediate switch receives the message, it stores the entire message.
  • The message is stored until sufficient resources become available to transfer it to the next switch.
  • When resources become available, the switch forwards the message to the next switch.

 

Advantages-

 

Point-01:

 

  • It improves the channel efficiency over Circuit Switched Network.
  • In circuit switched network, the channel is blocked for two ends only.
  • But here, more devices can share the channel.

 

Point-02:

 

  • It is helpful in reducing traffic congestion.
  • The message may be temporarily stored in the route and then forwarded whenever required.

 

Point-03:

 

  • It is helpful in setting the message priorities due to store and forward technique.

 

Disadvantages-

 

Point-01:

 

  • It requires enough storage at every switch to accommodate the entire message during the transmission.

 

Point-02:

 

  • It is extremely slow due to store and forward technique.
  • Also, the message has to wait until sufficient resources become available to transfer it to the next switch.

 

Message switching is replaced by Packet switching.

 

To gain better understanding about Message Switching,

Watch this Video Lecture

 

Next Article- Packet Switching

 

Get more notes and other study material of Computer Networks.

Watch video lectures by visiting our YouTube channel LearnVidFun.

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.

Circuit 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 Circuit Switching.

 

Circuit Switching-

 

This switching technique 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 circuit is established between the two ends.
  • Circuit 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.
  • The intermediate switches are connected by the physical links.

 

 

2. Transferring The Data-

 

After the circuit 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 circuit is torn down i.e. disconnected.

 

Total Time-

 

Total time taken to transmit a message in circuit switched network

= Connection set up time + Transmission delay + Propagation delay + Tear down time

 

where-

  • Transmission delay = Message size / Bandwidth
  • Propagation delay = (Number of hops on way x Distance between 2 hops) / Propagation speed

 

Also Read- Packet Switching

 

Advantages-

 

Circuit switching has the following advantages-

  • A well defined and dedicated path exists for the data to travel.
  • There is no header overhead.
  • There is no waiting time at any switch and the data is transmitted without any delay.
  • Data always reaches the other end in order.
  • No re ordering is required.

 

Disadvantages-

 

Circuit switching has the following disadvantages-

  • The channel is blocked for two ends only.
  • It is inefficient in terms of utilization of system resources.
  • The time required for establishing the circuit between the two ends is too long.
  • Dedicated channels require more bandwidth.
  • It is more expensive than other switching techniques.
  • Routing decisions can not be changed once the circuit is established.

 

Important Notes-

 

  • Circuit switching is implemented at physical layer.
  • Circuit switching is now outdated.

 

PRACTICE PROBLEM BASED ON CIRCUIT SWITCHING TECHNIQUE-

 

Problem-

 

Consider all links in the network use TDM with 24 slots and have a data rate of 1.536 Mbps. Assume that host A takes 500 msec to establish an end to end circuit with host B before begin to transmit the file. If the file is 512 kilobytes, then how much time will it take to send the file from host A to host B?

 

Solution-

 

Given-

  • Total bandwidth = 1.536 Mbps
  • Bandwidth is shared among 24 slots
  • Connection set up time = 500 msec
  • File size = 512 KB

 

Calculating Bandwidth Per User-

 

Total bandwidth = Number of users x Bandwidth per user

So, Bandwidth per user

= Total bandwidth / Number of users

= 1.536 Mbps / 24

= 0.064 Mbps

= 64 Kbps

 

Calculating Transmission Delay-

 

Transmission delay (Tt)

= File size / Bandwidth

= 512 KB / 64 Kbps

=  (512 x 210 x 8 bits) / (64 x 103 bits per sec)

= 65.536 sec

= 65536 msec

 

Calculating Time Required To Send File-

 

Time taken to send a file in circuit switched network

= Connection set up time + Transmission delay

= 500 msec + 65536 msec

= 66036 sec

= 66.036 msec

 

To gain better understanding about Circuit Switching,

Watch this Video Lecture

 

Next Article- Message Switching

 

Get more notes and other study material of Computer Networks.

Watch video lectures by visiting our YouTube channel LearnVidFun.

Checksum in Networking | Checksum Example

Error Detection in Computer Networks-

 

Error detection is a technique that is used to check if any error occurred in the data during the transmission.

 

Some popular error detection methods are-

 

 

  1. Single Parity Check
  2. Cyclic Redundancy Check (CRC)
  3. Checksum

 

In this article, we will discuss about Checksum Method.

 

Checksum-

 

Checksum is an error detection method.

Error detection using checksum method involves the following steps-

 

Step-01:

 

At sender side,

  • If m bit checksum is used, the data unit to be transmitted is divided into segments of m bits.
  • All the m bit segments are added.
  • The result of the sum is then complemented using 1’s complement arithmetic.
  • The value so obtained is called as checksum.

 

Step-02:

 

  • The data along with the checksum value is transmitted to the receiver.

 

Step-03:

 

At receiver side,

  • If m bit checksum is being used, the received data unit is divided into segments of m bits.
  • All the m bit segments are added along with the checksum value.
  • The value so obtained is complemented and the result is checked.

 

Then, following two cases are possible-

 

Case-01: Result = 0

 

If the result is zero,

  • Receiver assumes that no error occurred in the data during the transmission.
  • Receiver accepts the data.

 

Case-02: Result ≠ 0

 

If the result is non-zero,

  • Receiver assumes that error occurred in the data during the transmission.
  • Receiver discards the data and asks the sender for retransmission.

 

Checksum Example-

 

Consider the data unit to be transmitted is-

10011001111000100010010010000100

Consider 8 bit checksum is used.

 

Step-01:

 

At sender side,

The given data unit is divided into segments of 8 bits as-

 

 

Now, all the segments are added and the result is obtained as-

  • 10011001 + 11100010 + 00100100 + 10000100 = 1000100011
  • Since the result consists of 10 bits, so extra 2 bits are wrapped around.
  • 00100011 + 10 = 00100101 (8 bits)
  • Now, 1’s complement is taken which is 11011010.
  • Thus, checksum value = 11011010

 

Step-02:

 

  • The data along with the checksum value is transmitted to the receiver.

 

Step-03:

 

At receiver side,

  • The received data unit is divided into segments of 8 bits.
  • All the segments along with the checksum value are added.
  • Sum of all segments + Checksum value = 00100101 + 11011010 = 11111111
  • Complemented value = 00000000
  • Since the result is 0, receiver assumes no error occurred in the data and therefore accepts it.

 

Also Read- Parity Check

 

Important Notes-

 

Note-01:

 

  • Consider while adding the m bit segments, the result obtained consists of more than m bits.
  • Then, wrap around the extra bits and add to the result so that checksum value consists of m bits.

 

Note-02:

 

  • While calculating the checksum, if checksum value is needed, then assume it to be zero.
  • After calculating the checksum value, substitute the checksum value in the checksum field.
  • This will be required during checksum calculation of IP Header, TCP Header and UDP Header.

 

Note-03:

 

  • The checksum is used in the internet by several protocols although not at the data link layer.

 

Also Read- Cyclic Redundancy Check (CRC)

 

PRACTICE PROBLEM BASED ON CHECKSUM ERROR DETECTION METHOD-

 

Problem-

 

Checksum value of 1001001110010011 and 1001100001001101 of 16 bit segment is-

  1. 1010101000011111
  2. 1011111000100101
  3. 1101010000011110
  4. 1101010000111111

 

Solution-

 

We apply the above discussed algorithm to calculate the checksum.

  • 1001001110010011 + 1001100001001101 = 10010101111100000
  • Since, the result consists of 17 bits, so 1 bit is wrapped around and added to the result.
  • 0010101111100000 + 1 = 0010101111100001
  • Now, result consists of 16 bits.
  • Now, 1’s complement is taken which is 1101010000011110
  • Thus, checksum value = 1101010000011110

 

Thus, Option (C) is correct.

 

To gain better understanding about Checksum Method,

Watch this Video Lecture

 

Next Article- Access Control Methods | Introduction

 

Get more notes and other study material of Computer Networks.

Watch video lectures by visiting our YouTube channel LearnVidFun.