计算机网络 第3章(数据链路层)

news2025/1/10 16:49:45

系列文章目录

计算机网络 第1章(概述)
计算机网络 第2章(物理层)
计算机网络 第3章(数据链路层)


文章目录

  • 系列文章目录
  • 1. 数据链路层概述
    • 1.1 概述
    • 1.2 三个重要问题
  • 2. 封装成帧
    • 2.1 介绍
    • 2.2 透明传输
    • 2.3 总结
  • 3. 差错检测
    • 3.1 介绍
    • 3.2 奇偶校验
    • 3.3 循环冗余校验CRC(Cyclic Redundancy Check)
  • 4. 可靠传输
    • 4.1 基本概念
    • 4.2 三种可靠协议
      • 4.2.1 停止-等待协议
      • 4.2.2 回退N帧协议GBN
      • 4.2.3 选择重传协议SR
  • 5. 点对点协议PPP
    • 5.1 帧格式
    • 5.2 透明传输
    • 5.3 差错检测
    • 5.4 工作状态
  • 6. 媒体接入控制(介质访问控制)——广播信道
    • 6.1 基本概念
    • 6.2 静态划分信道
    • 6.3 动态接入控制
    • 6.4 随机接入(CSMA/CD协议)
      • 6.4.1 基本概念
      • 6.4.2 多址接入MA
      • 6.4.3 载波监听CS
      • 6.4.4 碰撞检测CD
      • 6.4.5 CSMA/CD 协议工作流程
      • 6.4.6 CSMA/CD 协议工作——争用期(碰撞窗口)
      • 6.4.7 CSMA/CD 协议工作——最小帧长
      • 6.4.8 CSMA/CD 协议工作——最大帧长
      • 6.4.9 CSMA/CD 协议工作——截断二进制指数退避算法
      • 6.4.10 CSMA/CD 协议工作——信道利用率
      • 6.4.11 CSMA/CD 协议工作——帧接收流程
      • 6.4.12 CSMA/CD 协议的重要特性
    • 6.5 随机接入(CSMA/CA协议)
      • 6.5.1 为什么无线局域网要使用CSMA/CA协议
      • 6.5.2 帧间间隔IFS(InterFrame Space)
      • 6.5.3 CSMA/CA协议的工作原理
      • 6.5.4 CSMA/CA协议的退避算法
      • 6.5.5 CSMA/CA协议的信道预约和虚拟载波监听
  • 7. MAC地址、IP地址以及ARP协议
    • 7.1 MAC地址
      • 7.1.1 广播信道的数据链路层必须使用地址(MAC)
      • 7.1.2 IEEE 802局域网的MAC地址格式
      • 7.1.3 IEEE 802局域网的MAC地址发送顺序
      • 7.1.4 单播MAC地址举例
      • 7.1.5 广播MAC地址举例
      • 7.1.6 多播MAC地址举例
    • 7.2 IP地址
      • 7.2.1 基本概念
      • 7.2.2 从网络体系结构看IP地址与MAC地址
      • 7.2.3 数据包转发过程中IP地址与MAC地址的变化情况
    • 7.3 ARP协议
      • 7.3.1 流程
      • 7.3.2 总结
  • 8. 集线器与交换机的区别
    • 8.1 集线器-在物理层扩展以太网
    • 8.2 以太网交换机-在数据链路层扩展以太网
    • 8.3 总结
  • 9. 以太网交换机自学习和转发帧的流程
    • 9.1 概念
    • 9.2 自学习和转发帧的例子
    • 9.3 总结
  • 10. 以太网交换机的生成树协议STP
    • 10.1 如何提高以太网的可靠性
    • 10.2 生成树协议STP
  • 11. 虚拟局域网VLAN
    • 11.1 为什么要虚拟局域网VLAN
    • 11.2 概念
    • 11.3 虚拟局域网VLAN的实现机制
    • 11.4 总结


1. 数据链路层概述

1.1 概述

链路是从一个结点到相邻结点的一段物理线路,数据链路则是在链路的基础上增加了一些必要的硬件(如网络适配器)和软件(如协议的实现)

网络中的主机、路由器等都必须实现数据链路层

在这里插入图片描述

局域网中的主机、交换机等都必须实现数据链路层

在这里插入图片描述

从层次上来看数据的流动

在这里插入图片描述

仅从数据链路层观察帧的流动

在这里插入图片描述
在这里插入图片描述

主机H1 到主机H2 所经过的网络可以是多种不同类型的
注意:不同的链路层可能采用不同的数据链路层协议

数据链路层使用的信道

数据链路层属于计算机网路的低层。数据链路层使用的信道主要有以下两种类型

  • 点对点信道
  • 广播信道

在这里插入图片描述

局域网属于数据链路层

局域网虽然是个网络。但我们并不把局域网放在网络层中讨论。这是因为在网络层要讨论的是多个网络互连的问题,是讨论分组怎么从一个网络,通过路由器,转发到另一个网络。

而在同一个局域网中,分组怎么从一台主机传送到另一台主机,但并不经过路由器转发。从整个互联网来看,局域网仍属于数据链路层的范围。

1.2 三个重要问题

数据链路层传送的协议数据单元是

