概述 数据链路和帧数据链路层要解决的三个基本问题封装成帧(framing)透明传输差错检测使用点对点信道的数据链路层 → 一对一的通信使用广播信道的数据链路层 → 一对多的通信局域网的数据链路层共享介质(使用广播信道)的局域网分类以太网 (Ethernet) 基础概念实现方式: 载波监听多路访问/碰撞检测 CSMA/CD以太网的LLC子层以太网的MAC子层MAC帧格式无线局域网 WLAN无线局域网标准(Wireless LAN Standards)WLAN帧 管理帧(Management Frame)控制帧(Control Frame)数据帧(Data Frame)帧的通用结构无线局域网拓扑(Wireless LAN Topology)基础设施模式(Infrastructure Mode)概念接入流程Ad-hoc模式网络访问过程(Accessing Procedure)数据帧与地址格式载波侦听多路访问/碰撞避免 CSMA/CACSMA/CA的工作机制CSMA/CD与CSMA/CA的区别CSMA/CA为何适用于无线网络网络实际吞吐量第二层网络设备网卡NIC(Network Interface Card)网桥Bridge以太网交换机Swich交换对称交换非对称交换内存缓冲交换方式交换层级生成树协议 STP环路问题STP概要BPDU虚拟局域网 VLAN概要VLAN间通信Access模式Trunk模式VLAN实现静态VLAN动态VLANVLAN配置方法VLAN间路由路由器子接口路由配置
概述
数据链路层的职责: 保证数据沿(不稳定的)链路可靠传输
涉及物理(相对于逻辑)寻址、网络拓扑、网络接入、错误通知、帧的有序交付和流量控制


向上使用LLC子层对接, 在逻辑上分辨协议类型和封装方式. LLC帧的类型取决于上层协议的期望

向下使用MAC子层对接, 定义沿物理线网传输帧的方式, 处理物理地址, 定义网络拓扑
经典以太网(不确定性, CSMA/CD) → 逻辑上使用总线拓扑, 物理上使用星形或扩展的星形拓扑(?)
令牌环网(确定性) → 逻辑上使用环状拓扑, 物理上使用星形拓扑
FDDI(确定性) → 逻辑上使用环状拓扑, 物理上使用双环拓扑
- 网络层讨论的是多个网络互连的问题, 讨论分组怎样从一个网络通过路由器/三层交换机转发到另一个网络
- 数据链路层研究的是在同一个局域网中分组怎样从一台主机传送到另一台主机, 不经过路由器转发.
- 局域网属于数据链路层的范围
数据链路和帧
- 链路(物理链路) → 两个相邻节点之间的一段物理线路, 没有任何其他交换节点
- 数据链路(逻辑链路) → 物理线路 + 通信协议 + 实现协议的硬件和软件(网络适配器)
- 在数据链路层, 规程和协议是同义语
- 首部 + IP数据报(来自网络层) + 尾部 → 封装成帧
- 不必考虑物理层的细节
数据链路层要解决的三个基本问题
封装成帧, 透明传输和差错检测
封装成帧(framing)

- 数据链路层的数据传送单元: 首部 + IP数据报(来自网络层) + 尾部 → 封装成帧
- 接收端根据物理层接收到的数据流中的首部和尾部判断一个帧的起始和结束(Start of Header SOH, End of Tail EOT), 且很容易判断接受到的帧是否完整
- 首部和尾部的重要作用之一就是进行帧定界, 此外还有一些必要的控制信息
- 发送时从帧的首部起始
- 帧的数据部分(IP数据报)长度有上限—最大传送单元MTU(Maximum Transfer Unit)
透明传输
- 透明 → 实际存在的事物不可见. 对网络层数据来说, 数据链路层理应就像不存在一样将其运输到下一个节点
- 对于文本文件(ASCII)文件, 数据部分不可能出现像SOH或EOT这样的帧定界控制字符, 故不管从键盘上输入什么字符都可以放在这样的帧中传输. 这样的传输就是透明传输
- 而对二进制文件则数据部分有可能出现和SOH或EOT一样的部分, 会导致定界错误, 不是透明传输
- 想办法让数据汇总可能出现的SOH/EOT在接收端不被解释为控制字符.
- 字节填充法: 发送端在数据部分出现的控制字符前加上转义字符ESC. (若数据部分含有ESC则再加上一个ESC), 接收端在重新上传网络层之前删去ESC即可

差错检测
- 数据链路层普遍使用循环冗余校验CRC进行差错检测
- 冗余码称作帧检验序列FCS(Frame Check Sequence)
- 常用的生成多项式:

- 循环冗余码基于帧生成 → 要进行差错检验就必须要将数据划分成帧
- 可以近似认为凡是接收端数据链路层接受的帧均无差错(余数不为0的帧均被丢弃, 而余数为0的帧有错的可能性几乎为0)
- 以上检错机制只能保证无比特差错, 还不是可靠传输服务. 其他传输差错还有帧丢失, 帧重复, 帧失序等
使用点对点信道的数据链路层 → 一对一的通信
点对点通信使用广播信道的数据链路层 → 一对多的通信

局域网与广播信道局域网(LAN)和使用广播信道的数据链路层之间有很强的关联,因为许多局域网的设计依赖于广播信道作为数据链路层的实现方式。以下是它们的具体关联和关系:1. 广播信道的特点
- 定义:广播信道是一种通信介质,允许连接到该信道的所有设备接收同一信号。例如,早期的以太网(Ethernet)就是一种典型的广播信道系统。
- 特点:
- 数据包可以发送到网络中所有设备。
- 数据链路层通过MAC地址来区分目标设备。MAC地址结构:
全1MAC地址(FF:FF:FF:FF:FF:FF
) → 广播地址
- 广播信道在传输过程中需要解决冲突问题(如CSMA/CD机制)。
2. 局域网使用广播信道的原因
- 共享介质:许多局域网(尤其是以太网)在物理上使用共享介质(如同轴电缆、双绞线、无线信道)。广播信道非常适合这种环境。
- 通信效率:在小范围内,广播信道可以快速将信息传递给网络中的所有设备,减少多对多通信的复杂性。
- 简单实现:早期局域网(如IEEE 802.3 Ethernet)通过广播机制进行数据传输,大大简化了硬件设计和协议实现。
3. 数据链路层协议中的广播机制局域网中的数据链路层协议经常使用广播通信进行关键功能的实现,例如:
- ARP(地址解析协议):通过广播来获取某个IP地址对应的MAC地址。
- DHCP(动态主机配置协议):客户端通过广播寻找DHCP服务器。
- RARP:旧式的反向地址解析协议。
4. 广播信道的局限性与演化虽然局域网最初依赖广播信道,但随着需求的变化,其不足逐渐显现:
- 冲突和效率下降:在节点数量增加时,广播容易导致冲突(以太网使用
CSMA/CD
解决)。
- 广播风暴问题:过多的广播可能会导致网络拥塞。
- 安全性问题:广播的公开特性可能泄露敏感数据。
- 交换式以太网的普及:现代以太网通过交换机替代了早期的共享广播介质,实现点对点通信,大大减少了广播的使用。
5. 总结
- 局域网的物理层和数据链路层通常使用广播信道(如早期以太网)。
- 广播信道适合局域网的共享通信需求,但随着技术发展,局域网逐渐向点对点通信和交换机制演化,减少了对广播的依赖。
- 现代局域网仍保留广播的机制,用于某些控制流量(如ARP、DHCP),但核心数据传输主要依赖更高效的交换机制。
局域网的数据链路层
- 局域网特征: 网络为一个单位所拥有,且地理范围和站点数目均有限。比广域网具有较高的数据率、较低的时延和较小的误码率。其工作的层次跨越了数据链路层和物理层
- 优点

- 局域网的运输功能 → 单播, 多播, 广播

共享介质(使用广播信道)的局域网分类
按照网络拓扑可以分为星形以太网/多级星形结构的以太网, 环形网, 总线网(典型: 传统以太网)
绝大多数的局域网都使用以太网实现, 所以现在以太网几乎成为了局域网的同义词.
以下几个资源分配方式, 可以联想到系统总线.


以太网 (Ethernet)
以太网(Ethernet)是一种广泛使用的计算机网络技术,用于局域网(LAN, Local Area Network)的数据传输。它定义了一组标准,用于设备如何在同一网络上通信。以下是对以太网的详细介绍:
基础概念
以太网是一种基于帧的数据通信技术。它最早由施乐公司的研究人员 Robert Metcalfe 等人在20世纪70年代开发,并逐步成为主流的网络技术。
- 帧:以太网中,数据以帧的形式传输。每个帧包含:
- 源地址和目标地址(设备的 MAC 地址)。
- 数据负载(实际传输的信息)。
- 校验码(用于检测传输错误)。
实现方式: 载波监听多路访问/碰撞检测 CSMA/CD

