0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TCP三次握手的步骤详解

科技绿洲 来源:网络整理 作者:网络整理 2025-01-06 09:07 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1.TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。在两个主机之间建立通信之前,必须通过三次握手过程来建立一个稳定的连接。这个过程确保了两个端点都准备好发送和接收数据。

2. 第一次握手:SYN

  • 客户端 :客户端想要与服务器建立连接,它发送一个特殊的TCP段,其中包含:
  • SYN标志 :设置为1,表示这是一个连接请求。
  • 序列号(Sequence Number) :客户端生成一个初始序列号(ISN),用于标识从客户端发送的第一个数据字节。
  • 窗口大小(Window Size) :客户端可以接收的最大数据量。
  • 其他选项 :如最大报文段长度(MSS)等。
  • 服务器 :服务器接收到这个SYN段后,知道客户端想要建立连接。

3. 第二次握手:SYN-ACK

  • 服务器 :服务器回应客户端的SYN请求,发送一个TCP段,其中包含:
  • SYN标志 :设置为1,表示同意建立连接。
  • ACK标志 :设置为1,表示对客户端的SYN请求进行确认。
  • 确认号(Acknowledgment Number) :等于客户端的初始序列号加1,表示服务器已经收到了客户端的SYN请求。
  • 序列号 :服务器也生成自己的初始序列号。
  • 窗口大小 :服务器可以接收的最大数据量。
  • 其他选项 :如MSS等。
  • 客户端 :客户端接收到服务器的SYN-ACK段后,确认服务器已经准备好接收数据。

4. 第三次握手:ACK

  • 客户端 :客户端最后发送一个TCP段,其中包含:
  • ACK标志 :设置为1,表示对服务器的SYN-ACK进行确认。
  • 确认号 :等于服务器的初始序列号加1,表示客户端已经收到了服务器的SYN-ACK。
  • 序列号 :客户端的序列号加1,因为客户端已经发送了一个SYN段。
  • 服务器 :服务器接收到这个ACK段后,确认客户端已经准备好接收数据。此时,三次握手完成,TCP连接建立。

5. 为什么需要三次握手

三次握手的主要目的是同步连接双方的序列号和确认号,确保双方都有能力发送和接收数据。以下是三次握手的必要性的详细解释:

  • 防止已失效的连接请求突然传送到服务器 :如果只使用两次握手,客户端可能会发送一个连接请求,但由于网络延迟或其他原因,这个请求可能在客户端已经放弃连接后很久才到达服务器。如果服务器对这个请求做出响应,就会错误地建立一个不存在的连接。
  • 确保双方都准备好发送和接收数据 :三次握手确保了客户端和服务器都有足够的信息来开始数据传输,包括对方的初始序列号和确认号。

6. 状态变化

在三次握手过程中,TCP连接的状态会发生变化:

  • 客户端
  • CLOSED :初始状态。
  • SYN_SENT :发送SYN后。
  • SYN_RECEIVED :接收到SYN-ACK后。
  • ESTABLISHED :接收到ACK后。
  • 服务器
  • CLOSED :初始状态。
  • LISTEN :等待连接请求。
  • SYN_RECEIVED :接收到SYN后。
  • ESTABLISHED :接收到ACK后。

7. 半打开连接

如果三次握手中的任何一个步骤失败,可能会导致半打开连接(Half-open connection)。例如,如果客户端发送了SYN但未能接收到SYN-ACK,客户端可能会重试发送SYN。如果服务器未能接收到ACK,它可能会重传SYN-ACK。这些重传机制是TCP可靠性的一部分。

8. 四次挥手

与三次握手相对的是四次挥手(四次握手),这是TCP连接终止的过程。由于TCP是全双工的,每个方向的连接都需要单独关闭,因此需要四次挥手。

9. 总结

