一、TCP的连接建立
- TCP建立连接的过程叫做握手
- 握手需要在客户端和服务器之间交换三个TCP报文段,称之为三报文握手
- 采用三报文握手主要是为了防止已失效的连接请求报文段突然又传送到了,产生错误
确认ACK,只有当ACK=1时,确认号字段才有效。当ACK=0时,确认号无效。
二、TCP的连接释放
- 数据传输结束后,通信的双方都可释放连接
- TCP连接释放过程是四报文挥手
数据传输结束后,通信的双方都可释放连接。
- A的应用进程先向其TCP发出连接释放报文段,并停止发送数据,主动关闭TCP连接。
- A把连接释放报文段首部的 FIN=1,其***seq = u,等待B的确认。
- B发出确认,确认号ack = u + 1,而这个报文段自己的序号seq = v。
- B的TCP服务器进程通知高层应用进程。
- 第二步之后,从A到B这个方向的连接就释放了,TCP连接处于半关闭状态。B若发送数据,A仍要接收。
- 若B已经没有要向A发送的数据,其应用进程就通知TCP释放连接,发送FIN=1
- 在确认报文段中,ACK=1,确认号ack = w+1,自己的***seq = u+1。