zoukankan      html  css  js  c++  java
  • 006_netstat中state详解

    TCP三次握手的过程如下:

            主动连接端发送一个SYN包给被动连接端;

            被动连接端收到SYN包后,发送一个带ACK和SYN标志的包给主动连接端;

            主动连接端发送一个带ACK标志的包给被动连接端,握手动作完成。

    TCP四次挥手的过程如下:

            主动关闭端发送一个FIN包给被动关闭端;

            被动关闭端收到FIN包后,发送一个ACK包给主动关闭端;

            被动关闭端发送了ACK包后,再发送一个FIN包给主动关闭端;

            主动关闭端收到FIN包后,发送一个ACK包,当被动关闭端收到ACK包后,四次挥手动作完成,连接断开。

    netstat中的各种状态:

            CLOSED 

                    初始(无连接)状态。

            LISTEN 

                    侦听状态,等待远程机器的连接请求。

            SYN_SEND 

                    在TCP三次握手期间,主动连接端发送了SYN包后,进入SYN_SEND状态,等待对方的ACK包。

            SYN_RECV 

                    在TCP三次握手期间,主动连接端收到SYN包后,进入SYN_RECV状态。

            ESTABLISHED 

                    完成TCP三次握手后,主动连接端进入ESTABLISHED状态。此时,TCP连接已经建立,可以进行通信。

            FIN_WAIT_1 

                    在TCP四次挥手时,主动关闭端发送FIN包后,进入FIN_WAIT_1状态。

            FIN_WAIT_2 

                    在TCP四次挥手时,主动关闭端收到ACK包后,进入FIN_WAIT_2状态。

            TIME_WAIT 

                    在TCP四次挥手时,主动关闭端发送了ACK包之后,进入TIME_WAIT状态,等待最多MSL时间,让被动关闭端收到ACK包。

            CLOSING 

                    在TCP四次挥手期间,主动关闭端发送了FIN包后,没有收到对应的ACK包,却收到对方的FIN包,此时,进入CLOSING状态。

            CLOSE_WAIT 

                    在TCP四次挥手期间,被动关闭端收到FIN包后,进入CLOSE_WAIT状态。

            LAST_ACK 

                    在TCP四次挥手时,被动关闭端发送FIN包后,进入LAST_ACK状态,等待对方的ACK包。

    主动连接端可能的状态有:         

            CLOSED        SYN_SEND        ESTABLISHED。

    主动关闭端可能的状态有:         

            FIN_WAIT_1        FIN_WAIT_2        TIME_WAIT。

    被动连接端可能的状态有:         

            LISTEN        SYN_RECV        ESTABLISHED。

    被动关闭端可能的状态有:         

            CLOSE_WAIT        LAST_ACK        CLOSED。

    在Linux下,如果连接数比较大,可以使用效率更高的ss来替代netstat。

    参考:http://12218412.blog.51cto.com/12208412/1895171

  • 相关阅读:
    洛谷 P3353【在你窗外闪耀的星星】
    SpirngMVC源码分析
    处理器映射器(HandlerMapping)及处理器适配器(HandlerAdapter)详解(二)
    关于 DispatcherServlet.properties 文件
    处理器映射器(HandlerMapping)及处理器适配器(HandlerAdapter)详解(一)
    SpringMVC的入门程序
    Spring工作原理:初识SpringMVC
    Spring的事务管理
    Spring配置连接池和 Dao 层使用 jdbcTemplate
    Spring 的 jdbcTemplate 操作
  • 原文地址:https://www.cnblogs.com/itcomputer/p/7219172.html
Copyright © 2011-2022 走看看