数据链路层.

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 为使数据能迅速、正确、有效地从发送点到达 接收点所采用的控制方式。
• 虚拟数据通路,实际数据通路
– Fig. 3-1
4、数据链路层协议应提供的最基本功能
(1) 链路管理数据在数据链路上的正常传输 (建立、维护和释放) (2)帧同步:数据传输的单位为帧,定界与 同步。也处理透明性问题 (3)流量控制与顺序控制: (4)差错控制:前向纠错、差错检测,检错 重发。 (5)将数据和控制信息分开 (6)透明传输 (7) 寻址
4.2 停止等待协议
4.2.1 不需要数据链路层协议的数据传输
AP1
1
AP1
1
缓存
缓存
数据链路
无需数据链路层协议的理想化数据传输的前提:
• 理想链路,数据不会出错和丢失。 • 接收方总是来得及接收发送方传来的数据,并及时上交主机
4.2.2 具有最简单流量控制的数据链路层协议
假定:链路是理想的传输信道,发送方每发送一帧 就暂时停下来,直到接收到接收方发来的确认信 息后再发送下一帧。算法(p73) A B A B
• CRC校验和计算算法 – 设P(x)为 r 阶,在帧的末尾加 r 个0, 使帧为m + r位,相应多项式为xrM(x); – 按模2除法用对应于G(x)的位串去除对 应于xrM(x)的位串; – 按模2减法从对应于xrM(x)的位串中减 去余数(等于或小于r位),结果就是 要传送的带校验和的多项式T(x)。
3、常用概念 • 结点(node):网络中的主机(host)和路由 器(router)称为结点 • 链路(link):通信路径上连接相邻结点的通 信信道称为链路。 • 数据链路(data link):链路+实现通信协议的硬 件和软件
• 数据链路层协议:定义了一条链路的两个结点 间交换的数据单元格式,以及结点发送和接收 数据单元的动作。
第四章 数据链路层
4.1 数据链路层的基本概念
4.1.1 定义
1、要解决的问题
– 如何在有差错的线路上,进行无差错传输。数
据链路层研究两个相连的机器数据链路 层进行可靠、有效通信的算法。 2、ISO关于数据链路层的定义
– 数据链路层的目的是为了提供功能上和规程上 的方法,以便建立、维护和释放网络实体间的 数据链路。
送主机B 送主机B 送主机B
Biblioteka Baidu
送主机B
送主机B
时间
(a) 不需要任何数据链路层协议的数据传输
(b) 具有最简单流量控制的数据链路层协议
4.2.3 实用的停止等待协议
1、实用的停止等待协议需解决两个问题: • 数据传送的差错控制 • 数据传送的流量控制 2、解决办法(p74图4-3) • 接收方收到正确数据,向发送方发送ACK帧,发送方 收到ACK帧后才能发送下一个数据帧。实现接收方对 发送方的流量控制。 • 接收方发现循环冗余检验出错,向发送方发送NCK帧, 并由发送方重发。 • 为了处理数据帧或确认帧丢失而引起的“死锁”,采 用超时记时器设置重传时间tout • 采用发送序号处理重复帧。序号编制所需的比特。
6. CRC的检错能力 – 发送:T(x);接收:T(x) + E(x); – 余数 (T(x) + E(x)) / P(x) = 0 + 余数(E(x) / P(x)) – 若 余数E(x) / P(x) = 0,则差错不能发现; 否则,可以发现。
7. 四个多项式已成为国际标准
– – – – CRC-12 = x12 + x11 + x3 + x2 + x + 1 CRC-16 = x16 + x15 + x2 + 1 CRC-CCITT= x16 + x12 + x5 + 1 CRC-32
5、为网络层提供服务
为网络层提供三种合理的服务 – 无确认无连接服务,适用于
• 误码率很低的线路,错误恢复留给 高层; • 实时业务 • 大部分局域网
– 有确认无连接服务,适用于不可 靠的信道,如无线网。 – 有确认有连接服务
6、 成帧(Framing)
数据链路层要使用物理层提供的服务,物理 层接收一个原始比特,并准备把它交给目的 地,不能保证这个比特流的无差错。 • 数据链路层将比特流分成离散的帧,并计算 每个帧的校验和。 • 成帧方法: – 字符计数法 • 在帧头中用一个域来表示整个帧的字 符个数 • 缺点:若计数出错,对本帧和后面的 帧有影响。 • Fig. 3-3
4. 生成多项式P(X) – 发方、收方事前商定; – 生成多项式的高位和低位必须为1 – 生成多项式必须比传输信息对应的多项式 短。 5. CRC码的生成 • 选定最高阶为n的生成多项式P(X); • 用二进制的模二运算进行2n乘M(X)的运算, 即在M(X)串尾添n个零,形成M’(X); • 用生成多项式P(X)按模2运算去除M’(X); • 得到的余数R即为CRC码.
4.2.4 循环冗余检验
1. 循环冗余检验的基本思想 :采用在要发送的比特 串后边添加一个称为循环冗余校验码(CRC cyclic redundancy check )的比特串来实现数据传 输差错校验。 – 校验和(checksum)加在帧尾,使带校验和的 帧的多项式能被G(x)除尽;收方接收时,用 G(x)去除它,若有余数,则传输出错。 2. 二进制串的多项式表示:例如:110001,表示成 多项式 x5 + x4 + 1 3. CRC校验和的帧组成:在要检测的二进制位串后 添加一个二进制位串(CRC码),使能被生成多 项式P(X)除净。
• 端到端(end to end)与点到点(point to point)
– 从源结点(source node)到目的结点 (destination node)的通信称为端到端通信, 通信路径(path)可能由多个链路组成。 – 在相邻结点间的一条链路上的通信称为点到点 通信。
• 数据链路控制规程
– 带字符填充的首尾字符定界法
• 起始字符 DLE STX,结束字符DLE ETX • 字符填充 • Fig. 3-4 • 缺点:局限于8位字符和ASCII字符传送。
– 带位填充的首尾标记定界法
• 帧的起始和结束都用一个特殊的位串 “01111110”,称为标记(flag) • “0”比特插入删除技术 Fig. 3-5
相关文档
最新文档