封装成帧

  • 封装成帧 (framing) 就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。
  • 首部和尾部的一个重要作用就是进行帧定界

在这里插入图片描述

差错控制

在传输过程中可能会产生比特差错:1 可能会变成 0, 而 0 也可能变成 1。
在这里插入图片描述

可靠传输

接收方主机收到有误码的帧后,是不会接受该帧的,会将它丢弃

如果数据链路层向其上层提供的是不可靠服务,那么丢弃就丢弃了,不会再有更多措施

如果数据链路层向其上层提供的是可靠服务,那就还需要其他措施,来确保接收方主机还可以重新收到被丢弃的这个帧的正确副本

在这里插入图片描述
以上三个问题都是使用点对点信道的数据链路层来举例的

如果使用广播信道的数据链路层除了包含上面三个问题外,还有一些问题要解决

如图所示,主机A,B,C,D,E通过一根总线进行互连,主机A要给主机C发送数据,代表帧的信号会通过总线传输到总线上的其他各主机,那么主机B,D,E如何知道所收到的帧不是发送给她们的,主机C如何知道发送的帧是发送给自己的

在这里插入图片描述
可以用编址(地址)的来解决

将帧的目的地址添加在帧中一起传输

在这里插入图片描述
还有数据碰撞问题

在这里插入图片描述
随着技术的发展,交换技术的成熟,

在 有线(局域网)领域 使用点对点链路链路层交换机交换式局域网取代了共享式局域网

在无线局域网中仍然使用的是共享信道技术

2. 封装成帧

2.1 介绍

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

  • 帧头和帧尾中包含有重要的控制信息

在这里插入图片描述
发送方的数据链路层将上层交付下来的协议数据单元封装成帧后,还要通过物理层,将构成帧的各比特,转换成电信号交给传输媒体,那么接收方的数据链路层如何从物理层交付的比特流中提取出一个个的帧?

答:需要帧头和帧尾来做帧定界

在这里插入图片描述
但比不是每一种数据链路层协议的帧都包含有帧定界标志,例如下面例子

在这里插入图片描述

前导码

  • 前同步码:作用是使接收方的时钟同步
  • 帧开始定界符:表明其后面紧跟着的就是MAC帧

另外以太网还规定了帧间间隔为96比特时间,因此,MAC帧不需要帧结束定界符

在这里插入图片描述

2.2 透明传输

透明传输是指数据链路层对上层交付的传输数据没有任何限制,好像数据链路层不存在一样

帧界定标志也就是个特定数据值,如果在上层交付的协议数据单元中, 恰好也包含这个特定数值,接收方就不能正确接收

在这里插入图片描述
所以数据链路层应该对上层交付的数据有限制,其内容不能包含帧定界符的值

解决透明传输问题

在这里插入图片描述

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

帧的数据部分长度

在这里插入图片描述

2.3 总结

在这里插入图片描述

3. 差错检测

3.1 介绍

在这里插入图片描述

3.2 奇偶校验

在这里插入图片描述

3.3 循环冗余校验CRC(Cyclic Redundancy Check)

在这里插入图片描述

在这里插入图片描述

例题
在这里插入图片描述
在这里插入图片描述

总结
在这里插入图片描述
循环冗余校验 CRC 是一种检错方法,而帧校验序列 FCS 是添加在数据后面的冗余码

4. 可靠传输

4.1 基本概念

下面是比特差错
在这里插入图片描述

其他传输差错
在这里插入图片描述

  • 分组丢失

路由器输入队列快满了,主动丢弃收到的分组
在这里插入图片描述

  • 分组失序

数据并未按照发送顺序依次到达接收端
在这里插入图片描述

  • 分组重复

由于某些原因,有些分组在网络中滞留了,没有及时到达接收端,这可能会造成发送端对该分组的重发,重发的分组到达接收端,但一段时间后,滞留在网络的分组也到达了接收端,这就造成分组重复的传输差错
在这里插入图片描述

4.2 三种可靠协议

  • 停止-等待协议SW
  • 回退N帧协议GBN
  • 选择重传协议SR

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

4.2.1 停止-等待协议

停止-等待协议可能遇到的四个问题

(1)确认与否认

在这里插入图片描述

(2)超时重传

在这里插入图片描述

(3)确认丢失

在这里插入图片描述

在这里插入图片描述

既然数据分组需要编号,确认分组是否需要编号?
要。如下图所示

(4)确认迟到

在这里插入图片描述
注意,图中最下面那个数据分组与之前序号为0的那个数据分组不是同一个数据分组

注意事项
在这里插入图片描述

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

假设收发双方之间是一条直通的信道

  • TD:是发送方发送数据分组所耗费的发送时延
  • RTT:是收发双方之间的往返时间
  • TA:是接收方发送确认分组所耗费的发送时延

TA一般都远小于TD,可以忽略,当RTT远大于TD时,信道利用率会非常低

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

像停止-等待协议这样通过确认和重传机制实现的可靠传输协议,常称为自动请求重传协议ARQ(Automatic Repeat reQuest),意思是重传的请求是自动进行,因为不需要接收方显式地请求,发送方重传某个发送的分组

4.2.2 回退N帧协议GBN

