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

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
DevRTT=(1β)DevRTT+βSampleRTTEstimateRTTDevRTT=(1-\beta)*DevRTT+\beta*|SampleRTT-EstimateRTT|
TimeoutInterval=EstimateRTT+4DevRTTTimeoutInterval=EstimateRTT+4*DevRTT
α\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连接管理