第四章数据链路层 本章将介绍: ●数据链路层的基本概念; ●两个重要的数据链路层流量控制方法:停止 等待协议和连续ARQ协议; ●差错控制方法:循环冗余校验; ●连续ARQ协议的实现机制:滑动窗口机制 ●数据链路层的具体协议:BSC、HDLC、PPP
第四章 数据链路层 本章将介绍: ⚫ 数据链路层的基本概念; ⚫ 两个重要的数据链路层流量控制方法:停止 等待协议和连续ARQ协议; ⚫ 差错控制方法:循环冗余校验; ⚫ 连续ARQ协议的实现机制:滑动窗口机制; ⚫ 数据链路层的具体协议:BSC、HDLC、PPP
4.1数据链路层的基本概念 ●区分“链路”和“数据链路”的概念 链路是一条无源的点到点的物理线路段,中间没 有任何其他交换结节,又称物理链路。 数据链路是除了有一条物理线路外,述施加了 些必要的通信协议来控制数据的传输。又称逻 辑链路。 ●数据链路层的作用: 在数据链路层协议的控制下,在不太可靠的物理 链路上实现相邻结点之间的可靠传输
4.1数据链路层的基本概念 ⚫ 区分“链路”和“数据链路”的概念。 链路是一条无源的点到点的物理线路段,中间没 有任何其他交换结节,又称物理链路。 数据链路是除了有一条物理线路外,还施加了一 些必要的通信协议来控制数据的传输。又称逻 辑链路。 ⚫ 数据链路层的作用: 在数据链路层协议的控制下,在不太可靠的物理 链路上实现相邻结点之间的可靠传输
●时期链路层的主要功能 1、链路管理 当网络中的两个相邻结点要进行通信时,发 送方必须知道接收方是否已经准备就绪。为 此,通信双方必须先要交换一些必要的信息, 建立一条数据链路,在传输数据时要维持数 据链路,传完后要释放数据链路。 ●帧同步 在数据链路层,数据的传送单位是帧,数据 帧一帧地传送,帧同步是指接收方应当能从接 收到的比特流中区分出一帧的开始和结束,不 至错位。通过在帧的开始和结束处加帧标志来 实现
⚫ 时期链路层的主要功能: 1、链路管理 当网络中的两个相邻结点要进行通信时,发 送方必须知道接收方是否已经准备就绪。为 此,通信双方必须先要交换一些必要的信息, 建立一条数据链路,在传输数据时要维持数 据链路,传完后要释放数据链路。 ⚫ 帧同步 在数据链路层,数据的传送单位是帧,数据一 帧一帧地传送,帧同步是指接收方应当能从接 收到的比特流中区分出一帧的开始和结束,不 至错位。通过在帧的开始和结束处加帧标志来 实现
3、流量控制 发送方发送数据的速率必须使接收方来得及 接收。因此必须控制发送方的速率。 4、差错控制 差错控制广泛采用了编码技术,通过在帧中添加 定的校验位(冗余位)来实现。编码技术有两 大类 (1)前向纠错,接收方收到出错的帧后,能自动将 其改正过来,但这种方法开销大,编码复杂,在 计算机通信中很少采用。如海明码 (2)差错检测,一般是接收方检测到出错的帧后 将其丢弃,然后通知发送方重发。如循环冗余码
3、流量控制 发送方发送数据的速率必须使接收方来得及 接收。因此必须控制发送方的速率。 4、差错控制 差错控制广泛采用了编码技术,通过在帧中添加 一定的校验位(冗余位)来实现。编码技术有两 大类: (1)前向纠错,接收方收到出错的帧后,能自动将 其改正过来,但这种方法开销大,编码复杂,在 计算机通信中很少采用。如海明码. (2)差错检测,一般是接收方检测到出错的帧后, 将其丢弃,然后通知发送方重发。如循环冗余码
5、将数据和控制信息区分开 数据和控制信息封装在同一帧中,要有一定 的措施使接收方能够区分开来。可通过规定 帧的格式来实现 6、透明传输 透明传输指不管所传数据是什么样的比特组合, 都能实现正确传输。如当所传数据中出现“帧 标志”比特组合时,不能将其误认为是帧标志, 而要当成数据,为此,必须采取一定的控制措 施。寻址 帧中必须封装有接收方的物理地址(MAC地 址)
5、将数据和控制信息区分开 数据和控制信息封装在同一帧中,要有一定 的措施使接收方能够区分开来。可通过规定 帧的格式来实现。 6、透明传输 透明传输指不管所传数据是什么样的比特组合, 都能实现正确传输。如当所传数据中出现“帧 标志”比特组合时,不能将其误认为是帧标志, 而要当成数据,为此,必须采取一定的控制措 施。7、寻址 帧中必须封装有接收方的物理地址(MAC地 址)
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发 送的确帧在传输过程中丢失。会出现什么情况?