为什么用回退N帧协议

在相同的时间内,使用停止-等待协议的发送方只能发送一个数据分组,而采用流水线传输的发送方,可以发送多个数据分组

在这里插入图片描述
回退N帧协议在流水线传输的基础上,利用发送窗口来限制发送方可连续发送数据分组的个数

在这里插入图片描述

无差错情况流程

发送方将序号落在发送窗口内的0~4号数据分组,依次连续发送出去

在这里插入图片描述

他们经过互联网传输正确到达接收方,就是没有乱序和误码,接收方按序接收它们,每接收一个,接收窗口就向前滑动一个位置,并给发送方发送针对所接收分组的确认分组,在通过互联网的传输正确到达了发送方

在这里插入图片描述

发送方每接收一个、发送窗口就向前滑动一个位置,这样就有新的序号落入发送窗口,发送方可以将收到确认的数据分组从缓存中删除了,而接收方可以择机将已接收的数据分组交付上层处理

在这里插入图片描述

累计确认

在这里插入图片描述

累计确认

优点:

  • 即使确认分组丢失,发送方也可能不必重传
  • 减小接收方的开销
  • 减小对网络资源的占用

缺点:

  • 不能向发送方及时反映出接收方已经正确接收的数据分组信息

有差错情况

例如

在传输数据分组时,5号数据分组出现误码,接收方通过数据分组中的检错码发现了错误

在这里插入图片描述

于是丢弃该分组,而后续到达的这剩下四个分组与接收窗口的序号不匹配

在这里插入图片描述

接收同样也不能接收它们,讲它们丢弃,并对之前按序接收的最后一个数据分组进行确认,发送ACK4,每丢弃一个数据分组,就发送一个ACK4

在这里插入图片描述

当收到重复的ACK4时,就知道之前所发送的数据分组出现了差错,于是可以不等超时计时器超时就立刻开始重传,具体收到几个重复确认就立刻重传,根据具体实现决定

在这里插入图片描述

如果收到这4个重复的确认并不会触发发送立刻重传,一段时间后。超时计时器超时,也会将发送窗口内以发送过的这些数据分组全部重传

在这里插入图片描述

若WT超过取值范围,例如WT=8,会出现什么情况?

在这里插入图片描述

习题
在这里插入图片描述

总结
在这里插入图片描述

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

4.2.3 选择重传协议SR

在这里插入图片描述

习题
在这里插入图片描述

总结
在这里插入图片描述

在这里插入图片描述

5. 点对点协议PPP

  • 点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的点对点数据链路层协议
  • PPP协议是因特网工程任务组IEIF在1992年制定的。经过1993年和1994年的修订,现在的PPP协议已成为因特网的正式标准[RFC1661,RFC1662]
  • 数据链路层使用的一种协议,它的特点是:简单;只检测差错,而不是纠正差错;不使用序号,也不进行流量控制;可同时支持多种网络层协议

在这里插入图片描述

  • PPPoE 是为宽带上网的主机使用的链路层协议

在这里插入图片描述

5.1 帧格式

必须规定特殊的字符作为帧定界符

在这里插入图片描述

5.2 透明传输

必须保证数据传输的透明性

实现透明传输的方法

  • 面向字节的异步链路:字节填充法(插入“转义字符”)

在这里插入图片描述

  • 面向比特的同步链路:比特填充法(插入“比特0”)

在这里插入图片描述

5.3 差错检测

能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。

在这里插入图片描述

5.4 工作状态

  • 当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
  • PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。
  • 这些分组及其响应选择一些 PPP 参数,并进行网络层配置,NCP 给新接入的 PC 机。
  • 分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。
  • 通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。

在这里插入图片描述

可见,PPP 协议已不是纯粹的数据链路层的协议,它还包含了物理层和网络层的内容。

6. 媒体接入控制(介质访问控制)——广播信道

媒体接入控制(介质访问控制)使用一对多的广播通信方式

Medium Access Control翻译成媒体接入控制,有些翻译成介质访问控制

局域网的数据链路层

  • 局域网最主要的特点是:
    a. 网络为一个单位所拥有;
    b. 地理范围和站点数目均有限。
  • 局域网具有如下主要优点
    a. 具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
    b. 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
    c. 提高了系统的可靠性、可用性和残存性。

在这里插入图片描述

在这里插入图片描述

数据链路层的两个子层

为了使数据链路层能更好地适应多种局域网标准,IEEE 802 委员会就将局域网的数据链路层拆成两个子层
(1)逻辑链路控制 LLC (Logical Link Control)子层;
(2)媒体接入控制 MAC (Medium Access Control)子层。

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

在这里插入图片描述

6.1 基本概念

为什么要媒体接入控制(介质访问控制)?

共享信道带来的问题

若多个设备在共享信道上同时发送数据,则会造成彼此干扰,导致发送失败。

在这里插入图片描述

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

6.2 静态划分信道

信道复用

在这里插入图片描述

频分复用FDM (Frequency Division Multiplexing)

  • 将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
  • 频分复用的所有用户在同样的时间占用不同的带宽资源(请注意,这里的“带宽”是频率带宽而不是数据的发送速率)。

在这里插入图片描述

