1.3 数据链路层

1.3 数据链路层

1.3.1 概述

​ 数据链路层是OSI参考模型中的第二层,位于物理层和网络层之间。它主要负责在物理层提供的服务基础上,向网络层提供数据帧的可靠传输服务。数据链路层定义了在单个链路上如何传输数据,并通过一系列协议和规程来确保数据的正确传输。在这里插入图片描述

​ 帧是数据链路层的基本传输单位,它由以下几个部分组成:

  1. 首部(Header):包含了控制信息,如源地址、目的地址、帧类型等。这些信息用于标识数据帧的来源、目的地以及帧的类型。
  2. 数据字段(Data Field):存放传输的实际数据。这部分是数据帧的主要载荷,包含了需要传输的具体信息。
  3. 尾部(Trailer):包含了校验序列,用于检测传输过程中是否发生了错误。这是一种简单的差错检测机制,可以确保数据的完整性。

在这里插入图片描述

1.3.2 封装成帧(Framing)

在这里插入图片描述

  • 定义:封装成帧就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧。
  • 作用:接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
  • 细节:分组交换的一个重要概念是,所有在互联网上传送的数据都以分组(即IP数据报)为传送单位。网络层的IP数据报传送到数据链路层就成为帧的数据部分。在帧的数据部分的前面和后面分别添加上首部和尾部,构成了一个完整的帧。

1.3.3 透明传输(Transparent Transmission)

在这里插入图片描述

在这里插入图片描述

  • 定义:透明传输表示无论什么样的比特组合的数据都能通过数据链路层进行传输,也即数据链路层对于这些数据来说是透明的。
  • 挑战:当传输的数据段中存在与帧首部或尾部相同的标识符时,可能会导致帧定界出现错误。因此,需要采用专门的控制字符来区分数据段和帧的标识符。

1.3.4 差错校验(Error Detection)

  • 定义:数据的接收方能够检测出接收的帧是否在传输过程中出现错误。
  • 原因:实际的通信链路不是理想的,比特在传输过程中可能会出现差错,例如1可能变成0,0可能变成1。
  • 方法:常见的差错检测方法包括奇偶校验和循环冗余校验(CRC)。其中,CRC通过计算数据帧的校验和并将其附加到帧的尾部,接收方在收到数据帧后重新计算校验和并与发送方的校验和进行比较,以检测数据是否在传输过程中发生错误。

1.3.5 以太网

  1. 起源:以太网(Ethernet)起源于1975年,由美国Xerox(施乐)公司的Palo Alto研究中心研制成功。其核心技术源于ALOHA网,经过改进和发展,逐渐成为现代计算机网络的主流技术。
  2. 命名:以太网的名字来源于历史上用于表示传播电磁波的物质——以太(Ether)。尽管以太的存在已被科学否定,但以太网作为计算机网络技术的名称沿用至今。
  3. 标准化与商业化:以太网在短短几年间完成了标准化和商业化过程,成为应用最普遍的局域网组网技术。

技术特点

  1. 帧结构:以太网帧包括前同步码(8字节)、数据字段(46-1500字节)、目的地址、源地址、类型字段和循环冗余校验(CRC,4字节)等六个字段。其中,前同步码用于唤醒接收适配器并同步时钟;数据字段承载IP数据报;类型字段用于标识上层协议;CRC字段用于检测帧中是否引入差错。
  2. 介质访问协议:以太网采用CSMA/CD(载波监听多路访问/冲突检测)协议作为介质访问控制方法。当适配器侦听到信道空闲时开始传输数据,若侦听到信道忙则等待空闲后再传输。在传输过程中,适配器会监听来自其他适配器的信号,若检测到冲突则停止传输并发送阻塞信号,随后进入指数后退阶段以避免再次冲突。
  3. 物理介质:以太网的主要物理介质包括同轴电缆、双绞线和光纤。其中,双绞线因其低成本和易于安装的特点而得到广泛应用。双绞线分为屏蔽双绞线和非屏蔽双绞线两种类型,并可根据内部是否交叉分为交叉线和平行线。
  4. 传输速率:以太网经历了从10Mbps到百兆、千兆乃至更高传输速率的发展过程。其中,IEEE 802.3u标准定义了100BASE-T快速以太网(百兆以太网),IEEE 802.3ab标准则定义了千兆以太网技术规范。
  5. 自动协商与流控:以太网支持速率、双工和流控的自动协商功能,以选择双方都支持的最大能力。流控机制用于防止因接收端处理能力不足而导致的数据丢失问题。

1.3.6 MAC地址