传统以太网使用总线网(后演变为交换式, 采用点对点通信), 实现方式基于CSMA/CD(Carrier Sense Multiple Access with Collision Detection,载波监听多路访问/碰撞检测)机制:
让网络设备仲裁总线传输的使用权
- 载波监听:设备在发送数据之前,会监听网络是否空闲。
- 多点接入:网络上的多个设备可以共享同一条通信信道。
- 碰撞检测:如果两个设备同时发送数据导致冲突,网络会检测到,并让设备在随机时间后重新尝试发送。碰撞的所有帧都判定为无效.



初期以太网使用共享介质,通过广播方式传输数据;现代以太网通过交换机实现全双工通信。
对照: CSMA/CA(碰撞避免) → 发送之前喊一嗓子让别人不要发

以太网的优点
- 速度快:从最初的 10 Mbps,发展到 100 Mbps(快速以太网)、1 Gbps(千兆以太网),甚至 100 Gbps 及以上。
- 稳定性高:提供可靠的数据传输。
- 成本低:布线简单,使用标准化设备,部署和维护费用低。
- 兼容性强:广泛支持多种设备和操作系统。
以太网标准
以太网的标准由IEEE 802.3定义,包括以下常见版本:
- 10BASE-T:最早的以太网版本,使用双绞线,速度为 10 Mbps。
- 100BASE-TX:快速以太网,速度为 100 Mbps。
- 1000BASE-T:千兆以太网,速度为 1 Gbps。
- 10GBASE-T:万兆以太网,速度为 10 Gbps。
物理层和数据链路层
以太网主要工作在 OSI 模型的物理层和数据链路层:
- 物理层负责信号的传输。
- 数据链路层负责帧的创建、发送、接收以及错误检测。
计算机接入局域网的途径: 适配器/网卡NIC (执行局域网协议的也是适配器而非计算机)

使用集线器的以太网长得像一个星形网, 但是逻辑上还是一个总线网(总线中引出一个插线板), 同一时刻至多只允许一个站发送数据. 集线器是傻hub, 是物理层设备, 本质是一个多接口的转发器, 每个接口只简单转发比特, 不进行碰撞检测.
以太网交换机出现后, 采用以太网交换机的星形结构称为以太网的首选拓扑, 传统的总线以太网很快从市场上消失.
总线以太网使用CSMA/CD协议, 以半双工方式工作. 但以太网交换机不适用共享总线, 没有碰撞问题, 因此不适用CSMA/CD协议, 且以全双工方式工作. 内核已经变化, 但是名字还叫做以太网, 原因是帧结构仍然沿用以太网的帧结构.
以太网的LLC子层

LLC子层管理单独一条链路两端设备的交互
封装的递进关系:

- LLC接收网络协议数据(数据包),并添加更多的控制信息(地址组分, 如DSAP和SSAP)来帮助数据包到达目的地。
- 封装的数据进入MAC子层进一步封装
以太网的MAC子层
“我有一个疑问: 既然LLC负责处理数据链路层与网络层的交互, 而以太网实现的是数据链路层和物理层的交互, 那么为什么以太网取得统治地位会削弱LLC的地位?”这个问题很有价值,因为它涉及到以太网的演进历史以及其广泛采用后对网络协议分层的影响。要理解这一点,我们需要结合以太网的设计特点和LLC的功能演变来分析。1. LLC和以太网MAC层的功能定位LLC的功能
- 数据链路层与网络层的交互:LLC负责屏蔽底层物理网络的差异,为网络层提供一个统一的接口。
- 多协议支持:LLC最初的设计目的是支持多个上层协议的并存和区分(例如,IPv4、IPX、AppleTalk等)。
- 逻辑连接管理:LLC可以提供面向连接的传输功能,增强可靠性(如错误检测、重传等)。
以太网的功能
- MAC层的核心功能:
- 定义帧结构和地址(MAC地址)。
- 处理对共享介质的访问(如CSMA/CD协议)。
- 提供物理介质与数据帧的直接交互。
2. 为什么以太网削弱了LLC的地位?以太网的统治地位削弱LLC功能的原因可以归结为以下几点:(1) 以太网MAC层的功能扩展以太网在设计中直接支持多种上层协议,无需依赖LLC的协议区分功能:
- EtherType字段:以太网帧头中的EtherType字段能够直接标识上层协议(如IPv4、IPv6、ARP等),取代了LLC头部中的服务访问点(SAP)字段。
- 由于以太网的广泛普及,上层协议开发直接利用EtherType字段来区分不同协议,绕过了LLC的多协议支持功能。
(2) IP协议的统一化
- 过去,LLC的重要功能之一是区分多种网络层协议(如IP、IPX、AppleTalk等)。
- 随着IP协议(特别是IPv4和IPv6)的普及,网络层协议趋于单一化,LLC的多协议支持功能变得不再重要。
(3) 性能优化的需求
- LLC的功能在某些情况下会增加额外的开销(例如多余的头部信息和逻辑处理)。
- 在局域网环境中,以太网的直接性和简单性更有吸引力,设备实现也更高效。
(4) 以太网的普及导致协议标准化
- 以太网逐渐成为局域网的事实标准,使得底层物理介质(双绞线、光纤、无线等)和MAC层协议(CSMA/CD、CSMA/CA等)趋于一致。
- LLC的功能被以太网的标准化所取代,大多数场景不再需要额外的逻辑处理层。
3. 以太网削弱LLC的过程是历史与技术演进的结果在以太网普及之前,局域网中存在多种链路层技术(如令牌环、FDDI等),LLC的设计是为了提供一个通用的接口,屏蔽这些差异。然而,随着以太网的广泛采用:
- 底层链路层技术趋于一致,LLC的屏蔽作用被弱化。
- 以太网协议本身已经提供了足够的支持(如EtherType字段和高效的MAC地址寻址)。
4. LLC并未完全消失尽管在以太网中LLC的功能被大幅削弱,但它仍然存在于某些场景:
- IEEE 802系列标准仍然包括LLC层(如IEEE 802.2)。
- 在某些需要兼容多种物理网络或支持特殊网络层协议的环境中,LLC层仍然被使用。
总结以太网取得统治地位削弱LLC功能,主要是因为以太网的简单设计、直接支持多协议的能力(通过EtherType字段),以及IP协议的广泛普及使得LLC的多协议支持功能变得不再必要。同时,以太网的高效性和普及推动了链路层协议的标准化,进一步减少了LLC的实际使用需求。但这并不意味着LLC层完全没有价值,它的设计思想仍然重要,尤其是在需要兼容多种协议和物理层的复杂网络环境中。
- 硬件地址 → MAC地址, 在全世界范围内唯一标识一个适配器/接口
MAC帧格式
有效负载前为首部, 有效负载后为尾部(内容是FCS)

MAC帧(Medium Access Control Frame)是数据链路层中负责媒体访问控制的帧格式,其主要功能是实现网络设备间的通信。一个典型的MAC帧通常包含以下几个主要部分:
1. 帧前导(Preamble)
- 用于同步通信信号。通常是7字节(56比特)的序列,例如10101010重复的比特模式。
- 让接收端能够识别并锁定传输信号。
2. 帧起始分界符(Start Frame Delimiter, SFD)
- 1字节(8比特),标志帧正式开始
- 通常为固定的比特模式,标志帧内容的开始。以太网标准的SFD是10101011。
3. 目的地址(Destination Address, DA)
- 6字节(48比特),表示接收方的MAC地址。
MAC地址
- 可以是单播地址、多播地址或广播地址。