时分复用TDM (Time Division Multiplexing)

  • 时分复用则是将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙。
  • 每一个用户所占用的时隙是周期性地出现(其周期就是TDM帧的长度)的。
  • TDM 信号也称为等时 (isochronous) 信号。
  • 时分复用的所有用户在不同的时间占用同样的频带宽度

在这里插入图片描述

波分复用 WDM(Wavelength Division Multiplexing)
在这里插入图片描述

波分复用就是光的频分复用,使用一根光纤来同时传输多个光载波信号

光信号传输一段距离后悔衰减,所以要用 掺铒光纤放大器 放大光信号

码分复用 CDM (Code Division Multiplexing)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6.3 动态接入控制

受控接入:

受控接入在局域网中使用得较少,本书不再讨论

随机接入:

重点

6.4 随机接入(CSMA/CD协议)

总线局域网使用协议:CSMA/CD

6.4.1 基本概念

最初的以太网是将许多计算机都连接到一根总线上。易于实现广播通信。当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。

以太网(Ethernet)是一种计算机局域网技术。IEEE组织的IEEE 802.3标准制定了以太网(Ethernet)的技术标准

以太网采用无连接的工作方式,对发送的数据帧不进行编号,也不要求对方发回确认。目的站收到有差错帧就把它丢弃,其他什么也不做

在这里插入图片描述

在这里插入图片描述

6.4.2 多址接入MA

表示许多主机以多点接入的方式连接在一根总线上。

在这里插入图片描述

6.4.3 载波监听CS

是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。

在这里插入图片描述

总线上并没有什么“载波”。因此, “载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号

6.4.4 碰撞检测CD

  • “碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小。
  • 当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。
  • 当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。
  • 所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”
  • 在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。
  • 每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送

在这里插入图片描述

为什么要进行碰撞检测? 因为信号传播时延对载波监听产生了影响

在这里插入图片描述

A 需要单程传播时延的 2 倍的时间,才能检测到与 B 的发送产生了冲突

6.4.5 CSMA/CD 协议工作流程

在这里插入图片描述

6.4.6 CSMA/CD 协议工作——争用期(碰撞窗口)

在这里插入图片描述

6.4.7 CSMA/CD 协议工作——最小帧长

在这里插入图片描述

6.4.8 CSMA/CD 协议工作——最大帧长

在这里插入图片描述

6.4.9 CSMA/CD 协议工作——截断二进制指数退避算法

在这里插入图片描述

6.4.10 CSMA/CD 协议工作——信道利用率

在这里插入图片描述

6.4.11 CSMA/CD 协议工作——帧接收流程

在这里插入图片描述

6.4.12 CSMA/CD 协议的重要特性

  • 使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)
  • 每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。
  • 这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。

CSMA/CD协议曾经用于各种总线结构以太网和双绞线以太网的早起版本中。

现在的以太网基于交换机和全双工连接,不会有碰撞,因此没有必要使用CSMA/CS协议。

6.5 随机接入(CSMA/CA协议)

无线局域网使用的协议:CSMA/CA

6.5.1 为什么无线局域网要使用CSMA/CA协议

在这里插入图片描述

6.5.2 帧间间隔IFS(InterFrame Space)

在这里插入图片描述

6.5.3 CSMA/CA协议的工作原理

在这里插入图片描述

源站为什么在检测到信道空闲后还要再等待一段时间DIFS?

  • 考虑到可能有其他的站有高优先级的帧要发送。若有,就要让高优先级帧先发

目的站为什么正确接收数据帧后还要等待一段时间SIFS才能发送ACK帧?

  • SIFS是最短的帧间间隔,用来分隔开属于一次对话的各帧,在这段时间内,一个站点应当能够从发送方式切换到接收方式

在这里插入图片描述

信道由忙转为空闲且经过DIFS时间后,还要退避一段随机时间才能使用信道?

  • 防止多个站点同时发送数据而产生碰撞

使用退避算法的时机

在这里插入图片描述

6.5.4 CSMA/CA协议的退避算法

在这里插入图片描述

退避算法的示例

在这里插入图片描述

6.5.5 CSMA/CA协议的信道预约和虚拟载波监听

在这里插入图片描述

在这里插入图片描述

虚拟载波监听机制能减少隐蔽站带来的碰撞问题的示例

在这里插入图片描述

7. MAC地址、IP地址以及ARP协议

在这里插入图片描述

7.1 MAC地址

  • 使用点对点信道的数据链路层不需要使用地址
  • 使用广播信道的数据链路层必须使用地址来区分各主机

在这里插入图片描述

7.1.1 广播信道的数据链路层必须使用地址(MAC)

在这里插入图片描述

MAC地址又称为硬件地址或物理地址。请注意:不要被 “物理” 二字误导认为物理地址属于物理层范畴,物理地址属于数据链路层范畴

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

在这里插入图片描述

组织唯一标识符OUI

  • 生产网络设备的厂商,需要向IEEE的注册管理机构申请一个或多个OUI

网络接口标识符

  • 由获得OUI的厂商自行随意分配

EUI-48

  • 48是这个MAC地址的位数

在这里插入图片描述

