zoukankan      html  css  js  c++  java
  • TCP的三次握手和四次挥手

    TCP建立连接需要三次握手:

    (1)客户端发送syn请求

    (2)服务端收到请求后,发送syn+ack回复

    (3)客户端回复ack请求

    好比两个人隔着50米在大雾中对话。老黄看见50米处的老王,向他微笑(syn)。老王看见老黄的微笑,向老黄的方向挥了挥手(ack),表示自己已经看到

    他了,并且对老黄微笑(syn)。老黄看到老王的挥手,知道老王看到他的微笑了,他挥了挥手(ack),表示自己看到了老王了。

    于是两个好友见面了。

    在这个过程中,一共产生四个动作,包括客户端的syn1和ack1,以及服务端的syn2和ack2。服务端的ack1+syn2是放在一条信息里的,

    所以客户端主动发起两个,服务端被动发起一个。共有三次信息发送。

    TCP解除连接的四次握手:

    (1)客户端主动发起fin请求

    (2)服务端回复ack,客户端收到后处于半关闭状态,不能释放资源

    (3)服务端发起fin请求

    (4)客户端回复ack,此时释放资源。

    为什么接触连接需要四次握手,因为客户端收到回复后是处于半关闭状态的。并没有释放资源。

    在客户端处于半关闭状态的时间里,大概是4分钟,也就是2个MSL(maximium segment lifetime),MSL是报文最大存活时间,2分钟,具体为什么

    是两分钟还没有得到很好的解释。在这个过程中,网络中残留的传输失败的报文会消散,以免影响网速。

  • 相关阅读:
    UITableViewCell隔行换颜色
    NSUserDefaults数据保存使用
    使用API获取(默认付款条件和到期日)
    分类账和法人实体
    如何避免Oracle Form界面倒入.csv文件出现乱码
    XML publisher 填充空白行数
    DBA处理异常常用SQL
    wsh_deliveries_pub.create_update_delivery异常
    sql
    破解Oracle ERP密码
  • 原文地址:https://www.cnblogs.com/gzhich2019/p/11905898.html
Copyright © 2011-2022 走看看