计算机网络:第三章 数据链路层

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

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

在这里插入图片描述

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

3.1.1 数据链路和帧

链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。

数据链路(data link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。

  • 现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。
  • 一般的适配器都包括了数据链路层和物理层这两层的功能。

数据链路层传输的是帧,数据链路层把网络层交下来的数据构成帧发送到链路上,以及把接收到的帧的数据取上交给网络层。

在这里插入图片描述

点对点通信的数据链路层在进行通信时的主要步骤是:

  1. 节点A的数据链路层把网络层交下来的IP数据报添加首部和胃部封装成帧。
  2. 节点A把封装好的帧发送给节点B的数据链路层
  3. 若节点B的数据链路层收到的帧无差错。则从收到的帧提取到IP数据报上交给上面的网络层:否则丢弃这个帧。

3.1.2 三个基本问题

1.封装成帧

封装成帧就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧,确定帧的界限。

首部和尾部的一个重要作用就是进行帧定界。帧定界可以使用特殊的帧界定符。

在这里插入图片描述

  • SOH: 帧开始符
  • EOT: 帧结束符

2.透明传输

  • 发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是 1B)。
    • 字节填充(byte stuffing)或字符填充(character stuffing)——接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。
    • 如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。

"透明"是一个十分重要的术语。它表明:某一个实际存在的事物看起来就好像是不存在一样。

3.差错检测

  • 在传输过程中可能会产生比特差错:1 可能会变成 0 而 0 也可能变成 1。
  • 在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate)。
  • 误码率与信噪比有很大的关系。

循环冗余检验(CRC )

  1. 在发送端,先把数据划分为组。假定每组 k 个比特。
  2. 假设待传送的一组数据 M = 101001(现在 k = 6)。我们在 M 的后面再添加供差错检测用的 n 位冗余码一起发送。
  3. 用二进制的模 2 运算进行 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。
  4. 得到的 (k + n) 位的数除以事先选定好的长度为 (n + 1) 位的除数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 少1 位,即 R 是 n 位。

在这里插入图片描述

帧检验序列(FSC):在数据后面添加上的冗余码称为帧检验序列 FCS。

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

接收端对收到的每一帧进行 CRC 检验

  1. 若得出的余数 R = 0,则判定这个帧没有差错,就接受(accept)。
  2. 若余数 R 0,则判定这个帧有差错,就丢弃。

差错传输可以分为两大类:

  • 前面说到的基于比特差错。
  • 传输差错:
    • 帧丢失
    • 帧重复
    • 帧失序

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

3.2 点对点协议PPP

现在全世界使用得最多的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。用户使用拨号电话线接入因特网时,一般都是使用 PPP 协议。

3.2.1 PPP协议的特点

1.PPP协议应满足的需求

  1. 简单
  2. 封装成帧: PPP协议必须规定特殊的字符为帧限定符。
  3. 透明性:PPP协议必须做到数据传输的透明性。
  4. 多种网络层协议:PPP协议必须能够在同一条物理链路上同时支持多种网络层协议。
  5. 多种类型链路。
  6. 差错检测
  7. 检测连接状态
  8. 最大传输单元:MTU
  9. 网络层地址协商
  10. 数据压缩协商

2.PPP协议的组成

  1. 一个将 IP 数据报封装到串行链路的方法。
  2. 链路控制协议 LCP (Link Control Protocol):一个用来建立、配置和测试数据链路的链路控制协议LCP。
  3. 网络控制协议 NCP (Network Control Protocol):其中每一个协议支持不同的网络层协议,如IP等。

3.2.2 PPP协议的帧格式

1.各字段的意义

  • 标志字段 F = 0x7E (符号“0x”表示后面的字符是用十六进制表示。十六进制的 7E 的二进制表示是 01111110)。
  • 地址字段 A 只置为 0xFF。地址字段实际上并不起作用。
  • 控制字段 C 通常置为 0x03。
  • PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。
  • FCS:帧检验序列FCS

在这里插入图片描述

2.字节填充

当PPP使用异步传输的时候,它把转义符定义为0x7D,并使用字节填充。

3.零比特填充

  • PPP 协议用在 SONET/SDH 链路时,是使用同步传输(一连串的比特连续传送)。这时 PPP 协议采用零比特填充方法来实现透明传输。
  • 在发送端,只要发现有 5 个连续 1,则立即填入一个 0。接收端对帧中的比特流进行扫描。每当发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除,

3.2.3 PPP协议的工作状态

