1. 数据链路层概述

1.1 数据链路层在网络体系结构中的地位

数据链路层上传输的数据包称为帧。
image.png

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

数据链路层的三个重要问题

1. 封装成帧

封装成帧:数据链路层给网络层交付的协议数据单元添加 帧头和帧尾 的操作。称为封装成帧。
目的:为了在链路上 以帧为单元 来传送数据,也就是 为了实现数据链路层本身的功能。
image.png

2. 差错检测

接收方主机收到帧后,通过检错码和检错算法,就可以判断出帧在传输过程中是否出现了了误码。
image.png

3. 可靠传输

接受方主机收到有误码的帧后,不会接受,将其丢弃。
如果数据链路层向其上层提供的是不可靠服务,丢弃就丢弃了,不会有更多措施。
如果数据链路层向其上层提供的是 可靠服务,就还需要其他措施,确保接收方主机回以重新收到被丢弃的这个帧的确副本。
image.png
以上都是使用 点对点 信道的数据链路层来举例的。

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

  • 共享式以太网的媒体接入控制协议CSMA/CD
  • 802.11局域网的媒体接入控制协议CSMA/CA

image.png

1.4 数据链路层的互联设备

  • 网桥和交换机的工作原理
  • 集线器(物理层互连设备)与交换机的区别

image.png

2. 封装成帧

2.1 封装成帧

封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧。

  • 帧头和帧尾中包含有重要的控制信息。
  • 帧头和帧尾的作用之一就是帧定界。

1)PPP帧的帧头和帧尾各有一个标志字节,作用是帧定界。
image.png
2)并不是每一种数据链路层协议的帧都包含帧定界标志。 例如,以太网MAC帧。而且以太网V2的MAC帧还有帧间间隔,规定为 96 比特时间。
image.png

2.2 透明传输

透明传输:是指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样。
image.png
例题
image.png

2.3 提高帧传输效率

image.png

3. 差错检测

3.1 差错检测

  • 比特差错:实际的通信链路都不是理想的,比特在传输过程中可能会产生差错: 1可能会变成0,而0也可能变成1。这称为比特差错。
  • 误码率BER:在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(Bit Error Rate)
  • 差错检测码FCS:使用差错检测码来检测数据在传输过程中是否产生了比特差错,是数据链路层所要解决的重要问题之一。

image.png

3.2 奇偶校验

  • 奇/偶校验:在待发送的数据后面 添加1位奇偶校验位,使整个数据(包括所添加的校验位在内)中 “1”的个数 为奇数(奇校验)或偶数(偶校验)。
  • 如果有 奇数个位发生误码,则奇偶性发生变化,可以检查出误码
  • 如果有 偶数个位发生误码,则奇偶性不发生变化,不能检查出误码(漏检)

image.png
奇偶校验法的漏检率较高,数据链路层一般不采用这种方法。

3.3 循环冗余检验

1. 循环冗余检验:CRC(Cyclic Redundancy Check)

1)CRC
image.png
2)生成多项式
image.png

2. 举例

1)发送方处理
image.png
2)接收方处理
image.png

3.4 本节总结

image.png

4. 可靠传输

4.1 可靠传输的基本概念

  • 使用 差错检测技术 (例如循环冗余校验CRC),接收方的数据链路层就可检测出帧在传输过程中是否产生了 误码 (比特错误)。
  • 数据链路层向上层提供的服务类型
    • 不可靠传输服务: 仅仅丢弃有误码的帧 ,其他什么也不做;
    • 可靠传输服务: 想办法实现 发送端发送什么,接收端就收到什么

image.png

  • 一般情况下,有线链路 的误码率比较低,为了减小开销,并 不要求数据链路层向上提供可靠传输服务。即使出现了误码,可靠传输的问题由其上层处理。
  • 无线链路 易受干扰,误码率比较高,因此 要求数据链路层 必须向上层提供 可靠传输服务

image.png

  • 比特差错 只是传输差错中的一种。
  • 从整个计算机网络体系结构来看,传输差错还包括分组丢失、分组失序 以及 分组重复
  • 分组丢失、分组失序以及分组重复这些传输差错,一般不会出现在数据链路层,而会出现在其上层。
  • 可靠传输服务并不仅局限于数据链路层,其他各层均可选择实现可靠传输。