MAC地址,即Media Access Control Address,是媒体访问控制地址的缩写。在计算机网络中,MAC地址是用于唯一标识网络设备的一种地址。MAC地址在网络通信中扮演着重要的角色,它是网络设备在数据链路层进行通信和识别的关键。

MAC地址的定义与结构

  1. 定义:MAC地址也称为局域网地址(LAN Address)、MAC位址、以太网地址(Ethernet Address)、硬件地址(Hardware Address)或物理地址(Physical Address)。MAC地址实际上就是适配器地址或适配器标识符EUI-48,用于确认网络设备位置的位址。
  2. 结构:MAC地址由48个二进制位组成,通常表示为12个十六进制数,格式为XX-XX-XX-XX-XX-XX。例如,一个典型的MAC地址可能看起来像这样:00-16-EA-AE-3C-40。
    • 前3个字节(16进制数):这部分通常代表网络硬件制造商的编号,由IEEE(电气与电子工程师协会)分配。
    • 后3个字节(16进制数):这部分由制造商自行分配,代表该制造商所制造的某个网络产品(如网卡)的系列号。
  3. 唯一性:只要不更改自己的MAC地址,MAC地址在世界范围内是唯一的。它就像身份证上的身份证号码一样,具有全球唯一性。

MAC地址的作用

  1. 唯一标识设备:每个网络设备都有一个独特的MAC地址,这使得在网络中可以唯一地识别和寻址设备。
  2. 数据链路层通信:在数据链路层,MAC地址用于标识和寻址网络设备,确保数据包能够准确地从源地址传输到目标地址。

MAC地址的获取

在Windows操作系统中,可以通过以下步骤获取本机的MAC地址:

  1. 打开“开始”菜单,选择“运行”。
  2. 输入“cmd”并回车,打开命令提示符窗口。
  3. 输入命令“ipconfig /all”并回车,在输出结果中查找“物理地址”一项,即为该网络设备的MAC地址。

MAC地址的主要功能

  1. 物理寻址:在MAC层,物理地址(又称MAC地址)被定义。MAC地址用6个字节来表示,是局域网上每一台计算机中固化在适配器的ROM中的地址。MAC地址用于标识网络中的每个节点,确保数据能够准确地传输到目标节点。
  2. 帧的封装与解封装:MAC层负责将网络层的数据包封装成帧,以便在物理层进行传输。在发送数据时,MAC协议可以事先判断是否可以发送数据,如果可以发送,将给数据加上一些控制信息(如目标MAC地址、源MAC地址等),最终将数据以及控制信息以规定的格式发送到物理层。在接收数据时,MAC协议首先判断输入的信息是否发生传输错误,如果没有错误,则去掉控制信息发送至网络层。
  3. 流量控制:MAC层还实现了可选择的流量控制功能,以防止因发送端发送速率过快而导致接收端缓冲区溢出。
  4. 差错检测:MAC层通过循环冗余校验(CRC)等方式进行差错检测,确保数据在传输过程中的完整性。

MAC帧的格式

在这里插入图片描述

  1. 前导码(Preamble):7字节长,用于同步接收适配器并检测数据流的开始。
  2. 帧开始定界符(Start of Frame Delimiter, SFD):1字节长,通常为10101011,用于标识MAC帧的开始。
  3. 目的MAC地址(Destination MAC Address):6字节长,表示数据帧的目标接收地址。
  4. 源MAC地址(Source MAC Address):6字节长,表示数据帧的发送地址。
  5. 类型字段(Type Field):2字节长,用于标识数据字段中使用的协议类型(如IPv4、IPv6等)。
  6. 数据字段(Data Field):长度可变,最小为46字节,最大为1500字节(标准以太网帧),用于承载上层协议的数据。
  7. 帧校验序列(Frame Check Sequence, FCS):4字节长,用于对帧进行差错检测。

