拥塞控制
- TCP慢启动机制
在开始进行数据发送时,如果在一开始就发送大量的数据,可能此时网络上的数据比较多,比较拥堵。此时数据就会堵在网络上,使网络更加拥堵。
此时,可以通过慢启动机制,先发送少量的数据探测出当前网络的拥堵的情况,然后再决定发送多少数据。按多大速度传输数据。
-
拥塞窗口
-
发送开始时,拥塞窗口的大小定义为1
-
每次收到一个ACK应答,拥塞窗口的大小就会加1
-
每次发送数据时会将拥塞窗口的大小与接收端反馈的窗口大小进行比较,选取两者之间的较小的一个作为数据的实际发送窗口
-
拥塞窗口的增长速度比较快,为指数级别,慢启动只是在最开始的 时候慢
-
慢启动的阈值 :因为拥塞窗口的大小增加速度太快,为例使拥塞窗口不是单纯的增长,就会引入一个值
-
当拥塞窗口的大小超过这个阈值时,就不再按指数级进行增长,只按线性增长
-
当TCP开始启动时,慢启动的阈值是窗口的最大值
-
每次超时重发时,慢启动的阈值就会变成原来的一半,并将拥塞窗口的大小置为1
少量的丢包就会触发超时重传,而大量的丢包就会被认为是网络拥堵
- TCP通信开始时后,网络的吞吐量就会逐渐上升,当网络发生拥堵时就会及进行拥塞控制就会使网络的吞吐量下降。
- 拥塞窗口主要是为了让数据传输的更快,提升传输的效