5.数据链路层协议

一、链路层及其基本概念

1. 链路层工作

保证数据传输的有效、可靠

  • 差错检测&差错控制

  • 流量控制&拥塞控制

有差错的物理线路改进成逻辑上无差错的数据链路,向网络层提供高质量的服务。

2. 物理链路和数据链路

  • 物理链路:一条p2p的物理线路(中间没有任何其他交换结点)也可称为“链路”

  • 数据链路:由许多物理链路串接而成

3. 物理层、数据链路层、网络层

  • 物理层:为数据传输提供所需要的物理链路

  • 数据链路层:将数据从物理链路的一个节点传送到下一个节点

    • 注意,不同链路(可能)采用不同的链路层协议,提供的服务也不同
  • 网络层:将数据从数据链路层的源主机传送到目的主机

4. 数据链路层协议的数据单元---帧(Frame)

  • 数据链路层:将数据报通过一条通信链路从一个节点“移动”到相邻的节点

  • LLC:负责帧的差错控制和流量控制

  • MAC:定义帧在链路上传输的规则

6. 传输差错的产生

  • 噪声:

    主要出现在通信信道上

    • 热(白噪声):引起的差错是随机差错

    • 冲击噪声:突发状

7. 差错控制的方法 - 信道编码

信道编码的过程:

信息码元序列k(data bit)+监督码元r(redundancy bit)->编码码组n(code word)

8. 差错检测技术

  • 奇偶校验:最基本的方法

  • 校验和:常用于传输层(TCP、UDP)

  • 循环冗余检测:常用于链路层

    • 校验位的计算:利用多项式编码的思想,把要发送的比特串看作系数是0或1的一个多项式,如1010001 转化成f(x)= x6+x4+1

    • 发送方和接收方共同选定一个生成多项式 G,如10111, G(x)=x4+x2+x+1

    • k:生成多项式G的最高幂值,如G=10111,则k=4

    • 将f(x)·xk模2除生成多项式G(x),得到R(x)即为校验位(其实是往二进制的f(x)后面补k位,然后跟G(x)作异或运算)

    • 可以参考以下视频:

      循环冗余检测计算过程

9. 主要的差错纠正技术

  • 海明码

    • 利用了奇偶校验位的概念,通过在数据位后面增加一些比特,可以验证数据的有效性

    • 记得以前算法课讲过,最少要多少只老鼠可以检测出n瓶水中唯一有毒的一瓶。

      答案是log(n) + 1

    • 若用r个监督关系式产生r个校正因子,区分无错、码字中n个不同位置的位错,则要求2r ≥ k + r + 1

10. 流量控制协议

  • 单帧停止等待协议

    • 发送方每次发送一帧后,需要等待确认帧返回,再发送下一帧

    • 发送方收到否认帧(数据帧错),重新发送出错的数据帧

    • 虽然协议简单容易实现,但是帧传输效率低下

  • 连续发生ARQ(Automatic Repeat Request)协议

    主要有GBN和SR两种机制,具体细节已在此处讲过。

    • 发送方连续向接收方发送数据帧,接收方对收到的数据帧进行校验后,向发送方返回相应的应答帧

    • 发送方维持着一个一定大小的发送窗口,位于发送窗口内的所有分组都可连续发送出去,而中途不需要等待对方的确认

  • 滑动窗口协议

    • 配合连续发送ARQ使用

    • 发送方连续发送帧数量受接收方控制

      • 发送帧帧需要编号

      • 由于接收方缓冲区空间有限,编号循环使用

    • 链路层滑动窗口与传输层TCP滑动窗口原理相同

      • 一个是针对于的传送

      • 另一个是针对字节数据的传送

二、局域网技术&数据链路层协议

  • 局域网参考模型

    • 1980年2月,IEEE成立局域网标准委员会(简称IEEE802委员会)

    • 研究重点:解决局部范围内计算机组网问题

