计算机网络(第十弹) --- TCP 常见的异常情况及心跳包机制

文章详细阐述了TCP协议在遇到进程终止、机器重启以及机器断电或网线断开等异常情况时的处理机制,包括进程资源释放、四次挥手、超时重传和RST报文段的使用,以及心跳包在检测连接状态中的作用。
摘要由CSDN通过智能技术生成

常见的异常情况主要有三种: 进程终止 / 机器重启 / 机器断电或网线断开.

1 进程终止

  进程创建的时候会创建一个 PCB 进程控制块, 不管进程是咋终止的, 本质上都会释放对应的 PCB 及当前对应的文件描述符; 一样会触发四次挥手断开连接; 进程终止并不代表连接就终止, 进程终止就相当于是调用了 socket.close() 而已.


2 机器重启

机器重启的时候其实先杀的是进程, 仍然是要进行四次挥手.


3 机器断电或网线断开

  当出现突发情况机器来不及进行任何操作时可能会出现下面的情况:

  • 断电的是接收方时, 此时发送端还在发送数据, 但是接收端不会再发送 ack 确认应答, 发送方也不会接收到 ack 确认应答, 于是就要超时重传; 重传几次后还是会重置连接, 复位报文段 RST, 如果还是不行就会放弃这个连接, 将连接对应的资源进行回收;
  • 断电的是发送方时, 这时候接收端就尝试接收数据但是接收不到, 接收方现在是既不能确定是发送方出现故障了还是发送方根本就没有发送, 这时候接收方会采取 心跳包机制, 每隔一段时间就向对方发送一个 PING 包, 期待对方回复一个 PONG 包; 如果 PING 包发送过去过了很久也没有收到 PONG, 并且重试几次也不行, 就会断定发送方已经挂掉了!!!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值