image.png

  • 可靠传输的实现比较复杂,开销也比较大,是否使用可靠传输取决于应用需求。

    4.2 三种可靠传输实现机制

    下面介绍可靠传输的三种实现机制:
    停止等待协议SW、回退N帧协议GBN、选择重传协议SR

  • 这三种可靠传输实现机制的基本原理并不仅限于数据链路层,可以应用到计算机网络体系结构的各层协议中。

  • 在学习时,不要把思维局限在数据链路层,而应放眼于整个网络体系结构。

    4.3 (一)停止-等待协议

    1. 停止-等待协议

    停止-等待协议:SW(Stop and Wait):发送方每发送一个分组,就停止发送并等待接收方的确认分组。当收到接收方的确认分组后,才能发送下一个数据分组,如此反复进行。

  • DATA:发送分组

  • ACK:确认接受分组
  • NAK:未接受,否定应答分组

image.png

2. 超时重传机制

image.png

3. 避免分组重复

分组重复:接收方发送的 ACK 数据包丢失,发送方启动超时重传机制,发送重复分组。
解决机制:为 避免分组重复这种传输错误,必须给 每个分组带上序号。对于停止-等待协议,由于每发送一个数据分组就停止等待,只要保证每发送一个新的数据分组,其发送序号与上次发送的数据分组的序号不同就可以了,因此用 一个比特来编号就够了
image.png

4. 确认分组ACK迟到:确认分组也需要编号

对于PPP信道的数据链路层实现停止-等待协议,往返时间固定,不需要给确认分组编号。
image.png

5. 停止-等待协议的注意事项

  • 接收端检测到数据分组有误码时,将其 丢弃并等待发送方的超时重传。但对于误码率较高的点对点链路,为使发送方尽早重传,也 可给发送方发送NAK分组
  • 为了让接收方能够判断所收到的数据分组是否是重复的,需要给 数据分组编号。由于停止-等待协议的停等特性,只需1个比特编号就够了,即编号0和1.
  • 为了让发送方能够判断所收到的ACK分组是否是重复的,需要 给ACK分组编号,所用比特数量与数据分组编号所用比特数量一样。
  • 点对点信道的数据链路层一般不会出现ACK分组迟到的情况,因此 在数据链路层实现停止-等待协议可以不用给ACK分组编号
  • 超时计时器设置的重传时间应仔细选择。一般可将重传时间选为 略大于“从发送方到接收方的平均往返时间”。

    • 在数据链路层点对点的往返时间比较确定,重传时间比较好设定。
    • 然而在运输层,由于端到端往返时间非常不确定,设置合适的重传时间有时并不容易

      6. 停止-等待协议的信道利用率

  • T_DTD:数组分组的发送时延

  • T_ATA:接收方主机的处理时延
  • RTTRTT:往返时延

停止-等待协议的信道利用率计算公式 UU 为:
U=\frac{T_D}{T_d+RTT+T_A}U=Td+RTT+TATD
image.png
计算举例
image.png

  • 当往返时延RTT远大于数据帧发送时延Tp时(例如使用卫星链路),信道利用率非常低。若出现重传,则对于传送有用的数据信息来说,信道利用率还要降低
  • 为了克服停止-等待协议信道利用率很低的缺点,就产生了另外两种协议,即 后退N帧协议GBN和选择重传协议SR

例题
image.png

4.4 (二)回退N帧协议GBN

1. 停止-等待协议SW的缺点及优化

  • 缺点:停止-等待协议SW的信道利用率很低,若出现超时重传,利用率更低。
  • 优化:采用流水线传输可以提高信道利用率。

image.png

2. 回退N帧协议

在流水线传输的基础上,利用发送窗口限制发送方可连续发送数据分组的个数。

  1. 使用3个比特给分组编序号,0-7
  2. 发送窗口的尺寸 W_T取值:1 < W_T <= 2^3-1,本例取 W_T=5
  3. 接收窗口W_R的取值:W_R=1

当 W_T=1 为停止-等待协议SW。

(1)无差错情况

无差错情况:正常发送与接受,无误码或丢失等情况。
image.png

(2)累计确认

