欢迎光临
我们一直在努力

简述TCP三次握手和四次挥手

TCP三次握手:


  1. 第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。


  2. 第二次握手:


    Server


    收到数据包后由标志位


    SYN=1


    知道


    Client


    请求建立连接,


    Server


    将标志位


    SYN





    ACK


    都置为


    1





    ack=J+1


    ,随机产生一个值


    seq=K


    ,并将该数据包发送给


    Client


    以确认连接请求,


    Server


    进入


    SYN_RCVD


    状态。


  3. 第三次握手:


    Client


    收到确认后,检查


    ack


    是否为


    J+1





    ACK


    是否为


    1


    ,如果正确则将标志位


    ACK


    置为


    1





    ack=K+1


    ,并将该数据包发送给


    Server





    Server


    检查


    ack


    是否为


    K+1





    ACK


    是否为


    1


    ,如果正确则连接建立成功,


    Client





    Server


    进入


    ESTABLISHED


    状态,完成三次握手,随后


    Client





    Server


    之间可以开始传输数据了。


简单来说,就是


  1. 建立连接时,客户端发送SYN包(SYN=i)到服务器,并进入到SYN-SEND状态,等待服务器确认。


  2. 服务器收到


    SYN


    包,必须确认客户的


    SYN





    ack=i+1





    ,


    同时自己也发送一个


    SYN


    包(


    SYN=k





    ,





    SYN+ACK


    包,此时服务器进入


    SYN-RECV


    状态。


  3. 客户端收到服务器的


    SYN+ACK


    包,向服务器发送确认报


    ACK





    ack=k+1





    ,


    此包发送完毕,客户端和服务器进入


    ESTABLISHED


    状态,完成三次握手,客户端与服务器开始传送数据。





TCP四次挥手:


  1. 第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。


  2. 第二次挥手:


    Server


    收到


    FIN


    后,发送一个


    ACK





    Client


    ,确认序号为收到序号


    +1


    (与


    SYN


    相同,一个


    FIN


    占用一个序号),


    Server


    进入


    CLOSE_WAIT


    状态。


  3. 第三次挥手:


    Server


    发送一个


    FIN


    ,用来关闭


    Server





    Client


    的数据传送,


    Server


    进入


    LAST_ACK


    状态。


  4. 第四次挥手:


    Client


    收到


    FIN


    后,


    Client


    进入


    TIME_WAIT


    状态,接着发送一个


    ACK





    Server


    ,确认序号为收到序号


    +1





    Server


    进入


    CLOSED


    状态,完成四次挥手。


 

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。