This article may be too technical for most readers to understand. Please help improve it to make it understandable to non-experts, without removing the technical details. (August 2012) (Learn how and when to remove this template message)

A virtual circuit (VC) is a means of transporting data over a data network, based on packet switching and in which a connection is established within the network between two endpoints. The network, rather than having a fixed data rate reservation per connection, like in circuit switching, takes advantage of the statistical multiplexing on its transmission links (an intrinsic feature of packet switching, well suited to data traffic). In addition, VCs standardized by the CCITT in 1976 impose per-connection flow controls at all user-to-network and network-to-network interfaces. They thus eliminate the need for the network to lose user packets in heavily loaded network zones, an intrinsic feature of datagram networks for their congestion control.[1][2]

Before a connection or virtual circuit may be used, it must be established between two or more nodes or software applications by means of call setup. After that, a bit stream or byte stream may be delivered between the nodes; hence, a virtual circuit protocol allows higher-level protocols to avoid dealing with the division of data into Protocol data units.

Many virtual circuit protocols, but not all, provide reliable communication service through the use of data retransmissions invoked by error detection and automatic repeat request (ARQ).

An alternative to virtual-circuit networks are datagram networks.[3]

Comparison with circuit switching

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 a constant bit rate and latency, while these may vary in a virtual circuit service due to factors such as:

Virtual call capability

In telecommunication, a virtual call capability, sometimes called a virtual call facility, is a service feature in which:

An alternative approach to virtual calls is connectionless communication using datagrams.[3]

In the 1970s, the "virtual call" concept was used in the British EPSS and enhanced by Rémi Després as "virtual circuits" in the French RCP.[4][5]

Layer 4 virtual circuits

Connection oriented transport layer protocols such as TCP[6][7] 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, it is possible to use TCP as a virtual circuit,[7][8][9] since TCP includes segment numbering that allows reordering on the receiver side to accommodate out-of-order delivery.

Layer 2/3 virtual circuits

Data link layer and network 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:

Example protocols

Examples of transport layer protocols that provide a virtual circuit:

Examples of network-layer and data-link-layer virtual circuit protocols, where data always is delivered over the same path:

Permanent and switched virtual circuits in ATM, Frame Relay, and X.25

Switched virtual circuits (SVCs) are generally set up on a per-call basis and are disconnected when the call is terminated; however, a permanent virtual circuit (PVC) can be established as an option to provide a dedicated circuit link between two facilities. PVC configuration is usually preconfigured by the service provider. Unlike SVCs, PVC are usually very seldom broken/disconnected.

A switched virtual circuit (SVC) is a virtual circuit that is dynamically established on demand and is torn down when transmission is complete, for example after a phone call or a file download. SVCs are used in situations where data transmission is sporadic and/or not always between the same data terminal equipment (DTE) endpoints.

A permanent virtual circuit (PVC) is a virtual circuit established for repeated/continuous use between the same DTE. In a PVC, the long-term association is identical to the data transfer phase of a virtual call. Permanent virtual circuits eliminate the need for repeated call set-up and clearing.

See also


  1. ^ "X.25 - Interface between Data Terminal Equipment (DTE) and Data Circuit-terminating Equipment (DCE) for terminals operating in the packet mode and connected to public data networks by dedicated circuit". ITU-T. October 1976.
  2. ^ Rybczynski, A; Wessler, B; Després, R; Wedlake, J (1976-06-07). AFIPS (ed.). "A new communication protocol for accessing data networks - The international packet-mode interface". Proceedings of the June 7-10, 1976, National Computer Conference and Exposition on - Afips '76. doi:10.1145/1499799.1499869. S2CID 8790311.
  3. ^ a b Tanenbaum, Andrew S.; Wetherall, David J. (2011). Computer Networks (5th international ed.). p. 361. ISBN 978-0-13-255317-9.
  4. ^ Smith, Ed; Miller, Chris; Norton, Jim (2017). "Packet Switching: The first steps on the road to the information society". National Physical Laboratory.
  5. ^ "RCP, The Experimental Packet-Switched Data Transmission Service of The French PTT".
  6. ^ RFC 793
  7. ^ a b RFC 1180
  8. ^ RFC 955
  9. ^ RFC 1644
  10. ^ ITU-T, B-ISDN ATM Adaptation Layer specification: Type 3/4 AAL, Recommendation I.363.3 (08/96), International Telecommunication Union, 1996, p5.
  11. ^ ITU-T, B-ISDN ATM Adaptation Layer specification: Type 5 AAL, Recommendation I.363.5 (08/96), International Telecommunication Union, 1996, p5.