(一)连接
Tcp的三次握手的目的:是客户端和服务端相互确认是否有接受和发送的能力,
第一次握手,客户点给服务端发个x;(客户端不知道服务端的任何能力,服务端知道客户端有发送的能力),
第二次握手,服务端给客户端发个x+1和y ;(此时客户端知道服务端有发送和接受的能力,服务端不知道客户端有没有接受的能力)
第三次握手,客服端给服务端发送x+1和y+1,(此时服务端知道了客户端有接受的能力,建立连接完成)
为什么不是两次握手和4次握手,因为两次握手服务端无法确认客户端有接受的能力,4次握手,双方都确认了有接受和发送的能力,再次发送就多余了。
(二)容错
如何保证数据安全的
当客户端发送1,2,3,4,5的时候,服务端连续收到1,2,3没有收到4,所以服务端会给客户端发送4,客户端收到4之后,会重新发送4,从而保证了数据安全。
(三)断开
TCP 关闭4次握手
四次握手的目的是相互确认数据发完了,
第一次握手,客户端告诉服务端“发完了”
第二次握手,服务端告诉客户端“等着” ,客户端进入等待流程,此时有两种情况
1 服务端收到新的数据,服务端会问客户端要下一个数据
2 服务端没有收到新的数据,等待3Ms(一个报文传输是这么长)
第三次握手,服务端告诉客户端关闭。(服务端关闭)客户端等3Ms
第四次握手:客户端再次发送给服务端,没有相应,确认断开。客户端断开。