TCP建立连接,三次握手
1) client发送syn包(syn=j)到server端,并进入SYN_SEND状态,等待服务器确认。
2) server收到syn包,确认该syn(ack=j+1),同时发送一个syn包(syn=k),即syn+ack包,此时服务器进入SYN_RECV状态。
3) client收到server的syn+ack包,向server发送确认包ack(ack=k+1)。此后client和server进入ESTABLISHED状态,完成三次握手。
之后可以开始传送数据。
TCP断开连接,四次握手
1) client发送fin包(fin=m)到server端.
2) server收到fin包,发送确认包ack(ack=m+1)。client收到ack包后等待server的fin包。
3) server发送fin包(fin=n)到client端.
4) client收到fin包,发送确认包ack(ack=n+1)。
之后client和server断开连接
注意:发送了fin后只是表示该端不能继续发送数据,但还可以接收数据。