计网笔记3-数据链路层

第三章数据链路层

参考学习自<<计算机网络第七版>>作者:谢希仁,仅为知识点总结

转载标明出处:作者AMzz 博客: https://www.cnblogs.com/AMzz/

数据链路层使用的信道主要有以下两种类型:

  • 点对点信道。这种信道使用一对一的点对点通信方式
  • 广播信道。这种信道使用一对多的广播通信方式

3.1使用点对点信道的数据链路层

  • 链路:一条无源的点到点的物理线路段,中间没有任何其他的交换结点,如网线

    • 一条链路只是一条通路的一个组成部分
  • 数据链路:除物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件+软件加到链路上,就构成数据链路

  • 有人将链路分为物理链路和逻辑链路,而物理链路就是链路,数据链路也就是逻辑链路。

NBiYND.png

数据链路层协议有许多种,但有三个基本问题则是共同的。这三个基本问题是:

  1. 封装成帧

    • 封装成帧 (framing) 就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。
    • 首部和尾部的一个重要作用就是进行帧定界。
    • 当数据是由可打印的 ASCII 码组成的文本文件时,帧定界可以使用特殊的帧定界符, SOH 表示帧的首部开始,EOT表示帧的结束
  2. 透明传输

    NBFwiF.png

    • 解决办法:字节填充或字符填充
    • 发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC” (其十六进制编码是 1B),如果转义字符“ESC” 也出现在暑假中,那就在转义字符前插入一个转义字符

    NBkpyn.png

  3. 差错控制

    • 在传输过程中可能会产生比特差错:1 可能会变成 0, 而 0 也可能变成 1
    • 在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。

CRC循环冗余检验

  • 在发送端,先把数据划分为组。假定每组 k 个比特。
  • 假设待传送的一组数据 M = 101001(现在 k = 6)。我们在 M 的后面再添加供差错检测用的 n 位冗余码一起发送。
  • 用二进制的模 2 运算进行 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。
  • 得到的 (k + n) 位的数除以事先选定好的长度为 (n + 1) 位的除数 P,得出商是 Q余数是 R,余数 R 比除数 P 少 1 位,即 R 是 n 位。
  • 将余数 R 作为冗余码拼接在数据 M 后面发送出去。
  • 接收端对收到的每一帧进行 CRC 检验
    • 若得出的余数 R = 0,则判定这个帧没有差错,就接受 (accept)。
    • 若余数 R != 0,则判定这个帧有差错,就丢弃。

NBAZAf.png

NBAm4S.png

帧检验序列 FCS

  • 在数据后面添加上的冗余码称为帧检验序列 FCS
  • 循环冗余检验 CRC 和帧检验序列 FCS 并不等同。
    • CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。
    • FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。

仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受 ,即是凡是接收端数据链路层接受的帧都没有传输差错

要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。

3.2 点对点协议 PPP

对于点对点的链路,目前使用得最广泛的数据链路层协议是点对点协议 PPP

PPP 协议应满足的需求

  • 简单 —— 这是首要的要求
  • 封装成帧,透明性,差错检测
  • 多种网络层协议
  • 检测连接状态
  • 最大传送单元
  • 网络层地址协商
  • 数据压缩协商

PPP 协议的组成

  • 一个将 IP 数据报封装到串行链路的方法。
  • 链路控制协议 LCP
  • 网络控制协议 NCP

PPP 协议的帧格式

  • PPP 帧的首部和尾部分别为 4 个字段和 2 个字段。
  • PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。

NBeZrj.png

透明传输问题

  • 当 PPP 用在同步传输链路时,协议规定采用硬件来完成比特填充(和 HDLC 的做法一样)。
  • 当 PPP 用在异步传输时,就使用一种特殊的字符填充法。
    • 零比特填充:发送端,只要发现有 5 个连续 1,则立即填入一个 0;接收端,每当发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除
    • 原因:ppp协议标志字段 F = 0x7E ,十六进制的 7E 的二进制表示是 01111110

3.3 使用广播信道的数据链路层

局域网的数据链路层

局域网最主要的特点是:

  • 网络为一个单位所拥有
  • 地理范围和站点数目均有限。

媒体共享技术

  • 静态划分信道
    • 频分复用
    • 时分复用
    • 波分复用
    • 码分复用
  • 动态媒体接入控制(多点接入)
    • 随机接入
    • 受控接入 ,如多点线路探询 (polling),或轮询。