在这里插入图片描述

  1. 在双方都建立物理层连接之后,PPP就进入了“链路连接”状态,其目的是建立链路层的LCP连接。
  2. 这是LCP开始协商一些配置选项,即发送LCP配置请求帧。这是一个PPP帧,其协议字段置为LCP对应的代码,而信息字段包含特定的配置请求。链路的另一端可以发送以下几种响应的一种:
  • 配置确认帧:所有选项都接受。
  • 配置否认帧:所有选项理解但都不能接受。
  • 配置拒绝帧:选项有的无法识别或不能接受,需要协商。
  1. 协商结束之后,双方就建立了LCP链路,接着就进入“鉴别状态”。在这一状态,只允许传输LCP协议的分组、鉴别协议的分组以及检测链路质量的分组。
  2. 在网络层状态,PPP链路的两端的网络控制NCP根据网络层的不同协议互相交换网络层特定的网络控制分组。
  3. 当网络层配置完成之后,链路就进入到可以进行数据通信的“链路打开状态”。链路的两个PPP端点可以彼此向对方发送分组。

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

3.3.1 局域网的数据链路层

在这里插入图片描述

  • 局域网最主要的特点是:网络为一个单位所拥有,且地理范围和站点数目均有限。

  • 局域网具有如下的一些主要优点:

    • 具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
    • 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
    • 提高了系统的可靠性、可用性和残存性。
  • 局域网的拓扑结构有三种:

    • 星形网:用集线器连在一起
    • 总线网:使用匹配电阻连在一起
    • 环形网:使用干线耦合器连在一起

如何进行共享媒体通道,在这种技术上有两种方法:

  • 静态划分信道

    • 频分复用—FDM
    • 时分复用—TDM
    • 波分复用—WDM
    • 码分复用—CDM
  • 动态媒体接入控制(多点接入)

    • 随机接入
    • 受控接入 ,如多点线路探询(polling),或轮询。

1. 以太网的标准

为了使数据链路层能更好地适应多种局域网标准,802 委员会就将局域网的数据链路层拆成两个子层:

  1. 逻辑链路控制 LLC (Logical Link Control)子层
  2. 媒体接入控制 MAC (Medium Access Control)子层。

与接入到传输媒体有关的内容都放在 MAC子层,而 LLC 子层则与传输媒体无关,不管采用何种协议的局域网对 LLC 子层来说都是透明的(即LLC子层看不到局域网)。

在这里插入图片描述

2.适配器的作用

计算机与外界的局域网的连接都是通过适配器进行的。这种接口版称为“网络接口卡”。

适配器的功能:

  1. 进行数据串行/并行传输转换。
  2. 对数据进行缓存。
  3. 在计算机的操作系统安装设备驱动程序。
  4. 实现以太网协议。

在这里插入图片描述

3.3.2 CSMA/CD 协议

  • 最初的以太网是将许多计算机都连接到一根总线上(即总线网)。当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。
  • 总线上的每一个工作的计算机都能检测到 B 发送的数据信号。 由于只有计算机 D 的地址与数据帧首部写入的地址一致,因此只有 D 才接收这个数据帧。 其他所有的计算机(A, C 和 E)都检测到不是发送给它们的数据帧,因此就丢弃这个数据帧而不能够收下来。具有广播特性的总线上实现了一对一的通信。

为了通信的简便以太网采取了两种重要的措施:

  1. 采用较为灵活的无连接的工作方式,即不必先建立连接就可以直接发送数据。
  2. 以太网对发送的数据帧不进行编号,也不要求对方发回确认。(这样做的理由是局域网信道的质量很好,因信道质量产生差错的概率是很小的。 )
  3. 以太网发送的数据都是使用曼彻斯特编码

在这里插入图片描述

为了解决同一时间就只有一台计算机发送数据,研究者们就提出了CSMA/CD 协议。下面我来介绍一下 CSMA/CD 的要点

  • “多点接入”表示许多计算机以多点接入的方式连接在一根总线上。
  • “载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
  • “碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小。 当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。

在这里插入图片描述

根据以上所讨论的,我们可以对 CSMA/CD 协议的要进行总结,主要可以分为一下这几个阶段:

  1. 准备发送 :适配器从网络层获得一个分组,加上以太网的首部和尾部组成以太网帧,放入适配器的缓冲中,但在发送之前必须首先检测信道。
  2. 检测信道 :若检测到信道忙,则不停的检测,一直等待信道转换为空闲为止。
  3. 在发送过程中仍要不停的检测信道,即网络适配器还要边发送边监听。
    • 发送成功:在争用期间一直未检测到碰撞,这个帧肯定能够发送成功。
    • 发送失败:在争用期间检测到碰撞。这时立即停止发送数据,并按照规定发送干扰信号,适配器就接着执行退避算法,等到一定时间之后又回到步骤2,继续检测信道。

3.3.3 使用集线器的星型拓扑

在这里插入图片描述

