【三、接口协议与抓包】TCP的三次握手与四次挥手

这篇具有很好参考价值的文章主要介绍了【三、接口协议与抓包】TCP的三次握手与四次挥手。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

你好啊!我是山茶,一个持续探索 AI + 测试之路的程序员。

TCP协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。常常被用于处理实时通信,因此,在传输效率上会稍逊色于UDP协议

报文结构

TCP协议的报文结构如下(图片源于网络,如果侵权,请联系我删除)

【三、接口协议与抓包】TCP的三次握手与四次挥手,《从测试到测试开发》,http,tcp/ip,功能测试,单元测试,测试工具,自动化,网络协议

对于三次握手与四次挥手操作,报文接口中主要有两部分“端口”和“常用控制字段”特别关注。端口是用于标记自己与目标方的,常见控制字段则是进行建立连接与端开连接的标识

  • 常见控制字段及含义

    • SYN = 1,表示建立连接请求

    • ACK = 1,表示数据信息确认

    • FIN = 1,表示断开连接请求

三次握手的建立过程

以c/s架构为例,如图所示

【三、接口协议与抓包】TCP的三次握手与四次挥手,《从测试到测试开发》,http,tcp/ip,功能测试,单元测试,测试工具,自动化,网络协议

握手🤝建立连接

  • client端向server端发送一条建立连接的请求SYN = 1

  • server端向client端回发一条确认连接请求的信息ACK = 1。由此,成功建立了一条客户端向服务端发送数据的通道

  • 服务端也想建立一条数据传输通道,因此,server端向client端发送一条建立连接的请求SYN = 1

  • client端向server端发回发一条确认连接请求的信息ACK = 1。由此,成功建立了一条服务端向客户端发送数据的通道

由此,服务端与客户端成功建立了双向数据传输通道

那你可能会问,这个建立连接不是四次吗?怎么会说是三次呢?

因为服务端在第一次客户端发送建连请求,回发确认连接请求时,会将服务端建立连接请求同ACK = 1确认一同发送,如下图所示

【三、接口协议与抓包】TCP的三次握手与四次挥手,《从测试到测试开发》,http,tcp/ip,功能测试,单元测试,测试工具,自动化,网络协议

四次挥手的过程

断开连接过程

  • client端向server端发送断开连接请求 FIN = 1

  • server端向client端回发确认信息请求ACK = 1 及对应数据信息seq,客户端接收到信息后,进入等待状态,断开了由客户端发送服务端的数据通道

  • server端向client发送断开连接请求FIN = 1,服务端进入等待关闭状态

  • client端向server端回发确认断开连接请求确认信息ACK = 1,服务端关闭,客户端等待2msl后关闭。由此,断开了由服务端发送客户端的数据通道

终了,所有数据传输通道关闭,完成四次挥手🙋

【三、接口协议与抓包】TCP的三次握手与四次挥手,《从测试到测试开发》,http,tcp/ip,功能测试,单元测试,测试工具,自动化,网络协议

为什么是四次不是三次挥手,服务端断开回应为什么不能和断开连接请求一次发送?

因为一个服务端是供应与多个客户端工作,服务端无法保证当一个客户端在发送请求完成后,立马发送对应的数据给对方,需要再进行二次数据确认,以保证数据及链路的完整性,所以挥手通常为四次,服务端断开回应不能和断开连接请求一次发送。

TCP协议

  • TCP协议处于传输层,基于端口,面向连接

  • 主机之间想要互相通信,首先需要建立双向数据通道

  • TCP的握手与挥手本质上都是四次

作者简介:

程序员山茶,一个工作5年,并坚持探索测试之路的测试开发工程师。曾混迹于互联网大厂、IOTA行业领航企业、安全行业、大数据行业领航企业,欢迎和我一起沟通交流。


【三、接口协议与抓包】TCP的三次握手与四次挥手,《从测试到测试开发》,http,tcp/ip,功能测试,单元测试,测试工具,自动化,网络协议

欢迎关注我,  和我一起探索AI+测试之路,终身成长文章来源地址https://www.toymoban.com/news/detail-839527.html

