局域网和广域网
本节主要关注以太网的传输介质和帧格式,往年在解答题出现了传输介质的名称,如果不知道对应的带宽就难搞了。VLAN 和 广域网的概念考查频率低一些,但也比较简单,熟悉下能在选择题应对就可。
局域网
局域网(Local Area Network,LAN)是一种覆盖范围较小、用于连接同一物理地点(如家庭、办公室、学校或企业内)的计算机和其他设备的计算机网络。
特性
局域网的特性主要由三个要素决定:拓扑结构、传输介质 和 介质访问控制方式,其中 介质访问控制方式 是最关键的因素,它决定了局域网的主要技术特性。
常见的局域网 拓扑结构 主要包括以下四类:
- 星形结构
- 环形结构
- 总线形结构
- 星形与总线形结合的复合型结构
在 传输介质 方面,局域网可以采用铜缆、双绞线和光纤等多种介质,其中 双绞线 是当前的主流传输介质。
局域网常用的 介质访问控制方法 包括 CSMA/CD 协议、令牌总线协议 和 令牌环协议。其中,CSMA/CD 协议和令牌总线协议主要应用于总线形局域网,而令牌环协议则主要用于环形局域网。
实现
局域网主要包含三种实现:
- 以太网(目前使用范围最广)。经典共享介质以太网在逻辑上是总线形;使用集线器时物理上呈星形、逻辑上仍共享介质。现代全双工交换式以太网则由点到点链路组成,不能一概说成逻辑总线。
- 令牌环(Token Ring,IEEE802.5)。逻辑拓扑是环形结构,物理拓扑是星形结构。
- FDDI(光纤分布式数据接口,Fiber Distributed Data Interface)。逻辑拓扑是环形,物理上常采用双环;它主要由 ANSI X3T9.5 制定并形成 ISO 9314 标准,不能写成 IEEE 802.8。
以太网
在实际的局域网应用中,由于 以太网 占据垄断地位,所以基本上成为了局域网的代名词,需要对局域网的概念有深入了解。
传输介质
以太网常用的传输介质有 4 种:粗缆、细缆、双绞线和光纤,这里需要熟练掌握它们的英文名,常在选择题中出现:
| 参数 | 10BASE5 | 10BASE2 | 10BASE-T | 10BASE-FL |
|---|---|---|---|---|
| 传输媒体 | 粗同轴电缆 | 细同轴电缆 | 双绞线 | 光纤对 |
| 速率 | 10 Mb/s | 10 Mb/s | 10 Mb/s | 10 Mb/s |
| 典型最大网段长度 | 500 m | 185 m | 100 m | 约 2 km(全双工链路可按标准实现判断) |
| 编码 | 曼彻斯特编码 | 曼彻斯特编码 | 曼彻斯特编码 | 曼彻斯特编码 |
| 拓扑结构 | 总线形 | 总线形 | 星形 | 点对点 |
| 使用阶段 | 早期以太网 | 早期以太网 | 双绞线以太网 | 光纤链路 |
注意上述传输介质的英文名称其实是挺有讲究的:
首先是前缀的数字,代表传输速率,10 表示 ,100 表示 。注意单位是 Mb/s 而不是 MB/s:。
其次是中间的 base,代表基带传输(Baseband),基带与宽带(broadband)相对应。基带表示直接传输原始数字信号,不调制;宽带代表使用模拟调制技术传输多个频道信号,常见于有线电视等。
最后是后缀的英文字母,代表的传输介质的类型:
帧格式
如上图所示,以太网帧格式从逻辑上可以分为物理层控制字段、帧首部、数据负载、差错校验字段这四个部分,每个字段的具体说明如下所示:
- 物理层控制字段
- 前导码(Preamble):7B
- 由 7 字节的交替的 1 和 0 位组成,用于同步接收方的时钟。
- 帧开始分隔符(Start of Frame Delimiter, SFD):1B
- 通常为 10101011,标志帧的开始。
- 前导码(Preamble):7B
- 帧首部:固定为 14B
- 目的地址(Destination MAC Address):6B
- 指定帧的接收者的物理 MAC 地址。
- 源地址(Source MAC Address):6B
- 指定帧发送者的物理 MAC 地址。
- 类型/长度字段(Type/Length):2B
- 如果值大于或等于 0x0600(1536),则表示帧携带的数据的类型(例如 IPv4、IPv6、ARP 等)。
- 如果值小于或等于 0x05DC(1500),则表示数据字段的长度。
- 1501~1535 是保留区间,不能按普通长度值或 EtherType 解释。
- 目的地址(Destination MAC Address):6B
- 负载
- 数据和填充(Data and Padding):范围为 46-1500B
- 携带帧的有效载荷,即要传输的数据。
- 如果数据少于 46 字节,则需要填充,确保数据字段的最小长度为 46 字节。
- 数据和填充(Data and Padding):范围为 46-1500B
- 差错校验字段
- 帧校验序列(Frame Check Sequence, FCS):4 字节:
- 一个循环冗余校验(CRC)值,用于错误检测。接收方计算帧的 CRC,并与这个字段进行比较,以确定帧是否在传输过程中被损坏。
- 帧校验序列(Frame Check Sequence, FCS):4 字节:
为什么前导码和帧开始定界符不计入以太网帧的最小和最大长度?
需要注意的是,Preamble 和 SFD 确实是以太网标准规定的格式的一部分,但它们属于 物理层 的内容,而非 数据链路层 中的以太网帧内容。
以太网分为 物理层 和 数据链路层。物理层负责比特级的传输和同步,而数据链路层负责处理数据的封装、地址标识和错误检测。
以太网帧的最大和最小长度
以太网帧的最小和最大大小(不包括前导码和帧开始定界符)有明确的规定,目的是确保帧的有效性并避免冲突。
标准无标签以太网帧的长度(从目的 MAC 地址到 FCS)最小为 64 B,最大为 1518 B:
最小帧大小的要求是为了确保半双工共享以太网的冲突检测机制(CSMA/CD)能够正常工作。插入 4 B 的 802.1Q 标签后,最大长度通常相应变为 1522 B;巨型帧(Jumbo Frame)不属于基本标准帧长。
以太网帧数据部分的最小大小为 46 B,最大大小为 1500 B。常说的以太网 MTU=1500 B 指 IP 等上层交给以太网的数据字段最大长度,不是把整个 1518 B 帧都称为 MTU。
以太网帧填充
当 MAC 客户数据不足 46 B 时,发送端在其末尾填充 0,使“数据 + 填充”达到 46 B。接收端根据 EtherType 对应的上层协议长度信息或 IEEE 802.3 长度字段识别有效数据;不能笼统地说以太网一定读取 IP 首部长度,因为帧还可能承载 ARP 等其他协议。
无线局域网
帧格式
802.11 帧共有三种类型,即数据帧、控制帧和管理帧。数据帧的格式如图 3.28 所示。
802.11 数据帧由 MAC 首部、帧主体与 4 B 的 FCS 组成。MAC 首部长度是 可变的:基本数据帧常为 24 B;使用地址 4 时通常增加到 30 B,QoS、HT Control 等可选字段还会继续增加。教材图若画出 4 个地址字段,不能据此断言所有 802.11 数据帧首部固定为 30 B。帧主体上限随具体帧类型和标准版本而异,基础教材常按不超过 2312 B 记忆。
可以观察到,802.11 帧首部中字段很多,但是其实主要考察的就是个别字段。
其中最重要的是 4 个地址字段(都是 MAC 地址)。字段含义取决于帧控制字段中的 To DS(去往分布式系统)和 From DS(来自分布式系统):
| To DS | From DS | 地址 1 | 地址 2 | 地址 3 | 地址 4 |
|---|---|---|---|---|---|
| 0 | 0 | DA/RA | SA/TA | BSSID | 未使用 |
| 0 | 1 | DA/RA | BSSID/TA(AP) | SA | 未使用 |
| 1 | 0 | BSSID/RA(AP) | SA/TA | DA | 未使用 |
| 1 | 1 | RA | TA | DA | SA |
其中 RA/TA 是当前无线链路的接收者/发送者地址,DA/SA 是最终目的/源地址,BSSID 通常标识接入点或基本服务集。地址 4 主要在无线分布式系统(WDS)等 To DS=1、From DS=1 的场景使用,不宜简单称为“自组网络专用”。
💡核心记忆点:
- 地址 1:谁接收这帧(无线信号的接收者)
- 地址 2:谁发的这帧(无线信号的发送者)
- 地址 3:通信的最终目标或源(真实的目的地或来源)
VLAN
VLAN(Virtual Local Area Network)虚拟局域网,是通过 逻辑划分 的方式,把一个物理局域网拆分成多个独立的子网。
打个比方:一家公司只有一个办公室(一个交换机),但希望让财务部、技术部和人事部各自的数据隔离,互不干扰。VLAN 就像是在这一个办公室里,用“看不见的墙”把它们隔开,互相听不到对方说话。
⚙️ 那么 VLAN 是如何实现的呢?
VLAN 是通过 交换机 和 VLAN 标签(Tag) 实现的。简单来说:
- 普通交换机:看网线在哪个口(port)来转发数据。
- 支持 VLAN 的交换机:会在数据包中加上 VLAN 标签,按“部门”来转发。
IEEE 802.1Q 定义了 VLAN 标记帧格式。它在源 MAC 地址与原类型/长度字段之间插入 4 B VLAN 标签(TPID + TCI),其中 TCI 包含优先级、DEI 与 VLAN ID。插入标签的帧称为 802.1Q 帧,如下图所示。
其中 VID(VLAN ID) 为 12 位,共有 4096 个编码值;VID 0 与 4095 具有保留用途,因此通常可用 VLAN ID 为 1~4094,即 4094 个。
📦 VLAN 示例: 假设有三台电脑:
- PC1:财务部,接在 VLAN 10
- PC2:技术部,接在 VLAN 20
- PC3:人事部,接在 VLAN 30
它们都连在一台交换机上,如果没有 VLAN,三者可以互相通信。如果配置了 VLAN:
- PC1 发的广播,只有 VLAN 10 内的设备能收到。
- PC2 和 PC3 不会收到 PC1 的数据,除非通过路由器(或者三层交换机)跨 VLAN 通信。
广域网
HDLC 协议
HDLC(High-Level Data Link Control,高级数据链路控制)是一种 面向比特(bit-oriented) 的 数据链路层协议,用于在点对点或点对多点通信中提供可靠的数据传输。
HDLC 几个特点可以被简单总结为:面向比特、面向连接、提供可靠传输。
需要注意的是 HDLC 使用 零比特填充法 来组帧。
PPP 协议
PPP(Point-to-Point Protocol)是一种数据链路层协议,用于在两个点对点连接的网络之间传输数据。PPP 最初是为拨号连接设计的,但它后来被广泛用于建立各种类型的点对点连接,包括 DSL(数字用户线路)、ISDN(综合业务数字网) 和串口连接等。
PPP 由封装方法、链路控制协议 LCP 和一组网络控制协议 NCP 构成,可进行链路配置与多种网络层协议协商。PPP 帧用 FCS 检错,但 PPP 本身 不提供序号、确认、重传和流量控制,不能把“有检错”误判为“可靠传输”。