TCP报文的交互过程

这篇具有很好参考价值的文章主要介绍了TCP报文的交互过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 TCP建立连接和断开连接的过程如下图所示,在TCP 协议提供可靠的连接服务时,采用三次握手建立一个连接,采用四次握手来关闭一个连接。

TCP报文的交互过程

建立TCP连接的三次握手:

  1. 第一次握手:建立连接时,客户端发送 SYN 包到服务器,等待服务器确认。

  2.  第二次握手:服务器收到 SYN 包,回应一个 SYN-ACK 包。

  3. 第三次握手:客户端收到服务器的 SYN-ACK 包,向服务器发送确认包 ACK,此包发送完毕,完成三次握手。

如果服务器发出的 SYN-ACK 包异常,客户端会发送一个 RST 包给服务器,服务器重新回到监听状态。

关闭TCP 连接的四次握手:

  1. 第一次握手:客户端发送 FIN 包到服务器,表示客户端没有数据要向服务器发送了,等待服务器确认。

  2. 第二次握手:服务器收到 FIN 包,发送 ACK 包来确认客户端的 FIN 包,如果服务器数据还没传完,则不发送 FIN 包。

  3. 第三次握手:当服务器没有数据要向客户端发送时,服务器发送 FIN 包到客户端,并等待客户端最终确认。

  4. 第四次握手:客户端收到 FIN 包,发出 ACK 包来确认服务器的 FIN 包,此包发送完毕,完成四次握手,双方连接断开。

下面以一次FTP连接建立和断开的过程为例,分析TCP报文的交互过程,了解TCP报文中的关键字段。

TCP报文的交互过程

​在TCP中,通信双方使用三次握手来建立一个连接。

第一次握手时,客户端向服务器发起请求,报文中的 SYN 标志位置为1,序号为2452765130(用X标记)。

TCP报文的交互过程

第二次握手时,服务器收到客户端的请求后,向客户端回应报文。报文中的 SYN和ACK标志位均置为1,序号为1996069412(用Y标记),确认序号为客户端的序号+1,即X+1=2452765131。

TCP报文的交互过程

第三次握手时,客户端收到服务器回应的报文后,首先检查报文中的确认序号是否正确。如果确认序号正确(客户端的序号+1),即发送确认报文。确认报文中的ACK标志位置为1,确认序号为服务器的序号+1,即Y+1=1996069413。经过上述三次握手的交互过程,通信双方的一个TCP连接就建立完成了。

TCP报文的交互过程

如果客户端检查服务器回应报文中的确认序号不正确,就会发送 RST(Reset 复位报文),报文中的RST标志位置为1,表示连接出现问题,需要重新建立连接。

由于TCP连接的全双工特性(两个方向能同时传输数据),因此通信双方断开一个连接需要经过四次握手的交互过程,或者称为四次挥手,意为双方向对方挥手告别。

​第一次握手,服务器要关闭与客户端的连接,服务器发送的报文中FIN标志位和ACK标志位均置为1,序号为1996069507(用X标记)。

TCP报文的交互过程

第二次握手时,客户端收到服务器的FIN报文后,向服务器回应报文。报文中的ACK标志位置为1,确认序号为服务器的序号+1,即X+1=1996069508。

TCP报文的交互过程

第三次握手时,客户端要关闭与服务器的连接,客户端发送的报文中,FIN 标志位和ACK标志位均置为1,序号为2452765157(用Z标记)。

TCP报文的交互过程

第四次握手时,服务器收到客户端的FIN报文后,向客户端回应报文。报文中的ACK标志位置为1,确认序号为客户端的序号+1,即Z+1=2452765158。

TCP报文的交互过程

经过上述四次握手的交互过程,通信双方断开了一个TCP连接。文章来源地址https://www.toymoban.com/news/detail-406298.html

