网络连接管理除了TCP三次握手,还有TCP四次挥手

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

网络连接管理除了TCP三次握手,还有TCP四次挥手

TCP三次握手

网络通信建立连接,TCP会进行三次握手,三次握手主要是两个主机之间建立连接,和其他没有什么关系,那么两个主机之间是如何进行三次握手的呢?他们又会使用什么操作来建立连接呢?

这里我们先了解一下TCP的报文结构:

网络连接管理除了TCP三次握手,还有TCP四次挥手

三次握手主要是理解成客户端与服务器经过三次交互,双方确立完成,建立连接进行网络通信。TCP的报文结构中 tcp flags 中SYN报文起关键作用,客户端在确立连接时会将SYN报文发送至服务器,当服务器识别到SYN报文时,将ACK报文和SYN报文一并发送至客户端,当客户端收到SYN报文,也会返回ACK报文至服务器,以上,就完成了三次交互。

网络连接管理除了TCP三次握手,还有TCP四次挥手

该图就是说明了三次握手基本原理,细节分析:当客户端发送SYN报文时,服务器接收到,就说明客户端的发送数据操作没有问题,然后服务器将ACK+SYN报文进行发送时,此时客户端接收到,客户端就会知道自己的发送性能和接收性能正常,服务器的接收性能和发送性能没有问题,然后再将ACK报文返回给服务器,服务器这才知道自己的发送性能没有问题也知道客户端的接收性能没有问题

那么三次握手能不能改成2次握手?或者四次握手?

答:不可以,2次握手会有安全隐患,因为第三次是确保服务器把客户端的情况了解,再把自身的情况摸清,如果去除了第三次握手,不能确保连接成功。四次握手按常理是可行的方案,不过在连接管理时应该尽量把步骤进行简化,而不是逆行。

TCP四次挥手

TCP四次挥手是TCP断开连接会进行的操作。根据TCP报文图,可以发现,在SYN后面有一个报文叫FIN,相当于finish(结束),对的该报文就是在客户端对服务器或者服务器对客户端发送的结束报文。(双方可以互相发送)

这里我只列举出一种:(客户端给服务器发送FIN报文)

网络连接管理除了TCP三次握手,还有TCP四次挥手

看到这里,可能有小伙伴会问,为什么不将ACK报文与FIN报文同时发送,连接管理时不是将SYN和ACK一起发送了吗?

对!不过这里因为是断开连接,发送FIN报文需要满足一定的条件,发送FIN报文是需要进程断开连接,而一般断开连接时时机不同,当客户端与服务器断开时,服务器还并没有结束该进程,所以才会造成时机的不同,一般对方主机需要执行关闭(close)方法才会向对方发送FIN报文,所以这里一般是会进行四次挥手。一般情况是这样,不过还有特殊情况,在特殊情况下,ACK和FIN报文有一定概率可以合并,不过是极小概率事件。

ACK和FIN报文有一定概率可以合并,不过是极小概率事件。

总结

综上所述,TCP连接管理中建立连接和断开连接是不同的,报文格式也是不同的。TCP三次握手中ACK和SYN几乎是同一时间发出,是一种内核态的过程。而FIN和ACK是在不同时机触发的,而ACK是内核态,速度快,而FIN是一种应用程序代码,是由人为控制,所以两个数据报很难合并。文章来源地址https://www.toymoban.com/news/detail-466734.html

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

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

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

