目录
理想传输条件的特点
理想的传输条件有以下两个特点︰
1.传输信道不产生差错
2.不管发送方以多快的速度发送数据,接收方总是来得及处理收到的数据
在这样的理想传输条件下,不需要采取任何措施就能够实现可靠传输。然而实际的网络都不具备以上两个理想条件。必须使用一些可靠传输协议,在不可靠的传输信道实现可靠传输
停止等待协议
“停止等待”就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组
A为每一个已发送的分组都设置了一个超时计时器。
A只要在超时计时器到期之前收到了相应的确认,就撤销该超时计时器,继续发送下一个分组M2。
若A在超时计时器规定时间内没有收到B的确认,就认为分组错误或丢失,就重发该分组。
问题∶若分组正确到达B,但B回送的确认丢失或延迟了,A未收到B的确认,会超时重发。B可能会收到重复的M1,B如何知道收到了重复的分组,需要丢弃呢?
解决方法∶编号
A为每一个发送的分组都进行编号,若B收到了编号相同的分组,则认为收到了重复分组,丢弃重复的分组,并回送确认
B为发送的确认也进行编号,指示该确认是对哪一个分组的确认
A根据确认及其编号,可以确定它是对哪一个分组的确认,避免重发发送,若为重复的确认,则将其丢弃
使用上述的确认和重传机制,就可以在不可靠的传输网络上实现可靠的通信
这种传输协议常称为自动重传请求ARQ(Automatic Repeat reQuest) 意思是重传的请求是自动进行的,接收方不需要发送方重传某个出错的分组
停止等待协议的优点是简单,缺点是信道利用率太低
当往返时间RTT选大于分组发送时间TD时,信道利用率就很非常低,若出现重传,则更低
总结:
流水线传输
为了提高传输效率,发送方可以不使用低双率的停止等待协议,而是采用流水线传输
流水线传输就是发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认。这样可使信道上一直有数据不间断地传送
由于信道上一直有数据不间断地传送,这种传输方式可获得很高的信道利用率
连续ARQ协议
基本思想:
- 发送方一次可以发出多个分组
- 使用滑动窗口协议控制发送方和接收方所能发送和接收的分组的数量和编号
- 每收到一个确认,发送方就把发送窗口向前滑动。接收方一般采用累积确认的方式
- 采用回退N(Go-Back-N)方法进行重传
接收方一般采用累积确认的方式。即不必对收到的分组逐个发送确认,而是对按序到达的最后一个分组发送确认,这样就表示:到这个分组为止的所有分组都已正确收到了
优点∶容易实现,即使确认丢失也不必重传
缺点∶不能向发送方反映出接收方已经正确收到的所有分组的信息
回退N表示需要再退回来重传已发送过的N个分组
连续ARQ协议和停止等待协议对比