In telecommunications and computer networks, a virtual circuit (VC), synonymous with virtual connection and virtual channel, is a connection oriented communication service that is delivered by means of packet mode communication. After a connection or virtual circuit is established between two nodes or application processes, a bit stream or byte stream may be delivered between the nodes; a virtual circuit protocol allows higher level protocols to avoid dealing with the division of data into segments, packets, or frames.
Virtual circuit communication resembles circuit switching, since both are connection oriented, meaning that in both cases data is delivered in correct order, and signalling overhead is required during a connection establishment phase. However, circuit switching provides constant bit rate and latency, while these may vary in a virtual circuit service because of reasons such as:
- varying packet queue lengths in the network nodes,
- varying bit rate generated by the application,
- varying load from other users sharing the same network resources by means of statistical multiplexing, etc.
Many virtual circuit protocols, but not all, provide reliable communication service, by means of data retransmissions because of error detection and automatic repeat request (ARQ).
Layer 4 virtual circuits
Connection oriented transport layer datalink protocols such as TCP may rely on a connectionless packet switching network layer protocol such as IP, where different packets may be routed over different paths, and thus be delivered out of order. However, a virtual circuit is possible since TCP includes segment numbering and reordering on the receiver side to prevent out-of-order delivery.
Layer 2/3 virtual circuits
Network layer and datalink layer virtual circuit protocols are based on connection oriented packet switching, meaning that data is always delivered along the same network path, i.e. through the same nodes. Advantages with this over connectionless packet switching are:
Full article ▸