注意:不同局域网必须采用相同LLC协议;不同局域网可以采用不同MAC协议

1. 以太网Ethernet

  • 数据传输特点

  • 载波侦听多路访问/冲突检测(CSMA/CD)技术

    • 载波侦听:监听总线占用

    • 多路访问:平等访问主线

    • 冲突检测:因为冲突不可避免

  • 以太网冲突检测方式

  • 以太网帧结构

    • 前导符/帧前定界符:由10101010比特流组成

    • 目的地址、源地址:MAC地址(6字节)

    • 类型:网络层协议类型(0x800表示IP协议;0x8137表示IPX协议

    • 数据:46B~1500B(帧头长度为18B)

    • 帧校验:32位CRC校验(目的地址、源地址、类型、帧数据)

  • 网卡物理地址存储器中存储单元对应实际地址称:物理地址

  • 共64位,由16进制表示

  • 以太网卡结构

2. 现代以太网技术

  • 现代以太网技术:交换式局域网

  • 交换技术应用于高性能局域网技术

    • 传统共享介质局域网(所有结点共享一条传输介质)不可避免发生冲突(结点数量不断增加,网络负荷加重,网络效率急剧下降)

    • 克服网络规模与网络性能矛盾,将共享介质改为交换方式,即二层交换技术

    • 二层交换技术不关心三层协议

      • 不会检查网络层,IPV4、IPV6等三层协议分组均可以穿越二层交换机

      • 网桥、交换机

3. 网桥基本概念

网桥的基本特征:

  • 互联两个不同数据链路层协议(不同传输介质、不同传输率)LLC不同

  • 接收、存储、地址过滤与转发方式实现网络之间通信

  • 需要互联网络在数据链路层以上采用相同协议

  • 分隔两个网络之间的广播通信量,改善互联网络性能与安全性

网桥层次结构:

透明的网桥

  • 通过透明网桥,将多个局域网连接起来,硬件和软件不需要做任何变化

  • 透明网桥工作在混杂模式,接受所有的帧

  • 当一个帧到达网桥时,它必须做出丢弃还是转发的决策

  • 决策通过在网桥内部的地址表中,查找目的MAC地址而做出的

网桥的转发原理:

  • 如果查到目的端口和源端口是相同,就会丢弃这一帧

  • 如果目的端口和源端口不同,就会转发这一帧

  • 如果这个目的地址没有在表里面查到,就会广播这一帧

4. 交换机结构和工作原理

  • 泛洪广播

    • 目的地址未知,或广播地址,除源端口外在其他所有的端口进行转发
  • 转发

    • 对于已经学习到的目的地址,直接转发到相应窗口
  • 过滤

    • 目的地址和源地址所处端口号相同则丢弃
  • 逆向学习

    • 读取帧的源地址和达到端口号进行学习,从而补充转发更新表

交换机的三种交换方式:

  1. 直接交换

    • 交换机只接收数据帧头部,检测目的地址,立即转发(无论帧是否出错)

    • 帧出错检测由结点主机完成(延迟小,缺乏差错检测)

  2. 存储转发交换

    • 交换机完整地接收数据帧,并检测差错。若帧正确,则根据帧目的地址确定输出端口,进行转发出

    • 具有帧差错检测能力,但延迟大

  3. 改进的直接交换

    • 检查帧的长度是否够64个字节,如果小于64字节则丢弃(碎片帧);如果大于64字节,则转发

    • 不提供差错检测,但是出错的机会比直接转发小,数据处理速度比存储转发方式快

5. 虚拟局域网技术VLAN

  • 一种网络服务(不是组网技术)

  • 交换式局域网技术是实现VLAN的基础(用户和局域网资源的逻辑组合)。虚拟局域网内的主机可能物理上并不处于同一个交换机


5.数据链路层协议
https://steve-1936550490.github.io/posts/19236/
Author
Hidden Blue
Posted on
June 27, 2023
Licensed under