Differences between Virtual Circuits and Datagram Networks
Computer networks that provide connection-oriented services are called Virtual Circuits while those providing connection-less services are called Datagram networks. For prior knowledge, the Internet which we use is actually based on a Datagram network (connection-less) at the network level as all packets from a source to a destination do not follow the same path.
Let us see what are the highlighting differences between these two hot debated topics here:
|Criteria||Virtual Circuit Networks||Datagram Networks|
|Connection Establishment||Prior to data transmission, a connection is established between sender and receiver.||No connection setup is required.|
|Routing||Routing decisions are made once during connection setup and remain fixed throughout the duration of the connection.||Routing decisions are made independently for each packet and can vary based on network conditions.|
|Flow Control ||Uses explicit flow control, where the sender adjusts its rate of transmission based on feedback from the receiver.||Uses implicit flow control, where the sender assumes a certain level of available bandwidth and sends packets accordingly.|
|Congestion Control||Uses end-to-end congestion control, where the sender adjusts its rate of transmission based on feedback from the network.||Uses network-assisted congestion control, where routers monitor network conditions and may drop packets or send congestion signals to the sender.|
|Error Control||Provides reliable delivery of packets by detecting and retransmitting lost or corrupted packets.||Provides unreliable delivery of packets and does not guarantee delivery or correctness.|
|Overhead||Requires less overhead per packet because connection setup and state maintenance are done only once.||Requires more overhead per packet because each packet contains information about its destination address and other routing information.|
|Example Protocol||ATM, Frame Relay||IP (Internet Protocol)|
- It is connection-oriented, meaning that there is a reservation of resources like buffers, CPU, bandwidth, etc. for the time in which the newly setup VC is going to be used by a data transfer session.
- The first sent packet reserves resources at each server along the path. Subsequent packets will follow the same path as the first sent packet for the connection time.
- Since all the packets are going to follow the same path, a global header is required. Only the first packet of the connection requires a global header, the remaining packets generally don’t require global headers.
- Since all packets follow a specific path, packets are received in order at the destination.
- Virtual Circuit Switching ensures that all packets successfully reach the Destination. No packet will be discarded due to the unavailability of resources.
- From the above points, it can be concluded that Virtual Circuits are a highly reliable method of data transfer.
- The issue with virtual circuits is that each time a new connection is set up, resources and extra information have to be reserved at every router along the path, which becomes problematic if many clients are trying to reserve a router’s resources simultaneously.
- It is used by the ATM (Asynchronous Transfer Mode) Network, specifically for Telephone calls.
Datagram Networks :
- It is a connection-less service. There is no need for reservation of resources as there is no dedicated path for a connection session.
- All packets are free to use any available path. As a result, intermediate routers calculate routes on the go due to dynamically changing routing tables on routers.
- Since every packet is free to choose any path, all packets must be associated with a header with proper information about the source and the upper layer data.
- The connection-less property makes data packets reach the destination in any order, which means that they can potentially be received out of order at the receiver’s end.
- Datagram networks are not as reliable as Virtual Circuits.
- The major drawback of Datagram Packet switching is that a packet can only be forwarded if resources such as the buffer, CPU, and bandwidth are available. Otherwise, the packet will be discarded.
- But it is always easy and cost-efficient to implement datagram networks as there is no extra headache of reserving resources and making a dedicated each time an application has to communicate.
- It is generally used by the IP network, which is used for Data services like the Internet.
This article is contributed by Vishesh Bajpai. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.