累计确认:接收方不一定要对收到的数据分组逐个发送确认,而是可以在收到几个数据分组后(由具体实现决定)对 按序到达的最后一个数据分组发送确认。ACK_nACKn表示序号为n及以前的所有数据分组都已正确接收。
即使 AKC1丢失了,也有ACK4来确认,发送方也可能不必重传。
image.png

  • 累计确认的优点:减少接收方的开销、减少对网络资源的占用。
  • 累计确认的缺点:不能向发送方及时发送接收方正确接受数据分组的信息。

    (3)有差错情况
  • 在本例中。尽管序号为6,7,0,1的数据分组正确到达接收方,但由于5号数据分组误码不被接受,它们也“受到牵连”而不被接受。发送方还要重传这些数据分组,这就是所谓的 Go-back-N (回退N帧)

  • 可见,当通信线路质量不好时,回退N帧协议的信道利用率并不比停止-等待协议高

image.png

(4)W_TWT超过其上限7

若W_TWT超过取值范围,例如W_T=8WT=8,会出现什么情况?
image.png
如果是失败重传,序号为0-7;如果是发送新的分组,序号也为0-7。就无法分辨新旧数据分组了。

3. 回退N帧协议总结

  • 回退N帧协议在流水线传输的基础上利用发送窗口来限制发送方连续发送数据分组的数量,是一种连续ARQ协议。
  • 在协议的工作过程中发送窗回和接收窗口不断向前滑动,因此这类协议叉称为滑动窗回协议。
  • 由于回退N帧协议的特性,当通信线路质量不好时,其信道利用率并不比停止-等待协议高。

image.png
例题
image.png

4.5 (三)选择重传协议SR

1. 由GBN过渡到SR

  • 回退N帧协议 的接收窗口尺寸 W_RWR只能等于1,因此 接收方只能按序接收正确到达的数据分组
  • 一个数据分组的误码就会导致其后续多个数据分组不能被接收方按序接收而丢弃(尽管它们无乱序和误码)。这必然会造成发送方对这些数据分组的超时重传,显然这是对通信资源的极大浪费。
  • 为了进一步提高性能,可设法只重传出现误码的数据分组。因此,接收窗口的尺寸 W_RWR不应再等于1(而应大于1),以便接收方先收下失序到达但无误码并且序号落在接收窗口内的那些数据分组,等到所缺分组收齐后再一并送交上层。这就是 选择重传协议

注意
选择重传协议为了使发送方仅重传出现差错的分组,接收方 不能采用累计确认,而需要对每个正确接收到的数据分组进行 逐一确认。

2. 选择重传协议SR

image.png

1)选择重传协议发送窗口与接收窗口应满足的条件

image.png

2)若发送窗口取值超过限制

如果发送窗口和接收窗口超过了取值范围,就会使 接收方无法区分新、旧数据分组,进而出现 分组重复 这种差错。
image.png

3. SR协议总结

image.png
例题
【2011年题35】数据链路层采用选择重传协议(SR)传输数据,发送方已发送了0~3号数据帧,现已收到1号帧的确认,而0、2号帧依次超时,则此时需要重传的帧数是
A.1 B.2 C.3 D.4

解析
image.png

5. 点对点协议PPP

5.1 PPP协议的组成

  • 点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的 点对点数据链路层协议
  • PPPoE:Point-to-Point Protocol over Ethernet
  • PPP协议是因特网工程任务组IETF在1992年制定的。经过1993年和1994年的修订,现在的PPP协议已成为因特网的正式标准[RFC1661,RFC1662]。

image.png

  • PPP协议为在点对点链路传输各种协议数据报提供了一个标准方法,主要由以下三部分构成:
    • 对各种协议数据报的封装方法(封装成帧)
    • 链路控制协议LCP:用于建立、配置以及测试数据链路的连接
    • 一套网络控制协议NCPs:其中的每一个协议支持不同的网络层协议

image.png

5.2 点对点协议PPP的帧格式

image.png

5.3 点对点协议PPP透明传输

