计算机网络03之可靠传输

1. 停止等待协议

1.概述

发送方每次只能发送一个数据包,确认方每次只能发送一个确认。发送方收到重复的确认会丢弃(接收方已经接收),接收方收到重复的数据,会把数据丢弃,但是会发送确认(防止上一个确认消息丢失)

2. 信道利用率

在这里插入图片描述
信道利用率很低

2. TCP中可靠传输机制

1. 发送端与接收端行为

超时重传与快速重传,正常传送是针对发送方来说的,确认单个,确认一批(窗口)选择确认与重复确认是针对接收方来说的

  1. 发送端
    发送端超时重传与快速重传机制同时存在。当某个数据包超出计时器时间还没有收到确认,就重传该数据包,(超时重传)当某个数据包未超过计时器时间,但是已经连续收到三个确认,则重传(快速重传)。
  2. 接收端
    1. 接收端当前收到的数据包序号与之前收到的数据包序号相连(不丢包),则发送该数据包的序号。
    2. 如果当前数据包与之前收到的数据包序号有间隔(丢包),则发送ack(丢包)
      1. 为了指明哪些数据包已经接收,SACK字段指明哪些数据包已经被接受了,格式为【SACK左,SACK右),重传【ack,sack左)选择性确认
    3. 在接收窗口读取了若干连续的数据包,则ack(当前数据包)
    4. 当接收方已经接收到了数据,再次接收到同样的数据,SACK字段表示重复接收的数据 【SACK左,SACK右)

2. 各种机制解决的问题

  1. 超时重传
    单纯的超时重传解决数据包传输丢失与确认丢失问题,这是可靠传输的底线,即使其余机制出现问题,超时重传机制也能保证数据的可靠传输。
  2. 快速重传机制
    解决超时重传数据包等待时间过长的问题,提高传输速率(原先要等到到达重传时间再重传,现在由于接收端的通知,可以提前重传,数据传输速率增加
  3. 选择确认
    解决快速重传时应该重传哪些数据包
  4. 重复确认
    解决了接收端重复接收数据包问题
    1. ack丢包在这里插入图片描述
    2. 网络延迟
      在这里插入图片描述

3. 常见的网络故障

  1. 数据丢失
    数据包传输过程丢失
  2. 数据延迟
    数据包传输过程中延迟
  3. 确认丢失
    确认数据包返回时丢失
  4. 确认延迟
    确认数据包返回时延迟
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

弈师亦友

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

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

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

打赏作者

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

抵扣说明:

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

余额充值