对于使用EUI-48空间的应用程序,IEEE的目标寿命为100年(直到2080年),但是鼓励采用EUI-64作为替代

关于无效的 MAC 帧

  • 数据字段的长度与长度字段的值不一致;
  • 帧的长度不是整数个字节;
  • 用收到的帧检验序列 FCS 查出有差错;
  • 数据字段的长度不在 46 ~ 1500 字节之间。
  • 有效的 MAC 帧长度为 64 ~ 1518 字节之间。

对于检查出的无效 MAC 帧就简单地丢弃。以太网不负责重传丢弃的帧。

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

在这里插入图片描述

7.1.4 单播MAC地址举例

在这里插入图片描述

主机B给主机C发送单播帧,主机B首先要构建该单播帧在帧首部中的目的地址字段填入主机C的MAC地址,源地址字段填入自己的MAC地址,再加上帧首部的其他字段、数据载荷以及帧尾部,就构成了该单播帧

在这里插入图片描述

  • 主机B将该单播帧发送出去,主机A和C都会收到该单播帧
  • 主机A的网卡发现该单播帧的目的MAC地址与自己的MAC地址不匹配,丢弃该帧
  • 主机C的网卡发现该单播帧的目的MAC地址与自己的MAC地址匹配,接受该帧
  • 并将该帧交给其上层处理

7.1.5 广播MAC地址举例

在这里插入图片描述

假设主机B要发送一个广播帧,主机B首先要构建该广播帧,在帧首部中的目的地址字段填入广播地址,也就是十六进制的全F,源地址字段填入自己的MAC地址,再加上帧首部中的其他字段、数据载荷以及帧尾部,就构成了该广播帧

在这里插入图片描述

主机B讲该广播帧发送出去,主机A和C都会收到该广播帧,发现该帧首部中的目的地址字段的内容是广播地址,就知道该帧是广播帧,主机A和主机C都接受该帧,并将该帧交给上层处理

7.1.6 多播MAC地址举例

在这里插入图片描述

  • 假设主机A要发送多播帧给该多播地址。将该多播地址的左起第一个字节写成8个比特,第一个字节的最低比特位是1,这就表明该地址是多播地址
  • 快速判断地址是不是多播地址,就是上图所示箭头所指的第十六进制数不能整除2(1,3,5,7,9,B,D,F),则该地址是多播地址
  • 假设主机B,C和D支持多播,各用户给自己的主机配置多播组列表如下所示

在这里插入图片描述

主机B属于两个多播组,主机C也属于两个多播组,而主机D不属于任何多播组

在这里插入图片描述

主机A首先要构建该多播帧,在帧首部中的目的地址字段填入该多播地址,源地址点填入自己的MAC地址,再加上帧首部中的其他字段、数据载荷以及帧尾部,就构成了该多播帧

在这里插入图片描述

  • 主机A将该多播帧发送出去,主机B、C、D都会收到该多播帧
  • 主机B和C发现该多播帧的目的MAC地址在自己的多播组列表中,主机B和C都会接受该帧
  • 主机D发现该多播帧的目的MAC地址不在自己得多播组列表中,则丢弃该多播帧
  • 给主机配置多播组列表进行私有应用时,不得使用公有的标准多播地址

7.2 IP地址

IP地址属于网络层的范畴,不属于数据链路层的范畴

下面内容讲的是IP地址的使用,详细的IP地址内容在网络层中介绍

7.2.1 基本概念

在这里插入图片描述

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

在这里插入图片描述

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

图上各主机和路由器各接口的IP地址和MAC地址用简单的标识符来表示

在这里插入图片描述

在这里插入图片描述

如何从IP地址找出其对应的MAC地址?

  • ARP协议

7.3 ARP协议

如何从IP地址找出其对应的MAC地址?

  • ARP(地址解析协议)

7.3.1 流程

在这里插入图片描述

ARP高速缓存表

在这里插入图片描述

当主机B要给主机C发送数据包时,会首先在自己的ARP高速缓存表中查找主机C的IP地址所对应的MAC地址,但未找到,因此,主机B需要发送ARP请求报文,来获取主机C的MAC地址

在这里插入图片描述

  • ARP请求报文有具体的格式,上图的只是简单描述
  • ARP请求报文被封装在MAC帧中发送,目的地址为广播地址
  • 主机B发送封装有ARP请求报文的广播帧,总线上的其他主机都能收到该广播帧

在这里插入图片描述

  • 收到ARP请求报文的主机A和主机C会把ARP请求报文交给上层的ARP进程
  • 主机A发现所询问的IP地址不是自己的IP地址,因此不用理会
  • 主机C的发现所询问的IP地址是自己的IP地址,需要进行相应

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

动态与静态的区别

在这里插入图片描述

ARP协议只能在一段链路或一个网络上使用,而不能跨网络使用

在这里插入图片描述

ARP协议的使用是逐段链路进行的

7.3.2 总结

在这里插入图片描述

ARP表中的IP地址与MAC地址的对应关系记录,是会定期自动删除的,因为IP地址与MAC地址的对应关系不是永久性的

8. 集线器与交换机的区别

8.1 集线器-在物理层扩展以太网

