Communication between hosts on an ATM network is usually accomplished through the use of either switched virtual circuits (SVCs) or permanent virtual circuits (PVCs). Through the use of switched virtual circuits, an ATM network can behave almost like a typical circuit-switched network. When PVCs are used, a path must be defined between endpoints across an ATM internetwork, including on intermediary switches. While a PVC provides the benefit of reducing the overhead associated with call setup and teardown, it also limits data to a single path across the network, eliminating redundant paths. In contrast, SVC connections are created on demand – opened as necessary, and then terminated once data transfer is complete.
In an ATM environment, a virtual circuit consists on two different elements – virtual channels, and virtual paths. A virtual channel is an individual circuit that provides a connection between ATM endpoints, such as a client computer and a server. A virtual path is somewhat like a pipe, acting as a multiplexer of individual virtual channels across an ATM network. A virtual path is identified by a number known as a Virtual Path Identifier (VPI), while a Virtual Channel Identifier (VCI) number identifies a particular virtual channel.
As an example, consider the figure below. Two virtual paths across an ATM network are shown in the figure. Each of these virtual paths bundles together multiple virtual channels. The benefit of this model is that virtual paths can be created on an end-to-end basis across an ATM network of switches. Individual virtual channels are not individually switched – instead, all virtual channels that are part of the same virtual path are switched as a single unit. Additional virtual channels can be added to an existing virtual path, thus eliminating the overhead associated with defining additional paths. Similarly, if an ATM switch were to fail, only the virtual path would need to be switched, rather than each individual virtual channel. Both VCI and VPI information is stored in the ATM cell header.
ATM also supports two different types of connections between systems – point-to-point and point-to-multipoint. As its name suggests, a point-to-point connection consists of communication between only two systems. These connections can transfer data in both directions simultaneously over a single virtual circuit – the process being referred to as bidirectional communication. Conversely, a point-to-multipoint connection allows data to be transferred from one host to many hosts. ATM point-to-multipoint connections support unidirectional communication only. A brief comparison of both is provided in the table below.