可靠数据的传输(2) 笔记

Rdt2.1和2.2Rdt2.0有什么缺陷?

如果ACK/NAK消息发生了错误/被破坏(corrupt)怎么办? 1为ACK/NAK加checksum,检验并纠错 2发送方收到被破坏的ACKACK消息发生了错误/被破坏(corrupt)怎么办?
1为ACK/NAK加checksum,检验并纠错
2发送方收到被破坏的ACK/NAK时不知道发生了什么
3如果ACK/NAK坏掉,重传,会累赘了。重复分组了

如何解决重复分组问题?
1加一个序列号(sequence number):发送方给每个分组加一个序列号 2接收方抛弃重复分组
在这里插入图片描述
有两个序列号0和1,发完了序列号为0的分组之后,等待ACK/NAK,坏掉或者NAK重发
接收方
在这里插入图片描述
收到一个分组,如果坏了,发一个NAK。。。收到一个分组,没有坏掉,但是收到的序列号是0,想要1,发ack

发送方 0 1 两个序列号就够用了,采用了停等协议,需要校验ACK/NAK是否错误,状态数量翻倍,状态必须记住当前的分组号。

无NAK消息协议

可以在ack消息中显式地加入被确认分组的序列号,发1返0错了重传。
在这里插入图片描述

Rdt3.0

如果信道既可能发生错误,也可能丢失分组,怎么办?
发送方等待“合理”时间,如果没有收到ACK,就重传。如果分组或ACK只是延迟而不是丢了,重传会产生重复,序列号机制能够处理重复问题。接收方需要在ACK中显式告知所确认的分组。
需要一个定时器
在这里插入图片描述
发送方发送一个packet之后会启动定时器,进入停等,会触发超时event。正确接收转入1状态。。。
在这里插入图片描述
未发生丢包情况
在这里插入图片描述
在这里插入图片描述
ack1丢了,会重传pkt1,重复丢掉一个。
ack1没丢但是定时器设置很短,收到之前就超时了,会重发一个pkt1,

性能分析

1Gbps链路,15ms端到端的传播延迟,1KB分组
在这里插入图片描述
协议必须和物理资源相匹配,软硬件的协同设计
在这里插入图片描述
产生的原因就是停等操作
RTT(Round-Trip Time): 往返时延,在计算机网络中它也是一个重要的性能指标,它表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值