TCP 协议四次挥手&状态变迁

本文介绍了TCP协议的四次挥手过程和关闭连接的目的,强调了防止数据丢失和与应用层交互的重要性。通过三次握手与四次挥手的详细流程,解释了为何TCP需要四次挥手来确保连接的可靠终止。此外,文章使用wireshark进行抓包分析,展示了TCP连接在关闭过程中的状态变迁,并提供了实际的报文示例。

TCP 协议四次挥手&状态变迁

之前介绍了 TCP 三次握手建立连接流程,而 TCP 协议是一个面向 字节流 的协议,它不限制应用层传输消息的长度,但是 网络层数据链路层 在发送报文时使用的内存是有限的,所有就需要限制报文的长度,TCP 协议就需要把从 应用层 接收到的任意长度的 字节流 切分成许多个报文段,这里边涉及到很多底层复杂的网络编程的知识,如 TCP 是如何切分应用层的消息、慢启动、避免拥塞、超时重试等等,最后会经历一个关闭连接的过程,这篇简单介绍一下TCP 四次挥手 以及 状态变迁

1.TCP 关闭连接目的

TCP 是一个全双工协议,必须单独拆除每一条信道,而四次挥手的目的则是终止数据传输,且回收资源,此时两个端点两个方向的序列号已经没有了任何关系,必须等待两方向都没有数据传输时才能拆除虚链路,因此必须单独分别在一个方向上终止该方向的数据传输。如果也像三次握手那样只有三次挥手的话,在被动关闭端在收到 FIN 消息之后,需要同时回复 ACK 和服务端的 FIN 消息,如果服务端还需要等待一段时间才可以关闭另外一个方向的连接,那么这样的三次挥手就会出问题,而 TCP 关闭连接主要有以下两个目的:

  • 防止数据丢失
  • 与应用层交互

2.三次握手和关闭连接

2.1 三次握手流程

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值