TCP端口状态建立过程窗口协议
Posted 林炜玮_51CTO
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP端口状态建立过程窗口协议相关的知识,希望对你有一定的参考价值。
TCP状态集
端口转化状态
主动端口:SYN_SENT、FIN_WAIT1、FIN_WAIT2、CLOSING、TIME_WAIT
被动端口:LISTEN、SYN_RCVD、CLOSE_WAIT、LAST_ACK
都具有的:CLOSSED、ESTABLISHED
TCP建立过程
TCP三次握手
TCP四次断开
TCP窗口
窗口分为滑动窗口和拥塞窗口。
ACK包含两个非常重要:
一是期望接收到的下一字节的序号n,该n代表接收方已经接收到了前n-1字节数据,此时如果接收方收到第n+1字节数据而不是第n字节数据,接收方是不会发送序号为n+2的ACK的。举个例子,假如接收端收到1-1024字节,它会发送一个确认号为1025的ACK,但是接下来收到的是 2049-3072,它是不会发送确认号为3072的ACK,而依旧发送1025的ACK。
二是当前的窗口大小m,如此发送方在接收到ACK包含的这两个数据后就可以计算出还可以发送多少字节的数据给对方,假定当前发送方已发送到第x字节,则可以发送的字节数就是y=m-(x-n).这就是滑动窗口控制流量的基本原理.
滑动窗口
滑动窗口是改善吞吐量的一种技术,容许发送方在接收任何应答之前传送附加的包
接收方告知发送端接收端的窗口大小,以控制发送端发送数据的大小,达到流量控制的目的。它只能在源端设备和目的端设备起作用,当网络中间设备(例如路由器等)发生拥塞时,滑动窗口机制将不起作用。
搭配的协议还有停等、后退N、选择重传。标签:确认、差错控制、流量控制。
拥塞窗口
拥塞窗口是发送数据端,拥塞窗口不代表缓存,拥塞窗口指某一源端数据流在一个RTT内可以最多发送的数据包数
拥塞控制方法
- 慢开始( slow-start )
- 拥塞避免( congestion avoidance )
- 快重传( fast retransmit )
- 快恢复( fast recovery )
以上是关于TCP端口状态建立过程窗口协议的主要内容,如果未能解决你的问题,请参考以下文章