Open In App

Basic concept of TCP-Vegas

Last Updated : 06 Apr, 2023
Like Article

TCP Reno and TCP Tahoe models can determine the congestion in the network only when there some packet loss occurred in the system. So in these models, we have compensated for the packet to sense the congestion in the network. In these models when packet loss occurs the window size is decreased and the system enters the congestion avoidance phase. 

While TCP Vegas senses the congestion in the network before any packet loss occurs and instantly it decreases the window size. So, TCP Vegas handles the congestion without any packet loss occurring. 

TCP Vegas uses round trip time for the increase or decrease of the congestion window. Expected and current throughput is measured whose difference is compared with some min and max threshold values. On the basis of the comparison we increase, decrease, or don’t change the congestion window. 

After that, some drawbacks of TCP Vegas are explained. These are dealing with finding the difference in the forwarding and backward flow of data, rerouting, etc. So, TCP Vegas does not perform better in these conditions. 

It is proved in some papers after experiments and simulation that TCP Vegas performs 40 -70 percent better than other TCP models like Tahoe and Reno. 

TCP Vegas

It is a completely different approach to bandwidth management and TCP was the first attempt at it. And is based on congestion detection before packet loss occurs. TCP Vegas controls the congestion window by measuring the roundtrip times of the packets. In this, we find the extra data which is measured by subtracting expected data and the actual data in the network. This extra data is compared with two thresholds i.e alpha α and beta β accordingly the window size is increased or decreased. 

So the steps in the algorithm are as follows.  

  • The sender measures the expected flow rate i.e cwnd/BaseRTT. 
  • Then the sender finds the current flow rate by using the actual roundtrip time of the packet. 
  • After that sender computer the extra data in the queue i.e extra data = (expected – actual) * BaseRTT

So, the formula used in TCP Vegas is as follows. 

α <= (expectedOutput-actualOutput)*baseRTT <= β

where -
expectedOutput = window size divided by baseRTT, 
actualOutput = window size divided by currentRTT
baseRTT = It is the minimum RTT measured so far.
extra data in the network = (expectedOutput-actualOutput)*baseRTT

So 3 cases are there as follows. 

  • Case-1 : 
    If extra data in the network is greater than Beta then the window size is decreased. 
  • Case-2 : 
    If extra data in the network is less than alpha then the window size is increased. 
  • Case-3 :
    If extra data lies between closed intervals [alpha, beta] then the window size is not changed. 

After applying one of the above cases, the same cycle is repeated again in the next round, and based on the result window size is decreased, increased, or does not change. When the network is not congested the actual flow rate will be close to the expected flow rate. When the network is congested the actual flow rate will be less than the expected flow rate. TCP Vegas attempts to utilize the network’s bandwidth without congestion in the network. The window size of TCP Vegas converges to a point that lies between w + alpha and w + beta. TCP Vegas has congestion control ability and also gives stability to the network but it can not fully use the bandwidth.

Similar Reads

Vegas A ( Modified TCP-Vegas )
Vegas A is the modification of TCP Vegas. The A in Vegas A stands for adaptive.TCP Vegas has a fixed value of the constant alpha and beta. So it does not do better when it is in connection with TCP Reno. Therefore, in Vegas A these constants are not fixed but change according to the throughput and the extra data in the queue. In the starting, the v
4 min read
TCP with explicit link failure notification (TCP-ELFN)
TCP with Explicit Link Failure Notification (TCP-ELFN) is an end to end approach used in TCP Ad Hoc wireless networks to improve the performance by decoupling the path break information from congestion information. TCP-ELFN does not depend upon any routing protocols as it requires explicitly only the link failure notification when there is a path f
2 min read
TCP Tahoe and TCP Reno
TCP is known as a connection-oriented protocol, which ensures reliability and is also responsible for congestion control mechanisms in the network. TCP Tahoe and TCP Reno are two techniques of TCP congestion control, these are used when the sender receives three duplicate acknowledgments. TCP Tahoe where Tahoe is a lake in the USA. This particular
4 min read
TCP Fast Open and TCP/IP Acceleration
The TCP Fast Open (TFO) and TCP/IP Acceleration are techniques used to improve the performance and efficiency of TCP connections in computer networks. These techniques aim to reduce the latency and improve the throughput of the TCP connections, especially for short-lived connections and web browsing scenarios. TCP Fast Open (TFO): The TCP Fast Open
3 min read
Wrap Around Concept and TCP Sequence Number
Prerequisite - TCP | Services and Segment structure Transmission Control Protocol (TCP) is one of the most important protocols of the internet protocol. It provides full transport-layer service to applications and generates a virtual circuit between sender and receiver that is active for the duration of the transmission. Its segment consists of a T
6 min read
TCP/IP Model
Prerequisite - Layers of OSI Model The OSI Model we just looked at is just a reference/logical model. It was designed to describe the functions of the communication system by dividing the communication procedure into smaller and simpler components. TCP/IP was designed and developed by the Department of Defense (DoD) in the 1960s and is based on sta
10 min read
TCP 3-Way Handshake Process
This could also be seen as a way of how TCP connection is established. Before getting into the details, let us look at some basics. TCP stands for Transmission Control Protocol which indicates that it does something to control the transmission of the data in a reliable way. The process of communication between devices over the internet happens acco
3 min read
TCP Congestion Control
Prerequisites – Basic Congestion control knowledge TCP congestion control is a method used by the TCP protocol to manage data flow over a network and prevent congestion. TCP uses a congestion window and congestion policy that avoids congestion. Previously, we assumed that only the receiver could dictate the sender’s window size. We ignored another
4 min read
TCP Server-Client implementation in C
Prerequisites - Socket Programming in C/C++, TCP and UDP server using select, UDP Server-Client implementation in C If we are creating a connection between client and server using TCP then it has a few functionalities like, TCP is suited for applications that require high reliability, and transmission time is relatively less critical. It is used by
4 min read
TCP Connection Establishment
Prerequisite – TCP 3-Way Handshake Process TCP is a connection-oriented protocol and every connection-oriented protocol needs to establish a connection in order to reserve resources at both the communicating ends. Connection Establishment - 1. Sender starts the process with the following: Sequence number (Seq=521): contains the random initial seque
3 min read
Article Tags :