计算机网络:第三章 运输层

本文详细介绍了计算机网络运输层的可靠数据传输协议,包括rdt1.0至rdt3.0的逐步改进,重点讨论了流水线机制、滑动窗口协议GBN和SR。同时,概述了TCP的面向连接服务,强调了RTT估计、超时重传和流量控制的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3.4可靠数据传输协议

数据可靠:不错,不丢,不乱

在这里插入图片描述

rdt1.0 可靠信道传输协议

在这里插入图片描述

rdt2.0 只可能产生位错误的协议

*校验和检验位错误
*向发送方发送ACK,NCK显示告知错误,提示,重传

相较于rdt1.0 引入了 校验和 ACK,NAK 重传
在这里插入图片描述

rdt2.1 ACK/NAK 可能会出现错误

*为每个分组增加了序列号( 0 || 1 )
*增加了ACK/NAK校验
*状态数量翻倍
*
*判断分组是否重复

在这里插入图片描述
在这里插入图片描述

rdt2.2 无NAK消息协议

接收方通过ACK告知最后正确接收到的分组
在ACK中添加被确认的分组的序号
发送方接受到重复ACK后,采取与收到NAK相同的动作,重传当前分组??

在这里插入图片描述

rdt3.0 增加分组丢失的处理

发送方设置等待时间,超时未收到ACK,则重传。

在这里插入图片描述
网络协议极大的限制了速度。

3.5流水线机制与滑动窗口协议 GBN(Go Back to N),SR(Select Repeat)

GBN
使用流水线机制能大幅提高传输效率,但要使用流水线机制,rtd也必须要相应的改变:更大的序列号范围,发送方/接收方更大的存储空间。

GBN中的ACK是累计确认的,收到ACK(n)表示前n个都已收到。timer为某个序列号设计,timerout事件重传序列号大于等于n的所有分组。
在这里插入图片描述
在这里插入图片描述
SR

  1. 接收方对每个分组单独确认:设置缓存机制,缓存乱序到达的分组。
  2. 只重传没有收到ACK的分组:每个分组设置定时器。
  3. 发送方窗口无变化,但是多了接收方窗口
    在这里插入图片描述

接收方和发送方窗口大小和应小于序列号
序列号位数k。
在这里插入图片描述

3.6面向连接的传输协议

TCP概述:

  1. TCP在IP层提供的不可靠服务基础上实现了可靠数据传输服务。
  2. 流水线机制
  3. 累计确认
  4. TCP使用单一重传定时器
  5. 触发重传的事件(超时,收到重复ACK)
  6. 此节不考虑重复ACK,流量控制,拥塞控制

RTT和超时
如何设置定时器的超时时间:利用RTT---->如何估计RTT
几个概念:
SampleRTT
EstimateRTT
DevRTT
EstimateRTT=(1∗α)EstimatieRTT+α∗SampleRTTEstimateRTT=(1*\alpha)EstimatieRTT+\alpha*SampleRTT EstimateRTT=(1α)EstimatieRTT+αSampleRTT
DevRTT=(1−β)∗DevRTT+β∗∣SampleRTT−EstimateRTT∣DevRTT=(1-\beta)*DevRTT+\beta*|SampleRTT-EstimateRTT|DevRTT=(1β)DevRTT+βSampleRTTEstimateRTT
TimeoutInterval=EstimateRTT+4∗DevRTTTimeoutInterval=EstimateRTT+4*DevRTTTimeoutInterval=EstimateRTT+4DevRTT
α\alphaα的值通常为0.125;β\betaβ通常为0.25。

TCP发送方事件:
从应用层接收数据

  1. 创建段Segment,序列号是Segment的第一个字节编号
  2. 开启计时器
  3. 设置超时时间:TimeOutInterva

超时

  1. 重传引起超时的Segment
  2. 重启定时器

收到ACK

  1. 确认此前未确认的Segment,更新SendBase
  2. 若窗口中还有未曾收到的分组,重启定时器。

TCP快速重传
若接收方发现某个分组丢失,则会对发送方发送多个重复的ACK,则发送方收到多个重复的ACK后,在定时器超时前进行快速重传。

TCP流量控制

TCP连接管理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值