Computer networks that provide connection-oriented service are called Virtual Circuits while those providing connection-less services are called as Datagram networks. For prior knowledge, the Internet which we use is actually based on Datagram network (coonection-less) at network level as all packets from a source to a destination do not follow same path.
Let us see what are the highlighting differences between these two hot debated topics here:
- It is connection-oriented simply 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.
- First packet goes and reserves resources for the subsequent packets which as a result follow the same path for the whole connection time.
- Since all the packets are going to follow the same path, a global header is required only for the first packet of the connection and other packets generally don’t require global headers.
- Since data follows a particular dedicated path, packets reach inorder to the destination.
- From above points, it can be concluded that Virtual Circuits are highly reliable means of transfer.
- Since each time a new connection has to be setup with reservation of resources and extra information handling at routers, its simply costly to implement Virtual Circuits.
Datagram Networks :
- It is connectionless service. There is no need of reservation of resources as there is no dedicated path for a connection session.
- All packets are free to go to any path on any intermediate router which is decided on the go by 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 source and the upper layer data.
- The connectionless property makes data packets reach destination in any order, means they need not reach in the order in which they were sent.
- Datagram networks are not reliable as Virtual Circuits.
- 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.
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
- Computer Network | User Datagram Protocol (UDP)
- Network Layer | Introduction and IPv4 Datagram Header
- Network Layer | IPv4 Datagram Fragmentation and Delays
- Difference between Synchronous and Asynchronous Sequential Circuits
- Differences between JDK, JRE and JVM
- Differences between TCP and UDP
- Differences between IPv4 and IPv6
- What are the differences between HTTP, FTP, and SMTP?
- Similarities and Differences between Ruby and C++
- Differences between Bootstrap and JQuery UI
- Differences between 8086 and 8088 microprocessors
- Differences between Flatten() and Ravel() | Numpy
- Similarities and Differences between Ruby and C language
- Differences between wait() and join() methods in Java
- Differences between TreeMap, HashMap and LinkedHashMap in Java