Virtual Circuit and Datagram Networks

Virtual Circuit and Datagram Networks

Recall from "Transport Layer" that a transport layer can offer applications connectionless service or connection-oriented service. For instance, the Internets transport layer provides each application a choice between two services: UDP, a connectionless service; or TCP, a connection-oriented service. Similarly, a network layer can also provide connectionless service or connection service. Network-layer connection and connectionless services in many ways parallel transport-layer connection-oriented and connectionless services. For instance, a network-layer connection service begins with handshaking between the source and destination hosts; and a network-layer connectionless service does not have any handshaking preliminaries.

Though the network-layer connection and connectionless services have some parallels with transport-layer connection and connectionless services have some parallels with transport-layer connection-oriented and connectionless services, there are crucial differences:

●  In the network layer these services are host-to-host services provided by the network layer to the transport layer. In the transport layer these services are process-to-process services provided by the transport layer to the application layer.

●  In all major computer network architectures to date (Internet, ATM, frame relay, and so on), the network layer provides either a host-to-host connectionless service or a host-to-host connection service, but not both. Computer networks that provide only a connection service at the network layer are called virtual-circuit (VC) networks; computer networks that provide only a connectionless service at the network layer are called datagram networks.

●  The implementations of connection-oriented service in the transport layer and the connection service in the network layer are basically different. We saw in the "Transport Layer" that the transport-layer connection-oriented service is implemented at the edge of the network in the end systems; well see shortly that the network-layer connection service is implemented in the routers in the network core as well as in the end systems.

Virtual-circuit and datagram networks are two basic classes of computer networks. They use very different information in making their forwarding decisions. Lets now take a closer look at their implementations.

Virtual-Circuit Networks


We have studied that the Internet is a datagram network. On the other hand, many alternative network architectures - including those of ATM and frame relay are virtual-circuit networks and, therefore, use connections at the network layer. These network-layer connections are called virtual circuits (VCs). Let's now examine how a VC service can be implemented in a computer network.

AVC consists of (1) a path (that is, a series of links and routers) between the source and destination hosts, (2) VC numbers, one number for each link along the path, and (3) entries in the forwarding table in each router along the path. A packet belonging to a virtual circuit will carry a VC number in its header. Because a virtual circuit may have a different VC number on each link, each intervening router must replace the VC number of each traversing packet with a new VC number. The new VC number is obtained from the forwarding table.

To demonstrate the concept, look at the network illustrated in Figure 1. The numbers next to the links of R1 in Figure 1 are the link interface numbers. Assume now that Host A requests that the network establish a VC between itself and Host B. Assume also that the network chooses the path A-R1-R2-B and assigns VC numbers 12,22. and 32 to the three links in this path for this virtual circuit. In this case, when a packet in this VC leaves Host A, the value in the VC number field in the packet header is 12: when it leaves R1, he value is 22; and when it leaves R2, the value is 32.

How does the router determine the replacement VC number for a packet traversing the router? For a VC network, each router's forwarding table contains VC

A simple virtual circuit network

number translation; for instance, the forwarding table in R1 might look something like this:

forwarding table

Whenever a new VC is established across a router, an entry is added to the forwarding table. Likewise, whenever a VC ends, the appropriate entries in each table along its path are removed.

You might be wondering why a packet doesn't just keep the same VC number on each of the links along its route. The answer is twofold. First, replacing the number from link to link reduces the length of the VC field in the packet header. Second, and more importantly, VC setup is very much simplified by permitting a different VC number at each link along the path of the VC. Particularly, with several VC numbers, each link in the path can choose a VC number independently of the VC numbers chosen at other links along the path. If a common VC number were needed for all links along the path, the routers would have to exchange and process a considerable number of messages to agree on a common VC number (e.g., one that is not being used by any other existing VC at these routers) to be used for a connection.

In a VC network, the network's routers must maintain connection state information for the ongoing connections. Particularly, each time a new connection is established across a router, a new connection entry must be added to the router's forwarding table; and each time a connection is released, an entry must be removed from the table. Note that even if there is no VC-number translation, it is still necessary to maintain connection state information that associates VC numbers with output interface numbers. The issue of whether or not a router maintains connection state information for each ongoing connection is a crucial one - one that we'll return to repeatedly in this blog.

There are three identifiable phases in a virtual circuit:

●  VC setup. During the setup phase, the sending transport layer contacts the network layer, specifies the receiver's address, and waits for the network to set up the VC. The network layer determines the path between sender and receiver, that is, the series of links and routers through which all packets of the VC will travel. The network layer also determines the VC number for each link along the path. Eventually, the network layer adds an entry in the forwarding table in each router along the path. During VC setup, the network layer may also reserve resources (for example, bandwidth) along the path of the VC.

●  Data transfer. As shown in Figure 2, once the VC has been established, packets can begin to flow along the VC.

●  VC teardown. This is initiated when the sender (or receiver) informs the network layer of its desire to terminate the VC. The network layer will then typically inform the end system on the other side of the network of the call termination and update the forwarding tables in each of the packet routers on the path to indicate that the VC no longer exists.

There is a subtle but important distinction between VC setup at the network layer and connection setup at the transport layer (for instance, the TCP three-way handshake we studied in "Transport Layer"). Connection setup at the transport layer involves only the two end systems. During transport-layer connection setup, the two end systems alone determine the parameters (for instance, initial sequence number and flow-control window size) of their transport-layer connection. Although the two end systems are aware of the transport-layer connection, the routers within the network are completely obvious to it. However, with a VC network layer, routers along the path between the two end systems are involved in VC setup, and each router is fully aware of all the VCs passing through it.

The messages that the end systems send into the network to initiate or terminate a VC, and the messages passed between the routers to set up the VC (that is, to modify connection state in router tables) are known as signaling messages, and the protocols used to exchange these messages are frequently referred to as signaling protocols. VC setup is illustrated pictorially in Figure 2.

Virtual-circuit setup


Tags

virtual-circuit networks, datagram networks, forwarding table, signaling messages, signaling protocols

Copy Right

The contents available on this website are copyrighted by TechPlus unless otherwise indicated. All rights are reserved by TechPlus, and content may not be reproduced, published, or transferred in any form or by any means, except with the prior written permission of TechPlus.