TCP 中的异常情况与心跳包

目的

提高 TCP 协议的稳定性

示例

  • 场景一,关闭程序:

比如我把 Tomcat 关掉,那么部署在 Tomcat 上的应用程序还是会进行 四次挥手,和普通的 四次挥手 没有区别。

  • 场景二,机器重启:

按照正常的流程重启,此时系统会先杀死进程,也就会出发 四次挥手;可能会导致 挥手完成不了的情况

  • 场景三,机器掉网/网线断开:
    背景:主机 A 正在给 主机 B 传输数据
    主机 A :数据 1
    主机 B :ACK
    主机 A :数据 2
    此时主机 B 网线被拔了…
    触发超时重传
    主机 A :数据 2
    主机 B 没有回复 ACK
    主机 A :数据 2

    一定次数后,就会触发 TCP 报文格式中的标志位 RST(复位报文段)
    主机 A :RST(此时 RST 的比特位位 1)
    主机 B 没有回复
    主机 A 释放连接。
  1. 场景四
    背景: 主机 A 正在给主机 B 发送数据
    主机 A :数据 1
    主机 B :ACK
    主机 A :数据 2
    此时主机 A 网线被拔了…
    主机 B 还在苦苦等待主机 A 给他发数据
    主机 B :每隔一段时间,发送很小的 心跳包 给主机 A,看主机 A 还活着吗。
    如果主机 A 一直没回复,那么主机 B 认为 主机 A 已经下线了,就此断开连接。

心跳包 是一个很常见的 保活机制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值