以太网的两个标准

  • DIX Ethernet V2 是世界上第一个局域网产品(以太网)的规约。
  • IEEE 802.3 是第一个 IEEE 的以太网标准。

数据链路层的两个子层

  • 逻辑链路控制 LLC (Logical Link Control)子层;

  • 媒体接入控制 MAC (Medium Access Control)子层。

  • 不管采用何种协议的局域网,对 LLC 子层来说都是透明的.

    NBnEHs.png

适配器的作用

  • 网络接口板又称为通信适配器 (adapter) 或网络接口卡 NIC (Network Interface Card),或“网卡”。
  • 适配器的重要功能:
    • 进行串行/并行转换。
    • 对数据进行缓存。
    • 在计算机的操作系统安装设备驱动程序。
    • 实现以太网协议。

以太网采取了两种重要的措施

  • 采用较为灵活的无连接的工作方式
    • 不必先建立连接就可以直接发送数据
    • 对发送的数据帧不进行编号,也不要求对方发回确认。
    • 这样做的理由是局域网信道的质量很好,因信道质量产生差错的概率是很小的。
    • 以太网提供的服务是不可靠的交付,即尽最大努力的交付差错的纠正由高层来决定
  • 以太网发送的数据都使用曼彻斯特

CSMA/CD协议

  • 含义:载波监听多点接入 / 碰撞检测
  • “载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
  • 只能进行双向交替通信(半双工通信)

碰撞检测

  • 计算机边发送数据边检测信道上的信号电压大小。
  • 当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。
  • 所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”
  • 每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。

NDtMlj.png