在这里插入图片描述

  • 传统以太网最初是使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。
  • 采用双绞线的以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器 (hub)。
  • 集线器是也可以看做多口中继器,每个端口都可以成为一个中继器,中继器是对减弱的信号进行放大和发送的设备
  • 集线器的以太网在逻辑上仍是个总线网,需要使用CSMA/CD协议来协调各主机争用总线,只能工作在半双工模式,收发帧不能同时进行

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

使用集线器扩展:将多个以太网段连成更大的、多级星形结构的以太网

在这里插入图片描述

优点:

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

缺点:

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

碰撞域

  • 碰撞域(collision domain)又称为冲突域,是指网络中一个站点发出的帧会与其他站点发出的帧产生碰撞或冲突的那部分网络。
  • 碰撞域越大,发生碰撞的概率越高。

8.2 以太网交换机-在数据链路层扩展以太网

概念

  • 扩展以太网更常用的方法是在数据链路层进行。
  • 早期使用网桥,现在使用以太网交换机

在这里插入图片描述

网桥:

  • 网桥工作在数据链路层。
  • 它根据 MAC 帧的目的地址对收到的帧进行转发和过滤。
  • 当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的MAC 地址,然后再确定将该帧转发到哪一个接口,或把它丢弃。

交换机:

  • 1990 年问世的交换式集线器 (switching hub) 可明显地提高以太网的性能。
  • 交换式集线器常称为以太网交换机 (switch) 或第二层交换机 (L2 switch),强调这种交换机工作在数据链路层。
  • 以太网交换机实质上就是一个多接口的网桥

集线器HUB与交换机SWITCH区别

在这里插入图片描述

  • 使用集线器互连而成的共享总线式以太网上的某个主机,要给另一个主机发送单播帧,该单播帧会通过共享总线传输到总线上的其他各个主机
  • 使用交换机互连而成的交换式以太网上的某个主机,要给另一个主机发送单播帧,该单播帧进入交换机后,交换机会将该单播帧转发给目的主机,而不是网络中的其他各个主机

这个例子的前提条件是忽略ARP过程,并假设交换机的帧交换表已经学习或配置好了

在这里插入图片描述

以太网交换机的交换方式:

  • 存储转发方式

把整个数据帧先缓存后再进行处理。

  • 直通 (cut-through) 方式

(1)接收数据帧的同时就立即按数据帧的目的 MAC 地址决定该帧的转发接口,因而提高了帧的转发速度。
(2)缺点是它不检查差错就直接将帧转发出去,因此有可能也将一些无效帧转发给其他的站。

对比集线器和交换机
在这里插入图片描述

在这里插入图片描述

  • 多台主机同时给另一台主机发送单播帧
  • 集线器以太网:会产生碰撞,遭遇碰撞的帧会传播到总线上的各主机
  • 交换机以太网:会将它们缓存起来,然后逐个转发给目的主机,不会产生碰撞
  • 这个例子的前提条件是忽略ARP过程,并假设交换机的帧交换表已经学习或配置好了

集线器扩展以太网和交换机扩展以太网区别:

单播

在这里插入图片描述

广播

在这里插入图片描述

多个单播

在这里插入图片描述

在这里插入图片描述

广播域(broadcast domain):指这样一部分网络,其中任何一台设备发出的广播通信都能被该部分网络中的所有其他设备所接收。

8.3 总结

在这里插入图片描述

在这里插入图片描述

工作在数据链路层的以太网交换机,其性能远远超过工作在物理层的集线器,而且价格并不贵,这就使得集线器逐渐被市场淘汰

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

9.1 概念

在这里插入图片描述

9.2 自学习和转发帧的例子

以下例子假设各主机知道网络中其他各主机的MAC地址(无需进行ARP)

在这里插入图片描述

  1. A 先向 B 发送一帧。该帧从接口 1 进入到交换机
  2. 交换机收到帧后,先查找(图中左边)交换表。没有查到应从哪个接口转发这个帧给 B
  3. 交换机把这个帧的源地址 A 和接口 1 写入(图中左边)交换表中
  4. 交换机向除接口 1 以外的所有的接口广播这个帧
  5. 接口 4到接口 2,先查找(图中右边)交换表。没有查到应从哪个接口转发这个帧给 B
  6. 交换机把这个帧的源地址 A 和接口 1 写入(图中右边)交换表中
  7. 除B主机之外与该帧的目的地址不相符,将丢弃该帧
  8. 主机B发现是给自己的帧,接受该帧

在这里插入图片描述

  1. B 向 A 发送一帧。该帧从接口 3 进入到交换机
  2. 交换机收到帧后,先查找(图中左边)交换表。发现(图中左边)交换表中的 MAC 地址有 A,表明要发送给A的帧应从接口1转发出去。于是就把这个帧传送到接口 1 转发给 A。
  3. 主机 A 发现目的地址是它,就接受该帧
  4. 交换机把这个帧的源地址 B 和接口 3 写入(图中左边)交换表中