MAC地址的三种类型

  1. 物理MAC地址
    • 定义:物理MAC地址是唯一一个标识以太网终端的地址。
    • 特点:每个网络设备都有一个唯一的物理MAC地址,用于在网络中唯一标识该设备。这个地址在网络通信中非常重要,因为它允许数据包在传输过程中被准确地识别和路由到目标设备。
    • 结构:物理MAC地址的前3个字节(24位)代表OUI(Organizationally Unique Identifier),即组织唯一标识符,由IEEE(电气与电子工程师协会)分配给不同的设备制造商。后3个字节(24位)由制造商自行分配,用于标识特定的设备或产品系列。
  2. 广播MAC地址
    • 定义:广播MAC地址用于向局域网上的所有终端设备发送数据。
    • 特点:广播MAC地址的所有位都设置为1,即其十六进制表示为FF:FF:FF:FF:FF:FF。当网络设备需要向局域网上的所有设备发送数据时,它会将目的MAC地址设置为广播地址。这样,所有连接到网络的设备都会接收到这个广播数据包。
  3. 组播MAC地址
    • 定义:组播MAC地址用于向局域网上的一组终端设备发送数据。
    • 特点:组播MAC地址的第8位(从最低位开始计数)被设置为1,以区别于物理MAC地址和广播MAC地址。组播地址允许网络设备将数据发送到特定的设备组,而不是单个设备或所有设备。
    • 示例:以01-80-C2开头的组播MAC地址叫BPDU(Configuration Bridge Protocol Data Unit)MAC,通常用于表示某种协议报文。IPv4组播MAC地址的格式为01-00-5E-XX-XX-XX,IPv6组播MAC地址的格式为33-33-XX-XX-XX-XX。

1.3.7 以太网交换机

以太网帧结构

在这里插入图片描述

以太网交换机的工作原理

  1. MAC地址学习

    • 当以太网交换机接收到一个数据帧时,它会首先查看该数据帧的源MAC地址。
    • 如果该源MAC地址在交换机的MAC地址表中不存在,交换机就会将这个MAC地址和接收该数据帧的端口号一起记录到MAC地址表中。这个过程被称为MAC地址学习。
    • MAC地址表中的每个条目都包含一个MAC地址、对应的端口号以及一个老化时间(通常为300秒)。如果在老化时间内没有再次收到来自该MAC地址的数据帧,该条目将从MAC地址表中删除。

    在这里插入图片描述

  2. MAC地址转发

    • 当交换机需要转发一个数据帧时,它会查看该数据帧的目的MAC地址。
    • 交换机会在MAC地址表中查找这个目的MAC地址。如果找到匹配的条目,交换机会将数据帧从对应的端口转发出去。
    • 这种方式可以减少不必要的广播流量,提高网络的效率和安全性。

    在这里插入图片描述

生成树协议STP

STP(Spanning Tree Protocol,生成树协议)是一种工作在OSI网络模型中的数据链路层的通信协议。它的主要目的是防止交换机冗余链路产生的环路,确保以太网中无环路的逻辑拓扑结构,从而避免广播风暴以及大量占用交换机资源的情况。

STP的基本概念
  1. 桥ID(Bridge ID):由于早期用于连接不同终端的二层网络设备只有两个端口,功能类似“桥”的概念,因此被称为“网桥”。后来,网桥被具有更多端口、同时也可隔离冲突域的交换机所取代。
  2. 根桥(Root Bridge):是桥ID最小的交换机,可以认为是树形二层拓扑的根。对于 STP 来说,网络中所有的交换机选举出一个根交换机,然后,其他交换机角色和端口角色的选举,都会参考根桥的判断来进行选择。
  3. 端口开销(Port Cost):表示数据从该端口发送时的开销值,也即出端口的开销。
  4. 根端口(Root Port):是指从一个非根交换机到根交换机总开销最小的路径所经过的本地端口。
  5. 端口 ID(Port Identifier):是用于区分描述交换机上不同端口的。
  6. 指定端口:STP为每个网段选出一个指定端口(Designated Port)。指定端口为每个网段转发发往根交换机方向的数据,并且转发由根交换机方向发往该网段的数据。
  7. 预备端口:既不是根端口也不是指定端口的交换机端口称为预备端口(Alternate Port)。预备端口不转发数据,处于阻塞状态。但被阻塞的端口仍会监听 STP 帧,以便链路出现故障后快速恢复被阻塞端口,将流量引导到保护路径上。
  8. 网桥协议数据单元:在 STP 计算中,交换机之间需要交换信息,并利用这些信息进行 STP 的根交换机、根端口等选举。承载 STP 信息交换的报文被称为网桥协议数据单元(Bridge Protocol Data Unit,BPDU)报文。

STP的工作原理

  1. 根桥选举
  2. 根端口选举
  3. 指定端口选举
  4. 阻塞预备端口

STP的端口状态

交换机端口角色

端口角色描述
Root Port根端口:所在交换机上离根交换机最近的端口,处于转发状态
Designated Port指定端口:转发所连接的网段发往根交换机方向的数据和从交换机方向发往所连接的网段的数据
Alternate Port预备端口:不向所连接的网段转发任何数据

端口状态描述