点多点协议PPP实现透明传输的两种方法:

  • 面向字节的异步链路采用插入转义字符的字节填充法
  • 面向比特的同步链路采用插入比特 0 的比特填充法

    1. 字节填充法

    image.png

    2. 比特填充法

    image.png

    5.4 差错检测

    image.png

    5.5 工作状态

    image.png

    6. 媒体接入控制

    6.1 媒体接入控制基本概念

    共享信道要着重考虑的一个问题就是如何协调多个发送和接收站点对一个共享传输媒体的占用,即 媒体接入控制MAC(Medium Access Control)。
    image.png

    6.2 媒体接入技术分类

    image.png
    随着技术的发展,交换技术的成熟和成本的降低,具有更高性能的使用点对点链路和链路层交换机的交换式局域网在有线领域已完全取代了共享式局域网,但由于无线信道的广播天性,无线局域网仍然使用的是共享媒体技术。

    6.3 媒体接入控制:静态划分信道

    信道复用

  • 复用(Multiplexing)是通信技术中的一个重要概念。复用就是通过一条物理线路同时传输多路用户的信号。

  • 当网络中传输媒体的传输容量大于多条单一信道传输的总通信量时,可利用复用技术在一条物理线路上建立多条通信信道来充分利用传输媒体的带宽。
  • 分类:频分复用、时分复用、波分复用、码分复用

image.png

1. 频分复用 FDM

频分复用的所有用户 同时占用不同的频带资源 并行通信。
image.png

2. 时分复用 TDM

时分复用的所有用户在 不同的时间占用同样的频带宽度
image.png

3. 波分复用 WDM

image.png

4. 码分复用 CDM