争用期

  • 最先发送数据帧的站,在发送数据帧后至多经过时间 2t(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。

  • 以太网的端到端往返时延 2t称为争用期,或碰撞窗口。

  • 经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。

    NDUezQ.png

最短有效帧长

  • 如果发生冲突,就一定是在发送的前 64 字节之内。
  • 以太网规定了最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧。

强化碰撞

当发送数据的站一旦发现发生了碰撞时:
(1) 立即停止发送数据;
(2) 再继续发送若干比特的人为干扰信号 (jamming signal),以便让所有用户都知道现在已经发生了碰撞。

集线器

  • 集线器是使用电子器件来模拟实际电缆线的工作,像一个多接口的转发器,工作在物理层
  • 使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线。

以太网的信道利用率

  • 设帧长为 L (bit),数据发送速率为 C (bit/s),则帧的发送时间为 T0 = L/C (s)。

NDOw26.png

  • 成功发送一个帧需要占用信道的时间比这个帧的发送时间要多一个单程端到端时延,这是因为当一个站发送完最后一个比特时,这个比特还要在以太网上传播。

NDzF0O.png

信道利用率的最大值 Smax

  • 在理想化的情况下,以太网上的各站发送数据都不会产生碰撞
  • 发送一帧占用线路的时间是 T0 + ,而帧本身的发送时间是 T0。于是我们可计算出理想情况下的极限信道利用率 Smax 为:

NDzt9s.png

以太网的MAC层

  • 在局域网中,硬件地址又称为物理地址,或 MAC 地址
  • 48 位的 MAC 地址
    • IEEE 的注册管理机构 RA 负责向厂家分配地址字段 6 个字节中的前三个字节 (即高位 24 位),称为组织唯一标识符
    • 地址字段 6 个字节中的后三个字节 (即低位 24 位) 由厂家自行指派,称为扩展唯一标识符,必须保证生产出的适配器没有重复地址。
    • NDzoUe.png

单站地址,组地址,广播地址

  • IEEE 规定地址字段的第一字节的最低位为 I/G 位。I/G 表示 Individual / Group。
  • 当 I/G位 = 0 时,地址字段表示一个单站地址
  • 当 I/G位 = 1 时,表示组地址,用来进行多播
  • 所有 48 位都为 1 时,为广播地址。只能作为目的地址使用。

全球管理与本地管理

  • IEEE 把地址字段第一字节的最低第 2 位规定为 G/L 位,表示 Global / Local。
  • 当 G/L位 = 0 时,是全球管理(保证在全球没有相同的地址)
  • 当 G/L位 = 1 时, 是本地管理,这时用户可任意分配网络上的地址。

适配器检查 MAC 地址

  • 适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址。
    • 如果是发往本站的帧则收下,然后再进行其他的处理。
    • 否则就将此帧丢弃,不再进行其他的处理
  • “发往本站的帧”包括以下三种帧:
    • 单播 (unicast) 帧(一对一)
    • 广播 (broadcast) 帧(一对全体)
    • 多播 (multicast) 帧(一对多)
  • 所有的适配器都至少能够识别前两种帧,即能够识别单播地址和广播地址。
  • 只有目的地址才能使用广播地址和多播地址。
  • 帧间最小间隔为 9.6 μs,相当于 96 bit 的发送时间,这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。

3.4以太网的扩展

在物理层扩展以太网

  • 使用光纤扩展

    NrpYyq.png

  • 用集线器扩展

NrpUmV.png

在数据链路层扩展以太网

  • 早期使用网桥,现在使用以太网交换机。
  • 网桥工作在数据链路层。
    • 它根据 MAC 帧的目的地址对收到的帧进行转发和过滤
    • 当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口,或把它丢弃。
  • 换式集线器常称为以太网交换机 (switch) 或第二层交换机 (L2 switch),强调这种交换机工作在数据链路层。
    • 以太网交换机实质上就是一个多接口的网桥,是一种即插即用设备,其内部的帧交换表(又称为地址表)是通过自学习算法自动地逐渐建立起来的。
    • 每个接口有存储器,一般都工作在全双工方式
    • 以太网交换机具有并行性
    • 相互通信的主机都是独占传输媒体,无碰撞地传输数据。

以太网交换机的交换方式

  • 存储转发方式
    • 把整个数据帧先缓存后再进行处理。
  • 直通 (cut-through) 方式
    • 接收数据帧的同时就立即按数据帧的目的 MAC 地址决定该帧的转发接口,因而提高了帧的转发速度

以太网交换机的自学习功能

  • 以太网交换机运行自学习算法自动维护交换表
  • 开始时,以太网交换机里面的交换表是空的
  • 举例如下

NrP3fe.png

NrPJld.png

交换机自学习和转发帧的步骤归纳

  • 交换机收到一帧后先进行自学习。查找交换表中与收到帧的源地址有无相匹配的项目。
    • 如没有,就在交换表中增加一个项目(源地址、进入的接口和有效时间)。
    • 如有,则把原有的项目进行更新(进入的接口或有效时间)
  • 转发帧。查找交换表中与收到帧的目的地址有无相匹配的项目。
    • 如没有,则向所有其他接口(进入的接口除外)转发。
    • 如有,则按交换表中给出的接口进行转发。
    • 若交换表中给出的接口就是该帧进入交换机的接口,则应丢弃这个帧(因为这时不需要经过交换机进行转发)

交换机使用了生成树协议

  • 增加冗余链路时,自学习的过程就可能导致以太网帧在网络的某个环路中无限制地兜圈子。
  • 生成树协议 STP:不改变网络的实际拓扑,但在逻辑上则切断某些链路,使得从一台主机到所有其他主机的路径是无环路的树状结构,从而消除了兜圈子现象。

虚拟局域网

  • 利用以太网交换机可以很方便地实现虚拟局域网 VLAN
  • 虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网。
  • 虚拟局域网限制了接收广播信息的工作站数,使得网络不会因传播过多的广播信息(即“广播风暴”)而引起性能恶化。

3.5高速以太网

100BASE-T 以太网

  • 速率达到或超过 100 Mbit/s 的以太网称为高速以太网。
  • 可在全双工方式下工作而无冲突发生。在全双工方式下工作时,不使用 CSMA/CD 协议。
  • MAC 帧格式仍然是 802.3 标准规定的。
  • 保持最短帧长不变,但将一个网段的最大电缆长度减小到 100 m。

吉比特以太网

  • 在半双工方式下使用 CSMA/CD 协议,全双工方式不使用 CSMA/CD 协议。
  • 物理层:使用两种成熟的技术:一种来自现有的以太网,另一种则是美国国家标准协会 ANSI 制定的光纤通道 FC

半双工方式工作的吉比特以太网

  • 为保持 64 字节最小帧长度,以及 100 米的网段的最大长度,吉比特以太网增加了两个功能:
    • 载波延伸
      • 使最短帧长仍为 64 字节(这样可以保持兼容性),同时将争用时间增大为 512 字节。
      • NrkO7q.png
    • 分组突发
      • NrAn3D.png

猜你喜欢

转载自www.cnblogs.com/AMzz/p/13375757.html