What is virtual circuit switching?
You may be familiar with circuit switching. The circuit switching process involves reserving a dedicated path between two communicating parties. There may be multiple intermediate hops on the way. Every hop involves the joining of an incoming line with an outgoing line.
The reserved channel cannot be shared with any other communication flow, either partially or fully.
What is a virtual circuit?
A virtual circuit is a logical path that connects two endpoints over a shared underlying packet-switched network(e.g., the Internet). All packets follow the same path during data transfer.
Although there is no dedicated reservation of links, it appears that a physical path has been reserved between the communicating parties. So that’s why it’s called a virtual circuit.
Because it is a shared network, other parallel streams of packets may also share the same network partially or fully. Frame Relay is one example of for virtual switching network.
How and when do the virtual circuit forms?
Once two parties decide to start a communication, both ends set up a virtual connection end to end by using a handshake procedure. During the setup phase, each intermediate node makes an entry in the routing table for all packets that would associate with the connection.
Packets may be identified with an integer identifier. There could be other Quality of Service level parameters agreed upon connection setup.
After completing the data transfer, both sides close the connection. All resources for the circuit are freed and now available to others.
What are the Advantages and Disadvantages of virtual circuit switching?
Any advantage or disadvantage depends primarily on the use case. The voice call, for example, is always circuit-switched. Prior to any voice media exchange, there should be a signaling procedure to establish a circuit. Nevertheless, we must consider a few points.
- All packet travels via the same path, so there will not be any sequencing problems that an application should take care of.
- Better utilization of underlying bandwidth, as each packet needs only to carry a circuit identifier in place of the full address. This enables more data transfer on the same channel capacity.
- Controlling communication means each end knows when to start and when to stop.
- Network resources are pre-allocated to avoid occurrences of congestion.
- Option for Quality of service negotiation before the start of actual data transfer.
- A lost packet can be detected and retransmitted using connection-oriented protocols, e.g., TCP. So it’s reliable communication.
- All intermediate nodes should have the capability for virtual circuit switching.
- The resources are reserved, so a new connection may need to wait longer.