计算机网络教案第四章
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.4基本的数据链路层协议 . 解决办法: 解决办法: 连续发送多帧后再等待确认,称为流水线技术( 连续发送多帧后再等待确认,称为流水线技术( pipelining)。 )。 带来的问题: 带来的问题: 信道误码率高时,对损坏帧和非损坏帧的重传 信道误码率高时, 非常多。 非常多。 两种基本解决方法: 两种基本解决方法: 帧协议( (1)退后 帧协议(A Protocol Using Go Back n) )退后n帧协议 ) (2)选择重传协议(A Protocol Using Selective )选择重传协议( Repeat) )
4.4基本的数据链路层协议 . 4.一比特滑动窗口协议(A One Bit Sliding .一比特滑动窗口协议( Window Protocol) )
捎带/载答( 捎带 载答(piggybacking) 载答 ) 暂时延迟待发确认, 暂时延迟待发确认,以便附加在下一个待发数据帧的技 术。 协议特点: 协议特点: 窗口大小: ①、窗口大小:N = 1,发送序号和接收序号的取值范围 , :0,1; , ; 可进行资料双向传输,信息帧中可含有确认信息( ②、可进行资料双向传输,信息帧中可含有确认信息( piggybacking技术); 技术); 技术 信息帧中包括两个序号域:发送序号和接收序号( 信息帧中包括两个序号域:发送序号和接收序号(已经 正确收到的帧的序号) 正确收到的帧的序号) 工作过程:( :(略 工作过程:(略)
4.4基本的数据链路层协议 .
3.有噪声信道的单工协议(A Simplex .有噪声信道的单工协议( Protocol for a Noi来自百度文库y Channel) )
增加约束条件:信道(线路)有差错, 增加约束条件:信道(线路)有差错,信息帧可能 损坏或丢失。 损坏或丢失。 解决办法:出错重传。 解决办法:出错重传。 带来的问题: 带来的问题: 什么时候重传 —— 定时 响应帧损坏怎么办(重复帧) 响应帧损坏怎么办(重复帧)—— 发送帧头中放入 序号 为了使帧头精简, 为了使帧头精简,序号取多少位 —— 1位 位 发方在发下一个帧之前等待一个肯定确认的协议叫 做PAR(Positive Acknowledgement with ( Retransmission)或ARQ(Automatic Repeat ) ( reQuest) )
1、将x的最高幂次为R的生成多项式G(x)转换成对 应的R+1位二进制数。 2、将信息码左移R位,相当与对应的信息多项式 f(x)*2R 。 3、用生成多项式(二进制数)对信息码做模2除 ,得到R位的余数。 4、将余数拼到信息码左移后空出的位置,得到完 整的CRC码。
4.3错误检测和纠正 . 错误检测和纠正
【例】假设使用的生成多项式是G(x)=x3+x+1。4位的 原始报文为1010,求编码后的报文。 解: 1、将生成多项式G(x)=x3+x+1转换成对应的二进制除 数1011。 2、此题生成多项式有4位(R+1),要把原始报文 C(x)左移3(R)位变成1010000。 3、用生成多项式对应的二进制数对左移4位后的原始 报文进行模2除。 4、在接收端收到了CRC码后用生成多项式为G(x)去 做模2除,若得到余数为0,则码字无误。若如果有一位 出错,则余数不为0 。
5常用的数据链路层协议mpfm11a01111110fcs01111110110000000111100000100011010001uacmadsarmsnrmsabmdisc命令响应置异步响应置正常响应置异步平衡响应拆链无编号确认命令拒绝建立主从的点点结构建立主从的多点结构建立复合站的平衡结构结束已建立的数据链路从站响应主站的命令从站报告帧传输异常4
4.3错误检测和纠正 . 错误检测和纠正
已成为国际标准的多项式 CRC-12=x12+x11+x3+x2+x+1 nCRC-16=x16+x15+x2+1 CRC-CCITT=x16+x12+x5+1 CRC-32 硬件实现CRC校验 硬件实现 校验 网卡NIC(Network Interface Card) 网卡 ( )
CRC的具体生成过程 生成过程
设发送信息用信息多项式C(X)表示,将C(x)左移R位,则可表示 成C(x)*2R,这样C(x)的右边就会空出R位,这就是校验码的位置。 通过C(x)*2R除以生成多项式G(x)得到的余数就是校验码。
4.3错误检测和纠正 . 错误检测和纠正
具体的CRC码的生成步骤 码的生成步骤
4.4基本的数据链路层协议 .
问题: 问题: 卫星信道传输速率50kbps,往返传输延迟 卫星信道传输速率 ,往返传输延迟500ms,若传 , 1000bit的帧,使用协议 ,则传输一个帧所需时间?信道利 的帧, 的帧 使用协议4,则传输一个帧所需时间? 用率为多少? 用率为多少? 计算: 计算: 传输一个帧所需时间 发送时间+信息信道延迟 确认信道延迟= 信息信道延迟+确认信道延迟 =发送时间 信息信道延迟 确认信道延迟= 1000bit/50kbps+250ms+250ms=520ms 信道利用率=20/520≈4% 信道利用率 一般情况: 一般情况: 信道带宽b比特 比特/秒 帧长度L比特 往返传输延迟R秒 比特, 信道带宽 比特 秒,帧长度 比特,往返传输延迟 秒,则信 道利用率为(L/b)/(L/b+R)=L/(L+Rb) 道利用率为 结论: 结论: 传输延迟大,信道带宽高,帧短时,信道利用率低。 传输延迟大,信道带宽高,帧短时,信道利用率低。
4.3错误检测和纠正 . 错误检测和纠正
2.奇偶校验 .
二进制代码字中的码元有奇数个1 奇性 二进制代码字中的码元有奇数个 。 偶性 二进制代码字中的码元有偶数个1 。 二进制代码字中的码元有偶数个 种类 垂直奇(偶)校验 水平奇(偶)校验水平 垂直奇(偶)校验(方阵码
3.循环冗余编码 循环冗余编码CRC 循环冗余编码
目前应用最广的检错码编码方法之一
4.3错误检测和纠正 . 错误检测和纠正
CRC的基本原理 基本原理
在K位信息码后再拼接R位的校验码,整个编码长度为N位,因 此,这种编码又叫(N,K)码。 对于一个给定的(N,K)码,可以证明存在一个最高次幂为NK=R的多项式G(x)。 根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的 生成多项式。 生成多项式是接受方和发送方的一个约定,也就是一个二进制数 ,在整个传输过程中,这个数始终保持不变。 在发送方,利用生成多项式对信息多项式做模2除生成校验码。 在接受方利用生成多项式对收到的编码多项式做模2除检测和确定 错误位置。
第4章 数据链路层
主要内容
数据链路层功能 数据成帧 差错校验 流量控制 常用的数据链路层协议
4.1数据链路层功能
该层的基本目标
如何在有差错的线路上,两台相邻机器间实现无差错传输。 相邻是指两台机器通过一条通信信道连接起来,比如同轴电缆、 电话线或者点到点的无线信道。
具体功能包括
向网络层提供一个定义良好的服务接口。 处理传输错误。 调节数据流,确保慢速的接收方不会被快速的发送方淹没。
f (t ) = C / 2 + ∑ a n sin 2πnft + ∑ bn cos 2πnft
n =1 n =1
∞
∞
4.2数据成帧
2. 带字符填充的首尾界符法
•起始字符 DLE STX,结束字符DLE ETX •字符填充 •缺点:局限于8位字符和ASCII字符传送。
4.2数据成帧
3.带位填充的首尾标志法 .
4.3错误检测和纠正 . 错误检测和纠正
基本原理
在原始资料(数码位)基础上增加几位校验(冗余) 在原始资料(数码位)基础上增加几位校验(冗余)位。
两种基本策略
纠错码 发送方在每个数据块中加入足够的冗余信息,使得接收方能够判断 发送方在每个数据块中加入足够的冗余信息, 接收到的资料是否有错,并能纠正错误。 接收到的资料是否有错,并能纠正错误。 检错码 发送方在每个数据块中加入足够的冗余信息,使得接收方能够判断 发送方在每个数据块中加入足够的冗余信息, 接收到的资料是否有错,但不能判断哪里有错。 接收到的资料是否有错,但不能判断哪里有错。
1.基本概念 .
码字( 个数据位, 个校验位, 码字(codeword) 一个帧包括 个数据位,r个校验位,n=m+r,则此 ) 一个帧包括m个数据位 个校验位 ,则此n 比特单元称为n位码字 位码字。 比特单元称为 位码字。 一个编码系统中任意两个合法编码(码字)之间不同的二进数字( 码距 一个编码系统中任意两个合法编码(码字)之间不同的二进数字( bit)数叫这两个码字的码距,而整个编码系统中任意两个码字的的最小距 )数叫这两个码字的码距, 离就是该编码系统的码距。也称为海明距离( 离就是该编码系统的码距。也称为海明距离(Hamming distance)。 )。 一般检测原则 为了检查出d个错 单比特错),需要使用海明距离为d+1的编码;码距越 个错( ),需要使用海明距离为 的编码; 为了检查出 个错(单比特错),需要使用海明距离为 的编码 纠错能力越强, 大,纠错能力越强,但数据冗余也越大 。
4.4基本的数据链路层协议 .
1.无约束单工协议(An Unrestricted Simplex Protocol) .无约束单工协议( ) 工作在理想情况,几个前提: 工作在理想情况,几个前提: (1)、单工传输 、 (2)、发送方无休止工作(要发送的信息无限多) 、发送方无休止工作(要发送的信息无限多) (3)、接收方无休止工作(缓冲区无限大) 、接收方无休止工作(缓冲区无限大) (4)、通信线路(信道)不损坏或丢失信息帧 、通信线路(信道) 工作过程 (1)、发送程序 取资料,构成帧,发送帧; 取资料, 、发送程序:取资料 构成帧,发送帧; (2)、接收程序:等待,接收帧,送资料给高层 、接收程序:等待,接收帧,
4.4基本的数据链路层协议 .
2.单工停等协议(A Simplex Stop-and-Wait Protocol) .单工停等协议( ) 增加约束条件:接收方不能无休止接收。 增加约束条件:接收方不能无休止接收。 解决办法:接收方每收到一个帧后,给发送方回送一个响应。 解决办法:接收方每收到一个帧后,给发送方回送一个响应。 工作过程: 工作过程: (1)、发送程序:取资料,成帧,发送帧,等待响应帧; 、发送程序:取资料,成帧,发送帧,等待响应帧; (2)、接收程序:等待,接收帧,送资料给高层,回送回应帧。 、接收程序:等待,接收帧,送资料给高层,回送回应帧。
为网络层提供三种基本服务
无确认的无连接服务
误码率很低的线路,错误恢复留给高层; 误码率很低的线路,错误恢复留给高层; 实时业务 大部分局域网
有确认的无连接服务 无线系统 有确认的面向连接的服务
4.2数据成帧
成帧有很多方法,考察 种方法 成帧有很多方法,考察4种方法。 1.字符计数法
•在帧头中用一个域来表示整个帧的字符个数。 在帧头中用一个域来表示整个帧的字符个数。 在帧头中用一个域来表示整个帧的字符个数 •缺点:若计数出错,对本帧和后面的帧有影响。 缺点: 缺点 若计数出错,对本帧和后面的帧有影响。
•帧的起始和结束都用一个特殊的位串“01111110”,称为标记 帧的起始和结束都用一个特殊的位串“ 帧的起始和结束都用一个特殊的位串 ,称为标记(flag) •“0”比特插入删除技术 比特插入删除技术
4.2数据成帧
4.物理层编码违例法
•只适用于物理层编码有冗余的网络 只适用于物理层编码有冗余的网络 注意:在很多数据链路协议中, 注意:在很多数据链路协议中,使用字符计数法和一种其 它方法的组合。 它方法的组合。
滑动窗口协议( 滑动窗口协议(Sliding Window Protocol) ) 单工 ——> 全双工 工作原理
4.4基本的数据链路层协议 .
•发送的信息帧都有一个序号,从0到某个最大值,0 ~ 2n - 1,一般用n个二 进制位表示; •在任何时刻,发送方总是维持着一组序列号,分别对应于允许它发送的 帧,称这些帧落在发送窗口内。接收方也维持着一个接收窗口,对应于一 组允许它接受的帧。 •发送端始终保持一个已发送但尚未确认的帧的序号表,称为发送窗口。 发送窗口的上界表示要发送的下一个帧的序号,下界表示未得到确认的帧 的最小编号。发送窗口大小=上界-下界,大小可变; •发送端每发送一个帧,序号取上界值,上界加1;每接收到一个正确响应 帧,下界加1; •接收端有一个接收窗口,大小固定,但不一定与发送窗口相同。接收窗 口的上界表示允许接收的序号最大的帧,下界表示希望接收的帧; •接收窗口容纳允许接收的信息帧,落在窗口外的帧均被丢弃。序号等于 下界的帧被正确接收,并产生一个响应帧,上界、下界都加1。接收窗口 大小不变。