TCP3次握手、4次断开规则

        TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在TCP/IP协议族中,TCP协议负责在两个网络节点之间建立可靠的连接,并保证数据包的顺序传输和数据的完整性。为了实现这一目标,TCP协议使用了“三次握手”和“四次挥手”机制。
        ### 三次握手(建立连接)
三次握手是TCP协议中用于建立连接的过程。这个过程确保了两端设备都准备好进行数据传输,并且同步了双方的序列号,为数据传输的安全性打下基础。
        1. **第一次握手(SYN)**:
         - 客户端发送一个SYN(同步序列编号)标志的TCP段到服务器,以便开始一个新的连接。这个段中包含客户端的初始序列号(ISN),这是随机生成的,用于后续的数据传输。
         2. **第二次握手(SYN-ACK)**:
         - 服务器接收到客户端的SYN请求后,需要确认客户端的SYN,同时自己也发送一个SYN请            求。服务器在应答中包含它自己的初始序列号,并将确认序号设置为客户端的初始序列号加1。
        3. **第三次握手(ACK)**:
          - 客户端收到服务器的SYN-ACK应答后,发送一个确认包(ACK),这个包的序列号是服务器的初始序列号加1。这样,双方都确认了对方的SYN,连接建立成功。
        ### 四次断开(终止连接)
        四次挥手是TCP协议中用于终止一个连接的过程。这个过程比较复杂,因为TCP连接是全双工的,必须单独关闭每个方向的连接。
        1. **第一次挥手(FIN)**:
         - 当客户端完成数据传输后,它需要发送一个FIN(结束)标志的TCP段到服务器,表示客户端没有数据再发送了。
        2. **第二次挥手(ACK)**:
        - 服务器收到这个FIN请求后,发送一个ACK包作为应答,确认序号为收到序号加1。此时,客户端到服务器方向的连接被关闭,但服务器到客户端方向的连接仍然开放,以便服务器发送剩余的数据。
        3. **第三次挥手(FIN)**:
        - 当服务器也完成数据传输后,它也发送一个FIN包到客户端,请求关闭到客户端方向的连接。
        4. **第四次挥手(ACK)**:
        - 客户端收到服务器的FIN请求后,发送一个ACK包作为应答,确认序号为收到序号加1。在发送完这个ACK包后,客户端会等待足够长的时间(2倍的最大段生命周期MSL),以确保服务器收到确认包。
        经过这四次挥手,TCP连接被完全关闭。在这个过程中,每个方向的连接都需要单独进行关闭,这是由于TCP连接的对称性和全双工性质所决定的。通过这样的机制,TCP协议保证了数据传输的可靠性

  • 13
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值