当前位置:网站首页>Advanced Computer Network Review(3)——BBR
Advanced Computer Network Review(3)——BBR
2022-07-06 09:02:00 【Zheyuan Zou】
This is the third in the review series , It mainly combs BBR Some key points related to congestion control , The review points given by the teacher are as follows :
1. be based on loss What is the problem of congestion control ? Why? ?
2. Understand the following figure 
The carding part of this article refers to Zheng Zhi, a teacher at the University of science and technology of China 《 Advanced computer networks 》 Relevant parts of , Hereby declare .
One 、 be based on loss What is the problem of congestion control ? Why? ?
stay BBR Not before , Some previous congestion control protocols ( Such as Reno、Cubic) And so on are based on the packet loss rate (loss) Of , That is, it will loss As a measure of whether the network is congested , The more packets are lost per unit time , The protocol will simply consider the network The more serious the congestion is , Thus, a series of actions will be carried out .
This simple is based on loss The effect of congestion control method in early Internet is acceptable , Because the network connection at that time was Wired low bandwidth links Mainly , And the network switching node buffer It's not that big . But with the continuous progress of the network , be based on loss The congestion control method of began to become no longer applicable :
1.1. The bandwidth oscillates violently , Throughput is very low
First, with the network The increasing link bandwidth and the widespread use of wireless links , The possibility of packet loss on the link is greatly increased ( Packet loss due to error 、 Packet loss due to unstable wireless link ). If you still simply think of packet loss at this time = congestion , It will lead to Violent oscillation of transmission bandwidth A lot of things happen .
The reason for the violent oscillation is tradition TCP Congestion control AIMD Characteristics of ( Additive increase 、 Multiplicative subtraction ), The protocol entity itself tentatively increases its sending window size a little when it is not congested , Once encountering congestion, the sending window will plummet to half of the original, which will cause severe bandwidth oscillation , The actual throughput is not high .
1.2. High delay
The essence of high latency is with the development of network equipment , Of each device in the link buffer The size is also increasing , because Data temporarily cached due to busy links It has also become more .
Be careful , Once on the device buffer Start caching data , At this time, link congestion has essentially occurred , An idealized congestion control protocol should start adjusting immediately . But for based on loss In terms of Congestion Control Protocol , It must wait until packet loss occurs before it starts congestion control . At the beginning of packet loss, it means that the device buffer on the path link has also burst , It has been a long time since congestion occurred , At this time, it is already very late to start congestion control . This is the meaning of the two key points in the above figure ( Circle with a red box ):
1.3. Aggressive
All based on loss Congestion control protocols always tend to Squeeze the buffer and then retreat , This aggressive behavior will not be based on loss The congestion control protocol of completely ejects the network , Make it unable to get effective bandwidth guarantee , It has greatly damaged the fairness of the network .
2.BBR How to do congestion control
First BBR The full name is (Bottleneck Bandwidth and Round-trip propagation time), be based on Bottleneck link bandwidth and round trip propagation delay Congestion Control Protocol .BBR There are two essentials of action : One is based on BDP( Let's introduce ) To control the link inflight Of traffic , The second is to control the packet sending rhythm according to the bottleneck link bandwidth , Make it Adapt to BtlBW The change of .
Bottleneck link , seeing the name of a thing one thinks of its function , It refers to the entire communication link The link with the smallest bandwidth , It is the source of the whole communication link - The decisive factor of target throughput , If there is congestion , In the bottleneck link, the cache of packets will occur first , Its bandwidth is called Bottleneck link bandwidth (BtlBW).
Round trip propagation delay (RTprop) The Internet Completely light load ( There is no waiting time ) Sum of round-trip propagation delay of time . The product of these two is defined as B D P = B t l B W × R T p r o p BDP = BtlBW \times RTprop BDP=BtlBW×RTprop. You can imagine seeing BDP That means When the network does not produce congestion , Accumulate (inflight) The maximum amount of data in the whole link .
however BtlBW and RTprop Is in constant change , This needs to be BBR The protocol itself constantly measures these two values , Go ahead in time BDP Calculation and control of . How to do this Measurement of two quantities 、 How to base on BtlBW Bandwidth for rhythm adjustment 、 How to base on BDP Control link inflight Traffic ( It's based on BDP To set up TCP In the message cwnd Field ) They are all details in the agreement , It is not intended to analyze the details of the agreement in detail here ( It's a long and trivial story , If you have time, write slowly , But digging a hole seems to be something I've never filled in :).
BBR The protocol divides the whole communication process into 3 Stages : Application limited stage 、 Bandwidth constrained phase 、 Cache restricted phase :
2.1 Application limited stage
The application restricted stage is circled in yellow below :
In the application limited stage , The network link is in a light load state , How fast you can send depends on how fast the application wants to send , At this time Round trip delay is exactly equal to RTprop No queuing time , Because of light load ). and Delivery rate ( Number of packets successfully sent per unit time ) It is also similar to what the application side injects into the network inflight The flow is positively correlated , The slope is 1 R T p r o p \frac{1}{RTprop} RTprop1.
2.2 Bandwidth constrained phase
As applications inject data faster , The network begins to enter the stage of bandwidth limitation from the stage of application limitation . Pay attention to both Transition point inflight The flow is just BDP, This is the best action point for congestion control . After this point, it will enter the stage of bandwidth limitation , This stage will At first, data is buffered in the bottleneck link buffer in . The delivery rate at this stage will also be strictly limited to BtlBW, The limiting factor is the bottleneck link . At this time, the round-trip delay also begins to increase ( Because there was waiting time at the beginning ), Slope ( That is, release speed ) by 1 B t l B W \frac{1}{BtlBW} BtlBW1.
2.3 Cache restricted phase
Note the transition point from the bandwidth constrained phase to the cache constrained phase , Its inflight The flow is BDP+BtlBufSize, It means at this time The buffer on the bottleneck link is full , If you continue to inject new traffic, there will be buffer overflow and packet loss . So after entering the cache restriction stage , Because there may be packet loss , Its delivery rate and round trip time have become It's impossible to estimate 了 .
边栏推荐
- 多元聚类分析
- MongoDB 的安装和基本操作
- [OC]-<UI入门>--常用控件-UIButton
- ant-design的走马灯(Carousel)组件在TS(typescript)环境中调用prev以及next方法
- LeetCode:162. 寻找峰值
- [OC-Foundation框架]--<Copy对象复制>
- The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
- vb.net 随窗口改变,缩放控件大小以及保持相对位置
- Problems encountered in connecting the database of the project and their solutions
- LeetCode:836. 矩形重叠
猜你喜欢

CUDA realizes focal_ loss

KDD 2022论文合集(持续更新中)

Pytest参数化你不知道的一些使用技巧 /你不知道的pytest

ESP8266-RTOS物联网开发

KDD 2022 paper collection (under continuous update)

Warning in install. packages : package ‘RGtk2’ is not available for this version of R

Simclr: comparative learning in NLP

BMINF的后训练量化实现

使用latex导出IEEE文献格式

Advanced Computer Network Review(3)——BBR
随机推荐
LeetCode41——First Missing Positive——hashing in place & swap
LeetCode:394. String decoding
BMINF的后训练量化实现
Leetcode: Jianzhi offer 04 Search in two-dimensional array
LeetCode:214. 最短回文串
Nacos 的安装与服务的注册
LeetCode:236. 二叉树的最近公共祖先
Post training quantification of bminf
Esp8266-rtos IOT development
Using label template to solve the problem of malicious input by users
【文本生成】论文合集推荐丨 斯坦福研究者引入时间控制方法 长文本生成更流畅
【嵌入式】使用JLINK RTT打印log
超高效!Swagger-Yapi的秘密
Selenium+Pytest自动化测试框架实战
[Hacker News Weekly] data visualization artifact; Top 10 Web hacker technologies; Postman supports grpc
使用标签模板解决用户恶意输入的问题
CUDA实现focal_loss
Hutool gracefully parses URL links and obtains parameters
Target detection - pytorch uses mobilenet series (V1, V2, V3) to build yolov4 target detection platform
可变长参数