4. 源地址(Source Address, SA)
- 6字节(48比特),表示发送方的MAC地址。
5. 长度/类型字段
- 2字节(16比特),表示数据字段的长度或协议类型。
- 长度字段表明数据部分的字节数;类型字段表明数据使用的协议(如IPv4、IPv6等)。
6. 数据字段(Payload)
- 可变长度,通常为46到1500字节(以太网标准),包含实际传输的数据。
7. 帧校验序列(Frame Check Sequence, FCS)
- 通常为32位,用于校验帧数据是否在传输过程中发生错误。
- 通过循环冗余校验(CRC)算法计算。
不同类型的网络(如以太网、Wi-Fi)可能对MAC帧的具体结构有所调整,但基本组成部分大致相同。这些字段共同作用,确保数据在传输过程中的可靠性和准确性。
无线局域网 WLAN
基于单元 / 蜂窝建立通信, 一个站发出的信息只能被附近的站收到, 短途传输
无线局域网标准(Wireless LAN Standards)
- IEEE 802.11(Wi-Fi):
- 使用直接序列扩频(DSSS)技术。
- 速率通常在1-2 Mbps范围内,最多可达到11 Mbps,但超过2 Mbps时非标准合规。
- IEEE 802.11b:
- 增强至11 Mbps的数据传输速率。
- 使用2.4 GHz频段。
- IEEE 802.11a:
- 工作在5 GHz频段,速率达到54 Mbps。
- IEEE 802.11g:
- 提供54 Mbps速率,与802.11b向后兼容。
- IEEE 802.11n:
- 下一代WLAN标准,支持更高的带宽(108 Mbps),理论速率可达500-600 Mbps。
WLAN帧
在无线局域网(WLAN)中,通信基于802.11协议帧,这些帧用于管理网络、建立连接和传输数据。根据功能,802.11帧分为三大类,每类帧又有若干子类型。
管理帧(Management Frame)
管理帧用于建立和管理无线网络连接。
主要子类型及其内容:
- Beacon帧(信标帧):广播无线网络的存在和信息。
- 内容:SSID(网络名称), 信道号(工作频率), 支持的速率集, 时间戳(用于同步设备时钟)。
- Probe Request帧(探测请求帧):设备主动扫描网络时发送。
- 内容:SSID(可为空以发现所有网络), 支持的速率, 功能集。
- Probe Response帧(探测响应帧):接入点响应探测请求。
- 内容:与Beacon帧类似,包含网络的基本信息。
- Authentication帧:用于身份认证。
- 内容:身份验证算法号(如开放系统认证或共享密钥认证), 认证事务序列号, 状态码。
- Association Request帧(关联请求帧):设备请求与接入点关联。
- 内容:SSID, 支持的速率, 功能集合。
- Association Response帧(关联响应帧):接入点响应关联请求。
- 内容:状态码, 接入点的能力, AID(关联标识符)。
- Deauthentication帧(解除认证帧):用于终止认证过程。
- 内容:原因代码。
控制帧(Control Frame)
控制帧用于协调和管理无线网络中的数据传输。
主要子类型及其内容:
- RTS帧(请求发送帧,Request to Send):发送设备请求信道访问以准备发送数据。
- 内容:帧控制, 发送者地址, 接收者地址, 预期数据帧传输的持续时间。
- CTS帧(清除发送帧,Clear to Send):接收设备同意发送设备的传输请求。
- 内容:帧控制, 发送者地址, 持续时间
- ACK帧(确认帧,Acknowledgment):确认数据帧已成功接收。
- 内容:帧控制, 发送者地址
- PS-Poll帧(节能轮询帧):休眠设备通知接入点有数据要接收。
- 内容:设备地址, 接入点地址
数据帧(Data Frame)
数据帧用于传输实际的数据包,并携带相关控制信息。
主要子类型及其内容:
- 普通数据帧:用于传输用户数据。
- 内容:帧控制, 源地址和目标地址, 序列号, 数据负载(实际传输的数据,如网页内容或文件数据), 校验码(FCS,用于错误检测)
- QoS数据帧(质量服务帧):包含服务质量信息(如优先级)。
- 内容:QoS控制字段, 数据负载。
- Null数据帧:不携带数据,仅用于状态更新(如休眠设备唤醒通知)。
- 内容:基本帧头, 空数据字段。
帧的通用结构


尽管不同类型的帧有不同的内容,大多数802.11帧都有相似的基本结构:
字段 | 说明 |
帧控制 | 帧类型、子类型、加密和协议版本等信息 |
持续时间/ID | 通信的时间长度或标识符(如AID) |
地址字段 | 最多包含三个或四个地址(源、目标、中转) |
序列控制 | 数据帧的序列号,用于重组和丢包检测 |
帧体 | 包括管理信息或用户数据负载 |
帧校验序列(FCS) | 用于检测数据传输中的错误 |
总结
- 管理帧:管理网络连接,建立通信(如探测、关联)。
- 控制帧:协调通信,控制信道使用(如RTS、CTS、ACK)。
- 数据帧:实际传输用户数据。
了解WLAN帧类型及其内容对于调试无线网络问题和优化性能非常重要。
无线局域网拓扑(Wireless LAN Topology)

无线局域网(WLAN)拓扑主要有两种常见的模式:基础设施模式(Infrastructure Mode)和Ad-hoc模式(Ad-hoc Mode)。以下是对这两种模式的详细解释:
基础设施模式(Infrastructure Mode)

概念
在基础设施模式下,无线网络通过一个无线接入点(Access Point,AP)或路由器来管理和连接所有无线设备。这种模式是目前最常见的无线局域网配置。
AP在此处担任基站(Base Station)的作用, 使基站下的设备可以互相通信
特点:
- 中心化控制:所有无线设备必须通过接入点进行通信,不能直接彼此通信。
- 广域覆盖:接入点可以覆盖较大的范围,并支持多个设备同时连接。
- 有线扩展:接入点通常连接到有线网络,允许无线设备与有线网络中的设备通信(如访问互联网)。
接入流程
在无线局域网(WLAN)的基础设施模式下,设备接入网络需要经过以下几个关键步骤:
1. 无线网络发现
设备需要扫描附近的无线网络以找到可以连接的网络。
- 主动扫描:设备发送探测请求帧(Probe Request)到所有频道,等待接入点(AP)响应。

- 被动扫描:设备监听接入点广播的信标帧(Beacon Frame),这些帧中包含网络的基本信息。

网络信息包括:
- SSID(服务集标识符):无线网络的名称。
- 信号强度:帮助设备选择信号最强的接入点。
- 频道信息:指示接入点工作的频率。
2. 选择网络
设备根据扫描结果选择一个要连接的无线网络,通常基于以下因素:
- 信号强度。
- 接入点的安全协议(如WPA3、WPA2)。
- 用户配置的优先级(例如已保存的网络列表)。
3. 身份认证
设备与接入点之间进行身份认证以验证设备是否有权限接入网络。
- 开放认证(Open Authentication):
- 无需密码,直接接入(一般用于公共网络或临时网络)。
- 共享密钥认证(Shared Key Authentication):
- 通过预共享密钥(PSK)验证设备。
- 比如WPA/WPA2/WPA3,设备需要输入正确的密码。
- 基于服务器的认证:
- 使用802.1X协议,结合RADIUS服务器实现更强的安全性。
- 适用于企业级网络。
4. 关联(Association)
设备向接入点发送关联请求帧(Association Request),请求与接入点建立关联。
- 接入点检查设备是否满足接入条件(如信号质量、认证状态)。
- 如果符合条件,接入点返回关联响应帧(Association Response),建立正式的连接。
5. 加密密钥协商
如果网络使用安全协议(如WPA/WPA2/WPA3),设备和接入点会进行密钥协商,以确保通信的加密安全。
- WPA/WPA2:使用4次握手协议(4-Way Handshake)协商密钥。
- WPA3:使用更安全的Simultaneous Authentication of Equals (SAE) 协议。
密钥协商完成后,设备与接入点之间的通信将被加密,防止数据被窃听或篡改。
6. 分配IP地址
设备通过DHCP(动态主机配置协议)从接入点或网络中的DHCP服务器获取一个IP地址。
- DHCP服务器为设备分配IP地址、子网掩码、网关和DNS信息。
- 如果没有DHCP服务器,设备可能需要手动配置静态IP。
7. 数据传输
完成上述步骤后,设备就可以通过接入点访问局域网或互联网:
- 设备发送数据到接入点。
- 接入点将数据转发到目标设备(本地或外网)。
流程总结
- 扫描网络 → 2. 选择网络 → 3. 身份认证 → 4. 建立关联 → 5. 加密密钥协商 → 6. 获取IP地址 → 7. 开始通信
这个过程确保设备能够安全可靠地接入无线局域网,同时为后续的网络通信提供基础设施支持。
优点:
- 网络稳定性高,管理方便。
- 支持大量设备连接。
- 容易与现有的有线网络集成。
缺点:
- 需要额外的硬件(接入点或路由器)。
- 如果接入点出现故障,整个网络可能会瘫痪。
Ad-hoc模式
概念:
在Ad-hoc模式下,无线设备直接进行点对点通信,无需接入点或路由器。这种模式通常用于临时的小型无线网络。
特点:
- 分散式结构:设备之间直接通信,无需中介设备。
- 灵活性高:适合没有接入点或固定网络的场景。
- 临时性:一般用于短时间内的通信需求,例如设备共享文件或创建局域游戏网络。
工作流程:
- 每个无线设备都配置为Ad-hoc模式。
- 设备发现并直接连接到其他设备。
- 数据包在设备之间直接传输,而不依赖中间设备。
优点:
- 无需额外的硬件或基础设施。
- 部署简单,适合应急场景。
- 网络建立速度快。
缺点:
- 通信范围有限,信号强度受限。
- 无法支持大量设备连接。
- 网络不稳定,管理难度较高。
对比总结
特性 | 基础设施模式 | Ad-hoc模式 |
设备间通信 | 通过接入点 | 点对点直接通信 |
硬件需求 | 需要接入点或路由器 | 无需额外硬件 |
网络管理 | 易于管理 | 管理复杂 |
覆盖范围 | 广(依赖接入点范围) | 小(依赖设备信号范围) |
适用场景 | 家庭、办公室、公共场所 | 临时网络、应急场景 |
选择哪种模式取决于具体的应用场景和需求。
网络访问过程(Accessing Procedure)
- 主动扫描(Active Scanning):通过发送探测请求(Probe Request)寻找网络。
- 被动扫描(Passive Scanning):监听信标(Beacon)帧。
数据帧与地址格式
- 无线局域网使用特定的802.11数据帧,与标准802.3帧不同。
- 数据帧有4个地址字段,用于复杂的路由和中继。
载波侦听多路访问/碰撞避免 CSMA/CA

