菜鸟笔记
提升您的技术认知

TCP 流量控制讲解

阅读 : 2728

关于流量控制,用一句简短的话就可以概括:

接收端会给发送端一个负反馈,通过这个负反馈可以控制发送端的滑动窗口的大小。

下面可以看一下知乎上是怎么说的,我找了一条讲的最形象,可以结合着理解一下。

TCP 流量控制

TCP 流量控制

补充:

拥塞控制和流量控制是TCP用来解决传输数据中产生的一些问题,而采取的两种优化方法,

两者作用上的区别

流量控制是为了解决发送方和接收方速度不同而导致的数据丢失问题,当发送方发送的太快,接收方来不及接受就会导致数据丢失,流量控制用滑动窗口的形式解决问题

拥塞控制是为了解决过多的数据注入到网络,导致网络奔溃,超过负荷.当发送方发送数据大量的数据会注入到网络,如果没有限制,网络就会超负荷变卡,拥塞控制的用的是拥塞窗口解决的问题的

窗口的意义

窗口就是缓冲区,用来暂时存储数据等待发送和接收,其实就是对每一次发送的数据大小进行限制,每个窗口的都有大小限制,超过部分不能发送,可以不用每次发送报文等待ACK确认,只要保证发送的报文再发送窗口内部就行,消除了等待确认的时间,大大提高效率

流量控制

流量控制协议通过滑动窗口来实现.

简单来说就是发送窗口的大小,取接受方ACK提供的大小和发送方的拥塞窗口大小的最小值,来确定大小,发送窗口的大小不能超过滑动窗口的大小.为什么称为滑动窗口,因为当发送方接收到数据的确认信息,滑动窗口会更具返回的序号动态的改变窗口的位置.滑动的窗口大小得到了重置,同时滑动窗口会根据网络状况动态变化.