在这里插入图片描述

  1. E 向 A发送一帧
  2. 交换机收到帧后,先查找(图中右边)交换表。发现(图中右边)交换表中的 MAC 地址有 A,表明要发送给A的帧应从接口2转发出去。于是就把这个帧传送到接口 2 转发给 接口 4。
  3. 交换机把这个帧的源地址 E 和接口 3 写入(图中右边)交换表中
  4. 接口 4 到 左边的交换机,先查找(图中左边)交换表。发现(图中左边)交换表中的 MAC 地址有 A,表明要发送给A的帧应从接口1转发出去。于是就把这个帧传送到接口 1 转发给 A。
  5. 交换机把这个帧的源地址 E 和接口 4 写入(图中左边)交换表中
  6. 主机 A 发现目的地址是它,就接受该帧

在这里插入图片描述

主机 A、主机 G、交换机 1的接口 1就共享同一条总线(相当于总线式网络,可以想象成用集线器连接了)

  1. 主机 G 发送给 主机 A 一个帧
  2. 主机 A 和 交换机接口 1都能接收到
  3. 主机 A 的网卡收到后,根据帧的目的MAC地址A,就知道是发送给自己的帧,就接受该帧
  4. 交换机 1收到该帧后,首先进行登记工作
  5. 然后交换机 1对该帧进行转发,该帧的MAC地址是A,在(图中左边)交换表查找MAC 地址有 A
  6. MAC 地址为 A的接口号是1,但是该帧正是从接口 1 进入交换机的,交换机不会再从该接口 1 将帧转发出去,因为这是没有必要,于是丢弃该帧

随着网络中各主机都发送了帧后,网络中的各交换机就可以学习到各主机的MAC地址,以及它们与自己各接口的对应关系

在这里插入图片描述

考虑到可能有时要在交换机的接口更换主机,或者主机要更换其网络适配器,这就需要更改交换表中的项目。为此,在交换表中每个项目都设有一定的有效时间过期的项目就自动被删除

以太网交换机的这种自学习方法使得以太网交换机能够即插即用,不必人工进行配置,因此非常方便

9.3 总结

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

在这里插入图片描述

在这里插入图片描述

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

10.1 如何提高以太网的可靠性

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

10.2 生成树协议STP

在这里插入图片描述

  • IEEE 802.1D 标准制定了一个生成树协议 STP (Spanning Tree Protocol)。
  • 要点是:不改变网络的实际拓扑,但在逻辑上则切断某些链路,使得从一台主机到所有其他主机的路径是无环路的树状结构,从而消除了兜圈子现象。

在这里插入图片描述

11. 虚拟局域网VLAN

11.1 为什么要虚拟局域网VLAN

广播风暴
在这里插入图片描述

分割广播域的方法
在这里插入图片描述

为了分割广播域,所以虚拟局域网VLAN技术应运而生

11.2 概念

在这里插入图片描述

  • 利用以太网交换机可以很方便地实现虚拟局域网 VLAN (Virtual LAN)。
  • IEEE 802.1Q 对虚拟局域网 VLAN 的定义虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个 VLAN 的帧都有一个明确的标识符,指明发送这个帧的计算机是属于哪一个 VLAN。
  • 同一个VLAN内部可以广播通信,不同VLAN不可以广播通信
  • 虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网
  • 由于虚拟局域网是用户和网络资源的逻辑组合,因此可按照需要将有关设备和资源非常方便地重新组合,使用户从不同的服务器或数据库中存取所需的资源。

11.3 虚拟局域网VLAN的实现机制

虚拟局域网VLAN技术是在交换机上实现的,需要交换机能够实现以下功能

  • 能够处理带有VLAN标记的帧——IEEE 802.1 Q帧
  • 交换机的各端口可以支持不同的端口类型,不同端口类型的端口对帧的处理方式有所不同

在这里插入图片描述

在这里插入图片描述

Access端口

交换机与用户计算机之间的互连

在这里插入图片描述
同一个VLAN内部可以广播通信,不同VLAN不可以广播通信

Truck端口

交换机之间或交换机与路由器之间的互连

在这里插入图片描述

小例题

在这里插入图片描述

华为交换机私有的Hybrid端口类型

在这里插入图片描述

在这里插入图片描述

11.4 总结

在这里插入图片描述

虚拟局域网优点

虚拟局域网(VLAN)技术具有以下主要优点:

  • 改善了性能
  • 简化了管理
  • 降低了成本
  • 改善了安全性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1405922.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

discuz论坛附件上传限制大小2MB

我遇到了这个问题,去修改了配置PHP.ini文件没有解决. 我把他变成2000M依旧没有用,然后我选择了用户组,附件部分。如图所示: 然后这个时候我还是没有好,我同事的却不限制大小了,我去清理缓存&#xff…

c++:类和对象(3),对象模型和this指针

成员变量和成员函数分开存储 空对象占用内存空间为:1c编译器会给每个空对象也分配一个字节空间,是为了区分空对象占内存的位置每个空对象也应该有一个独一无二的内存地址 只有非静态成员变量 属于类的对象上,其余都不属于类的对象上 this指针…

网工内推 | 上市公司同程、科达,五险一金,年终奖,最高12k*15薪

01 同程旅行 招聘岗位:网络工程师 职责描述: 1.负责职场、门店网络规划、建设、维护。 2.负责网络安全及访问控制、上网行为管理和VPN设备的日常运维; 3.负责内部相关网络自动化和系统化建设; 4.优化与提升网络运行质量&#xff…