CSMA/CA是一种在无线局域网(WLAN)中用于介质访问控制的协议,旨在减少无线信道上数据碰撞的可能性。由于无线通信的特性,无法直接检测到碰撞(而以太网可以, 所以用CD),因此采用了避免碰撞的策略。
CSMA/CA的工作机制


图中描述的是无线局域网(WLAN)中常用的一种介质访问控制(MAC)协议,即载波侦听多路访问/冲突避免(CSMA/CA)。这是一种用于避免数据包在共享通信信道上发生冲突的机制。下面是图中各个部分的解释:
- 源站(Source Station):想要发送数据的站点。
- 目的站(Destination Station):数据接收方。
- 其他站(Other Stations):网络中的其他站点,它们监听信道状态。
- DIFS(DCF Inter-Frame Spacing):DCF帧间间隔,是最短的帧间间隔,用于分隔不同类型的帧。
- RTS(Request to Send):发送请求,源站在发送数据前发送RTS帧,以请求目的站的注意。
- CTS(Clear to Send):清除发送,目的站在收到RTS后,如果信道空闲,会发送CTS帧,告知源站可以发送数据。
- SIFS(Short Inter-Frame Spacing):短帧间间隔,比DIFS短,用于高优先级的帧,如ACK和CTS。
- 数据(Data):源站发送给目的站的数据帧。
- ACK(Acknowledgment):确认,目的站在成功接收数据后发送ACK帧给源站。
- 争用期(Contention Period):在CTS之后,其他站点等待的时间,以确保没有其他站点在这段时间内开始发送数据。
- 争用窗口(Contention Window):在DIFS之后,如果信道仍然空闲,站点会等待一个随机的时间,这个时间在争用窗口内,然后尝试发送数据。
- NAV(Network Allocation Vector):网络分配向量,用于通知其他站点信道将被占用的时间。NAV(RTS)、NAV(CTS)和NAV(数据)分别表示RTS、CTS和数据帧之后信道将被占用的时间。
推迟接入(Deferred Access):当其他站点监听到RTS或CTS帧时,它们会设置NAV,表示在这段时间内不会尝试发送数据,从而避免冲突。如果一个站点在NAV期间想要发送数据,它将推迟接入,直到NAV结束。
这个过程确保了在数据传输期间,其他站点不会干扰,从而减少了冲突的可能性。

1. 载波侦听(Carrier Sense)
- 设备侦听信道:设备在发送数据前,首先侦听信道是否空闲。
- 如果信道空闲,设备等待一段时间(称为DIFS,分布式协调功能间隔),然后开始发送数据。
- 如果信道忙碌,设备进入等待状态。
2. 随机退避(Backoff)
- 退避时间计算:如果信道忙碌,设备不会立刻尝试重传,而是选择一个随机退避时间(退避计时器)。
- 退避计时:当信道变为空闲时,设备会继续倒计时退避时间。
- 倒计时结束后发送:当退避时间结束且信道空闲时,设备开始发送数据。
3. 碰撞避免(Collision Avoidance)
- RTS/CTS机制(可选):为进一步减少碰撞,发送数据前,设备可以发送“请求发送帧”(RTS,Request to Send)给接收设备。
- 接收设备回复“清除发送帧”(CTS,Clear to Send)。
- 其他设备在接收到CTS后暂时停止发送数据,确保信道不冲突。
- 设备接收到CTS后,开始发送数据。
4. 数据确认(ACK)
- 数据成功发送后,接收方返回一个ACK(确认帧),通知发送方数据已成功接收。
- 如果发送方未收到ACK,则认为数据丢失,重新发送。
CSMA/CD与CSMA/CA的区别
特性 | CSMA/CD(碰撞检测) | CSMA/CA(碰撞避免) |
应用场景 | 有线网络(如以太网) | 无线网络(如WLAN) |
碰撞处理 | 通过检测碰撞来处理问题 | 通过避免碰撞来减少冲突 |
碰撞检测方式 | 发送数据时同时监听信道是否发生冲突 | 无法检测碰撞(信号可能无法被感知) |
随机退避 | 碰撞发生后随机退避重试 | 信道忙碌时随机退避重试 |
RTS/CTS机制 | 无此机制 | 支持,可选,用于减少隐节点问题 |
实现复杂性 | 相对简单 | 较复杂,需要更多信号交换 |
CSMA/CA为何适用于无线网络
- 无线信道的隐节点问题:
- 由于无线信号的传播范围有限,某些设备可能无法直接侦听到其他设备的发送信号,导致潜在碰撞。
- RTS/CTS机制可以部分解决隐节点问题。
- 无线无法检测碰撞:
- 无线设备在发送数据时,信号会覆盖整个信道,设备自身无法检测到碰撞(因为无法同时发送和接收)。
- 因此,CSMA/CA通过避免碰撞的方式代替检测。
总结
- CSMA/CD(碰撞检测):适用于有线网络,能够通过检测碰撞后退避重试来恢复通信。
- CSMA/CA(碰撞避免):适用于无线网络,通过退避和RTS/CTS机制避免碰撞,提高网络效率。
网络实际吞吐量
- 实际数据吞吐量通常低于标称速率。例如,在802.11b中,标称速率为11 Mbps,但有效数据吞吐量只有5.0到5.5 Mbps。
- 同时也与信号强度有关

第二层网络设备
网卡NIC(Network Interface Card)
即网络适配器, 属于I/O设备, 负责实现局域网协议

网桥Bridge
能够实现点对点转发, 但是同一时刻只能处理一对设备通信, 且是全双工
使用软件处理帧的交换
以太网交换机Swich
一个可以同时处理多对设备点对点通信的网桥
使用硬件处理交换, 和网桥比显著更快
可以隔离冲突域, 不能隔离广播域

隔离广播域需要第三层设备参与(VLAN与三层交换机, 路由器)

交换
- 两个基本功能: 基于MAC地址建立并维护交换表, 将帧从接口交换到目的端
对称交换
- 确保在网络中流量的双向对称性,即数据包从源设备到目标设备的流量与从目标设备返回源设备的流量能够以对等的速率和带宽进行处理。
symmetric switching provides switched connections between ports with the same bandwidth 关键词: 带宽对等
问题: 当用户尝试访问位于其他网段的服务器时可能产生通信瓶颈

非对称交换
- 通过为服务器分配更大的带宽, 为用户分配更小的带宽, 来降低产生通信瓶颈的可能性. 非对称交换需要交换机具有内存缓冲机制.

内存缓冲

交换机的内存缓冲是指交换机内部用于临时存储网络数据包的内存区域。在网络通信中,数据包在交换机处理和转发的过程中,可能会因为带宽限制、端口忙碌或其他原因而无法立即发送到目标端口,此时内存缓冲就用来存储这些数据包,直到它们可以被转发为止。
内存缓冲的工作原理
- 接收数据包:交换机接收到来自源端口的数据包后,先检查目标端口是否空闲。
- 临时存储:如果目标端口忙碌或其他原因导致无法立即转发,数据包会被存储在交换机的内存缓冲中。
- 转发数据包:一旦目标端口空闲,交换机会从内存缓冲中提取数据包并将其发送出去。
内存缓冲的类型
根据交换机的硬件设计,内存缓冲主要分为以下两种类型:
- 共享内存缓冲(Shared Memory Buffering)
- 原理:所有端口共享一块内存缓冲池。
- 优点:内存利用效率高。带宽需求大的端口可以动态分配更多内存,而带宽需求小的端口占用的内存较少。
- 缺点:在高流量场景下可能出现端口阻塞问题,即某个端口占用了大量内存,导致其他端口可用缓冲不足。
- 专用内存缓冲(Port-Based Memory Buffering)
- 原理:每个端口都有独立的内存缓冲。
- 优点:每个端口都有固定的内存资源,不会因为其他端口的高流量而受到影响。
- 缺点:内存利用效率较低。例如,一个端口可能有多余的内存未被使用,而另一个端口因不足而丢包。
缓冲大小的重要性
交换机的内存缓冲大小对网络性能有重要影响:
- 避免丢包:如果交换机的目标端口忙碌,足够大的缓冲区可以防止数据包被丢弃。
- 支持高流量场景:例如高清视频流或大文件传输,内存缓冲大小直接影响网络流量的平稳性。
- 减少延迟:缓冲大小合理可以减少数据包在拥堵情况下的等待时间。
交换方式

