42停止等待协议 停止等待协议是最简单但也是最基本的数据 链路层协议 4,2,1不需要数据链路层协议的数传输 两台计算机通过一条数据链路进行通信的简化模 型如下: 发送方 接收方 主机A 主 API 机(AP2) B [缓存口口 缓存口口
4.2停止等待协议 ⚫ 停止等待协议是最简单但也是最基本的数据 链路层协议。 ⚫4.2.1 不需要数据链路层协议的数据传输 两台计算机通过一条数据链路进行通信的简化模 型如下:
当同时满足以下两个条件时,不需要数据链路层协议: (1)链路是理想的传输信道,不会出错。 (2)不管发送方以多快的速率发送,接收方都来得及收下, 并及时上交主机。 当接收方缓存的容量无限大且发送方的速率永远低于接 收方的接收速率时才可能。 422具有最简单流量控制的数据链路层协议 保留上述的第一个假设,去掉第二个假设。 为了使接收方的缓存在任何情况下都不会溢出,最简单 的方法是发送方每发送一帧就暂停,接收方收到并处理 完后通知发送方,发送方才发下一帧。 这种由接收方控制发送方的发送速率是计算机网络中流 量控制的基本方法
⚫ 当同时满足以下两个条件时,不需要数据链路层协议: (1)链路是理想的传输信道,不会出错。 (2)不管发送方以多快的速率发送,接收方都来得及收下, 并及时上交主机。 当接收方缓存的容量无限大且发送方的速率永远低于接 收方的接收速率时才可能。 ⚫4.2.2 具有最简单流量控制的数据链路层协议 保留上述的第一个假设,去掉第二个假设。 为了使接收方的缓存在任何情况下都不会溢出,最简单 的方法是发送方每发送一帧就暂停,接收方收到并处理 完后通知发送方,发送方才发下一帧。 这种由接收方控制发送方的发送速率是计算机网络中流 量控制的基本方法
●具有最简单流量控制的数据链路层协议算法如下: ●发送方: ●(1)从主机取一个数据帧 ●(2)将数据帧送到数据链路层的发送缓存 ●(3)将发送缓存中的数据帧发送出去; (4)等待 ●(5)若收到接收方发来的通知,则从主机取 个新的数据帧,然后转到(2)
⚫ 具有最简单流量控制的数据链路层协议算法如下: ⚫ 发送方: ⚫ (1)从主机取一个数据帧; ⚫ (2)将数据帧送到数据链路层的发送缓存; ⚫ (3)将发送缓存中的数据帧发送出去; ⚫ (4)等待; ⚫ (5)若收到接收方发来的通知,则从主机取一 个新的数据帧,然后转到(2)
●接收方: ●(1)等待; ●(2)若收到发送方发来的数据帧,将其送入数据链 层的接收缓存; ●(3)将接收缓存中的数据帧上交主机; ●(4)向发送结点发送通知,表示已上交主机 ●(5)转到(1) ●两种数据传输情况对比图见书P73图4-2
⚫ 接收方: ⚫ (1)等待; ⚫ (2)若收到发送方发来的数据帧,将其送入数据链 层的接收缓存; ⚫ (3)将接收缓存中的数据帧上交主机; ⚫ (4)向发送结点发送通知,表示已上交主机; ⚫ (5) 转到(1)。 ⚫ 两种数据传输情况对比图见书P73 图4-2
423实用的停止等待协议 ●现在去掉前面的两个假定,讨论实用的数据链 路层协议。设主机A一主机B,分以下几种情 况讨论: ●(1)B正确收到,向A发送一个确认帧ACK; ●(2)B检测出帧在传输过程中出错,向A发送 个否认帧NAK,通知A重传出错的帧。 ●(3)A发送的数据帧在传输过程中丢失,或B发 送的确帧在传输过程中丢失。会出现什么情况?
⚫ 4.2.3实用的停止等待协议 ⚫ 现在去掉前面的两个假定,讨论实用的数据链 路层协议。设主机A 主机B,分以下几种情 况讨论: ⚫ (1)B正确收到,向A发送一个确认帧ACK; ⚫ (2)B检测出帧在传输过程中出错,向A发送一 个否认帧NAK,通知A重传出错的帧。 ⚫ (3)A发送的数据帧在传输过程中丢失,或B发 送的确帧在传输过程中丢失。会出现什么情况?