第一节数据链路层的功能、模型与服务 3.1.3数据链路层的服务 >数据链路层的基本服务:将源主机中来自网络层的数据传输给目的主机的 网络层。 >数据链路层服务的实现:通过网络层与数据链路层之间的接口以服务原语 的形式完成服务的调用与被调用。 >数据链路层向网络层提供的服务: 1、无确认的无连接服务:源主机和目的主机在通信前不建立连接,结束后也 不释放;通信双方也无需对数据帧进行确认。适用于局域网。 2、有确认的无连接服务:源主机和目的主机在通信之前不建立连接,但每 发送一帧都要单独的确认,并具有超时重发的功能。 3、有确认面向连接的服务:是最复杂的服务,源主机和目的主机在通信前 须建立连接以保证数据可靠传输,传输过程分为建立连接、数据传输、断开 连接三个阶段
第一节 数据链路层的功能、模型与服务 3.1.3 数据链路层的服务 ➢数据链路层的基本服务:将源主机中来自网络层的数据传输给目的主机的 网络层。 ➢数据链路层服务的实现:通过网络层与数据链路层之间的接口以服务原语 的形式完成服务的调用与被调用。 ➢数据链路层向网络层提供的服务: 1、无确认的无连接服务:源主机和目的主机在通信前不建立连接,结束后也 不释放;通信双方也无需对数据帧进行确认。适用于局域网。 2、 有确认的无连接服务:源主机和目的主机在通信之前不建立连接,但每 发送一帧都要单独的确认,并具有超时重发的功能。 3、 有确认面向连接的服务:是最复杂的服务,源主机和目的主机在通信前 须建立连接以保证数据可靠传输,传输过程分为建立连接、数据传输、断开 连接三个阶段
第一节数据链路层的功能、模型与服务 >数据链路层向网络层提供服务原语供网络层调用。 >例如,用于建立连接的服务原语有: CONNECT..Request:从主叫方网络层发给数据链路层,请求 建立连接。 CONNECT.Indication:被叫方链路层用此原语通知其上的网 终层,有连接请求。 CONNECT..Response:被叫方风络层同意连接,发出的回应原 语。 CONNECT.Confirm:主叫方数据链路层将对方同意连接的信 息告知其上的网络层。 >数据传输和拆除连接也分别有服务原语
第一节 数据链路层的功能、模型与服务 ➢数据链路层向网络层提供服务原语供网络层调用。 ➢例如,用于建立连接的服务原语有: CONNECT.Request:从主叫方网络层发给数据链路层,请求 建立连接。 CONNECT.Indication:被叫方链路层用此原语通知其上的网 络层,有连接请求。 CONNECT.Response:被叫方网络层同意连接,发出的回应原 语。 CONNECT.Confirm:主叫方数据链路层将对方同意连接的信 息告知其上的网络层。 ➢数据传输和拆除连接也分别有服务原语
第二节 流量控制 >数据链路层的功能之一就是流量控制。 >影响接收方接收数据能力的因素主要有:设备的处理速度和缓冲区容量的大小。 >与传输层流量控制的区别:控制的对象不同,在数据链路层上控制的是通信子 网中相邻节点间的数据流量,而在传输层上控制的是发送方和接收方之间端到端 的数据流量。 >下面是两种常用的流量控制策略:停等协议和滑动窗口协议。 3.2.1停一等协议—最简单的流量控制策略 >策略:当发送方发完一帧后,即停止发送,等待对方的应答,如果收到对方的 肯定应答,则接着发送下一个帧;如果收到否定应答或超过规定的时间没有收到 肯定应答,则重发该帧。 >特点:在进行流量控制的同时也进行了差错控制,实现可靠的数据传输
第二节 流量控制 ➢数据链路层的功能之一就是流量控制。 ➢影响接收方接收数据能力的因素主要有:设备的处理速度和缓冲区容量的大小。 ➢与传输层流量控制的区别:控制的对象不同,在数据链路层上控制的是通信子 网中相邻节点间的数据流量,而在传输层上控制的是发送方和接收方之间端到端 的数据流量。 ➢下面是两种常用的流量控制策略:停—等协议和滑动窗口协议。 3.2.1 停—等协议——最简单的流量控制策略 ➢策略:当发送方发完一帧后,即停止发送,等待对方的应答,如果收到对方的 肯定应答,则接着发送下一个帧;如果收到否定应答或超过规定的时间没有收到 肯定应答,则重发该帧。 ➢特点:在进行流量控制的同时也进行了差错控制,实现可靠的数据传输
第二节 流量控制 >分别讨论几种数据传输的情况: B B 1、理想情况。传输完全可靠、不出错不 DATA DATA DATAT A 丢失,不存在差错控制问题。 出 2、数据帧出错。通过出错重发机制来解 ACK 决,若连续重传超过一定次数则停止发 送,向上一级报告故障情况。 DATA 发DATA 发DATA 3、数据帧丢失。发送方发送的数据帧因 严重干扰不能到达接收方,接收方不回 时间 ACK ACK 4 答确认帧ACK,通过超时重发机制来解决。 4、数据帧无误但返回的确认帧丢失。 (b) (c) (d) >解决重复帧:对每个数据帧赋序号, 即 每发一帧,序号加1。 请点击紫色字母显示动画效果 >因停一等协议每次只发送一个帧,且确认该帧被正确接收后才发下一个帧,所以只需 用0和1两个编号区别相邻的两帧
第二节 流量控制 (a) (b) (c) (d) DATA DATA ACK ACK A B 时间 DATA DATA ACK tout 重 发 × A B 出 错 tout 重 发 DATA ACK 丢 失 DATA A B tout 重 发 DATA ACK DATA 丢 失 ACK A B 请点击紫色字母显示动画效果 ➢分别讨论几种数据传输的情况 : 1、理想情况。传输完全可靠、不出错不 丢失,不存在差错控制问题。 2、数据帧出错。通过出错重发机制来解 决,若连续重传超过一定次数则停止发 送,向上一级报告故障情况。 3、数据帧丢失。发送方发送的数据帧因 严重干扰不能到达接收方,接收方不回 答确认帧ACK,通过超时重发机制来解决。 4、数据帧无误但返回的确认帧丢失。 ➢解决重复帧:对每个数据帧赋序号,即 每发一帧,序号加1。 ➢因停—等协议每次只发送一个帧,且确认该帧被正确接收后才发下一个帧,所以只需 用0和1两个编号区别相邻的两帧
第二节 流量控制 >停 等协议的算法: 1、 发送算法 2、接收算法 V(S)←0,发送状态变量取值为0 V(R)←0,接收状态变量取值为0 从网络层取一个数据帧 有错 等待 N(S)←V(S),将发送序号值写入帧的发送序号 收到一个数据帧,检查是否有错 送物理层发送 ↓无错 是否有N(S)=V(R) 置超时定时器,选适当超时时间 ↓是 将收到的数据帧的数据部分上交给网络层 等待…等待下面的事情出现 是否超时? 一是 V(R)←[1-V(R)]修改状态变量值 ↓否 收到确认帧ACK,从网络层取新的数据帧 发送确认帧ACK V(S)←[V(S)-1]修改状态变量值
第二节 流量控制 ➢停—等协议的算法: 1、发送算法 2、接收算法 收到确认帧ACK, 从网络层取新的数据帧 V(S)←0,发送状态变量取值为0 从网络层取一个数据帧 N(S)←V(S),将发送序号值写入帧的发送序号 送物理层发送 等待……等待下面的事情出现 V(S)←[V(S)-1]修改状态变量值 置超时定时器,选适当超时时间 是否超时? 是 否 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ V(R)←0,接收状态变量取值为0 等待 收到一个数据帧,检查是否有错 是否有N(S)=V(R) V(R)←[1-V(R)]修改状态变量值 将收到的数据帧的数据部分上交给网络层 发送确认帧ACK 是 否 有错 无错