Avirtual circuit (VC) is a means of transporting data over a data network, based onpacket switching and in which a connection is first established across the network between two endpoints. The network, rather than having a fixed data rate reservation per connection as incircuit switching, takes advantage of thestatistical multiplexing on its transmission links, an intrinsic feature of packet switching.
Before a virtual circuit may be used, it must be established betweennetwork nodes in thecall setup phase. Once established, abit stream orbyte stream may be exchanged between the nodes, providing abstraction from low-level division intoprotocol data units, and enabling higher-level protocols to operate transparently.
An alternative to virtual-circuit networks aredatagram networks.
Virtual circuit communication resemblescircuit switching, since both areconnection oriented, meaning that in both cases data is delivered in correct order, and signaling 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:
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 ofstatistical multiplexing, etc.
acall set-up procedure and a call disengagement procedure determine the period of communication between twoDTEs in whichuser data are transferred by apacket switched network
end-to-endtransfer control of packets within the network is required
Connection orientedtransport layer protocols such asTCP[7][8] may rely on a connectionless packet switching network layer protocol such asIP, 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,[8][9][10] since TCP includes segment numbering that allows reordering on the receiver side to accommodate out-of-order delivery.
Data link layer andnetwork layer virtual circuit protocols are based on connection-orientedpacket 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:
Bandwidth reservation during the connection establishment phase is supported, making guaranteedquality of service (QoS) possible. For example, aconstant bit rate QoS class may be provided, resulting in emulation ofcircuit switching.
Less overhead is required since the packets are not routed individually and complete addressing information is not provided in the header of each data packet. Only a smallvirtual channel identifier (VCI) is required in each packet. Routing information is only transferred to the network nodes during the connection establishment phase.
The network nodes are faster and have higher capacity in theory since they are switches that only perform routing during the connection establishment phase, while connectionless network nodes are routers that perform routing for each packet individually. Switching only involves looking up the virtual channel identifier in a table rather than analyzing a complete address. Switches can easily be implemented inASIC hardware, while routing is more complex and requires software implementation. However, because of the large market of IP routers, and because advanced IP routers supportlayer 3 switching, modern IP routers may today be faster than switches for connection-oriented protocols.
Examples of transport layer protocols that provide a virtual circuit:
Transmission Control Protocol (TCP), where a reliable virtual circuit is established on top of the underlying unreliable and connectionless IP protocol. The virtual circuit is identified by the source and destinationnetwork socket address pair, i.e. the sender and receiver IP address and port number. Guaranteed QoS is not provided.
Multiprotocol Label Switching (MPLS), which can be used for IP over virtual circuits. Each circuit is identified by a label. MPLS is unreliable but provides eight different QoS classes.
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, apermanent virtual circuit (PVC) can be established as an option to provide adedicated circuitlink 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 sameDTE. In a PVC, the long-term association is identical to the data transfer phase of avirtual call. Permanent virtual circuits eliminate the need for repeated call set-up andclearing.
Frame Relay is typically used to provide PVCs.
ATM provides bothswitched virtual connections andpermanent virtual connections, as they are called in ATM terminology.
X.25 provides bothvirtual calls and PVCs, although not all X.25 service providers or DTE implementations support PVCs as their use was much less common than SVCs
^R. Despres, "A packet switching network with graceful saturated operation", in Computer Communications: Impacts and Implications, S. Winkler, Ed. Washington, D.C., 1972