TCP三次握手与四次挥手

文章目录

  • 前言
  • 一、三次握手
  • 二、四次挥手
  • 总结


前言

简单介绍TCP三次握手与四次挥手。


一、三次握手

三次握手的过程:
1、主机A向主机B发送TCP连接请求数据包,其中包含主机A的初始序列号seq(A)=x.
其中报文中同步标志位SYN=1,ACK=0,表示这是一个TCP连接请求的数据报文,序列号seq=x,表明传输数据时的第一个数据字节的序号是x;
2、主机B收到请求后,会发回连接确认数据包。
其中确认报文段中,标识位SYN=1,ACK=1,表示这是一个TCP连接响应数据报文,并含主机B的初始序列号seq(B)=y,以及主机B对主机A初始序列号的确认号ack(B)=seq(A)+1=x+1
3、第三次,主机A收到主机B的确认报文后,还需做出确认,即发送一个序列号seq(A)=x+1,确认号为ack(A)=y+1的报文

二、四次挥手

假设主机A为客户端,主机B为服务端,其释放TCP连接的过程如下: 1、关闭客户端到服务器的连接,首先客户端A会发送一个FIN,用来关闭客户端到服务器的数据传输,然后等待服务器确认。其中终止标志位FIN=1,序列号seq=u. 2、服务器收到这个FIN,它发回一个ACK确认码,确认号ack为收到的序号加1。 3、关闭服务器到客户端的连接,也是发送一个FIN给客户端。 4、客户端收到FIN后,并发回一个ACK报文确认,并将确认序号seq设置为收到序号加1。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭

总结

以上就是三次握手和四次挥手的八股文

你可能感兴趣的:(java,tcpip,java)