相关文章

  • 【网络|TCP】三次握手、四次握手

    TCP是一种面向连接的可靠的传输协议,建立和断开TCP连接时需要进行握手的过程。其中,TCP的连接建立需要进行三次握手,而连接断开则需要进行四次握手。 三次握手 第一次握手:客户端发送一个SYN(同步)报文给服务器,表示客户端请求建立连接。这个报文中包含一个初

    2024年02月14日
    浏览(25)
  • TCP的连接和建立(三次握手和四次挥手)

    ​ 1.TCP连接的建立 ​ 连接的建立,通常称为三次握手。 ​ ​ 建立连接前服务器处在收听状态。 ​ 第一步:客户机的TCP向服务器的TCP发送连接请求报文段。同步位 = 1。这时客户进程进入同步已发送状态。 ​ 第二步:服务器TCP收到连接请求报文段后,如同意建立连接,向客

    2024年02月16日
    浏览(28)
  • (学习笔记-TCP连接建立)TCP 为什么是三次握手?不是两次、四次?

    常规回答:“因为三次握手才能保证双方具有接收和发送的能力” 三次握手的 首要原因是为了防止旧的重复连接初始化造成混乱 。 假设:客户端先发送了SYN(seq=90)报文,然后客户端宕机了,而且这个SYN报文还被网络阻塞了,服务端并没有收到,接着客户端重启后,又重新向

    2024年02月17日
    浏览(36)
  • 【Linux网络】TCP/IP三次握手、四次挥手流程

    目录 一、三次握手,建立连接 二、四次挥手,断开连接 三、主要字段  1、标志位(Flags)  2、序号(sequence number)  3、确认号(acknowledgement number) 四、三次握手的报文变化 五、四次挥手的报文变化 六、面试题 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手,

    2024年02月08日
    浏览(37)
  • 【计算机网络】TCP 的三次握手和四次挥手

    TCP 是面向连接的,面向连接就是数据通讯的时候需要进行三次握手,断开通讯的时候需要进行四次挥手。 1.seq(sequence number),序列号,随机生成的 2.ack(acknowledgement number),确认号,ack=seq+1 3.ACK(acknowledgement),确定序列号有效 4.SYN(synchronous),发起新连接 5.FIN(FINISH),完成 TCP三次

    2024年02月10日
    浏览(31)
  • 网络协议 TCP三次握手与四次断开的详细观察

    1:PC1与PC2的连通性,2:pc1安装Sniffer,pc2安装IIs服务器。3:pc1访问pc2的FTP,用Sniffer抓包分析三次握手与四次断开的详细过程 sniffer pro(sniffer抓包工具) V4.7.5 中文特别版(附注册码) 类型: 网络辅助 大小: 37.7MB 语言: 简体中文 时间: 2014-03-06 查看详情 1、此图证明PC1与PC2已经可

    2024年02月08日
    浏览(33)
  • TCP为什么需要三次握手进行连接,二次或四次不可以吗?

    为了确认双方具有接收和发送的能力。 1. 可以阻止重复历史连接的初始化(主要原因)。 2. 可以同步双方的初始序列号。 3. 可以避免资源的浪费。 1. 为了防止旧的重复连接初始化造成混乱。 当客户端发送了一个 SYN 报文后,突然宕机了,并且这个 SYN 报文还被网络阻塞了

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

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

    2024年02月14日
    浏览(36)
  • 网络扫盲:Tcp协议和hettp、https协议、三次握手四次挥手

    是一种用于传输超文本的协议,是Web应用程序的基础。HTTP协议使用客户端-服务器模型,客户端发出请求,服务器返回响应。HTTP协议是无状态的,即服务器不会记住之前的请求和响应,每个请求和响应都是独立的。HTTP协议使用TCP作为传输协议,通常使用80端口。 HTTP协议的应

    2024年02月04日
    浏览(85)
  • 【网络】TCP通讯(三次握手、四次挥手;滑动窗口;TCP状态转换;端口复用;TCP心跳检测机制)

     前言:建议看着图片,根据文字描述走一遍TCP通讯过程,加深理解。 目录 TCP通信时序: 1)建立连接(三次握手)的过程: 2)数据传输的过程: 3)关闭连接(四次挥手)的过程: 滑动窗口 (TCP流量控制): TCP状态转换: 半关闭: 2MSL: 程序设计中的问题: 端口复用:

    2024年02月07日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包