计算机网络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. 确认延迟
    确认数据包返回时延迟
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

弈师亦友

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

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

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

打赏作者

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

抵扣说明:

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

余额充值