1. 集线器的特点

  • 集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。
  • 使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线。
  • 集线器很像一个多接口的转发器,工作在物理层。
  • 集线器采用了专门的芯片,进行自适应串音回波干扰。

在这里插入图片描述

3.3.4 以太网的信道利用率

  • 发送一个帧所需要的平均时间:一个帧从开始发送,经可能发生的碰撞后,将再重传数次,到发送成功且信道转为空闲(即再经过时间t使得信道上无信号在传播)时为止,是发送一帧所需的平均时间。

  • 帧长为 L (bit),数据发送速率为 C (b/s),因而帧的发送时间为 L/C = T0 (s)。
    要提高以太网的信道利用率,就必须减小 t 与 T0 之比。在以太网中定义了参数 a,它是以太网单程端到端时延 t与帧的发送时间 T0 之比:

a = t/T0;
a = t/(L/C);
a = t·C/L;

3.3.5 以太网的MAC层

在局域网中,硬件地址又称为物理地址,或 MAC 地址。 (802 标准所说的“地址”严格地讲应当是每一个站的名字或标识符。 )

1. MAC地址(48位)

  • IEEE 的注册管理机构 RA 负责向厂家分配地址字段的前三个字节(即高位 24 位)。
    地址字段中的后三个字节(即低位 24 位)由厂家自行指派,称为扩展标识符,必须保证生产出的适配器没有重复地址。
  • 一个地址块可以生成2的24次方个不同的地址。这种 48 位地址称为 MAC-48,它的通用名称是EUI-48。
  • “MAC地址”实际上就是适配器地址或适配器标识符EUI-48。

2.适配器检测MAC地址

适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址.

如果是发往本站的帧则收下,然后再进行其他的处理。

否则就将此帧丢弃,不再进行其他的处理。

“发往本站的帧”包括以下三种帧:

  • 单播(unicast)帧(一对一)
  • 广播(broadcast)帧(一对全体)
  • 多播(multicast)帧(一对多)

3.MCA帧的格式

在这里插入图片描述

以太网的V2的MAC帧较为简单,由五个字段组成。前连个字段分别为6个字节的目的地址和源地址字段。第三个字段为类型字段。第四个字段为数据字段。最后一个字段为帧检验序列FCS(使用CRC校验)。

因此,发送方网络的接口上的电压不在变化了。这样接收方就很容易找到以太网帧的结束位置。

3.4 扩展的以太网

3.4.1 在物理层扩展以太网

常常工作在物理层的转发器来扩展以太网的地理覆盖范围。

用集线器扩展局域网的优缺点:

优点:

  • 使原来属于不同碰撞域的局域网上的计算机能够进行跨碰撞域的通信。
  • 扩大了局域网覆盖的地理范围。

缺点

  • 碰撞域增大了,但总的吞吐量并未提高。
  • 如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。

3.4.2 在数据链路层上扩展以太网

在数据链路层扩展局域网是使用网桥。网桥工作在数据链路层,它根据 MAC 帧的目的地址对收到的帧进行转发。网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口 。

1.以太网交换机的特点

以太网交换机实质上就是一个多接口的网桥,通常有十几个或者更多的接口,和工作在物理层的转发器、集线器有很大的差别。以太网的交换机的每一个接口都直接与一个单台主机或另一个以太网交换机想连,并且一般都工作在全双工方式。以太网交换机还具有一个并行性。即能同时连通多对接口,使多个主机能够同时通信,相互通信的主机都是独占传输媒体,无碰撞的传输数据。

以太网交换机内部是一种即插即用的设备,其内部的交换表是通过自学学习算法自动地逐渐建立起来的。

2.以太网的自学功能

3.从“总线结构以太网”到“星形结构以太网”

  • 随着站数增加,总线以太网可靠性下降。
  • 大规模集成电路和专用芯片的发展,使得星形结构的以太网既便宜又可靠。
  • 以太网交换机不共享总线,没有碰撞问题,不使用CSMA/CD,无争用期。
  • 不变的是帧结构不变。仍采用以太网帧结构。

3.4.3 虚拟局域网

利用以太网交换机可以很方便地实现虚拟局域网VLAN(Virtual LAN)。

  • 不存在广播风暴

3.5 高速以太网

3.5.1 100BASE-T以太网

在双绞线上传送100Mbit/s基带信号的星型拓扑以太网。

3.5.2 1GB比特以太网

允许在 1 Gb/s 下全双工和半双工两种方式工作。

3.5.3 10GB以太网和更快的以太网

  • 只使用光纤作为传输媒体。
  • 只工作在全双工方式
  • 端到端的以太网传输

3.5.4 使用高速以太网进行宽带接入

采用以太网接入可实现端到端的以太网传输,中间不需要再进行帧格式的转换

猜你喜欢

转载自blog.csdn.net/qq_21125183/article/details/84144825