- 1、本文档共170页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[信息与通信]《计算机通信网 》第3章 数据链路层
第3章 数据链路层 3.1 数据链路层概述 3.2 成帧与帧定界 3.3 差错检测与校正方法 3.4 差错与流量控制协议 3.5 协议描述与验证 3.6 数据链路层协议案例 3.1 数据链路层概述 链路层模型 3.1 数据链路层概述 DL面临的环境 3.1 数据链路层概述 链路层模型 3.1 数据链路层概述 链路层的基本任务 3.1 数据链路层概述 链路层任务模型 3.1 数据链路层概述 链路层效率定义 链路层 有效数据率 r = ∑ni/T (ni:第i帧bit数,T:测量总时间) 物理层 信道的速率 R b/s 链路层效率: η = r/R ( η ≤ 1) Link Layer Services 三种服务的示意图 Link Layer Services 三种可能的服务 无确认的无连接服务 无需对方许可,直接向对方发送Frame,对方不需要反馈确认信息 优点:不受等待确认的拖累;缺点:frame传输可靠性不高 信道效率:不等待确认,可提高信道效率,但传输出错降低信道效率 协议考虑:PDU中含源/目的地址 有确认的无连接服务 无需对方许可,直接向对方发送Frame,需要对方反馈确认信息 优点:通过重传增加了可靠性;缺点:受等待应答的拖累 保持发送和确认间的正确对应关系所采取的措施会大大降低信道使用效率 协议考虑:PDU编号,PDU中含源/目的地址、单帧确认,差错检测与重传 有确认的面向连接服务 需事先与对方沟通,双方建立起一套复杂的发送、确认机制来实现恢复差错、排除重复、维持顺序的可靠通信 适合于有大量Frame传输的场合 协议考虑:PDU编号、确认、差错控制(丢弃错帧和重复帧,请求重发错帧) 3.2 成帧Framing 成帧(或帧同步):就是确定帧的界限(起与止) 通俗理解: 发送方:在帧的前后各加入事先商定好的标记 接收方:在bits中寻找标记来识别帧的起与止 需要特别考虑: 若数据与帧的起止标记相同时,发送方必须采取措施 否则可能会引起接收方的误断 成帧方法: 字符计数法 字符填充首尾界定法 位填充首尾界定法 物理层编码违例法 成帧 不同传输方式下的帧同步 同步传输方式(Sync,连续bit流) 连续的bit流传递离散的Frame 每个Frame都成为连续bit流中的一段,接收方识别并取出Frame 异步传输方式(Async,异步字节序列) 每个Frame转换为异步字节序列传送,接收方收集字节序列,还原Frame 数据块传输方式(Block) 每个Frame形成一个数据块传送。 Sync信道的帧同步技术 连续的bit流由若干Frame和它们间的空闲bit组成 注意:frame中或空闲的bit都只有两种取值:0或1 关键问题:如何正确识别和提取bit流中的Frame部分? 思路:假设空闲bit用某种特殊的bit模式(pattern)构成,而Frame中不会出现该pattern,则接收方就能够正确设别和提取Frame 但: 应该允许Frame包含任意数据,就肯定包含了这种Pattern。 若能对Frame中出现的Pattern用某种变换方式消除,接收方提取出Frame后,再通过反变换,恢复原来的Frame,该假设成立 Sync信道的帧同步技术 发送 Sync信道的帧同步技术 位填充首尾定界法 (‘0’比特插入/删除技术) Pattern=称为定界标志F (Flag) Frame内F的变换和反变换(利用F中连续6个‘1’的性质) 变换: Frame中如果出现连续5个‘1’时,插入一个‘0’ 提取 从第一次出现非F开始,到重新出现F时的所有bit 反变换 Frame中出现连续5个‘1’时,删除后面的1个‘0’ 采特点: 变换与发送合一:发送连续5个‘1’,加发一个‘0’ 接收与复原合一:连续接收5个‘1’,下一bit若是‘0’则直接去掉,否则,应该出现的就是结束该帧 位填充首尾定界法 发送:在帧体部分出现连续5个1,无条件地插入一个0 接收:在帧体中扫描连续5个1,无条件去掉后面的0 位填充首尾定界法 位填充 (实现示意图) 位填充首尾定界法 软件模拟 int Send(char *pF, int Len) { int i,j,c,msk, sn; sn = 0; for(i=0;iLen;i++) { // 循环帧的字节长度 msk = 1; for(j=0;j8;j++) { // 8bit c = pF[i] msk ? 1:0; 测试第j bit msk =1; 准备测试下一 bit
文档评论(0)