到了这里,关于TCP报文的交互过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 建立和终止TCP连接过程

    http 和 https 区别: http 使用过程中存在安全性问题:http 使用明文通信,容易被窃听。由于 http 不验证通信方的身份,攻击者可以伪装成合法的通信方进行欺骗。并且 http 无法提供报文的完整性验证,因此报文有可能被篡改。 https 使用 SSL(Secure Sockets Layer) 或 TLS(Transport Layer

    2024年02月15日
    浏览(29)
  • TCP,SSL以及HTTPS的连接建立过程详解

    可以参考B站的一个视频,把TLS/SSL的连接建立过程降解的非常透彻。配合这篇博客食用更佳。一遍不懂请多看几遍,很有用! 1 说明 1.1 对称加密的和非对称加密 在数字加密算法中,通过可划分为对称加密和非对称加密。 什么是对称加密? 在对称加密算法中,加密和解密使用

    2024年04月09日
    浏览(58)
  • 简述TCP/IP建立连接过程(附流程和代码)

    前言: TCP/IP 定义了计算机操作系统如何连入互联网,以及数据传输的标准。 TCP和IP是属于不同协议栈层的,只是这两个协议属于协议族里最重要的协议,所以协议栈或者模型以之命名了。 本段转载C语言中文网:TCP/IP 不是指一个协议,也不是 TCP 和 IP 这两个协议的合称,而

    2024年02月04日
    浏览(81)
  • 【TCP专题】TCP连接断开

            当TCP的连接建立完成后,我们就可以尽情的通过TCP连接所创立的会话来进行数据的传输了。当然,再有意思的话题也有说完的时候,所以,当数据传输完之后,TCP该如何善后呢?         TCP的连接断开需要经历4次数据包的交互才能完成,所以这个过程我们习惯

    2023年04月09日
    浏览(33)
  • TCP:三次握手 、四次挥手断开的过程

    还是大剑师兰特 :曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。 No. 内容链接 1 Openlayers 【入门教

    2024年03月28日
    浏览(40)
  • tcp连接断开分析,判断tcp断开原因是客户端还是服务端?

              当与使用TCP协议对接的硬件设备进行通信时,往往会遇到一些问题,导致一些人难以找到tcp断开的根源,因些无法判定是充电桩设备客户端还是服务器端。我曾经在十多年前对接银行接口的POS机时遇到过类似的情况,现在在对接充电桩时又遇到了相似的问题。经过

    2024年02月03日
    浏览(30)
  • TCP 协议(二)连接与断开

    TCP 协议(一)报文结构 TCP 协议(二)连接与断开 TCP 协议(三)十种核心机制 TCP 协议(四)重传与超时 TCP 协议(五)异常报文 在学习计算机网络之前,我们对于“三次握手”和“四次挥手”有所耳闻,其实这两个名词指的就是 TCP 连接与断开过程。 三次握手是为了让客户

    2024年02月13日
    浏览(28)
  • 记一次长连接断开排查过程

    文章地址 WebSocket 的网络链路是 浏览器 - Nginx - 后端服务,空闲检测时间是 60 s,浏览器心跳发送时间间隔 10 s,出现了有心跳发送但长连接中断的问题。 查看后端服务日志,发现是被动断开,不是空闲检测主动断开的,再抓服务器的网络包,确认后端服务是被断开的,排除后

    2024年02月01日
    浏览(17)
  • 计算机网络-TCP断开连接阶段错误应对机制

    连接断开阶段 四次挥手机制 :TCP连接的断开需要四次挥手,这是因为双方都需要独立地关闭数据传输。第二次和第三次挥手不能合并,因为在回复第二次挥手的时候,可能还有数据没有接收完成,所以需要先回复ACK报文,等待所有的数据接收完成之后再发送FIN报文。这样可

    2024年04月13日
    浏览(43)
  • SNMP 计算机网络管理 实验1(二) 练习与使用Wireshark抓取SNMP数据包抓包之 任务三分析并验证TCP三次握手建立连接时三次握手工作过程

    ⬜⬜⬜ 🐰🟧🟨🟩🟦🟪(*^▽^*)欢迎光临 🟧🟨🟩🟦🟪🐰⬜⬜⬜ ✏️write in front✏️ 📝个人主页:陈丹宇jmu 🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​ 🙉联系作者🙈by QQ:813942269🐧 🌈致亲爱的读者:很高兴你能看到我的文章,希望我的文章可以帮助到你,祝万事

    2024年02月12日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包