出现丢包问题的情况以及解决方法

为什么会出现丢包?

        我们在网络上传输数据的时候,数据需要经过很多的路由器/交换机(交通枢纽)进行传输,而路由器/交换机的结构是很复杂的,传输的数据量也是不确定的,可能这一会传输的数据比较少,过一会传输的数据又比较多

        如果路由器/交换机设备太过繁忙,后面来的数据等待了太久,就有可能会被丢弃,这就出现了丢包,当网络负载越高,越繁忙,就越容易出现丢包

出现丢包的两种情况

一.

        

 二.

        第二种情况相比于第一种情况就稍微复杂,当主机B接收到了主机A传来的数据,再发送确认应答的数据时发生了丢包,这就导致主机A没有收到主机B确认应答的消息,主机A就会重新发送数据给主机B

        此时主机B就收到了两份相同的数据,所以主机B作为接收方就要对接收到的数据进行去重,把重复的数据丢弃掉,保证应用程序在读取数据的时候不会出现重复

        那么我们要如何高效的判定当前收到的数据是否是重复的呢,这就需要用到TCP数据报中序号这个属性了,通过传输数据的第一个字节的序号,以及传输数据的长度,可以获得传输数据的每一个字节的序号,通过判断序号有没有重复出现就可以很快的判断出当前接收到的数据有没有出现重复。

超时时间

        主机A在发送数据给主机B以后,会等待一段时间,在等待时间结束后还没有收到主机B的确认应答信息的话才会重新发送数据,这段等待的时间便是超时时间

        而超时时间不是一个固定的值,会随着超时轮次的增加,而进一步增加,随着重传轮次的增加,等待时间也会越来越长,但即使一直没有收到确认应答的信息,也不会一直的进行重传操作,因为要是多次重传都没有成功,说明当前网络本身的丢包率已经极高了,网络可能遇到了比较严重的故障,进行频繁的重传也是白费力气

        

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小林想被监督学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值