TCP协议

作者: 互联网中的一个咸鱼 | 来源:发表于2019-08-05 07:50 被阅读0次

    TCP的特性

    • TCP提供一种面向连接的,可靠的字节流服务
    • 在一个TCP连接中,仅有两方进行彼此通信。广播和多播不能用于TCP
    • TCP使用检验和确认和重传机制来保证可靠传输
    • TCP传输失败后,数据包会返回,不会丢失
    注意:TCP并不能保证数据一定会被对方接收到,因为这是不可能的,TCP能做到的是,如何有可能,就把数据递送到接收方,否则就(通过放弃重传并且中断连接这一手段)通知用户,因此准确来说TCP也不是100%可靠的协议,它所能提供的是数据的可靠递送和故障的可靠通知
    • 三次握手

    三次握手是指建立一个TCP连接时,需要客户端和服务器发送三个包
    三次握手的目的是客户端连接到服务器的指定端口,建立TCP连接,并同步连接双方的序列号和确认号,交换TCP窗口大小信息,在Socket编程中,客户端执行connect()中,将触发三次握手

    第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
    SYN:同步序列编号(Synchronize Sequence Numbers),请求同步
    第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
    第三次握手:客户端收到服务器的SYN+ACK(确认同步)包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手.
    完成三次握手之后,客户端与服务器开始传输数据


    image

    四次挥手:
    1.客户端向服务器发送一个请求断开连接的包
    2.服务器回应客户端并发送一个确认的包
    3.服务器向客户端发送一个请求断开的包
    4.客户端回应服务器并发送一个确认的包

    相关文章

      网友评论

          本文标题:TCP协议

          本文链接:https://www.haomeiwen.com/subject/pqwkrctx.html