TCP三次握手连接与四次挥手断开

TCP三次握手连接与四次挥手

三次握手

TCP的连接建立是一个三次握手过程,目的是为了通信双方确认开始序号,以便后续通信的有序进行。主要步骤如下:

  • 连接开始时,连接建立方(Client)发送SYN包,并包含了自己的初始序号a;

  • 连接接受方(Server)收到SYN包以后会回复一个SYN包,其中包含了对上一个a包
    的回应信息ACK,回应的序号为下一个希望收到包的序号,即a+1,然后还包含
    了自己的初始序号b;

  • 连接建立方(Client)收到回应的SYN包以后,回复一个ACK包做响应,其中包含了下一个希望收到包的序号即b+1。

四次挥手

TCP终止连接的四次握手过程如下:

  • 首先进行关闭的一方(即发送第一个FIN)将执行主动关闭,而另一方(收到这个FIN)执行被动关闭。

  • 当服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。

  • 同时TCP服务器还向应用程序(即丢弃服务器)传送一个文件结束符。接着这个服务器程序就关闭它的连接,导致它的TCP端发送一个FIN。

  • 客户必须发回一个确认,并将确认序号设置为收到序号加1。