交换机在转发数据包时,主要有两种常见的交换方法:存储转发(Store-and-Forward)和直通式(Cut-Through)。它们是交换机处理数据包的两种不同策略,各有优缺点,适用于不同的场景。
1. 存储转发(Store-and-Forward)
存储转发是一种先完整接收整个数据包,再根据数据包头信息判断目标地址,最后进行转发的交换方式。
工作流程
- 接收数据包:交换机将数据包从源端口接收到内存缓冲区中。
- 检查完整性:读取数据包的完整内容,并通过帧校验序列(Frame Check Sequence,FCS)检查数据包是否有错误。
- 转发数据包:如果数据包无误,交换机会将其发送到目标端口;如果有错误,数据包将被丢弃。
优点
- 高可靠性:确保只有无误的数据包才会被转发。
- 兼容性好:支持不同速度的端口之间的通信(如千兆和百兆之间)。
- 减少网络错误:有助于减少错误数据包的传播,提升网络质量。
缺点
- 延迟较高:由于需要等待整个数据包接收完毕再处理,增加了数据传输的延迟。
- 对交换机性能要求较高:需要更大的内存缓冲来存储完整数据包。
2. 直通式(Cut-Through)
直通式是一种只读取数据包的前部分内容(通常是数据包头部)即可开始转发的交换方式。
工作流程
- 读取数据包头:交换机仅读取数据包的目标地址(如 MAC 地址)。
- 立即转发:在确认目标端口后,数据包开始转发,剩余部分可能边接收边转发。
优点
- 延迟低:无需等待接收完整数据包即可开始转发,减少了转发延迟,适合低延迟需求的网络。
- 效率高:在流量较大且数据包无错误时,直通式效率更高。
缺点
- 错误传播:由于不检查数据包完整性,可能将带有错误的数据包传播到网络中。
- 依赖于可靠的网络环境:在错误率较高的网络中,这种方法可能导致性能下降。
3. 中间方法:碎片隔离(Fragment-Free)
- 碎片隔离(Fragment-Free)是一种折中方案,介于存储转发和直通式之间:
- 交换机会读取数据包的前 64 字节(以太网最短帧长度),确认数据包无损坏后再进行转发。
- 它能减少误码传播,同时保持较低的延迟。
选择方法的依据
- 存储转发适合:
- 高错误率的网络。
- 端口速率不一致的场景(如千兆对百兆)。
- 注重数据可靠性的场景。
- 直通式适合:
- 高性能低延迟的网络,如数据中心和高频交易环境。
- 错误率较低、网络稳定的环境。
交换层级
二层交换

三层交换

四层交换

多层交换

生成树协议 STP
环路问题
用于解决环路问题
二层环路 + 广播 → 可能无法停止, 除非人为强制关闭环路上的交换机或破坏链路(本质原因是以太网帧不具有TTL字段)
在计算机网络中,第二层环路(Layer 2 Loop)是指发生在数据链路层(OSI模型的第二层)的一种网络问题。这种问题通常由网络拓扑中的冗余链路或配置错误引起,具体表现为以太网帧在交换机之间无限制地循环转发。
第二层环路的特性
- 广播风暴(Broadcast Storm)

广播帧(如ARP请求)在环路中不断复制和转发,导致网络流量急剧增加,甚至耗尽带宽。
广播风暴实例广播风暴是第二层环路的直接结果之一,下面通过一个具体的例子说明其产生的过程:场景描述假设在网络中有三台交换机:交换机 A、B 和 C,它们通过以太网电缆形成了一个环路,如下图所示:此时,交换机之间形成了一个逻辑环路。广播风暴的产生过程
- 广播帧的生成
假设一个主机(Host X)连接到交换机 A,主机 X 需要发送一个 ARP 请求来寻找目标主机(Host Y)的 MAC 地址。
- ARP 请求是一个广播帧,目的 MAC 地址是 FF:FF:FF:FF:FF:FF。
- 交换机 A 会将此广播帧转发到所有的端口(除了接收到该帧的端口),即转发给交换机 B 和 C。
- 广播帧在环路中转发
- 交换机 B 收到来自交换机 A 的广播帧后,会再次将其转发到除接收端口以外的所有端口,包括连接到交换机 C 的端口。
- 同时,交换机 C 也会将从交换机 A 接收到的广播帧转发给交换机 B。
- 帧的无限循环
- 交换机 B 和 C 相互转发广播帧,这些帧会在环路中不断循环,因为交换机会将广播帧发送到所有端口,没有任何机制阻止环路中的重复帧。
- 广播帧数量指数级增长
- 每次广播帧通过交换机,都会被复制并转发给多个端口,从而导致网络中广播流量迅速增加。
结果
- 网络带宽被耗尽
- 网络链路上充满了重复的广播帧,正常数据帧无法通过。
- 交换机性能下降
- 交换机的 MAC 地址表不断刷新,因为帧来源会显示从不同端口进入,导致交换机资源被耗尽。
- 主机无法正常通信
- 主机无法收到预期的回应(如 ARP 回复),网络通信完全中断。
- MAC地址表波动(MAC Address Table Instability)
交换机的MAC地址表会因为同一设备的MAC地址从不同端口频繁更新而变得不稳定,导致数据帧无法正确转发。
- 网络延迟和丢包
网络性能显著下降,甚至可能导致网络中断。
- 设备过载
网络设备的CPU和内存资源可能因为处理大量的重复帧而被耗尽。
第二层环路的原因
- 缺乏环路保护机制
没有启用防环路协议(如STP、RSTP)。
- 错误的交换机配置
手动连接了冗余链路但未配置相应的保护协议。
- 意外的物理连接
例如,用户误将交换机的两个端口直接用网线连接,形成环路。
第二层环路的解决方法
- 启用生成树协议(STP/RSTP)
生成树协议(Spanning Tree Protocol)可以检测并阻止冗余路径,从而防止环路的产生。
- 检查网络拓扑
确保交换机间没有不必要的冗余连接。
- 端口安全配置
对可能引起环路的端口启用保护功能(如BPDU Guard、Root Guard)。
- 使用网络管理工具
定期监控网络状态,快速发现和解决问题。
通过上述措施,可以有效预防和解决第二层环路问题,从而保证网络的稳定运行。
STP概要

生成树协议(Spanning Tree Protocol, STP) 是一种网络协议,工作在 OSI 模型的第二层(数据链路层),用于避免以太网交换机之间因冗余链路引起的环路问题。通过生成树协议,网络可以在冗余的物理链路中形成一棵无环的逻辑树结构,确保数据帧按照预期路径传输。
仅启用当前拓扑下的最小生成树的路径, 禁用其他路径
STP 的主要特点
- 避免环路
检测并阻止网络中的环路,通过 禁用 某些冗余链路,形成一棵逻辑生成树。
- 提供冗余
即使某条主链路故障,STP 也可以 重新启用 备用链路,恢复网络连接。
- 动态调整
网络拓扑发生变化时,STP 会 自动重新计算 生成树,适应新的网络结构。
STP 的工作原理
1. 角色划分
生成树协议根据交换机端口的功能分配以下角色:
- 根端口(Root Port, RP)
指向网络中 根桥(Root Bridge) 的最短路径的端口,每个非根交换机都有一个根端口。
- 指定端口(Designated Port, DP)
即允许开启的端口. 每段网络(如交换机之间的链路)只有一个指定端口,用于转发数据。
- 非指定端口(Non-Designated Port)
被阻塞(Blocking)状态的端口,用于防止环路。
2. 根桥的选举
范式类似BR和BDR
根桥是网络中的中心设备,由所有交换机根据以下优先级选举:
- 桥优先级(Bridge Priority):数值越小优先级越高。
- MAC 地址:在优先级相同时,MAC 地址更小的交换机被选为根桥。
3. 生成树的构建
- 每个交换机发送 BPDU(Bridge Protocol Data Unit),用来交换生成树信息。
- 通过比较 BPDU 信息,确定根桥及其他交换机的角色:
- 每个交换机到根桥的最短路径成为主链路。
- 冗余链路被阻塞以防止环路。
4. 状态转换(5个)
交换机端口会根据 STP 算法在以下状态之间切换:
- Blocking(阻塞):端口不转发数据,用于防止环路。
- Listening(监听):监听BPDUs, 检测网络拓扑变化,但不转发数据。
- Learning(学习):开始学习 MAC 地址,但仍不转发数据。
- Forwarding(转发):正常转发数据。
- Disabled(禁用):端口被手动关闭或没有连接设备。
STP 的常见改进
STP 有几个改进版本,提供更高效的环路保护:
- RSTP(Rapid Spanning Tree Protocol)
快速生成树协议,相比传统 STP,收敛速度更快,能够迅速响应网络变化。
- MSTP(Multiple Spanning Tree Protocol)
多实例生成树协议,支持多 VLAN 的生成树实例,可以优化大规模网络中的负载均衡。
- PVST+(Per VLAN Spanning Tree Plus)
每个 VLAN 独立运行一个生成树实例,优化 VLAN 环境中的流量。
STP 的优缺点
优点:
- 防止环路问题。
- 提供冗余链路,提高网络的可靠性。
- 动态适应网络拓扑变化。
缺点:
- 传统 STP 的收敛速度较慢,可能导致短暂的网络中断。
- 配置和优化需要一定的技术水平。
BPDU
使用STP时所需的通信手段

