`

TCP的四次挥手

 
阅读更多

TCP建立连接要进行三次握手,而断开连接要进行四次,这是由于tcp的半关闭造成的

因为TCP连接是全双工的(即数据可在两个方向上同时传递),所以进行关闭的每个方向

上都要单独进行关闭。这个方向的关闭就是半关闭,当一方完成它的数据发送任务,就发送

一个FIN来向另一方通告将要终止这个方向的连接。

1) 关闭客户端到服务器的连接:

首先客户端A发送一个FIN,用来关闭客户端到服务器端的数据传送,然后等待服务器确认。

其中终止标识位FIN=1,序列号seq=u

2),服务器收到这个FIN,它发回一个ACK,确认ACK为收到的序列号+1

3),关闭服务器到客户端的连接:同样是发送一个FIN给客户端

4),客户端收到FIN后,并发回一个ACK报文确认,并将确认序列号seq设置为收到序号+1

 

首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭



 

主机A发送FIN后,进入终止等待状态,服务器B收到主机A连接释放报文段后,就立即给主机A发送确认,

然后服务器B就进入close-wait状态,此时TCP服务器进程就通知高层应用进程,因而从A到B的连接就释放了。

此时是"半关闭"状态。即A不可以发送给B,但是B可以发送给A

此时,如果B没有数据要发送给A了,器应用进程就通知TCP释放连接,然后发送给A连接释放报文,并等待确认。

A发送确认ACK后,进入time-wait,注意此时TCP连接还没有释放掉,然后经过时间等待计时器设置的2MSL后,A才

进入到close状态。

欢迎关注我的微信公众号



 

 

  • 大小: 80.7 KB
  • 大小: 92.9 KB
分享到:
评论

相关推荐

    TCP四次挥手 可以变成三次吗708 - 726

    TCP 四次挥手是 TCP 协议栈中的一种关闭连接的机制,通常来说,TCP 四次挥手需要四个步骤来完成,但是在某些情况下,TCP 四次挥手可以变成三次挥手。本文将详细介绍 TCP 四次挥手的过程、为什么需要四次挥手,以及在...

    wireshark抓包分析tcp三次握手四次挥手

    在TCP/IP通信中,TCP连接的建立和关闭过程分别称为三次握手和四次挥手,这两个过程对于理解TCP连接的工作原理至关重要。 首先,我们来详细讲解TCP的三次握手过程: 1. **第一次握手**:客户端(Client)发送一个...

    五、TCP四次挥手1

    TCP四次挥手是TCP/IP协议中终止连接的重要过程,它涉及到双方主机的资源释放和通信的确认。在TCP连接中,任何一方都可以发起关闭连接的请求。以下是详细的知识点解析: 1. **TCP挥手过程**: - 客户端决定关闭连接...

    10如何提升TCP四次挥手的性能?1

    本节主要探讨如何优化TCP四次挥手的性能,并分析其背后的原理。 首先,我们了解TCP关闭连接的两种主要函数:`close`和`shutdown`。`close`函数会立即将连接标记为孤儿连接,意味着两个方向的数据传输都将停止,而`...

    TCP三次握手四次挥手

    ### TCP三次握手与四次挥手详解 #### 一、TCP协议简介 TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在计算机网络中,TCP用于在应用程序之间提供...

    TCP三次握手与四次挥手.pdf

    接下来,分析TCP四次挥手的过程: 1. 第一次挥手:当客户端完成数据发送任务后,发送一个带有FIN(结束)标志的数据包给服务器端,表示客户端没有数据需要发送了,请求关闭连接。客户端进入FIN_WAIT_1状态。 2. 第...

    wireshark抓包分析tcp三次握手四次挥手详解及网络命令

    TCP四次挥手是关闭TCP连接的过程,具体步骤如下: 1. **第一次挥手**:客户端向服务器发送一个FIN报文段,表示客户端已经没有数据需要发送了。 2. **第二次挥手**:服务器接收到FIN报文段后,会发送一个ACK报文段...

    Tcp四次挥手.png

    1)第一次挥手:Client发送一个FIN,用来关闭Client到Server的... 4)第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLOSED状态,完成四次挥手

    TCP三次握手及四次挥手详细图解.docx

    TCP 三次握手及四次挥手详细图解 TCP 三次握手是指建立一个 TCP 连接时,需要客户端和服务器总共发送 3 个包。三次握手的目的是连接服务器指定端口,建立 TCP 连接,并同步连接双方的序列号和确认号并交换 TCP 窗口...

    tcp三次握手四次挥手

    TCP四次挥手用于关闭连接,确保客户端与服务器之间能够有序地关闭连接,避免半开放状态的发生。这一过程涉及四个步骤: 1. **FIN挥手**: - 当客户端完成数据传输并准备关闭连接时,它会发送一个带有`FIN`标志的...

    tcp三次握手四次挥手.docx

    TCP四次挥手是在连接完成后,双方均无数据需要传输的情况下,用于释放连接的过程。其步骤如下: 1. **第一次挥手**: - **主动关闭方**(通常为客户端)发送一个带有`FIN`标志位的TCP报文段给另一方(通常为服务器...

    Wireshark抓包分析TCP“三次握手,四次挥手”.doc

    Wireshark 抓包分析 TCP“三次握手,四次挥手” Wireshark 是一个功能强大的网络抓包工具,通过它我们可以抓包并分析 TCP/IP 传输过程。在本文中,我们将通过 Wireshark 来抓包和分析 TCP“三次握手,四次挥手”...

    TCP三次握手和四次挥手详解.docx

    "TCP三次握手和四次挥手详解" TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输层协议,它通过三次握手和四次挥手来确保连接的建立和终止。 一、TCP 三次握手 TCP 三次握手是指在客户端和...

    TCP三次握手四次挥手学习资料笔记.zip

    二、TCP四次挥手 四次挥手是为了确保双方都接收到对方关闭连接的请求,防止出现半关闭状态,即一方认为连接已经关闭,而另一方还在继续发送数据。过程如下: 1. 第一次挥手:主动关闭方(通常是客户端)发送一个...

    TCP三次握手&四次挥手

    #### 四、TCP四次挥手过程 TCP四次挥手的过程如下: 1. **第一次挥手**: - 主动关闭的一方(通常是客户端)发送一个FIN标志置为1的报文,表示没有更多的数据需要发送了,请求释放连接。此时客户端进入FIN_WAIT_1...

    TCP报文分析--三次握手 四次挥手

    TCP 报文分析--三次握手四次挥手 TCP 报文分析是计算机网络中的重要内容, TCP(Transmission Control Protocol)是一种面向连接的传输控制协议,它提供了可靠的数据传输服务。在这个过程中,三次握手和四次挥手是 ...

    02_TCP三次握手四次挥手的过程1

    **TCP四次挥手**: 1. **第一次挥手**:当客户端不再需要连接时,它会发送一个FIN(结束)标志的数据包给服务器,请求断开连接,进入FIN_WAIT_1状态。 2. **第二次挥手**:服务器收到FIN包后,发送一个ACK数据包确认...

    TCP协议握手挥手抓包分析.pdf

    **TCP四次挥手** TCP连接的关闭则涉及四次挥手,确保双方都能接收到对方不再发送数据的信号。 1. **第一次挥手**: - 客户端发送一个FIN(结束)标志的数据包,表示自己不再有数据发送,Sequence number 设置为...

Global site tag (gtag.js) - Google Analytics