TCP窗口滑动以及拥塞控制

2019-01-10  本文已影响0人  北山学者

TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现。

TCP的滑动窗口主要有两个作用,一是提供TCP的可靠性,二是提供TCP的流控特性。同时滑动窗口机制还体现了TCP面向字节流的设计思路。

可靠:对发送的数据进行确认
流控制:窗口大小随链路变化。

一、TCP窗口机制

tcp中窗口大小是指tcp协议一次传输多少个数据。因为TCP是一个面向连接的可靠的传输协议,既然是可靠的就需要对传输的数据进行确认。

TCP的窗口机制有两种,

1、固定窗口大小
2、滑动窗口

数据在传输时,TCP会对所有数据进行编号,发送方在发送过程中始终保持着一个窗口,只有落在发送窗口内的数据帧才允许被发送;同时接受方也始终保持着一个接收窗口,只有落在窗口内的数据才会被接收。这样通过改变发送窗口和接收窗口的大小就可以实现流量控制。

二、流量控制

流量控制方面主要有两个要点需要掌握。

1、TCP利用滑动窗口实现流量控制的机制;
2、如何考虑流量控制中的传输效率。

所谓流量控制,主要是接收方传递信息给发送方,使其不要发送数据太快,是一种端到端的控制。主要的方式就是返回的ACK中会包含自己的接收窗口的大小,并且利用大小来控制发送方的数据发送。

三、拥塞控制

网络中的链路容量和交换结点中的缓存和处理机都有着工作的极限,当网络的需求超过它们的工作极限时,就出现了拥塞。拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。

参考

1、TCP滑动窗口控制流量的原理
2、tcp窗口滑动以及拥塞控制
3、TCP协议中的窗口机制------滑动窗口详解
4、TCP 滑动窗口/快速重传机制

上一篇下一篇

猜你喜欢

热点阅读