端口状态描述
Disabled端口没有启用此状态下,端口不转发数据帧,不学习MAC地址表,不参与生成树计算
Blocking阻塞状态此状态下,端口不转发数据帧,不学习MAC地址表,接收并处理BPDU,但是不向外发送BPDU
Listening侦听状态此状态下,端口不转发数据帧,不学习MAC地址表,只参与生成树计算,接收并发送BPDU
Learning学习状态此状态下,端口不转发数据帧,但是学习MAC地址表,参与生成树计算,接收并发送BPDU
Forwarding转发状态此状态下,端口正常转发数据帧,学习MAC地址表,参与生成树计算,接收并发送BPDU

1.3.8 虚拟局域网VLAN

VLAN(Virtual Local Area Network),即虚拟局域网,是一种在物理网络基础设施上创建逻辑分割的技术。它将一个物理的局域网(LAN)在逻辑上划分成多个广播域,从而提高了网络的可靠性和灵活性。

VLAN的作用

  1. 隔离广播风暴:通过将网络划分为不同的VLAN,广播报文被限制在单个VLAN内,减少了广播报文在全网范围内的传播,降低了广播风暴的风险。
  2. 提高网络可靠性:VLAN技术允许网络管理员根据业务需求灵活划分网络,使得网络资源得到更合理的分配。此外,当某个VLAN出现故障时,其他VLAN不会受到影响,从而提高了整个网络的可靠性。
  3. 增强网络灵活性:VLAN可以基于不同的策略、MAC地址、IP地址等进行划分,使得网络管理更加灵活。同时,VLAN之间的通信可以通过路由器或三层交换机实现,为网络提供了更丰富的连接选项。

VLAN的划分方式

在这里插入图片描述

  1. 基于端口(Port):网络管理员给交换机的每个端口配置端口默认VLAN(Port VLAN ID,PVID),如果收到的是Untagged帧,则VLAN ID的取值为PVID。
  2. 基于MAC地址:网络管理员配置好 MAC 地址和 VLAN ID 的映射关系表,如果收到的是 Untagged帧,则依据该表添加 VLAN ID。
  3. 基于协议:网络管理员配置好以太网帧中的协议域和VLAN ID 的映射关系表,如果收到的是Untagged 帧,则依据该表添加 VLAN ID。
  4. 基于子网:根据报文中的 IP 地址信息,确定添加的 VLAN ID。
  5. 基于策略:安全性非常高,可基于MAC地址+IP地址、MAC 地址+IP地址+接口。成功划分 VLAN后,可以达到禁止用户改变 IP 地址或 MAC 地址的目的。

VLAN帧格式

在这里插入图片描述

  1. 标签协议标识(Tag Protocol Identifier,TPI):16位,固定取值,0x8100,是IEEE定义的新类型,表明这是一个携带 802.1Q 标签的帧。
  2. 优先级(Priority):3位,指示以太网帧的优先级。一共有8种优先级,0~7,用于提供有差别的转发服务。
  3. 标准格式指示(Canonical Format Indicator,CFl):1位,用于令牌环/源路由 FDD!介质访问中指示地址信息的位次序信息,即先传送的是低位还是高位。
  4. VLAN标识(VLAN ldentifier,VLAN ID):12位,取值为0~4095,就是VLAN 标签。结合交换机端口的 VLAN 配置,能够控制以太网帧的转发。

VLAN的使用场景

  1. 网络分割:VLAN可以将一个物理网络划分成多个逻辑网络,实现不同部门、用户组或应用之间的网络隔离和管理。
  2. 广播控制:VLAN可以限制广播报文的传播范围,降低网络拥堵和广播风暴的风险。
  3. 安全隔离:VLAN可以将不同安全级别的设备隔离开来,提高网络的安全性。
  4. 简化管理:VLAN可以简化网络管理,通过逻辑划分可以更方便地应用访问控制列表(ACL)、质量服务(QoS)和其他网络服务。
    LAN可以将一个物理网络划分成多个逻辑网络,实现不同部门、用户组或应用之间的网络隔离和管理。
  5. 广播控制:VLAN可以限制广播报文的传播范围,降低网络拥堵和广播风暴的风险。
  6. 安全隔离:VLAN可以将不同安全级别的设备隔离开来,提高网络的安全性。
  7. 简化管理:VLAN可以简化网络管理,通过逻辑划分可以更方便地应用访问控制列表(ACL)、质量服务(QoS)和其他网络服务。
  8. 虚拟化数据中心:在数据中心中,VLAN可以用于划分不同的虚拟机、存储和应用,实现资源的隔离和灵活分配。
  • 19
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值