What are Circuit Switching and Packet Switching in networking?
This blog explains the protocols used for Circuit Switching (voice call) and Packet Switching (Data or VoIP) communications.
What is Packet Switching
What is Circuit Switching
Circuit Switching vs. Packet Switching
What is the definition of a circuit??
A circuit is a dedicated or reserved path between two endpoints. Two entities may connect directly, or there can be multiple hops between. For voice in PSTN, SS7 is the protocol for a voice circuit. It has E1/T1 trunks between two endpoints (SSP or telephone exchange).
During the call, an SSP reserves a voice circuit. If calling and called SSPs connects directly, then one E1/T1 physical line connects directly to watch other if it is via other intermediate SSPs, and multiple physical lines create a voice path.
Example:
There are two cities named A and C. But there is no direct link between telephony switching centers located in these cities. There is an intermediate exchange named B located between A and C. During a call setup from A to C, a physical circuit is reserved between A and B and then between B and C. All further communications between A and C will be via B.
What is Circuit Switching?
In circuit switching, a dedicated channel or path is required in both directions before any communication starts. The channel may be direct or via many hopes. Data flows in the form of bytes and bits. The Call setup over PSTN is one example. In this, a voice circuit is reserved from a voice trunk. The Signaling used is ISUP over E1/T1. ISUP belongs to the SS7 protocol suit. SS7 switching reserves a fixed bandwidth for communication in both directions. The circuit bandwidth is fixed in voice calls according to the E1 or T1 channel.
ISUP Call Setup:
In this section, we explain the circuit switching example with the example of the ISUP protocol. ISUP protocol belongs to the legacy SS7 protocol for voice call signaling. When a mobile user dials a number, the originating SSP starts ISUP signaling. A channel is reserved from the originating to the terminating switching center. A new channel is allocated if another call is initiated from the same switching center. A channel is identified by CIC ( Channel Identification Code).
What is Packet?
A packet has user data and a protocol header. The header has information that is used by the protocol to provide services to its user. The protocol header may have routing and other information. Routing information has a source and destination address. The routing decisions are taken on every intermediate node or router. For example, if a person calls from India to the USA over an IP phone. The source address in the packet is the IP address of the caller in India, and the destination address is the phone’s IP address in the USA. The packet is routed via many routes (e.g., the router in the UK).
What is Packet Switching
In packet switching, no dedicated circuit is reserved before any communication. Data from one node to another flows in terms of packets. The data is divided into small packets. Each packet has a full source and destination address in the packet header, and user data, intermediate nodes, or routers route packets based on the destination header parameter.
In telecom, the VoIP call is an example of packet switching. RTP (Real-Time Protocol) endpoints are set in these two, and no dedicated channels are set up for voice packets.
After the Setup of endpoints, the same IP ( lines, router, etc.) network can be used for multiple calls.
Example Of Voip Call setup with SIP or Session Initiation Protocol. The SIP uses UDP over IP. This is a signaling protocol in a VoIP network. If setup RTP endpoints for media flow from source to destination. RTP also uses UDP over IP.
Difference between circuit switching and packet switching/circuit switching vs. packet switching
- Circuit switching has a resource reservation, while packet switching has no resource reservation.
- In Packet switching, data is divided into small units called packets. These packets can take a path that is shared by other packet-switching nodes. In-Circuit Switching, if there is no communication, there is no data on a dedicated channel.
- In-Circuit switching, the resources are reserved for a call or circuit. If the call is idle, there will be no circuit utilization from any other call. This makes circuit switching less efficient for resource utilization. While in circuit switching, the same resources or bandwidth can share by multiple calls. This makes packet switching more efficient.
- Because of resource reservations in circuit switching, the Quality Of Service is guaranteed. While in packet switching, Quality of Service is not guaranteed.
- Packet Switching is more cost-effective as compared to circuit switching due to the sharing of resources.
- In packet-based switching, each packet follows a different path. Routing decisions are made on each intermediate node or router.
- The user gets the indication if communication is lost in the circuit, while a packet-based network does not.
Virtual Circuit Switching:
This is the way to achieve circuit-switching type communication over a packet-switching network. At this software level, resources (e.g., message window) are fixed for a circuit, while physical resources (e.g., IP link, IP routers ) are shared among multiple circuits. In Virtual Circuit Switching, a connection is set up over the network. A virtual Circuit gives the impression to the user that there is a dedicated path reserved from source to destination.
Functionalities of Virtual Circuit Switching.
Data Segmentation to meet the requirements of the underlying packet switching network.
Data Reassembly to deliver a complete message the same as it was sent from the originator.
Retransmission is done by sending a packet again, which has been lost on the underlying packet switching network.
Flow Control is to avoid packet loss due to congestion in-network or a slow receiver.
In Virtual Circuit switching, a connection is set up before any user data. While in a packet network no setup of initial connection.
In Virtual Circuit switching, a user application on the receiving side receives in the same order as they send, while this is not in packet switching.
Example of Virtual Circuit Switching Protocols:
TCP is the transport layer protocol. Used to set up a virtual connection between source and destination applications. TCP uses the underlying IP layer, which is an implementation of a packet-switching network layer. A connection identifier identifies the TCP connection. Each connection is a unique pair of TCP endpoints. A TCP endpoint is the pair of an IP address and port.
Example of Virtual Circuit:
Suppose two machines are connected via a packet-switched network (e.g., IP) over port 3002. The machines have Ip addresses 192.168.1.3 and 192.168.1.4.
The Endpoint on machine one is {192.168.1.3, 3002}. The Endpoint on the second machine will be {192.168.1.4, 3002}
TCP Connection (a pair of endpoints) will be [{192.168.1.3, 3002}, {192.168.1.4, 3002}].
SCTP, or Stream Control Transmission Protocol, is a transport layer protocol. This is more reliable than TCP. It is used for setting up a virtual connection. The Endpoint in SCTP may have more than one IP address as SCTP provides the multi-homing capability.
Circuit Network to Packet Network Conversion:
As we have seen that a call can be connected from a packet-based network to a circuit-based network and vice versa. This is possible via using a gateway between two types of networks. VoIP to PSTN is one of the examples where an IP phone (even VoIP software ) can call a PSTN-based device. The gateway does the Isup/ss7 signaling to SIP/IP conversion and the conversion of media packets too.