zoukankan      html  css  js  c++  java
  • 对三次握手的理解

    第一次握手:
        建立链接的时候,客户端发送一个同步(syn)请求的包到服务器,进入一个等待服务器响应的状态(syn_sent),会有一个专定的一个同步序列编号来识别本次链接(synchronize sequence numbers);
        解释:
            syn(synchronous):是TCP/IP链接时候的握手信号。
            ACK (Acknowledgement): 是对发送数据的确认接受情况。
        假设:
            我:客户端;
            你:服务器端
        链接的过程:(我要给你一个包裹的过程)相当于客户端对服务器端链接的过程;我面对着你(发送的方向地址ip以及端口),大声叫你“张三有包裹”(这个过程syn求服务器响应,并进入等待响应状态(SYN_SENT)),同时我把我的工号(SYN序列号编码)给你发送过去,等你的响应,我再送包裹给你。

    第二次握手:
        建立链接后,客户端向服务器端发送数据,服务器端进入接受SYN包的状态(SYN_RECV);
        解释:
            SYN_RECV:服务器打开链接后,接收到SYN并发送了响应(ACK),再进一步进入接受信息接受的状态;
        接受信息的过程:
            这个时候我就一直等你的回答有没有听到,如果你听到了就回答到“我听到了,你是不是xx快递公司的给我看看你的工号”(就相当于服务器接受到了请求的响应,并对该同步序列号进行验证),验证你是邮递员之后我在说“你给我拿过来嘛”(并作出了一个响应,服务器也发送一个SYN和一个应答返回给客服端(SYN+ACK)),然后我就听到了你的话就说“要得,我马上给你拿过来”(这个时候客户端对服务器端的响应得到了接受,并作出了响应(ACK)),现在我就准备把我放在地上的包裹拿起来准备送到你那里去。(进入SYN_RECV的状态,等待获取数据)。

    第三次握手;
        客户端收到服务器的SYN+ACK包,向服务器发送请求包ACK,发送完成后,客户端与服务器进入ESTABLISHED状态,完成三次握手、   
        解释:
            ESTABLISHED:TCP链接成功
        建立联系:
            确定你是接受包裹的人后(建立好链接后,TCP连接成功),我就把包裹重公司运送到你的地方(最后完成数据的发送);

  • 相关阅读:
    CQUOJ 10819 MUH and House of Cards
    CQUOJ 9920 Ladder
    CQUOJ 9906 Little Girl and Maximum XOR
    CQUOJ 10672 Kolya and Tandem Repeat
    CQUOJ 9711 Primes on Interval
    指针试水
    Another test
    Test
    二分图匹配的重要概念以及匈牙利算法
    二分图最大匹配
  • 原文地址:https://www.cnblogs.com/leexq/p/4593915.html
Copyright © 2011-2022 走看看