状态机
TCP 的状态机是很复杂的,并且与建立断开连接时的握手息息相关,接下来就来详细描述下两种握手。
在这之前需要了解一个重要的性能指标 RTT。该指标表示发送端发送数据到接收到对端数据所需的往返时间。
建立连接三次握手
第一次握手
- 客户端向服务端发送连接请求报文段。该报文段中包含了自身的数据通讯初试序号。请求发送后,客户端进入到发送(SYN-SENT)状态。
第二次握手
- 服务端收到连接请求报文后,如果同意连接,则会发送一个应答,该应答中也包含了自身的数据通讯初始序号,发送完后便进入到接受(SYN-RECEIVED)状态。
第三次握手
- 当客户端收到连接同意的应答后,则还会向服务端发送一个确认包。客户端发完这个报文点后便进入到了连接(ESTABLISHED )状态,服务端收到这个确认包后也进入连接状态(ESTABLISHED )状态,此时连接建立成功。