zoukankan      html  css  js  c++  java
  • TCP协议

    下班回家路上,说起TCP,简直汗颜。虽然好久前,看过TCP,但是原生的还是觉得一来一回算是一次握手,真是汗颜。

    三次握手

     使用wireshark分析如下:

    三次握手,主要为了客户端和服务端都要对传输报文确认。

     第一次握手:客户端发送 SYN包 (syn=1, seq=x )到服务端

     第二次握手:服务端接收SYN 包并确认ack=x+1,并同时发送一个 SYN(y=k)包到客户端, 即SYN+ACK包

     第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1), 并建立连接

    为什么不两次握手?

    防止失效的连接请求报文段突然又传送到服务端,建立打量无效的连接,使服务端崩溃。

    四次挥手

    四次挥手:

        第一次挥手: 客户端发送 FIN包(seq=x) 到服务端

        第二次挥手: 服务端接收到FIN包,发送ACK(seq=x=1), 客户端等待服务端终止

        第三次挥手:服务端终止后,发送FIN(seq=y)给客户端

        第四次挥手:客户端接收到FIN后,发送确认ACK(seq=y+1)

    为什么不是三次挥手(和握手一样,第二次和第三次一起发送) ?

       主要是等待服务器停止,可能还在处理某些请求

  • 相关阅读:
    冲刺进度条03
    冲刺进度条02
    冲刺进度条01
    第二阶段团队冲刺(九)
    第二阶段团队冲刺(八)
    第二阶段团队冲刺(七)
    用户体验评价
    第二阶段团队冲刺(六)
    程序员修炼之道:从小工到专家阅读笔记01
    2019春季学期进度报告(十三)
  • 原文地址:https://www.cnblogs.com/CaesarLinsa/p/12483314.html
Copyright © 2011-2022 走看看