TCP协议总结

TCP

TCP是面向可靠连接的数据传输协议,位于网络中的传输层,拥有流量控制、拥塞控制等手段来保证数据的可靠传输。

  • TCP头部结构:
    头部结构有:源目的端口、序列号、确认序列号、窗口大小、16为校验和6位标志位等
    其中窗口大小是指接收窗口大小RWND

  • TCP中的流量控制:
    流量控制是通过滑动窗口机制实现的,接收方会通过改变确认报文中接收窗口大小来告知数据发送方如何调整数据发送速率。
    具体过程:接受放在给发送方的确认报文中会有一个接收窗口大小值,从而发送方发送给的数据不能超过这个值,但是多个数据包可以连续发送,当接收方的缓冲区内存不足时,会调小接收窗口大小,从而控制发送方下一次发送的数据大小,另外,如果接收方已经不能接收数据了,那么接收窗口设置为0,发送方等待发送数据包,开始启用一个计数器,时间到了发送方会发送一个探测报文给接收方,接收方将新的接收窗口大小发送给发送方,计数器探测目的是解决发送方一直等待新的窗口大小,而接收方一直等待发送方发送数据的情况。

  • TCP中拥塞控制:
    拥塞控制有:慢开始,拥塞避免,快重传快恢复
    慢开始:慢开始是让发送放刚开始的拥塞窗口从1开始,没经过一个轮次或者收到一个ACK,拥塞窗口就加倍,变成2,4,8;慢开始并不是说窗口增长很慢,而是起始拥塞窗口很小;
    拥塞避免:由于慢开始拥塞窗口是加倍增长的,所以拥塞窗口会很快增长到较大的值,这个使用就需要采用拥塞避免,拥塞避免使得拥塞窗口是缓慢增长的,没经过一个轮次拥塞窗口加1,而不是2倍的增长;
    快重传和快恢复:当发送方有报文丢失时,接收方会发送重复确认报文给发送方,如果连续收到3个重复确认,发送方会知道需要立即重传丢失的报文,重传的话使用的是拥塞避免过程,不是慢开始,因为收发双方之间还有数据流动,采用慢开始会使得发送发的窗口迅速下降,降低数据发送速率。

  • 拥塞窗口和接收窗口:
    拥塞窗 口是发送方使用的流量控制,而通告窗口则是接收方使用的流量控制。最后发送方的发送窗口取得是两者的最小值作为发送上限。

reference1
reference2

你可能感兴趣的:(计算机网络)