TCP三次握手和四次挥手

89 阅读1分钟

tcp三次握手

例子描述:

  • 小明:你好,你能听得到我说话吗

  • 小黄:我可以听得到你说话,你能听得到我讲话吗?

  • 小明:我可以。

具体实现如下:

  • 1,客户端向服务端发送一个Syn消息,并随即携带一个序列号给服务端
  • 2,服务端接收到消息,会送给客户端一个syn+ack消息,请发送确认序列号加1,以及携带一个随机生成的序列号
  • 3,客户端收到消息,发送一个ack确认消息,确认序列号加1,至此连接完毕

描述图如下:

image.png

四次挥手

例子描述:

  • 小明:我说完了,我要挂断了
  • 小黄:等会,我还有一些东西要说
  • 小黄:我说完了,可以挂断了
  • 小明:好的。

具体流程:

  • 客户端要结束连接,会给服务器发送一个pin消失,然后进入PIN_WAIT_1状态。
  • 服务器收到客户端的结束消息,发送一个ACK确认消息,表示收到消息,客户端接收到ACK消息后,会进入PIN_WAIT_1,等待服务器发送pin消息
  • 服务器发送PIN消息告诉客户端可以进行关闭
  • 客户端收到pin消息,会将状态变为TIME_WAIT状态,然后给服务器发送一个ACK消息,放置信息丢失,然后等待一段时间后,客户端会释放连接资源进行关闭。

描述图如下:

image.png