三次握手:表示这客户与服务器之间的连接确定。
第一次:由客户端发出连接请求到服务器,服务器收到后可以确定客户的发送与自身的接收没问题
第二次:再由服务器回话个客户,让客户知道自己的发送与接收没问题,这时服务器还不知自己的发送是否有碍
第三次:需客户在此回话表示服务器的发送无碍时,方可以稳定建立连接,三次握手完成后就可以进行数据传输.
四次断开:
第一次:客户端给服务器发出连接断开请求;
第二次:当服务器收到后,给客户端回复,表明收到断开连接的请求,
第三次:再次由服务器给客户端发送关闭连接的请求
第四次:客户端收到后,再次给服务器发送同意的信息时,不会立马关闭连接,等服务器关闭连接后,客户端立马关闭连接,
第一次挥手:客户端向服务器端发送断开 TCP 连接请求的FIN=1报文,在报文中随机生成一个序列号 SEQ=x,表示要断开 TCP 连接。第二次挥手:当服务器端收到客户端发来的断开 TCP 连接的请求后,回复发送标志位ACK=1报文,表示已经收到断开请求。回复时,随机生成一个序列号 SEQ=y。由于回复的是客户端发来的请求,所以在客户端请求序列号 SEQ=x的基础上加 1,得到确认序列号ACK=x+1。第三次挥手:服务器端在回复完客户端的 TCP 断开请求后,不会马上进行 TCP 连接的断开。服务器端会先确认断开前,所有传输到客户端的数据是否已经传输完毕。确认数据传输完毕后才进行断开,向客户端发送FIN=1报文。再次随机生成一个序列号 SEQ=z。由于还是对客户端发来的 TCP 断开请求序列号 SEQ=x进行回复,因此确认序列号ACK依然为 x+1第四次挥手:客户端收到服务器发来的TCP 断开连接数据包后将进行回复,表示收到断开 TCP 连接数据包。向服务器发送标志位ACK=1报文,生成一个席列号SEQ=x+1。由于回复的是服务器,所以确认序列号ACK字段的值在服务器发来断开 TCP 连接请求序列号SEQ=z的基础上加1,得到ACK=z+1。
UDP的报文结构
TCP的报文结构