zoukankan      html  css  js  c++  java
  • TCP

    一、三次握手 

      三次握手流程: 

        甲:客户端机器发送链接请求:SYN=1,seq=x ;
        乙:服务器机器响应链接请求:SYN=1,ACK=1,seq=y ; (y = x+1)
        丙:客户端机器响应服务端:ACK=1,seq=x+1,ack=y+1 ;

        

      三次握手的原因:

        

        a:确认双方都能首发报文。

        b:防止出现请求超时导致脏链接。

          甲机器第一次请求链接超时。

          甲机器第二次请求链接发送成功,建立链接。

          此时:服务器收到甲机器的第一次建立链接请求。

           

    二、四次挥手

      四次挥手的流程:

        甲:客户机发送断开链接请求:FIN =1,seq=u

        乙:服务端发送应答:ACK=1,seq=v,ack=u+1

        丙:客户端处于半关闭状态,只能接受数据,不能发送数据。

        丁:服务端传输完成:FIN=1,ACK=1,seq=w,ack=u+1

        己:服务端进入半关闭状态

        庚:客户端应答服务器"丁"步骤的消息:ACK=1,seq=u+1,ack=w+1

        辛:客户端等待2MSL,收不到服务端的消息,关闭链接。

        壬:服务器收到客户端的消息,断开链接。

       流程图:

          

        四次挥手的原因:

          1、确保数据全部接收。

          2、TIME_WAIT 非常重要,不可省略。

       

    三、实际使用

      1、减少服务器的TIME_WAIT超时,能增加服务器并发。

        /etc/sysctl.conf    net.ipv4.tcp_fin_timeout=30

      

      

  • 相关阅读:
    sql server中sql语句中单引号怎么转义?【转】
    如何配置Eclipse+Tomcat 开发环境【转】
    JBoss和Tomcat版本、及Servlet、JSP规范版本对应一览 【转】
    P1955 [NOI2015]程序自动分析 && 离散化学习 && lower_bound学习
    P1604 B进制星球
    [OI
    [OI
    Aiyi's Code Style for OI
    POJ1186 方程的解数
    [Daily Life]百首好歌
  • 原文地址:https://www.cnblogs.com/chen--biao/p/12180653.html
Copyright © 2011-2022 走看看