BPDU 是 Bridge Protocol Data Unit 的缩写,是一种网络通信协议数据单元,用于交换与生成树协议(Spanning Tree Protocol, STP)相关的信息。生成树协议是以太网交换机间的一种协议,用于避免网络中的环路问题,确保网络拓扑结构是无环的树形结构。
BPDU 的作用
BPDU 是 STP 的核心,用于以下几个方面:
- 交换网络拓扑信息:交换机通过 BPDU 了解网络中的其他交换机,以及它们的优先级、路径成本等。
- 选举根桥:网络中的所有交换机会根据 BPDU 中的信息选举出一个“根桥”(Root Bridge)。
- 确定端口角色:通过 BPDU,交换机会为其每个端口确定角色(如根端口、指定端口或备用端口)。
- 动态更新拓扑:当网络拓扑发生变化时(如链路故障),BPDU 会帮助交换机快速收敛,重新计算生成树。
BPDU 的两种类型
- Configuration BPDU:
- 用于普通的生成树协议(STP)。
- 包含网络中根桥的信息、路径成本、优先级等。
- Topology Change Notification (TCN) BPDU:
- 用于通知网络拓扑的变化。
- 当网络中某个设备或链路发生改变时,会发送 TCN BPDU。
BPDU 的关键字段

BPDU 数据包中包含如下重要信息:
- 根桥 ID:标识当前网络中被认为是根桥的交换机。
- 路径成本:从发送 BPDU 的交换机到根桥的累计路径成本。
- 发送者桥 ID:发送 BPDU 的交换机的唯一标识。
- BID的高2个字节 → 桥优先级, 通常用十进制写出, 数字越小优先级越高
- BID的低6个字节 → 交换机的MAC地址, 通常用十六进制写出
此处与OSPF中选DR相反, DR选大者, root bridge选小者
- 发送者端口 ID:发送 BPDU 的端口标识。
- 消息年龄:BPDU 的生存时间,用于防止老化信息的传播。
- 优先级和标志:用于辅助选举和决策。
BPDU 的工作原理

- 初始化:每个交换机启动时,会将自己视为根桥,并发送 BPDU。
- 选举根桥:交换机会比较 (环路上所有的, 包括收到的和自己要发出的)BPDUs 中的根桥 ID,选择优先级最低(BID数值最小)的交换机作为根桥。
优先级不同比优先级, 优先级相同比MAC地址
若收到的 BPDU 中BID比当前端口保存的BPDU要小, 则将保存的BPDU替换为该BPDU, 将自身保存的根桥修改为该BPDU的发送者
- 确定路径和端口角色:
- 根据路径成本,选出最优路径到达 根桥 。
- 标记各端口为 “根端口” “指定端口” 等角色。
根端口: 每个非根桥交换机中距离根桥最近的端口
指定端口: 每个段都有一个指定端口, 在该段和根网桥之间发送和接收流量
具有指定端口的交换机/网桥被称为该网段的指定桥
每个网桥和交换机都会阻塞自身的非指定端口
跟器哦啊上的每个端口都是指定端口
根路径开销: 所有到根桥链路的开销总和
STP开销随着 BPDU 在端口上的接收而增加,而不是随着它们从端口发出而增加。

- 保持网络无环(分配指定端口):通过关闭非最优路径上的端口,确保网络中不存在环路。
虚拟局域网 VLAN
是局域网提供的服务而不是新型局域网
站只能接到同一个VLAN上其他成员发出的广播, 不同VLAN之间广播不相通(即使连接在同一个交换机上). 跨VLAN通信需要经过第三层网络设备(路由器/三层交换机)
使用VLAN时, 传输的是VLAN的以 太网帧, 首部增加四个字节(VLAN标记字段), 用于指示以太网帧属于哪一个VLAN
将不同的VLAN看做是不同的子网, 每一个都需要分配(单独的)默认网关来接入广域网

概要
VLAN(Virtual Local Area Network,虚拟局域网)是一种通过网络交换设备(如交换机)将一个物理局域网(LAN)划分成多个逻辑网络的方法。这种划分可以提高网络的管理性、安全性和灵活性。
VLAN的特点
- 逻辑划分网络: VLAN不受交换机、网段和物理位置限制,可以根据功能、部门或其他逻辑需求对设备进行分组。
VLAN同时位于网络层次模型的第二、三层
VLAN通过三层设备(路由器)配置

- 隔离性: 不同VLAN之间的通信被隔离,对外表现为不同子网, 只有通过路由器或三层交换机进行配置后才能互通。
只有具有相同的VLAN ID的交换机之间才能不借助三层路由直接通信
- 减少广播域: 每个VLAN是一个独立的广播域,减少广播流量,提高网络性能。
- 提高安全性: 通过隔离不同VLAN的设备,可以防止未经授权的设备访问其他VLAN的资源。
VLAN的工作原理
VLAN通过在以太网帧中添加一个特定的 标记(Tag) 来实现逻辑分组。这种标记通常符合IEEE 802.1Q标准,它为每个帧添加一个4字节的标记字段,其中包含VLAN ID(范围为1-4094)。

