TCP Vegas, Yeah ,TCP Vegas , Vegas , Hello .

Vegas It's a typical example AIAD algorithm .

I don't always say that AIMD Can we converge to fairness ? This is based on cybernetics ,AIAD,MIMD In any case, it is impossible to converge , They either spin around , Or positive feedback to completely out of control .

Do you know why your magic changes make things worse ? Because you don't know cybernetics , Your magic may have caused positive feedback , It's like putting the microphone on the speaker .

however Vegas That's one AIAD Algorithm .

Why Vegas?

Other algorithms are implemented when the synchronization point is reached Decrease Operational , however Vegas The synchronization point of is distributed , So in any single connection , We can't see this synchronization point .Vegas Signals that do not recognize congestion , It is automatically adjusted during operation , So as to avoid congestion ,
Reno Is congestion identified ( Synchronization point ) Then congestion control is carried out ,Vegas It is to avoid congestion completely .

Vegas It's simple , It constantly measures the difference between the expected bandwidth and the actual bandwidth , This difference is used to adjust the sending window .Vegas The specific details of are not the content of this article , This article mainly introduces Vegas The fairness of the market .

The previous convergence graph is still used , Let's take a look Vegas How to converge .

Vegas What is the difference from other algorithms , Other algorithms all meet the synchronization point and converge together ,Vegas There is no need for such a convergence point .

So I can't draw the simple convergence graph , The master plan can only be made in the convergence area :

It can be seen that , according to Vegas algorithm , The windows of both flows converge to 11,12 Two areas , This is clearly fair .

My drawing is not good , Because of the blue , The orange line is supposed to be part of the hyperbola , however drawio It's really hard to draw this kind of curve , It can only be simulated by straight line splicing .

What is the meaning of hyperbola ,w1 and w2 Add together to fill in bandwidth and buffer, It's just solving an equation :

α ≤ D i f f = C w n d R T p r o p − C w n d R T T ≤ β \alpha\le
Diff=\dfrac{Cwnd}{RTprop}-\dfrac{Cwnd}{RTT}\le \betaα≤Diff=RTpropCwnd​−RTTCwnd​≤

final , We found that 1,2,3,4 region ,w1 yes AI Of , stay 6,7,8,9 region ,w1 yes AD Of , In the same way w2 It's the same with the dynamics , final , We found that w1 and w2 Average direction 11,12 Area close , They can only move towards this area , And in this area , We found that ,w1 and w2 It's fair !

La La La , This is the manager , That's fairness .Vegas So converge to fairness .

We can see from the front , Whatever it is Reno family ( include BIC/CUBIC) still Westwood,BBR They all have a definite convergence point , The synchronization operation is performed at this convergence point , So as to ensure convergence to fairness , however Vegas There is no such convergence point ,Vegas It's self-conscious , Conscious synchronization .

So it seems to me , If it's all over the network Vegas, That's the right thing to do . However, as long as there is an algorithm that the flow is adjusted unconsciously , such as Reno,CUBIC, that Vegas It's going to end ,Vegas meet Reno/CUBIC, It's like TCP meet UDP equally , The root cause is ,
Vegas Not with other algorithms “ synchronization ”, let me put it another way ,Vegas I don't know what it's like “ synchronization ”.

If there are others, take other algorithms TCP The stream took over buffer,Vegas I will understand this reality according to my own logic ,“ It shouldn't be , This guy's Diff It's big enough , The window will be reduced soon ”, But in fact , These streams are not Vegas streams at all …

Wet leather shoes in Wenzhou, Zhejiang Province , If it rains, you won't get fat .

©2019-2020 Toolsou All rights reserved,
Huawei 2021 session Hardware Engineer Logical post (FPGA) Super detailed surface !!!Vue-element-admin upgrade ui edition virtual machine VMware Download and install the most detailed tutorial !C++ Move constructor and copy constructor sound of dripping water java Backstage interview pygame Realize full screen mode and adjustable window size mysql Database setting character set configuration modification my.ini file (windows)30 What's the experience of being a junior programmer at the age of 20 C++ Multithreading programming ( Summary of common functions and parameters )python_ cherry tree