数据链路层(一)3.1 使用点对点信道的数据链路层3.1.1 数据链路层和帧数据发送模型
数据链路层的信道类型 数据链路层使用的信道主要有以下两种类型: 链路与数据链路 一条链路只是一条通路的一个组成部分。
帧 数据链路层传送的是帧
3.1.2 三个基本问题1.封装成帧 试想:帧还未发送完,发送端出了问题,只能重发该帧。接收端却收到了前面的“半截子帧”,它会抛弃吗?为什么?
2.透明传输 用字节填充法解决透明传输问题 发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是 1B)。 字节填充(byte stuffing)或字符填充(character stuffing)——接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。 如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。 当传送的帧是用文本文件组成的帧时(文本文件中的字都是从键盘上输入的),其数据部分显然不会出现像SOH或EOT这样的帧定界控制字符。可见不管从键盘上输入什么字符都可以放在这样的帧中传输过去,因此这样的传输就是透明传输。
3.差错控制 在传输过程中可能会产生比特差错:1 可能会变成 0 而 0 也可能变成 1。 在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate)。 误码率与信噪比有很大的关系。 为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。
循环冗余检验的原理 在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。 在发送端,先把数据划分为组。假定每组 k 个比特。 假设待传送的一组数据 M = 101001(现在 k = 6)。我们在 M 的后面再添加供差错检测用的 n 位冗余码一起发送。
冗余码的计算 冗余码的计算举例 现在 k = 6, M = 101001。 设 n = 3, 除数 P = 1101, 被除数是 2n**M = 101001000。 模 2 运算的结果是:商 Q = 110101, 余数 R = 001。 把余数 R 作为冗余码添加在数据 M 的后面发送出去。发送的数据是:2n**M + R 即:101001001,共 (k + n) 位。
循环冗余检验的原理说明
帧检验序列 FCS 在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。 循环冗余检验 CRC 和帧检验序列 FCS并不等同。 接收端对收到的每一帧进行 CRC 检验 (1) 若得出的余数 R = 0,则判定这个帧没有差错,就接受(accept)。 (2) 若余数 R ≠ 0,则判定这个帧有差错,就丢弃。 但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。 只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测不到的差错的概率就很小很小。
补零位数比除数位数少一 异或运算 1+1=0 1+0=0 0+1=0 0+0=0
除数由两台计算机数据链路层协议决定 小结:CRC差错检测技术 仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受(accept)。 可以说“CRC是一种无比特差错,而不是无传输差错的检测机制” OSI/RM模型的观点:数据链路层要做成无传输差错的!但这种理念目前不被接受。 数据链路层的信道类型·数据链路层使用的信道主要有以下两种类型: 3.2 点对点协议 PPP3.2.1 PPP协议的特点PPP 协议应满足的需求 简单——这是首要的要求 封装成帧 透明性 多种网络层协议 多种类型链路 差错检测 检测连接状态 最大传送单元 网络层地址协商 数据压缩协商
· PPP 协议不需要的功能 PPP 协议的组成 3.2.2 PPP协议的帧格式标志字段 F = 0x7E (符号“0x”表示后面的字符是用十六进制表示。十六进制的 7E 的二进- - 制表示是 01111110)。 地址字段 A 只置为 0xFF。地址字段实际上并不起作用。 控制字段 C 通常置为 0x03。 PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。
透明传输问题 字符填充 将信息字段中出现的每一个 0x7E 字节转变成为 2 字节序列(0x7D, 0x5E)。 若信息字段中出现一个 0x7D 的字节, 则将其转变成为 2 字节序列(0x7D, 0x5D)。 若信息字段中出现 ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加以改变。
. 零比特填充 不提供使用序号和确认 的可靠传输 3.2.3 PPP协议的工作状态当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。 PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。 这些分组及其响应选择一些 PPP 参数,和进行网络层配置,NCP 给新接入的 PC机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。 通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。
3.3 使用广播信道的数据链路层(局域网)3.3.1 局域网的数据链路层局域网最主要的特点是:网络为一个单位所拥有,且地理范围和站点数目均有限。 局域网具有如下的一些主要优点: 静态划分信道
|