激光雷达行业梳理2-产业链、公司、未来展望

四、产业链及竞争格局 激光雷达产业链可以分为上游(光学和电子元器件)、中游(集成激光雷达)、下游(不同应用场景)。其中 上游即激光发射、激光接收、扫描系统和信息处理四大部分,主要包括激光器…

设备通过GB28181注册到EasyCVR,平台看不到设备信息的排查方法汇总

智慧安防平台EasyCVR能在复杂的网络环境中(专网、局域网、广域网、VPN、公网等)将前端海量的设备进行统一集中接入与视频汇聚管理,平台支持设备通过4G、5G、WIFI、有线等方式进行视频流的接入与传输,支持的接入协议包括&#xff1…

Shell脚本的变量

目录 shell脚本变量: 1.变量的介绍: 2.变量的作用: 3.变量的类型 : 4.自定义变量 : (1)自定义变量命名要求: (2)定义与查看变量: &#x…

为什么单片机不能直接驱动继电器和电磁阀?

为什么单片机不能直接驱动继电器和电磁阀? 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!&…

SpringBoot3(一)动力节点总结

目录 0、有用的新特性 一、Record 1.1、Record的介绍 1.2、Record的声明 1.3、Record的创建 0、有用的新特性 JDK8-19 新增了不少新特性,这里我们把实际常用的新特性,给大家介绍一下,包括以下几个方面: Java RecordSwich 开…

数据结构(Chapter Two -03)—线性表的链式表示

在这一部分(数据结构(Chapter Two -01)—线性表及顺序表-CSDN博客)里面,我们知道线性表包括顺序表和链表结构。前面写了顺序表的基本操作,那这部分就写一写线性表叭! 链表特点:不需要使用地址连续的存储单…

ctfshow-SQL注入(web214-web220)

时间盲注 (最贴合实际的注入) web214 什么都不存在 使用bp进行抓包看看有没有注入点 在原始页面刷新 抓包发现修改debug为1是返回结果是一个sql的查询语句 id可能存在注入点 发现存在时间注入 使用web193脚本进行修改 python盲注脚本 import requests …

「JavaScript基础」一文彻底搞懂JS的事件流以及事件模型

目录 事件事件机制一、事件绑定二、事件监听三、事件委托 事件流事件流模型DOM事件处理DOM0DOM2IE 事件处理程序 常见的事件 在JavaScript中,事件流和事件模型是处理用户交互的关键概念。深入理解这些概念将使你能够更好地处理和响应用户的动作。本文将详细介绍Java…

冷链温湿度监控解决方案,实时监测,助力运输安全

为了确保药品、生鲜等在冷链运输过程中的安全监管,需要对冷链、仓库等环节的温湿度信息进行实时自动检测和记录,有效防范储运过程中可能影响产品质量安全的各类风险,确保储存和运输过程的产品质量。 冷链温湿度监控系统解决方案,利用智能温湿…

leetcode—— 腐烂的橘子

腐烂的橘子 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。 每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。 返回 直到…

每日一道算法题 15(2023-12-28)TLV解析Ⅰ

package com.tarena.test.B20; import java.util.ArrayList; import java.util.Scanner; import java.util.StringJoiner; /** * TLV解析Ⅰ * author Administrator * 输入: * 第一行 31 * 第二层 32 01 00 AE 90 02 00 21 02 30 03 00 AB 32 31 31 0…

UI自动化测试框架搭建 —— yaml文件管理定位元素

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

万界星空科技mes系统可以为企业带来什么好处

随着信息技术的不断发展,MES生产制造系统的作用不断凸显。万界星空科技MES生产制造可以为企业带来四个方面的好处:提升生产效率、降低生产成本、优化生产过程、提高生产质量。本文将从这四个方面分别进行详细阐述,旨在通过对MES生产制造系统的…

【优先级队列 之 堆的实现】

文章目录 前言优先级队列 PriorityQueue优先队列的模拟实现 堆堆的储存方式堆的创建建堆的时间复杂度堆的插入与删除 总结 前言 优先级队列 PriorityQueue 概念:对列是先进先出的的数据结构,但有些情况,数据可能带有优先级,一般出…

C++11新特性:快速初始化成员变量

在C98中,类成员变量的就地声明通常需要在构造函数中进行初始化。 class MyClass { public:// C98 中的类成员变量声明int myVariable;// 构造函数中初始化MyClass() {myVariable 0;} };并且,C98对类中就地声明要求非常高,如果不是整型或者枚…

java使用easyexcel读取excel内容

java 代码读取excel内容。 使用阿里巴巴easyexcel读取excel内容。 ##excel内容 ##依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.5</version></dependency> ##实体类T…

Adobe Media Encoder 2023下载安装教程,ME 2023安装教程,附安装包和工具,无套路,轻松搞的安装

前言 Adobe Media Encoder是一个视频和音频编码应用程序&#xff0c;可让针对不同应用程序和观众&#xff0c;以各种分发格式对音频和视频文件进行编码。包括专门设计的预设设置&#xff0c;以便导出与特定交付媒体兼容的文件&#xff0c;可以按适合多种设备的格式导出视频&am…