1、单击此处编辑母版标题样式单击此处编辑母版副标题样式* 1第 3讲 数据链路层 n 3.1 数据链路层的基本概念一 .链路与数据链路n 链路 (link)就是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。n 数据链路 (data link)则是另一个概念。这是因为当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有一些必要 通信协议 来控制这些数据的传输。一 .链路与数据链路虚通路和实通路主机 A 主机 A节点 1 节点 2 节点 3传输层协议数据链路层协议 数据链路层协议数据虚通路 数据虚通路数据实通路数据实通路数据链路 /逻辑链路 = (物理)链路 + 通信规程数据链
2、路层提供的数字信道物理层提供的无源点到点物理线路段数据链路层协议一 .链路与数据链路两个路由器的数据链路二 .帧与报文二 .帧与报文三 .数据链路层的主要功能n 在物理连接上建立数据链路连接。检测和校正物理层出现的错误,为网络层提供可靠的数据链路。三 .数据链路层的主要功能1. 链路管理 数据链路的建立、维持和释放就叫做链路管理。2. 帧同步3. 流量控制 (flow control)4. 差错控制5. 将数据和控制信息区分开6. 透明传输7. 寻址单击此处编辑母版标题样式单击此处编辑母版副标题样式* 113.2 停止等待协议n 3.2.1 不需要数据链路层协议的数据传输网络两个节点数据链路层
3、进行通信的模型3.2.2 具有最简单流量控制的数据链路层协议n 由接收方控制发送方的数据流,乃是计算机网络中流量控制的一个基本方法 。3.2.3 实用的停止等待协议确保以上协议实用的方法n 循环冗余校验 (CRC)n 超时计时器 (timeout timer)n 帧序号3.2.4 循环冗余校验n 什么是模 2运算? 加法无进位,减法无借位K位数据代码 N位校验代码发送时 K位数据代码在前, N位校验代码在后。共 (K+N)位传送码。K位数据代码用 M(x)的 K-1阶多项式表示;生成多项式 P(x)为 N阶多项式( n+1 位)。M(x)XN / P(x)的余数 R(x)就是校验代码 CRC码
4、。(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
5、+X5+X4+X2+X+1检错思想 若 P(x)为 n阶,信息帧为 k位,其多项式为 M(x),则在原帧后面添加 n个 0,帧成为 k+n位,相应多项式 xnM(x) + R(x) 按模 2除法用对应于 P(x)的位串去除对应于 2n M(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(
6、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),则执行后续算法,否则丢弃此数据帧
7、,然后转到 64.将收到的数据帧中的数据部分送交主机5. V(R) 1-V(R)6.发送却 ACK,转到 23.2.6 停止等待协议中的几个重要时间关系停止等待协议 ARQ的优缺点n 停止等待协议 ARQ的优点就是简单,缺点是通信信道的利用率不高,尤其是传播时延很大时。单击此处编辑母版标题样式单击此处编辑母版副标题样式* 263.3 连续 ARQ协议n 3.3.1 连续 ARQ协议的工作原理应答式停止等待流控方式是半双工方式,如传输延时 TC=15mS,数据帧 L=1000bit,数据传输速率 C=1Mb/s, 发一帧数据的时间为1000bit/1000000bit/s,即 1mS。从发一帧到
8、有应答帧的时间为 : 1+15+15=31mSA B1mS15mS15mS停止等待协议通道利用率低30mS等待时间为 30mS,可以发 30帧数据。所以可以连续发 31帧数据后应答帧才来。所以可以 31个数据帧组成 1个窗口,采用全双工方式传输数据。连续 ARQ的发送方式Go-back-N ARQ(返回到出错帧重发 )发送窗口 :其大小 WT表示在收到对方确认的信息之前,可以连续发出的最多数据帧数(只有序号在窗口内的帧才可以发送)接收窗口 :其大小 WR可以连续接收的最多数据帧数(只有序号在窗口内的帧才可以接收,否则丢弃)接收窗口驱动发送窗口的转动捎带应答: 在数据帧中增加一个字段,专门用来携带给对方的应答信息。滑动窗口的概念