32.3实用的停止等待协议 四种情况 A B A B A A B DATAO DATAO 出错 BM丢失 DATA0去 DATAO E ACK|送 送 主 失 主 DATA 机重DATA0 机 传 重DATA0 传 重DATA0= 传 丢 ACK 上AcK送 ACK弃 间 主机 主机 A生 机 (a)正常情况 (b)数据帧出错 (c)数据帧丢失 (d)确认帧丢失 课件制作人:谢希仁
课件制作人:谢希仁 3.2.3 实用的停止等待协议 时 间 A B 送 主 机 送 主 机 (a) 正常情况 A B 送 主 机 (c) 数据帧丢失 重 传 tout 丢 失 ! A B 送 主 机 丢 弃 (d) 确认帧丢失 重 传 tout 丢 失 ! A B 送 主 机 (b) 数据帧出错 重 传 出错 四种情况
超时计时器的作用 ■结点A发送完一个数据帧时,就启动一个 超时计时器 timeout timer) 计时器又称为定时器。 ■若到了超时计时器所设置的重传时间tut 而仍收不到结点B的任何确认帧,则结 点A就重传前面所发送的这一数据帧 般可将重传时间选为略大于“从发完 数据帧到收到确认帧所需的平均时间” 课件制作人:谢希仁
课件制作人:谢希仁 超时计时器的作用 ◼ 结点A发送完一个数据帧时,就启动一个 超时计时器(timeout timer)。 ◼ 计时器又称为定时器。 ◼ 若到了超时计时器所设置的重传时间 tout 而仍收不到结点 B 的任何确认帧,则结 点 A 就重传前面所发送的这一数据帧。 ◼ 一般可将重传时间选为略大于“从发完 数据帧到收到确认帧所需的平均时间
解决重复帧的问题 使每一个数据帧带上不同的发送序号。每发送 个新的数据帧就把它的发送序号加1。 ■若结点B收到发送序号相同的数据帧,就表明 出现了重复帧。这时应丢弃重复帧,因为已经 收到过同样的数据帧并且也交给了主机B 但此时结点B还必须向A发送确认帧ACK, 因为B已经知道A还没有收到上一次发过去的 确认帧ACK。 课件制作人:谢希仁
课件制作人:谢希仁 解决重复帧的问题 ◼ 使每一个数据帧带上不同的发送序号。每发送 一个新的数据帧就把它的发送序号加 1。 ◼ 若结点 B 收到发送序号相同的数据帧,就表明 出现了重复帧。这时应丢弃重复帧,因为已经 收到过同样的数据帧并且也交给了主机 B。 ◼ 但此时结点 B 还必须向 A 发送确认帧ACK, 因为 B 已经知道 A 还没有收到上一次发过去的 确认帧 ACK
帧的编号问题 任何一个编号系统的序号所占用的比特数一定 是有限的。因此,经过一段时间后,发送序号 就会重复。 序号占用的比特数越少,数据传输的额外开销 就越小。 对于停止等待协议,由于每发送一个数据帧就 停止等待,因此用一个比特来编号就够了。 个比特可表示0和1两种不同的序号。 课件制作人:谢希仁
课件制作人:谢希仁 帧的编号问题 ◼ 任何一个编号系统的序号所占用的比特数一定 是有限的。因此,经过一段时间后,发送序号 就会重复。 ◼ 序号占用的比特数越少,数据传输的额外开销 就越小。 ◼ 对于停止等待协议,由于每发送一个数据帧就 停止等待,因此用一个比特来编号就够了。 ◼ 一个比特可表示 0 和 1 两种不同的序号
帧的发送序号 ■数据帧中的发送序号N(S)以0和1交替 的方式出现在数据帧中。 ■每发一个新的数据帧,发送序号就和上 次发送的不一样。用这样的方法就可以 使收方能够区分开新的数据帧和重传的 数据帧了。 课件制作人:谢希仁
课件制作人:谢希仁 帧的发送序号 ◼ 数据帧中的发送序号 N(S) 以 0 和 1 交替 的方式出现在数据帧中。 ◼ 每发一个新的数据帧,发送序号就和上 次发送的不一样。用这样的方法就可以 使收方能够区分开新的数据帧和重传的 数据帧了