TCP三次握手是确保两个网络端点之间建立可靠连接的关键步骤。它通过交换SYN、SYN-ACK和ACK标志来同步序列号和确认号,从而确保双方都准备好发送和接收数据。这个过程不仅防止了无效连接的建立,还确保了数据传输的可靠性和顺序性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信协议
    +关注

    关注

    28

    文章

    1094

    浏览量

    42336
  • 服务器
    +关注

    关注

    14

    文章

    10344

    浏览量

    91737
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1432

    浏览量

    83757
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    怎么理解TCP三次握手和四挥手

    作为运维工程师,无论是排查网络故障、分析日志,还是配置负载均衡器,都需要对 TCP 协议有深入理解。很多"疑难杂症"的根源,往往在于对 TCP 状态转换和连接管理理解不够透彻。
    的头像 发表于 04-10 16:42 767次阅读

    TCP/IP(Socket)协议深度剖析

    TCP/IP协议作为互联网通信的基础架构,其核心机制Socket编程承载着全球数据交换的使命。本文将深入剖析这一协议的七层架构、三次握手与四挥手的精妙设计、流量控制与拥塞控制的动态平
    的头像 发表于 03-03 17:06 764次阅读

    TCP三次握手与四挥手的详细过程

    TCP 三次握手和四挥手,大概是网络领域被问烂了的面试题。但真正能把状态变迁、序列号变化、抓包细节讲清楚的人并不多。很多人背了八股文,一到生产环境看 Wireshark 抓包就懵了
    的头像 发表于 02-25 10:38 414次阅读

    低成本改造实录:如何让MODBUS TCP与PROFIBUS在铝厂握手言和

    低成本改造实录:如何让MODBUS TCP与PROFIBUS在铝厂握手言和 去年夏天,我负责的一个铝电解车间数字化改造项目,遇到了个典型的老难题。中控室崭新的监控平台说着流利的“MODBUS TCP
    的头像 发表于 12-22 14:25 272次阅读
    低成本改造实录:如何让MODBUS <b class='flag-5'>TCP</b>与PROFIBUS在铝厂<b class='flag-5'>握手</b>言和

    国芯科技以3000万元第三次增资龙擎视芯

    近日,国芯科技以3000万元参与苏州龙擎视芯集成电路有限公司(以下简称“龙擎视芯”)Pre-A轮融资。这是继天使轮、天使+轮后,国芯科技第三次增资龙擎视芯。本轮融资完成后,国芯科技合计持有龙擎视芯8.97%的股权,成为龙擎视芯除团队外的外部第一大股东。
    的头像 发表于 12-15 11:44 1099次阅读

    TCP和UDP的区别

    相比,TCP大核心特性: 1、面向连接。所谓的连接,指的是客户端和服务器的连接,在双方互相通信之前,TCP 需要三次握手建立连接,
    发表于 12-09 07:24

    TCP三次握手

    ,Server进入SYN_RCVD状态。 (3)第三次握手:Client收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server
    发表于 12-02 07:16

    从电网到栅极:赋能第三次能源革命

    开启。随后在美国发生了第二能源革命,20 世纪石油产业的繁荣推动了汽车和电力领域取得前所未有的进步。 如今,人工智能 (AI) 的快速发展正在引领第三次能源革命,涵盖产生、转换和分配为我们正在消耗的大量数据提供动力所需的能源。如何产生
    的头像 发表于 11-14 10:19 749次阅读
    从电网到栅极:赋能第<b class='flag-5'>三次</b>能源革命

    握手信号的详解

    在dtcm和itcm等模块中经常用到以valid,read结尾的信号量,他们就是握手信号。 握手信号是一种用于协调和同步不同系统之间操作的信号。当两个或多个系统要进行数据传输或交互时,需要确保
    发表于 10-24 08:04

    坐标测量仪让三次元测量从此简单高效

    三次元测量(即坐标测量)常被视为“技术门槛高、操作复杂、效率难提”的环节,因为传统坐标要么因体积庞大需专属机房,零件转运耗时费力;要么因精度与效率难以兼顾,批量检测时频繁陷入“调参-等待-复测
    的头像 发表于 09-17 15:23 2766次阅读
    <b class='flag-5'>三</b>坐标测量仪让<b class='flag-5'>三次</b>元测量从此简单高效

    集创北方出席LED TCON团体标准发展第三次技术研讨会

    近日,由中国光学光电子行业协会发光二极管显示应用分会(简称中国光协LED显示应用分会)主办,北京集创北方科技股份有限公司(简称集创北方)承办的“《基于TCON方案的LED显示接口及通讯协议规范》团体标准第三次技术研讨会”在集创北方深圳园区圆满举行。
    的头像 发表于 08-16 16:19 1769次阅读

    安光电第一届第三次化合物半导体技术研讨会成功举办

    近日,由安学院主办,人资中心、技术中心、总经办协办的安光电第一届第三次化合物半导体技术研讨会在厦门香格里拉酒店隆重举办,邀请18位来自各事业部的专家发表演讲,股份、各事业部/板块领导与专家列席指导,126位专家围绕材料、器件
    的头像 发表于 06-27 17:09 1132次阅读

    舜宇车载光学召开车载激光雷达团体标准第三次会议

    近日,由舜宇车载光学牵头的《车载激光雷达典型光学器件可靠性要求及检测方法》团体标准第三次工作组会议在浙江省余姚市召开。
    的头像 发表于 06-20 09:31 1210次阅读

    芯片设计之握手协议

    本文主要介绍握手的基本概念,读者可通过该篇文章对握手有个基本概念。
    的头像 发表于 05-14 09:16 1358次阅读
    芯片设计之<b class='flag-5'>握手</b>协议

    TCP三次握手和四挥手,这样解释太通俗易懂了!

    TCP连接的建立和释放分别通过“三次握手”和“四挥手”来完成。三次握手过程
    的头像 发表于 04-24 19:33 1668次阅读
    <b class='flag-5'>TCP</b><b class='flag-5'>三次</b><b class='flag-5'>握手</b>和四<b class='flag-5'>次</b>挥手,这样解释太通俗易懂了!