(1)CDM 基本概念(理解、了解)
  • 码分复用 CDM 是另一种共享信道的方法。实际上,由于该技术主要用于多址接入,人们更常用 的名词是 码分多址CDMA(Code Division Multiple Access)。
  • 同理,频分复用 FDM 和时分复用 TDM 同样可用于多址接入,相应的名词是频分多址 FDMA (Frequency Division Multiple Access)和时分多址TDMA(Time Division Multiple
  • 本课程中,我们不严格区分复用与多址的概念。可简单理解如下:
    • 复用是将单一媒体的频带资源划分成很多子信道,这些子信道之间相互独立,互不干扰。从 媒体的整体频带资源上看,每个子信道只占用该媒体频带资源的一-部分。
    • 多址(更确切地应该称为多点接入)处理的是动态分配信道给用户。这在用户仅仅暂时性地占用信道 的应用中是必须的,而所有的移动通信系统基本上都属于这种情况。相反,在信道永久性地分配给用 户的应用中,多址是不需要的(对于无线广播或电视广播站就是这样)。
    • 某种程度上,FDMA、TDMA、CDMA可以分别看成是FDM、TDM、CDM的应用。
  • 与 FDM 和 TDM 不同,CDM的每一个用户可以在 同样的时间使用同样的频带进行通信。
  • 由于 各用户使用经过特殊挑选的不同码型,因此各用户之间不会造成干扰。
  • CDM 最初是用于军事通信的,因为这种系统所发送的信号有很强的抗干扰能力,其频谱类似于 白噪声,不易被敌人发现。
  • 随着技术的进步,CDMA设备的价格和体积都大幅度下降,因而现在已广泛用于民用的移动通信中

    (2)码片(理解、应用)
  • 在CDMA中,每一个比特时间再划分为m个短的间隔,称为码片(Chip)。通常m=64或128。
    为了简单起见,在后续的举例中,我们 假设m为8注意:1个比特时间是指发送1个比特所花费的时间。

  • 使用CDMA的每一个站被指派一个唯一的 m bit 码片序列(Chip Sequence)。
    • 一个站如果 要发送比特1,则发送它 自己的m bit码片序列
    • 个站如果要 发送比特0,则发送它 自己的m bit码片序列的二进制反码
  • 码片序列的挑选 原则 如下:
    1. 分配给每个站的码片序列必须 各不相同,实际常采用伪随机码序列。
    2. 分配给每个站的码片序列必须 相互正交(规格化内积为0)
  • 计算公式如下
    • 令向量 S 表示站 S 的码片序列,令向量 T 表示其他任何站的码片序列
    • 两个不同站 S 和 T 的码片序列正交,就是向量 S 和 T 的规格化内积为 0

image.png

(3)码片的应用举例

image.png
image.png
image.png
image.png
解析
image.png
其他选项类似计算。(A发送1;B发送0;C未发送;D发送1)
image.png
image.png
解答
image.png

6.4 随机接入:CSMA/CD 协议

1. 背景

对于使用广播信道的总线型以太网,就会出现各种 碰撞(冲突)现象。 image.png

2. 基本概念

媒体接入控制-动态接入控制-随机接入方式:
CSMA/CD 协议
(载波监听多址接入/碰撞检测)
(Carrier Sense Multiple Access/Collision Detection)
(1)多址接入(MA):多个站连接在一条总线上,竞争使用
image.png
(2)载波监听(CS):每一个站在发送帧之前先要检测一下总线上是否有其他站点在发送帧(“先听后说”

  • 若检测到 总线空闲 96 比特时间,则发送这个帧
  • 若检测到总线忙,则继续检测并等待总线转为 空闲 96 比特时间,然后发送这个帧。

image.png
(3)碰撞检测(CD):每一个正在发送帧的站边发送 边检测碰撞(“边说边听”)
一旦发现总线,上出现碰撞,则立即停止发送,退避一段随机时间后再次发送(“一旦冲突,立即停说,等待时机,重新再说” )。
image.png
(4)强化碰撞
以太网还采取一种叫做 强化碰撞 的措施。当发送帧的站点一旦检测到碰撞,除了 立即停止发送帧 外,还要再继续发送32比特或48比特的 人为干扰信号(Jamming Signal) ,以便有 足够多的碰撞信号 使所有站点 都能检测出碰撞

3. 争用期(碰撞窗口)

注意:

  • \tauτ:以太网单程端到端传播时延。
  • \deltaδ:B站发送数据B站检测到碰撞 所经历的一段时间。
  • tt:纵轴向下,时间的正向进行。
  • 电磁波在 1km1km 电缆传播时延约等于 5\mu5μs

image.png

  • 主机 最多 经过 2\tau2τ(即δ→0)的时长就可检测到本次发送是否遭受了碰撞
  • 因此,以太网的端到端往返传播时延 2\tau2τ 称为 争用期 或 碰撞窗口
  • 经过争用期这段时间还 没有检测到碰撞,才能 肯定这次发送不会发生碰撞
  • 每一个主机在自己发送帧之后的一小段时间内,存在着遭遇碰撞的可能性。这一小段时间是不确定的。它取决于另一个发送帧的主机到本主机的距离,但不会超过总线的端到端往返传播时延,即一个争用期时间。
  • 显然,在以太网中发送帧的主机越多,端到端往返传播时延越大,发生碰撞的概率就越大。因此,共享式以太网不能连接太多的主机,使用的总线也不能太长。
    10Mb/s以太网把争用期定为 512 比特发送时间,即 51 .2μs,因此其总线长度不能超过 5120m,但考虑到其他一些因素,如信号衰减等,以太网规定总线长度不能超过 2500m。

    4. 最小帧长

    image.png
    A站 发送一个帧 完毕后,不再针对该帧进行碰撞检测,不知道已发送完毕的帧是否遭遇碰撞,不进行重传。而这时候C站 检测到信道空闲时间 96 bit,发送帧,将 产生碰撞
    显然,以太网的帧长不能太短!

  • 以太网规定最小帧长为64字节,即512比特(512比特时间即为争用期)

    • 如果要发送的数据非常少,那么必须加入一些填充字节,使帧长不小于64字节。
  • 以太网的 最小帧长确保了主机可在帧发送完成之前就检测到该帧的发送过程中是否遭遇了碰撞
    • 如果在争用期(共发送64字节)没有检测到碰撞,那么后续发送的数据就一定不会发生碰撞;
    • 如果在争用期内检测到碰撞,就立即中止发送,这时已经发送出去的数据一定小于64字节,因此 凡长度小于64字节的帧都是由于碰撞而异常中止的无效帧。

最小帧长计算公式
最小帧长=争用期\times数据传输速率最小帧长=争用期×数据传输速率

5. 最大帧长

image.png

6. 截断二进制指数退避算法

image.png

7. 信道利用率

(1)一般信道利用率

image.png

(2)极限信道利用率

发送一帧所用时间为 T_0+\tauT0+τ,帧本身发送时间为 T_0T0,则信道利用率计算公式如下
image.png
image.png

8. 帧发送/接收流程

(1)帧发送流程

image.png

(2)帧接收流程

image.png

9. 测试题

image.png
image.png
image.png
image.png
解析
(1)最短时间: image.png (2)最长时间: image.png
CSMA/CD协议曾经用于各种总线结构以太网和双绞线以太网的早期版本中。现在的以太网基于交换机和全双工连接,不会有碰撞,因此没有必要使用CSMA/CD协议。

7. MAC 地址

7.1 MAC 地址

MAC 地址是以太网的 MAC 子层所使用的地址,属于数据链路层。

  • 对于点对点信道的数据链路层不需要地址。
  • 使用广播信道的数据链路层则需要使用 MAC 地址。

image.png

  • 当多个主机连接在同一个广播信道上,要想实现两个主机之间的通信,则每个主机都必须有一个唯- -的标识, 即一个数据链路层地址;
  • 在每个主机发送的 帧中必须携带标识发送主机和接收主机的地址。由于这类地址是用于媒体接入控制 MAC(Media Access Control),因此这类地址被称为 MAC地址 -MAC 地址一般被固化在网卡(网络适配器)的电可擦可编程只读存储器EEPROM中,因此MAC地址也 被称为 硬件地址
    • MAC 地址有时也被称为 物理地址。请注意:这并不意味着MAC地址属于网络体系结构中的物理层!
  • 般情况下,用户主机会包含两个网络适配器:有线局域网适配器(有线网卡)和无线局域网适配器(无线 网卡)。每个网络适配器都有一个全球唯一的 MAC 地址。 而交换机和路由器往往拥有更多的网络接口,所以 会拥有更多的MAC地址。综上所述,严格来说,MAC地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识。

    7.2 IEEE 802局域网的MAC地址格式

    IEEE 802 局域网 MAC 地址格式:(共 6 字节,48位)
    前 3 位字节(OUI) + 后 3 位(扩展标识符)
    image.png
    第 1 位字节的低位为 1、3、5、7、9、B、D,则为多播地址,48 位全为 1 时,则为广播地址。
    image.png
    提问:EU1-48地址空间会耗尽吗?
    答:对于使用EUI-48空间的应用程序,IEEE的目标寿命为100年(直到2080),但是鼓励采用EUI-64作为替代。

    7.3 IEEE 802 局域网 MAC 地址发送顺序

    image.png

    7.4 单播/多播/广播地址举例

    (1)单播地址

    主机B将本主机地址填入单播帧源地址,主机C地址填入目的地址,形成该单播帧。
    image.png

    (2)广播地址

    主机B将本机地址填入源地址,将 FF-FF-FF-FF-FF-FF 广播地址填入目的地址,构成广播帧。
    image.png

    (3)多播地址

    主机A发送含有多播地址的多播帧,其他主机根据自己的多播组列表,判断是否接收帧。
    image.png

    8. IP 地址

    由于MAC地址、IP地址、ARP协议三者联系紧密,故提前一起讲述。

    8.1 初识 IP 地址

  • IP地址是因特网(Internet)上的 主机和路由器 所使用的地址, 用于标识两部分信息:

    • 网络编号:标识因特网上数以百万计的网络
    • 主机编号:标识同一网络上不同主机(或路由器各接口)
  • 很显然, 之前介绍的MAC地址不具备区分不同网络的功能
    • 如果只是一个单独的网络,不接入因特网,可以只使用MAC地址(这不是一般用户的应用方式)
    • 如果主机所在的网络要接入因特网,则IP地址和MAC地址都需要使用。

image.png

8.1 从网络体系结构看IP地址与MAC地址

IP 地址属于网络层,MAC 地址属于数据链路层。
image.png

8.2 数据包转发过程中IP地址与MAC地址的变化情况

  • 数据包转发过程中源IP地址和目的IP地址保持不变
  • 数据包转发过程中源MAC地址和目的MAC地址逐个链路(或逐个网络)改变。

image.png
暂且这么认为:H1知道应该把数据包传给R1,由R1帮其把数据包转发出去。H1知道R1相应接口的IP地址为IP3,但不知道其对应的MAC地址是什么!

8.3 测试题

image.png

9. ARP 地址转移协议

9.1 介绍

  • 高速缓存表

image.png

  • ARP 协议:由 IP 地址获取 MAC 地址的一种协议。

image.png

9.2 ARP:地址解析协议原理

B 发送带有广播 MAC 地址广播帧,以获取指定 IP 地址的固化 MAC 地址。
image.png

9.3 高速缓存表分类

  • 动态:自动获取,生命周期默认为两分钟;
  • 静态:手工设置,不同操作系统下的生命周期不同,例如系统重启后不存在或系统重启后依然有效。

ARP 协议只在同一段链路间使用。
image.png

10. 集线器和交换机的区别

10.1 早期总线型以太网

传统以太网是使用 粗同轴电缆的总线以太网,后面转变为较为便宜的 细同轴电缆。最后 淘汰,被双绞线代替。
image.png

10.2 使用双绞线和集线器HUB的星型以太网

  • 使用集线器的以太网在 逻辑上仍是一个总线网,各站共享总线资源,使用的还是CSMA/CD协议
  • 集线器只工作在物理层,它的每个接口仅简单地转发比特,不进行碰撞检测(由各站的网卡检测)
  • 集线器一般都有少量的容错能力和网络管理功能。例如,若网络中某个网卡出了故障,不停地发送帧。此时,集线器可以检测到这个问题,在内部断开与出故障网卡的连线,使整个以太网仍然能正常工作。

image.png

10.3 使用集线器HUB在物理层扩展以太网

如图,在局域网扩展以前,三个小局域网 各自是一个广播域,也各自成 一个碰撞域。
image.png
通过一个“主干”集线器将三个系互连,成为一个更大的以太网。新的以太网还是一个 更大的广播域,也是一个 更大的碰撞域。
image.png

10.4 以太网交换机

前提:① 忽略ARP过程 ②假设交换机的帧交换表已“学习好了”

  • 以太网交换机 通常都有多个接口。每个接口都可以直接与一台主机或另一个以太网交换机相连。一般都工作在 全双工方式。
  • 以太网交换机具有并行性,能 同时连通多对接口,使多对主机能同时通信,无碰撞(不使用CSMA/CD协议)。
  • 以太网交换机- -般都具有多种速率的接口,例如:
    10Mb/s、100Mb/s、 1Gb/s、 10Gb/s接口的多种组合。
  • 以太网交换机 工作在数据链路层(也包括物理层), 它收到帧后,在帧交换表中 查找帧的目的MAC地址所对应的接口号,然后通过该接口转发帧。
  • 以太网交换机使一种即插即用设备,其内部的 帧交换表 是通过 自学习算法 自动地逐渐建立起来的。
  • 帧的两种转发方式:
    1. 存储转发
    2. 直通交换:采用基于硬件的交叉矩阵(交换时延非常小,但不检查帧是否有差错)

image.png

10.5 集线器和交换机的区别

(1)单播(一个)

image.png

(2)广播

image.png

(3)单播(两个)

两个同时进行的单播,对于集线器,会发生碰撞。而对于交换机,则不会产生碰撞。
image.png

10.6 集线器与交换机对比

  • 相同点,集线器和交换机 都扩大了广播域
  • 不同点,集线器扩大了碰撞域(冲突域),而交换机没有扩大碰撞域

image.png

(1)集线器HUB

  • 早期 以太网的互连设备
  • 工作在OSI体系结构的 物理层
  • 对接收到的信号进行 放大、转发
  • 使用集线器作为互连设备的以太网仍然 属于共享总线式以太网。集线器互连起来的所有主机共享总线带宽,属于同一个碰撞域和广播域。
  • 目前,集线器已 被淘汰。

    (2)交换机SWITCH

  • 目前 以太网中使用最广泛的互连设备

  • 工作在OSI体系结构的 数据链路层(也包括物理层)
  • 根据 MAC地址 对帧进行转发
  • 使用交换机作为互连设备的以太网,称为 交换式以太网。交换机可以根据MAC地址 过滤 帧,即隔离碰撞域。
  • 交换机的 每个接口是一个独立的碰撞域
  • 交换机 隔离碰撞域 但 不隔离广播域(VLAN除外)

    11. 以太网交换机自学习和转发帧的过程

    前提
    假设各主机知道网络中其他各主机的MAC地址(无需进行ARP)

  • 以太网交换机工作在 数据链路层(也包括物理层)

  • 以太网交换机收到帧后,在帧交换表中查找 帧的目的MAC地址所对应的接口号,然后通过该接口转发帧。
  • 以太网交换机是一种即插即用设备,刚上电启动时其内部的帧交换表是空的。随着网络中各主机间的通信,以太网交换机 通过自学习算法自动逐渐建立起帧交换表。

image.png
具体过程

  1. 收到帧后进行 登记。登记的内容为帧的源MAC地址及进入交换机的 接口号
  2. 根据 帧的目的MAC地址 和交换机的 帧交换表 对帧进行 转发,有以下三种情况:
    • 明确转发:交换机知道应当从哪个(或哪些)接口转发该帧(单播,多播,广播)
    • 盲目转发:交换机不知道 应当从哪个端口转发帧,只能将其通过除进入交换机的接口外的其他所有接口转发(也称为泛洪)。
    • 明确丢弃:交换机知道不应该转发该帧,将其丢弃。

注意
每条记录都有自己的 有效时间,到期自动删除!这是因为 MAC地址与交换机接口的对应关系并不是永久性的!
具体可能原因如下:

  1. 交换机的接口改接了另一台主机
  2. 主机更换了网卡

习题
image.png
解析
image.png

12. 以太网交换机的生成树协议STP

12.1 背景

image.png

12.2 生成树协议STP

image.png

13. 虚拟局域网VLAN

13.1 虚拟局域网概述

广播风暴会浪费网络资源和各主机的CPU资源!
image.png
但是 网络中会频繁出现广播信息,于是就需要划分广播域。
一种方法是使用 路由器,路由器工作在 网络层默认情况下不对广播数据包进行转发
image.png
但是路由器的成本太高,因此 虚拟局域网VLAN技术 应运而生。
虚拟局域网VLAN(Virtual Local Area Network)是一种将局域网内的 设备划分成与物理位置无关的逻辑组的技术,这些逻辑组具有某些共同的需求。
image.png

13.2 虚拟局域网的实现机制

IEEE 802.1Q帧

  • IEEE 802.1Q帧(也称Dot One Q帧)对以太网的MAC帧格式进行了扩展,插入了 4字节的VLAN标记。
    • 以太网V2的MAC帧(最大长度1518字节)
    • 插入VLAN标记后的802.1Q帧(最大长度1522字节)

image.png

  • VLAN标记的 最后12比特称为 VLAN标识符VID,它唯一地标志了以太网帧属于哪一一个VLAN。
    • VID的取值范围是0 ~ 4095(0 ~ 2^{12}-1212−1)
    • 0和4095都不用来表示VLAN,因此用于表示VLAN的 VID的有效取值范围是 1~4094。
  • 802.1Q帧是由交换机来处理的,而不是用户主机来处理的。

    • 当交换机收到 普通的以太网帧时, 会将其插入4字节的VLAN标记转变为802.1Q帧,简称 “打标签”。
    • 当交换机 转发802.1Q帧时, 可能会删除其4字节VLAN标记转变为普通以太网帧,简称 “去标签”

      交换机的端口类型

  • 交换机的端口类型有以下三种:

    • Access
    • Trunk
    • Hybrid
  • 交换机各端口的缺省VLAN ID

    • 在思科交换机上称为 Native VLAN,即本征VLAN。
    • 在华为交换机.称为 Port VLAN ID,即端口VLAN ID,简记为PVID。
      (1)Access 端口
  • Accss端口一-般用于 连接用户计算机

  • Access端口只能属于一个VLAN
  • Access端口的 PVID值与端口所属VLAN的ID相同(默认为1)
  • Access端口接收处理方法: 一般只接受“未打标签”的普通以太网MAC帧。
    根据接收帧的端口的PVID给帧 “打标签”,即插入4字节VLAN标记字段,字段中的 VID取值与端口的PVID取值相等。
  • Access端口发送处理方法: 若帧中的VID与端口的PVID相等,则 “去标签” 并转发该帧;否则不转发。

image.png

(2)Trunk 端口
  • Trunk端口- -般 用于交换机之间或交换机与路由器之间的互连
  • Trunk端口可以属于多个VLAN
  • 用户可以设置Trunk端口的PVID值。默认情况下,Trunk端口的PVID值为1。
  • Trunk端口发送处理方法:
    • 对 VID等于PVID的帧,“去标签” 再转发
    • 对 VID不等于PVID的帧,直接转发
  • Trunk端口接收处理方法:
    • 接收 “未打标签” 的帧,根据接收帧的端口的PVID给帧 “打标签”,即插入4字节VLAN标记字段,字段中的VID取值与端口的PVID取值相等。
    • 接收 “已打标签” 的帧

image.png
测试题
image.png
解答
image.png

(3)Hybrid 端口(了解)

image.png