首页 > 其他 > 详细

TCP

时间:2020-01-11 19:25:10      阅读:90      评论:0      收藏:0      [点我收藏+]

一、三次握手 

  三次握手流程: 

    甲:客户端机器发送链接请求: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

  

 

 

  

TCP

原文:https://www.cnblogs.com/chen--biao/p/12180653.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!