第3讲数据链路层 3 1数据链路层的基本概念 一 链路与数据链路 链路 link 就是一条无源的点到点的物理线路段 中间没有任何其他的交换结点 数据链路 datalink 则是另一个概念 这是因为当需要在一条线路上传送数据时 除了必须有一条物理线路外 还必须有一些必要通信协议来控制这些数据的传输 一 链路与数据链路 虚通路和实通路 主机A 主机A 节点1 节点2 节点3 传输层协议 数据链路层协议 数据链路层协议 数据虚通路 数据虚通路 数据实通路 数据实通路 数据链路 逻辑链路 物理 链路 通信规程 数据链路层提供的数字信道 物理层提供的无源点到点物理线路段 数据链路层协议 一 链路与数据链路 两个路由器的数据链路 二 帧与报文 二 帧与报文 三 数据链路层的主要功能 在物理连接上建立数据链路连接 检测和校正物理层出现的错误 为网络层提供可靠的数据链路 三 数据链路层的主要功能 链路管理数据链路的建立 维持和释放就叫做链路管理 帧同步流量控制 flowcontrol 差错控制将数据和控制信息区分开透明传输寻址 3 2停止等待协议 3 2 1不需要数据链路层协议的数据传输 网络两个节点数据链路层进行通信的模型 3 2 2具有最简单流量控制的数据链路层协议 由接收方控制发送方的数据流 乃是计算机网络中流量控制的一个基本方法 3 2 3实用的停止等待协议 确保以上协议实用的方法 循环冗余校验 CRC 超时计时器 timeouttimer 帧序号 3 2 4循环冗余校验 什么是模2运算 加法无进位 减法无借位 发送时K位数据代码在前 N位校验代码在后 共 K N 位传送码 K位数据代码用M x 的K 1阶多项式表示 生成多项式P x 为N阶多项式 n 1位 M x XN P x 的余数R x 就是校验代码CRC码 M x XN R x P x 的商Q是传送码 接收码 P x 的余数R x 为0 传输正确 CRC码的原理 收发双方约定一个生成多项式P x 其最高阶和最低阶系数必须为1 发送方在信息帧的末尾加上校验和R x 使带校验和的帧的多项式能被P x 整除 接收方收到后 用P x 除多项式 若有余数 则传输过程有错 无法确定错误位置和数量 若余数为零 有错的可能性很小 常用的生成多项式 CRC 16 X16 X15 X2 1CRC CCITT X16 X12 X5 1CRC 32 X32 X26 X23 X16 X12 X11 X10 X8 X7 X5 X4 X2 X 1 检错思想 若P x 为n阶 信息帧为k位 其多项式为M x 则在原帧后面添加n个0 帧成为k n位 相应多项式xn M x R x 按模2除法用对应于P x 的位串去除对应于2nM x 的位串 余数为R x n位 接收端也用P x 去除收到的码多项式 余式为0无错 否则出错 校验和计算算法 例题 若要传输的信息序列为1010001101 生成多项式为P x X5 X4 X2 1 求CRC校验码R x 解 生成多项式为P x X5 X4 X2 1 即110101 n 5 M x 向左移5位Xn M x 101000110100000所以CRC校验码R x 为01110 传输的码字为101000110101110 例题 3 2 5停止等待协议的算法一 发送结点 1 从主机取一个数据帧 2 V S 03 N S V S 4 将发送缓存中的数据帧发送出去 5 设置超时计时器6 等待7 收到ACKn 判断n 1 V S 决定转到3或68 若收到否认帧NAK 转到4重传9 超时转4重传 二 接收结点 1 V R 02 等待3 当收到一个数据帧 就检查有无产生传输差错 如用CRC 有错则发NAK 若N S V R 则执行后续算法 否则丢弃此数据帧 然后转到64 将收到的数据帧中的数据部分送交主机5 V R 1 V R 6 发送却ACK 转到2 3 2 6停止等待协议中的几个重要时间关系 停止等待协议ARQ的优缺点 停止等待协议ARQ的优点就是简单 缺点是通信信道的利用率不高 尤其是传播时延很大时 3 3连续ARQ协议 3 3 1连续ARQ协议的工作原理 应答式停止等待流控方式是半双工方式 如传输延时TC 15mS 数据帧L 1000bit 数据传输速率C 1Mb s 发一帧数据的时间为1000bit 1000000bit s 即1mS 从发一帧到有应答帧的时间为 1 15 15 31mS 停止等待协议通道利用率低 等待时间为30mS 可以发30帧数据 所以可以连续发31帧数据后应答帧才来 所以可以31个数据帧组成1个窗口 采用全双工方式传输数据 连续ARQ的发送方式 Go back NARQ 返回到出错帧重发 发送窗口 其大小WT表示在收到对方确认的信息之前 可以连续发出的最多数据帧数 只有序号在窗口内的帧才可以发送 接收窗口 其大小WR可以连续接收的最多数据帧数 只有序号在窗口内的帧才可以接收 否则丢弃 接收窗口驱动发送窗口的转动捎带应答 在数据帧中增加一个字段 专门用来携带给对方的应答信息 滑动窗口的概念 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 发送窗口 接收窗口 初始状态 接收0号帧后 确认0号帧后 接收1号帧后 发送0号帧后 发送1号帧后 发送2号帧后 确认1号帧后 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 接收到帧后 接收窗口滑动 收到确认帧后 发送窗口滑动 滑动窗口WT 2 信道利用率 ld 每帧中的数据部分 bit lh 每帧中的控制信息 帧头帧尾 bit 4 6Internet的链路层协议 3 4Internet的链路层协议 用户接入Internet的一般方法有两种 一种是利用电话线拨号接入 另一种是使用专线接入 不管使用哪一种方法 在传送数据时都需要有数据链路层协议 全世界范围内使用最多的协议为非常简单的点对点协议PPP Point to PointProtocol PPP的帧格式与HDLC帧格式很相似 PPP帧都应以07EFF03开始 协议字段占2个字节 0 x0021表示是IP数据报 0 xC021表示是PPP链路控制数据 而0 x8021表示是网络控制数据 由于PPP不是面向比特的 因此帧的长度应为整数个字节 PPP的工作过程可通过PPP状态图来描述 作业 P68 3 5 6 11 16
展开阅读全文