250 likes | 462 Views
第 3 章 数据链路层. 数据链路层的基本概念,据链路层协议的工作原理:停止等待协议,连续 ARQ 协议,滑动窗口,选择 ARQ 协议, Internet 中的数据链路层协议。. 基本内容. 重点掌握. 数据链路层的基本概念。 数据链路层协议的工作原理。 滑动窗口原理。 Internet 中的数据链路层协议。. 3.1 数据链路概念的理解. 发送方. 接收方. 高层. 主机 A. 主机 B. 高层. 数据. 数据. 缓冲区. 缓冲区. 数据链路层: 物理线路+通信协议. 帧. 帧. 在数据链路层上传输数据帧. ? 发送方:.
E N D
第3章 数据链路层 数据链路层的基本概念,据链路层协议的工作原理:停止等待协议,连续ARQ协议,滑动窗口,选择ARQ协议,Internet中的数据链路层协议。 基本内容 重点掌握 • 数据链路层的基本概念。 • 数据链路层协议的工作原理。 • 滑动窗口原理。 • Internet中的数据链路层协议。
3.1 数据链路概念的理解 发送方 接收方 高层 主机A 主机B 高层 数据 数据 缓冲区 缓冲区 数据链路层: 物理线路+通信协议 帧 帧
在数据链路层上传输数据帧 ?发送方: 以多快的速度发送数据帧,即每帧之间相隔多长时间?如何确认对方是否收到数据? 是否接收到正确的数据帧?如何告诉发送方?能及时处理接收到的数据帧吗? ?接收方: ?传输过程: 会出错吗?会丢失数据帧吗? !解决这些问题,是链路层的主要任务。 !针对这些问题所制定的通信规程就是数据链路层的通信协议。
3.2 停止等待ARQ协议 3.2.1 完全理想化的数据传输 假设 • 接收方的速度永远不会低于发送方的速度; • 在链路上传送数据帧不会出错,也不会丢失。 这时数据链路层协议非常简单:只要控制发送方把数据帧从缓冲区发送到数据链路上;接收方把数据帧从链路上接收到缓冲区,并上交给主机。 协议
3.2.2 具有简单的流量控制 假设:链路是理想化的,所传输的数据不会出错也不会丢失。 协议思想:协调、控制接收方、发送方的速度。 发送方 接收方 协议算法 DATA0 ACK 发出一帧; 等待; 直到收到ACK 才发送下一帧 等待; 将收到的数据帧上交主机; 发送应答信息; 转到第一步 DATA1 ACK DATA2 ACK
3.2.3 停止等待ARQ协议 (1)接近实际情形的假设: 1)信道不理想,传输的数据可能会出错,也可能会丢失。 2)双方的速度不一致,需要对发送端进行流量控制。 A B A B DATA0 DATA0 送主机 送主机 ACK ACK DATA1 DATA1 送主机 出错 ACK NAK 重传 DATA2 DATA1 送主机 送主机 ACK ACK a) 正常情况 b) 数据帧出错
A B A B DATA0 DATA0 送主机 送主机 ACK ACK DATA1 DATA1 送主机 丢失 tout tout ACK 丢失 DATA1 DATA1 丢弃 送主机 ACK ACK c) 数据帧丢失 d) 应答帧丢失
(2)停止等待协议的算法 发送节点 接收节点 (1)从主机取一个数据帧。 (2)V(S)<-O。 {发送状态变量初始化} (3)N(S)<-V(S); {将发送状态变量的数值写入发送序号} 将数据帧送交发送缓冲区。 (4)将发送缓冲区中的数据帧发送出去。 (5)设置超时定时器。 {选择适当的超时重发时间tout} (6)等待。{等待以下3个事件中最先出现的一个} (7)若收到确认帧ACK,则从主机取一个新的数据帧; V(S)<-[1-V(S)]; {更新发送状态变量,变为下一个序号}转(3)。 (8)若收到否认帧NAK,则转(4)。{重发数据帧} (9)若超时定时器时间到,则转(4)。{重发数据帧} (1)V(R)<-0。 {接收状态变量初始化,其数值等于欲接收的数 据帧的发送序号} (2)等待。 (3)当收到一个数据帧, 就检查有无产生传输差错(如用CRC)。若检查结 果正确无误,则执行后续算法;否则转到(8)。 (4)若N(S)=V(R),则执行后续算法; {收到发送序号正确的数据帧} 否则丢弃此数据帧,然后转到(7)。 (5)将收到的数据帧中的数据部分送交主机。 (6)V(R)<-[l—V(R)]。 {更新接收状态变量,准备接收下一个数据帧} (7)发送确认帧ACK,并转到(2)。 (8)发送否认帧NAK,并转到(2)。 特别提示:在收发两端各设置一个本地状态变量(仅占1个比特)。
(3)停止等待协议的性能分析 B A 符号定义 :一数据帧的发送时间 :电信号传播所需要的时延 :收到数据帧或确认的处理时间 :应答帧的发送时间 :两个数据帧之间的最小时间间隔 :超时定时时间 DATA ACK DATA
性能分析 忽略 和 ,则有, 在连续发送情况下,若不发生错误,成功传送一幀需要的时间为, 若应答幀不出错,发送幀丢失和出错的概率为 ,重发次数不限,则有正确传送一幀需要的平均时间为, 故链路最大吞吐量为:
设发送端幀到达率为λ,则应有 λ 定义归一化吞吐量ρ, ρ = 这里, 为归一化时间,显然, α >1 结论:停止等待协议实现简单,但距离远时信道利用率低。
3.3 连续ARQ协议 提示 停止等待ARQ协议的信道利用率不高。 解决思路 允许发送方不等确认帧返回就连续发送多个数据帧——连续ARQ协议的基本思想。 允许多少帧? 这要引入一定的技术(算法)加以控制 3.3.1 连续ARQ协议的基本原理 • 允许发送方不等确认帧返回就连续发送多个数据帧。 • 接收端只按序接收数据帧,不按序号到来的帧被丢弃。 • 确认帧中包含着期望下次收到的帧的序号。 • 在发送端发送完一帧后都要设置该帧的超时计时器。
3.3.2 回退N式ARQ协议 (1)工作原理 ——连续ARQ协议允许发送方不等确认帧返回就连续发送多个数据帧,这些被发出去而尚未被确认的数据帧在发送缓冲区有保留副本,当发送方发现前面某一数据帧未收到确认信息而计时器已经超时后,就会重发该帧以及随后的N个数据帧,这种ARQ称作回退N式ARQ协议(go-back-N ARQ)。 0 1 2 4 3 4 5 3 5 2 ACK0 ACK1 NAK2 ACK2 ACK3 丢弃
(2)回退N式ARQ协议的性能分析 设误帧率为p,则有, 连续ARQ协议一方面因连续发送数据帧而提高了效率,另一方面,在重传时又必须把原来已正确传送过的数据帧进行重传,这种做法又使传送效率降低。 若传输信道的传输质量很差因而误码率较大时,连续ARQ协议不一定优于停止等待协议。 这里 故最大吞吐量为, 归一化吞吐量: 可见,当 等于1时,停止等待ARQ与连续ARQ性能相同。
3.3.3 滑动窗口 ——发送方和接收方通过滑动窗口机制实现流量控制。 发送窗口:用来对发送端进行流量控制,它的大小代表在没有收到对方的确认帧的情况下发送端最多可以发送的数据帧数。 概 念 接收窗口:用来控制接收端可以接收哪些数据帧。只有发送序号落入接收窗口内的数据帧才可以收下。
滑动窗口的工作原理 发送窗口WT = 5 接收窗口WR = 1 H T T H 0 7 0 7 初始状态 初始状态 6 1 6 1 5 2 5 2 4 4 3 3 T T 0 7 0 7 6 1 接收到帧0, 发出ACK0 6 1 发出帧0,1,2,3,4 H 5 2 5 2 4 4 3 3 H T 7 0 7 0 接收到ACK0, 发出帧5 6 1 6 1 接收到帧1 发出ACK1 T 5 5 2 H 2 4 3 4 3 H
WT = 5 WR = 1 T 0 7 0 7 6 1 接收到帧3, 还没有收到帧2 6 1 等待ACK1 T 5 H 2 5 2 4 4 3 3 H T 0 7 0 7 6 1 6 1 帧1的定时器超时, 重发帧1 接收到重传 的帧1 T 5 H 2 5 2 4 4 3 3 H H 7 0 7 0 6 1 6 1 接收到帧2 接收到ACK1 5 5 2 2 T 4 3 4 3 T H
3.4 选择重传ARQ协议 GO-BACK-N可能将已正确传送到目的方的帧再重传一遍,这显然是一种浪费。另一种效率更高的策略是当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层,但接收方仍可收下来,存放在缓冲区中,同时要求发送方重新传送出错的那一帧。一旦收到重新传来的帧后,就可以和已存于缓冲区中的其余帧一并按正确的顺序递交高层。这种方法称为选择重发,其工作过程如图所示。图中2号帧的否认返回信息NAK2要求发送方选择重发2号帧。显然,选择重发减少了浪费,但要求接收方有足够大的缓冲区空间。 选择重发ARQ原理示意
3.5 Internet 的点对点协议 TCP/IP体系结构中的网络接口层含盖了OSI体系中的数据链路层和物理层,该层包含了网络的各种逻辑链路控制和媒体接入协议,可以实现不同网络间的物理连接。因此,Internet中没有分别定义数据链路层和物理层的协议,只是将它们集成到物理网卡上。
3.5.1 用户接入Internet 的方法 一种是使用拨号电话线接入,另一种是使用专线接入。 使用TCP/IP的客户进程 路由选择进程 Internet PSTN Modem Pool Modem PC机 拨号 电话线接入方法 专线 Internet ISP网络 专线设备 专线设备 PC机 专线接入方法:如xDSL、DDN、X.25
3.5.2 点对点协议PPP(Point-to-Point Protocol) 有三个组成部分: (1)一个将IP数据报封装到串行链路的方法。PPP既支持异步链路(无奇偶校验的8比特数据),也支持面向比特的同步链路。 (2)一个用来建立、配置和测试数据链路的链路控制协议LCP(Link Control Protocol)。通信的双方可协商一些选项。 (3)一套网络控制协议NCP(Network Control Protocol),支持不同的网络层协议,如IP,OSI的网络层,DECnet,以及AppleTalk等 。
3.5.3 PPP协议的帧格式 IP 数据报 首部 尾部 C 03 F 7E A FF F 7E 信息部分 协议 FCS 字节数 1 1 1 2 不超过1500字节 2 1 PPP帧 F是标志字段,1字节,固定为0x7E,首尾各有一个。 A是地址字段,1字节,固定为0xFF。 C是控制字段,1字节,固定为0x03。 协议字段,2字节,当协议字段值为0x0021时,表示信息字段就是IP数据报;为0xC021时,表示信息字段是链路控制数据;为0x8021时,表示信息字段是网络控制数据。 FCS是帧校验序列字段,2字节,当信息字段中出现和标志字段一样的数据(0x7E)时,就要将该字节转变为2字节序列(0x7D,0x5E);若信息中出现一个0x7D字节,则将其转变为2字节序列(0x7D,0x5D)。
3.5.4 PPP协议的工作状态 当用户拨号接入ISP时,路由器的Modem对拨号作出应答,并建立一条物理连接。这时,PC机向路由器发送一系列的LCP分组(封装成多个PPP帧)。这些分组及其响应选择了将要使用的一些PPP参数。接着进行网络配置,NCP给新接入的PC机分配一个临时的IP地址,这样,PC机就成为Internet上的一个主机了。通信完毕,NCP释放网络层的连接,收回原来分配出去的IP地址;接着LCP释放数据链路层连接;最后释放的是物理层的连接。
作业 教材第78页9~15题 思考题 1、给出连续ARQ协议的算法。 2、 在选择重传ARQ协议中引入滑动窗口的概念。