zoukankan      html  css  js  c++  java
  • tcp三次握手

      tcp三次握手位于OSI七层协议(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)中的传输层,用于建立主机间可靠的连接。

    连接中用于交互和确认是通过seq、ack等序号以及SYN、ACK等标志位。

      三次握手:

    第一次握手:客户端发送SYN(seq=j)包请求服务器连接,同时进入SYN-SENT状态,并等待服务器回应。

    第二次握手:服务其接受到SYN包,并发送一个ack=j+1的ACK包和SYN包,即SYN+ACK包回复客户端,此时服务器进入SYN-RECV状态。

    第三次握手:客户端接收到SYN+ACK包,此时再发送ACK包到服务器,发送完毕进入连接状态,完成三次握手。

      四次挥手:

     第一次挥手:客户端发送FIN报文和seq序列号,进入FIN-WAIT-1状态

     第二次挥手:服务器收到请求,发出ACK报文,ack序号和seq序号,此时服务器进入CLOSE-WAIT状态。TCP需要通知高层应用客户端的断开连接请求,做出相应的处理或回传数据。

     第三次挥手:客户端收到ACK确认请求后,进入FIN-WAIT-2状态,等待服务器发送连接释放报文。服务器做出相关处理后发送最后的连接FIN释放报文,此时服务器进入LAST-ACK(最后确认状态)

     第四次挥手:客户端收到FIN报文后必须发送最后的ACK报文,此时进入TIME-WAIT状态。服务器收到后进入CLOSED状态。

  • 相关阅读:
    laravel路由导出和参数加密
    laravel groupby 报错
    Laravel/Lumen 分组求和问题 where groupBy sum
    php swoft redis 发布和订阅
    Linq to Sql学习总结7
    Linq to Sql学习总结6
    Linq to Sql学习总结5
    Linq to Sql学习总结4
    Linq to Sql学习总结3
    Linq to Sql学习总结2
  • 原文地址:https://www.cnblogs.com/ring2/p/11433876.html
Copyright © 2011-2022 走看看