IT袋

当前位置:主页 > 经验教程 > 建站编程 >

TCP三次握手流程详解

TCP三次握手流程详解

时间:2024-01-19 13:43:20 来源:IT袋 作者:马勇
导读:TCP三次握手流程详解,一篇方法教程,与您分享TCP三次握手流程详解的电脑方面的小经验,下面IT袋网为您详细介绍 讲下TCP三次握手流程? 客户端和服务器初始均为CLOSED状态,然后服务器开始

TCP三次握手流程详解

一篇方法教程,与您分享TCP三次握手流程详解的电脑方面的小经验,下面IT袋网为您详细介绍

讲下TCP三次握手流程?

TCP三次握手流程详解

客户端和服务器初始均为CLOSED状态,然后服务器开始侦听某个端口进入LISTEN状态

(1)第一次握手:客户端发送SYN包(SYN=1,seq=x)到服务器,并进入SYN_SEND状态,等待服务器确认;

(2)第二次握手:服务器收到SYN包后并响应SYN+ACK包(SYN=1,ACK=1,seq=y.ack=x+1),发送完毕服务器进入SYN_RCVD状态;

(3)第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=1,seq=x+1.ack=y+1)),此包发送完毕,客户端和服务器进入ESTABLISHED状态,后续开始交互数据。

TCP三次握手流程详解

为什么TCP是三次握手而不是两次、四次?

原因1:确认双方的接收与发送能力是否正常:

  • 第一次握手(Client->Server,SYN):Server确认了自身接收正常,Client发送能力正常Client无法确认任何信息
  • 第二次握手(Client<-Server,SYN+ACK):Server确认了自身接收正常,Client发送能力正常Client确认了自身收/发能力正常,Server收/发送能力正常
  • 第三次握手(Client->Server,ACK):Server确认了自身收/发能力正常,Client收/发送能力正常Client确认了自身收/发能力正常,Server收/发送能力正常

所以三次握手能保证双方收发能力正常,二次握手不能确认,四次握手设计显得多余。

原因2:商确定发送数据包的单位,即“最大消息长度”(MSS:Maximum Segment Size),如下:

举个例子:两个人互发微信交流如果一方直接发2000字长篇大论,另一方估计看都不想看,所以协商简洁的字数交流很有必要。

TCP交互也是一样,需要发送方和接收方协商能被双方认可的MSS才能有效交互,任何一方不能无限制的去乱发大包,这就会导致交互出现异常。

过程如下:

TCP三次握手流程详解

通过三次握手双方才能协商到最合适MSS以保证后续的数据交互标准,在TCP报文中MTU=MSS+40(20字节的TCP首部+20字节的IP首部)。

MSS协商存在于TCP Option字段中,协商报文如下:

TCP三次握手流程详解

以上分享的TCP三次握手流程详解的相关内容,希望对您有所帮助!

相关阅读

  • 个人网站备案流程 工信部个人网站备案过程讲解

    个人网站备案流程 工信部个人网站备案过程讲解

    您可能不了解个人网站备案流程和工信部个人网站备案过程讲解的IT小经验,继续往下看吧! 嗨,大家好,我是希留。 前面文章介绍了下使用https访问网站的相关配置,然后发现访问https时灵时

  • HTTP状态码深入解析:401 Unauthorized

    HTTP状态码深入解析:401 Unauthorized

    为大家介绍HTTP状态码深入解析的教程内容,接下来一起来看看吧。 在互联网通信中,HTTP状态码是用来表示服务器响应的一种方式。 当我们在浏览器中访问网页时,服务器会返回一个状态码,

  • 什么是跨站脚本 XSS攻击?

    什么是跨站脚本 XSS攻击?

    为网友解答什么是跨站脚本的相关话题,下面为详细的介绍。 跨站脚本(Cross-Site Scripting,XSS)是一种常见的网络安全漏洞,攻击者利用该漏洞在受害者的网页中插入恶意脚本,从而能够获取

  • dns服务器未响应怎么修复 分享dns未响应最简单的修复办法

    dns服务器未响应怎么修复 分享dns未响应最简单的修复办法

    今天为大家介绍dns服务器未响应怎么修复和分享dns未响应最简单的修复办法的教程内容,继续往下看吧! 很多人在浏览网页时,经常会遇到DNS服务器未响应的情况,那么什么是DNS服务器?DNS未