帧过滤与帧标记:Frame Filtering 和 Frame Tagging 是 VLAN 技术中与数据帧处理相关的两种关键机制。它们的作用是确保 VLAN 数据帧在网络中按照所属 VLAN 的定义被正确处理和转发。1. Frame Filtering(帧过滤) 定义:Frame Filtering 是交换机根据 VLAN 信息对收到的网络数据帧进行筛选的过程。它决定某个数据帧是否可以通过某个端口,或者被丢弃。作用:Frame Filtering 确保 VLAN 的逻辑隔离性,只允许符合特定 VLAN 条件的流量通过相应的端口。工作原理:
- 每个交换机端口可以被配置为一个 VLAN 的成员。
- 交换机会检查每个接收到的帧的 VLAN 信息:
- Access模式端口: 检查帧的来源是否匹配当前端口的 VLAN。
- Trunk模式端口: 检查帧的 VLAN Tag 是否属于允许通过的 VLAN 列表(allowed VLAN)。
- 如果帧的 VLAN 信息不匹配,则丢弃帧。
示例:
- 交换机端口属于 VLAN 10,但收到一个来自 VLAN 20 的帧,该帧会被丢弃。
常见配置:
- Cisco 设备中的命令示例:
switchport trunk allowed vlan 10,20
2. Frame Tagging(帧标记)定义:Frame Tagging 是在数据帧中插入一个标记(Tag),用来表示该帧所属的 VLAN。这通常使用IEEE 802.1Q协议实现。作用:Frame Tagging 是 Trunk 链路传输多个 VLAN 数据的基础。通过为每个帧打上 VLAN Tag,可以在同一物理链路上传输多个 VLAN 的数据,同时保持 VLAN 的逻辑隔离。工作原理:
- 当数据帧从 VLAN 内的设备发送到 Trunk 链路时,交换机会在数据帧的头部插入一个 802.1Q VLAN Tag(4 字节)。
- VLAN Tag 包括以下信息:
- VLAN ID(12 位): 标明该帧属于哪个 VLAN。
- 优先级(3 位): 指定帧的优先级,用于 QoS。
- 协议类型(1 位): 标识是否为 802.1Q 帧。
- 接收端交换机会读取 VLAN Tag,并根据 VLAN ID 将数据帧分配到正确的 VLAN。
- 如果数据帧要发送到 Access 模式端口(非 Trunk),VLAN Tag 会在帧转发之前被移除。
示例:
- 一台设备在 VLAN 10 中发出数据帧,帧到达 Trunk 链路后,交换机会插入 VLAN Tag,标记其属于 VLAN 10。
原始帧: | 源地址 | 目标地址 | 数据 | 校验码 |打标后: | 源地址 | 目标地址 | VLAN Tag | 数据 | 校验码 |常见配置:
- Cisco 设备中的命令示例:
switchport mode trunk
总结
- Frame Filtering: VLAN 的“守门人”,确保只有符合规则的数据帧才能通过端口。
- Frame Tagging: VLAN 的“身份证”,在 Trunk 链路上传输时标明帧的归属。
- 两者结合,确保了 VLAN 技术在网络中的安全性和高效性,是 VLAN 正确运行的核心机制。
VLAN Tag在从Access模式端口到Trunk模式端口时被打上, 在最终交付给目标主机之前才由最后一级交换机(Access模式)移除数据帧在交付给目标设备前移除VLAN标记的步骤,严格来说,不是在Frame Filtering(帧过滤)环节完成,而是在帧转发(Frame Forwarding)环节完成的。虽然两者密切相关,但它们的功能和作用是不同的。帧过滤(Frame Filtering)与 VLAN 标记移除的关系
- 帧过滤(Frame Filtering)的作用:
- 帧过滤主要是检查数据帧的VLAN标记,判断该帧是否应该通过特定的端口。
- 它决定帧的流向,例如:
- Access端口: 检查数据帧是否符合该端口所属的VLAN。
- Trunk端口: 检查数据帧的VLAN Tag是否属于允许的VLAN列表(allowed VLAN)。
- 如果帧不符合规则,直接丢弃;如果符合规则,则允许转发。
- 帧标记移除(Tag Removal)的作用:
- 当数据帧通过交换机并到达目标设备(如PC或服务器)所在的Access端口时,交换机会移除VLAN标记(Tag)。
- 移除原因: 目标设备(终端设备)通常无法识别或处理带有802.1Q VLAN Tag的数据帧。
- 这是帧转发的一部分,不是过滤的一部分。
VLAN标记移除的过程
- 在Access模式端口:
- 数据帧到达Access端口时,交换机会检查帧的VLAN标记(如果有)。
- 如果帧的VLAN与端口的配置匹配,交换机会移除标记,并将帧交付给连接的目标设备。
- 如果没有标记(Native VLAN流量),则直接交付。
- 在Trunk模式端口:
- 数据帧通常保留VLAN标记,只有当帧需要被转发到Access端口时才移除。
具体流程示例
- 帧接收:
- 帧到达交换机,携带VLAN Tag(如VLAN 10)。
- 交换机识别帧的来源和VLAN ID。
- 帧过滤:
- 交换机检查端口是否允许通过VLAN 10的数据帧。
- 如果允许,帧进入转发流程;如果不允许,帧被丢弃。
- 帧转发:
- 交换机根据帧的目的MAC地址和VLAN ID查找转发表(MAC地址表)。
- 确定目标端口类型:
- Access端口: 移除VLAN标记后交付。
- Trunk端口: 保留VLAN标记并传输。
4. 帧交付:
- 如果目标是Access端口,帧的VLAN Tag已经被移除,目标设备收到的就是标准以太网帧。
总结
- 帧过滤(Frame Filtering) 负责检查帧的VLAN标记以决定是否允许通过端口。
- 帧标记移除(Tag Removal) 是帧转发的一部分,当帧被交付给终端设备时才执行。
- 两者紧密关联但独立工作:过滤是控制机制,移除是传输机制的一部分。
配置VLAN的步骤
- 创建VLAN: 在交换机上定义一个新的VLAN,并分配一个唯一的VLAN ID。
- 分配端口: 将交换机的物理端口分配给特定的VLAN。分配可以是:
- Access端口: 属于单个VLAN,用于连接终端设备。
- Trunk端口: 用于传输多个VLAN的流量,通常连接其他交换机或路由器。
- 配置VLAN间通信(可选): 如果需要实现不同VLAN之间的通信,可以使用路由器或三层交换机。
应用场景
- 企业网络分区: 按部门(如财务、研发、市场)划分网络。
- 提高安全性: 隔离敏感数据或设备。
- 优化流量: 减少广播域,提高带宽利用率。
- 灵活的网络设计: 在同一物理网络中创建多个逻辑网络。
VLAN是一种常见的网络虚拟化技术,广泛应用于企业和数据中心网络中。
VLAN间通信
在计算机网络中,VLAN(虚拟局域网)是一种用于划分广播域的技术。如果不同的VLAN需要通过网络主干进行通信,通常需要使用路由技术或三层交换技术。以下是实现VLAN之间通过网络主干通信的常见方法:
1. 使用路由器(Router on a Stick)
路由器可以通过一条物理链路(或多条链路)实现多个VLAN之间的通信。
- 配置步骤:
- 在交换机上配置VLAN并分配端口。
- 使用一根网线将交换机与路由器连接。
- 在路由器的物理接口上配置子接口(每个子接口对应一个VLAN)。
- 在每个子接口上配置对应的IP地址,并启用 802.1Q 协议标记 VLAN。
- 交换机的连接端口需要配置为Trunk模式。
- 优点: 适用于中小型网络,简单易实现。
- 缺点: 单接口可能成为性能瓶颈。
2. 使用三层交换机
三层交换机可以同时具备二层交换和三层路由的功能。
- 配置步骤:
- 在交换机上配置VLAN,并分配各端口到对应的VLAN。
- 在三层交换机中启用SVI(Switched Virtual Interface),为每个VLAN创建一个虚拟接口并分配IP地址。
- 确保启用三层功能(如ip routing命令)。
- 配置网络主干链路为Trunk模式,允许所有VLAN流量通过。
- 优点: 性能高,适用于大型网络,且支持更多功能(如访问控制列表ACL、QOS等)。
- 缺点: 硬件成本较高。
3. 使用VLAN间路由协议
在大型网络中,可以通过动态路由协议(如OSPF、EIGRP)与VLAN结合,管理多台路由器或三层交换机之间的VLAN通信。
主干链路的配置要点
- Trunk模式:
主干链路通常需要配置为Trunk模式(因为要同时负责传输多个VLAN的流量),使用IEEE 802.1Q协议传输带有VLAN标签的数据帧。
- 交换机命令示例(Cisco设备):
2. 允许通过的VLAN:
确保主干链路允许所需VLAN通过,可以通过allowed vlan命令限制某些VLAN的通过。
3. VLAN的IP地址:
每个VLAN需要配置一个网关(路由器或三层交换机上的IP地址),供终端设备通信。
总结:
- 对于简单场景,路由器的子接口方法适用。
- 对于高性能需求,推荐使用三层交换机。
- 确保主干链路正确配置为Trunk模式,并允许所需的VLAN通信。
Access模式
每个VLAN对应专门交换机端口
连接到端口的设备完全意识不到VLAN的存在, 因为VLAN TAG等事物只在网络主干上存在, 交付之前都会去掉
交换机的 Access 模式(Access Mode) 是一种交换机端口配置模式,通常用于接入端口(Access Port)。在该模式下,交换机的端口只能属于一个特定的 VLAN,并且所有连接到该端口的设备都会被分配到该 VLAN。这种配置方式通常用于连接单一设备(如电脑、打印机或其他终端设备),而不是连接其他交换机或路由器。
Access 模式的工作原理
- 单一VLAN:
- 在 Access 模式下,交换机端口只属于一个特定的 VLAN。所有通过该端口传输的数据帧都将被视为该 VLAN 的一部分。
- 不支持VLAN标记:
- 与 Trunk 模式不同,Access 模式的端口不传输带有 VLAN 标记(Tag)的帧。数据帧在经过 Access 端口时,VLAN 标记会被移除,并且交换机根据端口所属的 VLAN 来识别和处理数据。
- 设备接入:
- 当设备(如 PC)连接到一个配置为 Access 模式的端口时,它自动成为该 VLAN 的一部分。此时,无论设备本身的设置如何,它都会被认为属于该 VLAN。
- 适用于终端设备:
- Access 模式适用于与终端设备(例如计算机、打印机、IP 电话等)连接的端口,因为这些设备通常不需要理解 VLAN 标记。
配置方式
在 Cisco 交换机中,配置端口为 Access 模式的命令如下:
在这个例子中,端口 GigabitEthernet0/1 被配置为 Access 模式,并被分配到 VLAN 10。这意味着所有通过这个端口的流量都将被标记为 VLAN 10,并且该端口只能传输 VLAN 10 的流量。
Access 模式的特点
- 简单易用:
- Access 模式配置简单,适合连接单一终端设备。通常用于办公桌、打印机等设备的网络接入。
- VLAN隔离:
- 端口属于某个特定 VLAN,这样可以确保网络的逻辑隔离。例如,VLAN 10 和 VLAN 20 的设备不会互相通信,除非通过路由器等设备进行跨 VLAN 通信。
- 不传递VLAN标签:
- 数据帧不会携带 VLAN 标签,因此该端口连接的设备无需理解或处理 VLAN 标签。
- 适用于终端设备:
• Access 模式适合与终端设备(如 PC、打印机、电话等)连接,因为这些设备通常不需要处理 VLAN 标签,只需接入某个 VLAN 即可。
Access 模式与 Trunk 模式的区别
特性 Access 模式 Trunk 模式
端口配置 端口属于一个特定的 VLAN 端口允许多个 VLAN 通过
VLAN 标记 不传输 VLAN 标签 传输带有 VLAN 标签的数据帧
适用场景 用于连接终端设备(如PC、打印机) 用于交换机之间或交换机与路由器之间的连接
数据帧处理 接收和发送的数据帧不带 VLAN 标签 传输的数据帧带有 VLAN 标签
VLAN 数量 每个端口只能属于一个 VLAN 每个端口可以传输多个 VLAN 的流量
实际应用场景
- 办公室网络:
- 每个办公桌上的计算机连接到配置为 Access 模式的端口,每个端口根据部门或需求分配到不同的 VLAN(如销售、研发、财务等)。
- 打印机或其他设备:
- 用于连接网络打印机、扫描仪等设备的端口通常配置为 Access 模式,并分配到特定的 VLAN。
- 无线接入点(AP):
- 无线接入点通常连接到交换机的 Access 模式端口,并将无线客户端分配到指定的 VLAN。
总结
Access 模式 是交换机端口配置的一种模式,通常用于连接终端设备。端口仅与一个 VLAN 关联,且不处理 VLAN 标记。它适用于小型网络和固定位置的设备,简化了配置和管理。如果需要通过同一端口传输多个 VLAN 的数据,应该使用 Trunk 模式。
Trunk模式
同时为多个VLAN提供统一的数据通路