到了这里,关于【三、接口协议与抓包】TCP的三次握手与四次挥手的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Wireshark抓包分析TCP的三次握手

    一、TCP三次握手连接建立过程     Step1:客户端发送一个SYN数据包(SYN=1,Seq=X,ACK=0)给服务端,请求进行连接,这是第一次握手;     Step2:服务端收到请求并且允许连接的话,就会发送一个SYN+ACK的数据包(SYN=1,Seq=Y,ACK=X+1)给发送端,告诉它,可以通讯了,并且让客户

    2024年02月08日
    浏览(45)
  • 什么是三次握手与四次挥手( 一篇文章讲清楚TCP协议与UDP协议)

        关于TCP协议和UDP协议大家应该都有所耳闻,我们常用的网络通讯。比如浏览网页、软件聊天、以及你看到的这篇文章,都是通过这两种协议来进行数据传输的。 到底他们是如何工作的?这两种协议的区别又是什么呢?请随武汉海翎光电的小编一起耐心看完这篇文章,你一

    2024年02月09日
    浏览(46)
  • linux【网络编程】TCP协议通信模拟实现、日志函数模拟、守护进程化、TCP协议通信流程、三次握手与四次挥手

    Tcp通信模拟实现与Udp通信模拟实现的区别不大,一个是面向字节流,一个是面向数据报;udp协议下拿到的数据可以直接发送,tcp协议下需要创建链接,用文件描述符完成数据的读写 1.1.1 接口认识 1.1.1.1 listen:监听socket 1.1.1.2 accept:获取连接 通信就用accept返回的文件描述符,

    2024年02月06日
    浏览(54)
  • TCP协议的三次握手和四次挥手

    完整的TCP内容,请参考RFC 9293 TCP协议为应用提供可靠的、有序的的字节流服务。TCP是面向连接的,提供了全双工的通信。TCP使用端口号来识别应用程序服务并在主机之间复用不同的流。 TCP header也像IP header一样,在header中提供了一些专门用于TCP的信息,TCP header之后就是用户数

    2024年02月06日
    浏览(42)
  • 【Linux 网络】 传输层协议之TCP协议 && TCP的三次握手和四次挥手

    传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议 基于TCP应用层协议 HTTP HTTPS SSH Telnet FTP SMTP 源/目的端口号: 表示数据是从哪个进程来, 到哪个进程去 32位序号/确认序号:TCP的确认应答机制要使用到的字段,保证TCP的可靠

    2024年02月14日
    浏览(57)
  • Wireshark抓包分析TCP协议:三次握手和四次挥手

    面试中我们经常会被问到TCP协议的三次握手和四次挥手的过程,为什么总喜欢问这个问题呢? 其实我们平时使用的很多协议都是应用层协议,比如HTTP协议,https协议,DNS协议,FTP协议等;而应用层协议都是要基于传输层的两个协议之上的,也就是TCP协议和UDP协议。我们在使用

    2024年01月21日
    浏览(46)
  • 深入解析:HTTP和HTTPS的三次握手与四次挥手

    推荐阅读 字数统计:约 571 字 预计阅读时间:约 3 分钟 引言 在网络通信中,HTTP和HTTPS是两个最为常见的协议,它们作为应用层协议,扮演着浏览器与服务器之间传输数据的关键角色。而在建立和终止网络连接时,三次握手和四次挥手是不可或缺的步骤。本文将深入解析HTT

    2024年02月12日
    浏览(43)
  • TCP三次握手与四次挥手

    三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。实质上其实就是连接服务器指定端口,建立T

    2024年02月13日
    浏览(43)
  • 计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.

    TCP协议: UDP协议: TCP协议与UDP协议都工作在传输层. TCP协议与UDP协议它们的目标: TCP协议与UDP协议的最大区别: TCP协议保持连接的三个关键步骤: UDP协议: TCP协议与UDP协议主要区别: 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的

    2023年04月15日
    浏览(53)
  • 数通王国历险记之TCP协议的三次握手和四次挥手

    目录 前言  一、TCP我们称之为可靠的传输层协议,为什么称它为可靠呢? 二、TCP的建立——三次握手 1,提前知道TCP协议报文中都有些啥? 2.第一次握手 总的来说:就是PC1向PC2发出一个同步报文说,我想和你建立连接 3,第二次握手 总的来说:就是PC2同意和PC1建立连接,同时确

    2024年02月11日
    浏览(44)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包