严格区分VLAN:
- Trunk模式通过VLAN标记,确保不同VLAN的流量不会混淆。
- 交换机会根据VLAN标记,只允许对应VLAN的数据访问目标端口。
- 安全性和隔离:
- 虽然Trunk链路承载了多个VLAN的流量,但每个VLAN的数据仍然是隔离的,无法直接访问其他VLAN的数据。
- 选择性允许VLAN:
- Trunk模式可以通过配置只允许特定的VLAN流量通过(如
switchport trunk allowed vlan
命令),进一步增强控制。
Trunk模式的核心目的是通过一条统一的物理通路(Trunk链路)来高效地传输多个VLAN的数据,同时通过保留和处理VLAN Tag实现数据流的复用(合并传输)和分用(分发到对应VLAN)。以下是这个概念的详细解析:
Trunk模式如何实现数据传输的复用和分用
- 复用(Multiplexing)
- 当数据从交换机的某个VLAN端口发送到Trunk链路时,交换机会对该数据帧打上一个VLAN Tag(802.1Q标签)。
- Tag包含VLAN ID信息(如VLAN 10、VLAN 20等),这样多个VLAN的数据可以共享同一条物理链路进行传输,而不会发生混淆。
- 复用的意义: Trunk模式将多个VLAN的数据流合并到一条链路上,避免为每个VLAN单独布线,极大地提高了链路利用率
2. 分用(Demultiplexing)
- 当数据帧到达Trunk链路的接收端(如另一台交换机),交换机会根据帧中的VLAN Tag判断数据属于哪个VLAN。
- 然后,交换机会将数据分发到对应VLAN的端口,确保不同VLAN的流量相互隔离。
- 分用的意义: 保证多个VLAN的数据不会混淆,同时维持VLAN的逻辑隔离。
Trunk模式的核心优点
- 统一通路:使用一条物理链路(如光纤或以太网)即可传输多个VLAN的数据,减少链路数量,降低成本。
- 保留VLAN独立性:即使数据通过同一链路传输,VLAN的逻辑隔离性不会被破坏。
- 高效利用带宽:Trunk模式通过复用数据帧传输多个VLAN流量,避免了链路资源浪费。
- 灵活的网络扩展:新增VLAN时,只需在Trunk链路上添加允许通过的VLAN,避免了重新布线的麻烦。
Trunk模式是交换机端口的一种工作模式,用于在多个交换机之间传输多个VLAN的数据流量。它是IEEE 802.1Q协议的重要组成部分,主要目的是实现跨交换机的VLAN通信。
Trunk模式的核心特点
- 支持多VLAN通信:
- Trunk端口可以承载来自多个VLAN的数据流量。
- 每帧数据在传输时都携带一个802.1Q VLAN标记(Tag),指明其所属的VLAN。
- 用于交换机间的链路:
- Trunk模式常用于连接两台交换机,或者交换机和三层设备(如路由器、三层交换机)之间的链路。
- 保留VLAN标记:
- 在Trunk链路上传输的帧会携带802.1Q头部(4字节),标明该帧属于哪个VLAN。
- 只有在帧到达目标VLAN端口时,才会移除该标记。
- 默认VLAN(Native VLAN):
- 每个Trunk链路都有一个默认的Native VLAN,用于处理未标记的帧(默认VLAN通常是VLAN 1,可以更改)。
Trunk模式的应用场景
- 跨交换机的VLAN扩展:
- 两台交换机间通过Trunk链路传输VLAN数据,实现相同VLAN在不同交换机上的通信。
- VLAN间通信:
- Trunk模式用于将多个VLAN的数据传输到路由器或三层交换机,完成VLAN间的路由。
- 与服务器通信:
- 某些服务器支持Trunk模式,可以通过一根网线与多个VLAN通信(如虚拟化环境中)。
如果交换机下划分了多个VLAN,并且需要通过路由器来实现不同VLAN之间的通信,那么交换机连接到路由器时,通常必须将该端口设置为Trunk模式。
原因是:Trunk模式允许交换机的一个端口同时承载多个VLAN的数据流,通常会使用802.1Q协议对VLAN进行标识。这样,当数据包从交换机传输到路由器时,路由器就能够知道数据包属于哪个VLAN,并根据需要进行VLAN间的路由。若交换机端口是Access模式,它只能承载一个VLAN,无法支持多个VLAN的流量,无法实现跨VLAN通信。
因此,要确保不同VLAN之间能够通信,交换机到路由器的连接端口必须配置为Trunk模式。
VLAN实现
静态/动态 → 描述的是端口的分配规则(每个交换机端口都可以被分配到一个VLAN)
联想: 静态路由/动态路由描述的是路由的分配规则 DHCP → IP地址的分配规则
静态VLAN
定义:
静态VLAN是最常见的一种VLAN类型,通过手动配置,将交换机的端口固定分配到特定的VLAN中。
工作原理:
- 每个端口绑定到一个特定的VLAN。
- 当设备连接到某个端口时,无论设备的类型或用户身份,都会自动归属于该端口所属的VLAN。
- 这种分配方式与端口位置密切相关,因此又称为基于端口的VLAN。
配置方式:网络管理员手动将交换机的某些端口分配到指定的VLAN。
优点:
- 简单易管理,特别适合小型或稳定的网络。
- 不需要额外的设备或协议支持。
缺点:
- 缺乏灵活性,如果用户频繁更换设备或位置,需手动修改端口的VLAN配置。
- 难以应对大规模网络中的动态变化。
动态VLAN

定义:
动态VLAN通过自动识别设备的属性(如MAC地址、IP地址、用户名等),将设备动态分配到相应的VLAN中,而无需固定绑定交换机端口。
工作原理:
- 使用一个VLAN管理服务器(如VMPS,VLAN Management Policy Server)来维护设备属性与VLAN的映射关系。
- 当设备接入网络时,交换机会通过属性(如MAC地址)向VLAN管理服务器查询设备应属于哪个VLAN。
- 交换机根据查询结果将端口临时分配到对应的VLAN中。
配置方式:
- 配置VLAN管理服务器,并维护设备属性与VLAN的映射关系。
- 在交换机上启用动态VLAN功能并指向VLAN管理服务器。
优点:
- 灵活性高,设备移动时无需重新配置VLAN。
- 适合大型网络,尤其是用户或设备经常变动的场景。
缺点:
- 配置和管理复杂,需要额外的VLAN管理服务器和协议支持。
- 如果管理服务器出现故障,可能导致VLAN分配失败。
- 静态VLAN:
- 企业办公环境中,各部门的办公区域固定(如研发、销售、财务)。
- 网络拓扑较小且用户位置较少变动。
- 动态VLAN:
- 大型企业网络中,员工可能经常更换办公位置或使用移动设备。
- 需要根据用户身份或设备类型自动分配VLAN(如访客网络、员工网络等)。
总结
- 静态VLAN: 简单易用,适合小型或静态网络,但灵活性较低。
- 动态VLAN: 配置复杂,但适合需要高灵活性的大型网络环境。
根据实际需求选择合适的VLAN类型,可以有效提升网络管理效率和灵活性。
VLAN配置方法



VLAN间路由
路由器子接口
路由器的物理接口和子接口是指路由器上用于连接网络设备的不同类型的接口。
- 物理接口:物理接口是路由器上实际存在的硬件接口,通常与物理连接媒介(如电缆)直接关联。每个物理接口通常对应一个物理端口,用于连接不同的网络设备或链路。例如,路由器上的以太网端口、串行端口、光纤端口等,都是物理接口。每个物理接口都有一个唯一的接口标识符,例如 GigabitEthernet0/0 或 FastEthernet0/1。
- 子接口:子接口是通过在物理接口上创建虚拟接口来划分的,每个子接口可以配置不同的网络设置(如 IP 地址)。子接口是逻辑上存在的,它并不是物理设备上的独立端口,而是由物理接口分割出来的一个虚拟接口,常用于实现 VLAN 划分和多层交换等应用。在路由器上,子接口通常用于处理来自不同 VLAN 的流量,例如一个物理接口上可以配置多个子接口来同时处理不同的子网流量。一个典型的子接口命名方式是:GigabitEthernet0/0.10,其中 .10 是 VLAN 的编号。

路由配置
