软考(软件设计师)计算机网络-物理层,数据链路层
特性 | 局域网 (LAN) | 城域网 (MAN) | 广域网 (WAN) |
---|---|---|---|
覆盖范围 | 很小 (建筑、园区) | 中等 (城市) | 很大 (地区、国家、全球) |
所有权 | 单一组织/个人 | 运营商/市政/大型机构 | 电信运营商/服务提供商 |
速度 | 非常高 (Gbps~10Gbps+) | 高~中高 (Mbps~10Gbps+) | 范围广 (Kbps~Gbps+,接入通常低于LAN/MAN) |
延迟 | 非常低 (微秒级) | 低~中 (微秒~毫秒级) | 较高 (毫秒~百毫秒级+) |
错误率 | 低 | 较低 | 相对较高 (依赖距离和链路质量) |
成本 | 低 (相对范围) | 中等 | 高 (尤其高速专线) |
典型技术 | 以太网 (IEEE 802.3), WiFi (802.11) | 光纤以太网, DWDM, MPLS, PON (光纤到户) | MPLS, SD-WAN, IPsec/SSL VPN, 互联网BGP, 专线 (SDH/SONET), 卫星 |
主要设备 | 交换机, AP, 路由器 (边界) | 高端路由器, 核心交换机, 光传输设备 | 核心路由器 (运行BGP), SD-WAN设备, WAN优化器, 光传输设备 |
网络的拓扑结构
计算机网络性能
一、性能指标(量化指标)
-
速率(Rate)
- 定义:数据传输速率
- 公式:无特定公式,直接表示
- 单位:bit/s(比特每秒)
- 常用单位换算:
- 1 kbit/s = 10³ bit/s
- 1 Mbit/s = 10⁶ bit/s
- 1 Gbit/s = 10⁹ bit/s
-
带宽(Bandwidth)
- 时域定义:信道最高数据率
- 单位:bit/s
- 频域定义:信号频率范围
- 单位:Hz(赫兹)
- 时域定义:信道最高数据率
-
吞吐量(Throughput)
- 定义:单位时间实际传输数据量
- 单位:bit/s(或 Byte/s、帧/秒)
-
时延(Delay)
- 总时延公式:
总时延 (s)=发送时延+传播时延+处理时延+排队时延\text{总时延 (s)} = \text{发送时延} + \text{传播时延} + \text{处理时延} + \text{排队时延}总时延 (s)=发送时延+传播时延+处理时延+排队时延
- 分项时延:
类型 | 公式 | 说明 |
---|---|---|
发送时延 | 数据帧长度 (bit)/发送速率 (bit/s) | 帧长:比特(bit) |
传播时延 | 信道长度 (m)/传播速率 (m/s) | 距离:米(m);光速:3×10⁸ m/s |
处理时延 | 设备处理时间 | 通常为毫秒(ms)级 |
排队时延 | 分组在队列等待时间 | 取决于网络拥塞程度 |
-
时延带宽积(Delay-Bandwidth Product)
-
公式:
时延带宽积 (bit)=传播时延 (s)×带宽 (bit/s)\text{时延带宽积 (bit)} = \text{传播时延 (s)} \times \text{带宽 (bit/s)}时延带宽积 (bit)=传播时延 (s)×带宽 (bit/s)
-
-
往返时间(RTT, Round-Trip Time)
- 定义:双向交互一次所需时间
- 单位:s(秒)
- 典型场景:
- 卫星链路:约 0.27 s
- 光纤链路:每 1000 km 约 0.005 s
-
利用率(Utilization)
-
公式:
当前时延 D(s)=空闲时延 D0(s)1−利用率 U\text{当前时延 } D \text{ (s)} = \frac{\text{空闲时延 } D_0 \text{ (s)}}{1 - \text{利用率 } U}当前时延 D (s)=1−利用率 U空闲时延 D0 (s)
-
二、非性能特征(定性指标)
- 费用:成本效益平衡
- 质量:可靠性、故障率
- 标准化:协议兼容性(如 TCP/IP)
- 可靠性:抗故障能力
- 可扩展性:支持未来扩容
- 管理维护:运维复杂度
计算机网络体系结构
物理层
物理层关键功能
- 比特编码:将数据链路层的帧转换为物理信号
- 传输方式控制:
- 串行传输(主流:逐比特发送,如 USB、SATA)。
- 并行传输(淘汰:多线同步发送,如老式打印机接口)。
- 同步控制:确保收发双方时钟一致(如以太网的 前导码 同步时钟)。
- 物理介质管理:定义如何通过电缆/光纤/无线电传输比特。
传输媒体 | 物理层协议 | 应用案例 |
---|---|---|
双绞线 | IEEE 802.3 (以太网) | 家庭宽带(Cat 6 线支持 1 Gbit/s) |
同轴电缆 | DOCSIS 3.1 | 有线电视宽带(HFC 网络) |
光纤 | ITU-T G.652 | 数据中心互联(100Gbase-LR 光模块) |
无线电波 | IEEE 802.11ac | Wi-Fi 6(5 GHz 频段,最高 9.6 Gbit/s) |
数据链路层
封装成帧
封装成帧的核心目的
-
界定帧的边界:使接收端能从接收的比特流中准确识别帧的开始和结束位置。
-
包含控制信息:首部和尾部携带必要的控制信息(如同步信息、地址信息、差错控制等),确保数据正确传输。
封装成帧的过程
- 添加首部和尾部
数据链路层接收网络层的 IP 数据报后,在其前后分别添加首部(Header)和尾部(Trailer),形成完整的帧。首部包含帧定界符、地址信息等,尾部通常包含帧检验序列(FCS)用于差错检测。
-
帧的结构:
-
限制:帧的数据部分长度需不超过最大传送单元(MTU),以提高传输效率。
- 帧定界方法
当数据为可打印的 ASCII 码文本时,常用特殊控制字符作为帧定界符:
-
帧开始符(SOH):标记帧的起始;
-
帧结束符(EOT):标记帧的结束。
透明传输
一、核心问题:帧定界与数据冲突
数据链路层通过 “帧” 封装数据,帧的首部和尾部包含控制信息(如帧开始 / 结束标志)。若数据部分恰好出现与控制信息相同的比特序列(如帧结束标志),接收端会误判帧边界,导致传输错误。
例:若帧结束标志为EOT(十六进制04),而数据中恰好包含EOT,会被误认为帧结束,导致后续数据丢失。
二、解决方法
根据传输方式(异步 / 同步),透明传输通过以下两种填充技术实现:
1. 字节填充(字符填充,用于异步传输)
-
原理:发送端检测到数据中出现控制字符(如帧定界符SOH、EOT或转义符ESC)时,在其前插入转义符ESC(十六进制7D);接收端删除插入的ESC,恢复原始数据。
-
实例:
原始数据(十六进制):7E FE 27 7D 5E(含帧结束标志7E和转义符7D)
发送端填充后:7D 7E FE 27 7D 7D 5E
接收端恢复后:7E FE 27 7D 5E
差错检测
可参考CRC
一、CRC 检验的基本原理
- 核心思想
发送端将数据划分为固定长度的组(如k比特),通过多项式运算生成一个n比特的冗余码(帧检验序列 FCS),附加在数据后形成k+n比特的帧发送。接收端通过相同的多项式运算验证冗余码,若结果为 0 则认为无差错,否则判定为出错。
- 关键步骤
-
多项式选择:收发双方约定一个n+1阶的生成多项式P(x)(如CRC-16 = x¹⁶ + x¹⁵ + x² + 1)。
-
冗余码计算:
-
数据M后添加n个 0,得到2ⁿ×M;
-
用P(x)对应的二进制数对2ⁿ×M做模 2 除法(加法不进位,减法不借位),得到的余数即为n比特冗余码。
二、实例说明(以 101001 为例)
- 已知条件
-
数据M = 101001(k=6比特);
-
生成多项式P(x) = x³ + x² + 1,对应二进制1101(n=3比特)。
- 计算过程
-
数据后加 3 个 0:101001000;
-
模 2 除法:用1101除101001000,余数为001(冗余码);
-
发送帧:101001001(数据 + 冗余码)。
- 接收端检验
- 对接收帧做同样的模 2 除法,若余数为 0 则无差错,否则丢弃帧。
三、图示:CRC 检验流程
四、CRC 的特点
-
检错能力:能检测出所有奇数个比特错、长度≤n的突发错,以及大部分更长的突发错。
-
局限性:属于无纠错能力的检错技术,若检测到错误,需通过上层协议(如 TCP)重传数据。
通过 CRC 检验,数据链路层可将未检测到的差错概率降至极低(如10⁻¹⁴以下),为数据传输提供基本可靠性保障。
PPP协议
PPP(Point-to-Point Protocol,点对点协议)是数据链路层的核心协议之一,主要用于在点对点链路(如用户计算机与 ISP 之间的拨号链路)上实现可靠的数据传输,是用户接入互联网时常用的链路层协议。
一、PPP 协议的核心原理
- 无连接与不可靠传输
PPP 协议不提供连接建立和释放的复杂流程,也不保证数据的可靠交付(不纠错、不重传),仅通过循环冗余检验(CRC) 检测错误:接收端对收到的帧进行 CRC 计算,若结果为 0 则认为无差错并接收,否则丢弃帧。
- 例:用户通过 ADSL 拨号上网时,计算机与运营商服务器间通过 PPP 协议封装数据,若传输中出现比特错误,接收端会直接丢弃错误帧,由上层协议(如 TCP)负责重传。
- 透明传输机制
为避免数据中出现与帧定界符(0x7E)冲突的比特序列,PPP 采用字节填充或零比特填充技术:
-
字节填充:数据中若出现 0x7E,发送端会在其前插入 0x7D,并将 0x7E 转换为 0x5E;接收端删除 0x7D,恢复原始数据。
-
零比特填充:同步传输时,每遇到 5 个连续 “1” 就插入 1 个 “0”,接收端删除插入的 “0”,确保不与帧标志(01111110)冲突。
二、PPP 协议的作用
- 链路控制:通过链路控制协议(LCP) 协商链路参数(如最大帧长、是否使用认证),建立和释放数据链路。
- 例:拨号连接时,LCP 会协商是否采用口令认证(如 PAP 或 CHAP),验证用户身份后建立链路。
- 网络层适配:通过网络控制协议(NCP) 支持多种网络层协议(如 IP、IPX),动态分配 IP 地址、配置 DNS等网络层参数。
- 例:用户拨号成功后,IPCP(IP 控制协议)会为用户分配临时 IP 地址,使其接入互联网。
三、PPP 协议的组成
帧定界符(0x7E
),标识帧的开始和结束
四、图示:PPP 协议工作流程
信道利用率
信道利用率(Channel Utilization):
指成功传输有效数据的时间占总信道时间的比例:
U=T有效T总×100%U = \frac{T_{\text{有效}}}{T_{\text{总}}} \times 100\%U=T总T有效×100%
其中:
- ( T有效T_{\text{有效}}T有效 ) = 成功传输一帧中有效数据的时间(载荷部分)
- ( T总T_{\text{总}}T总 ) = 传输该帧的总时间(包括传输时间、传播时延、冲突时间、空闲时间等)
影响利用率的关键因素
1. 冲突(Collision)
以太网使用 CSMA/CD(载波侦听多路访问/冲突检测)机制,冲突会导致时间浪费:
2. 帧间隔(IFG)
帧之间需预留 9.6μs 空闲时间(10Mbps以太网):
[ TIFG=9.6μsT_{\text{IFG}} = 9.6 \mu sTIFG=9.6μs ]
3. 帧结构开销
每帧有 26字节固定开销:
- 前导码(7字节) + SFD(1字节)
- 目的MAC(6字节) + 源MAC(6字节)
- 类型(2字节) + FCS(4字节)
有效载荷占比:
[ ηframe=LpayloadLpayload+26\eta_{\text{frame}} = \frac{L_{\text{payload}}}{L_{\text{payload}} + 26}ηframe=Lpayload+26Lpayload ]
4. 传播时延(( \tau ))
信号在介质中传播的时间:
[ τ=距离光速×速率因子\tau = \frac{\text{距离}}{\text{光速} \times \text{速率因子}}τ=光速×速率因子距离 ]
(光纤中速率因子≈0.67)
极限利用率计算(理想模型)
在无冲突、无空闲的理想情况下,最大利用率由帧长和传播时延决定:
[ Umax=TframeTframe+2τU_{\text{max}} = \frac{T_{\text{frame}}}{T_{\text{frame}} + 2 \tau}Umax=Tframe+2τTframe ]
其中:
- ( TframeT_{\text{frame}}Tframe ) = 传输一帧所需时间
- ( τ\tauτ ) = 单程最大传播时延
- ( 2τ2\tau2τ ) = 往返时延(RTT),确保冲突可被检测
实际利用率(考虑冲突)
实际网络存在冲突,利用率显著降低。关键参数:
- ( a=τTframea = \frac{\tau}{T_{\text{frame}}}a=Tframeτ )(归一化传播时延)
- ( N ) = 竞争站点数
- ( p ) = 每个站点发送概率
利用率公式(Lam’s模型):
[ U=11+2a⋅(1+Ap)U = \frac{1}{1 + 2a \cdot (1 + \frac{A}{p})}U=1+2a⋅(1+pA)1 ]
其中 ( A=1−(1−p)NNp(1−p)N−1A = \frac{1 - (1 - p)^N}{N p (1 - p)^{N-1}}A=Np(1−p)N−11−(1−p)N ) 是冲突系数
总结:
- 理想利用率: ( U=TframeTframe+2τU = \frac{T_{\text{frame}}}{T_{\text{frame}} + 2\tau}U=Tframe+2τTframe )
- 实际利用率受冲突、帧长、距离、站点数影响
- 现代以太网通过交换和全双工实现 >95% 利用率
- 关键优化方向:增大帧长、分割冲突域、升级协议
以太网MAC层
一、MAC层核心作用
以太网的MAC层(Media Access Control)是数据链路层的核心子层,主要承担三大功能:
-
帧封装与解封装
- 将网络层数据包封装成帧
- 从物理层接收比特流中提取有效帧
-
介质访问控制
- 协调多个设备共享信道(CSMA/CD协议)
- 避免传输冲突
-
寻址与转发
- 使用MAC地址标识设备
- 决定帧的转发路径
二、MAC帧结构详解
字段 | 长度 | 功能说明 |
---|---|---|
前同步码 | 7字节 | 10101010 交替模式,用于时钟同步 |
帧开始定界符 | 1字节 | 10101011 标识帧开始 |
目的MAC地址 | 6字节 | 接收方物理地址(FF:FF:FF:FF:FF:FF为广播地址) |
源MAC地址 | 6字节 | 发送方物理地址 |
类型 | 2字节 | 上层协议类型(IPv4等) |
数据 | 46-1500字节 | 有效载荷(IP数据包),最小46字节(不足需填充) |
FCS | 4字节 | 帧校验序列(CRC-32) |
三、MAC地址
- 48位全局唯一标识(如:
00:1A:2B:3C:4D:5E
) - 前24位:OUI(组织唯一标识符),由IEEE分配
- 后24位:设备序列号,由厂商分配
- 特殊地址:
- 广播地址:
FF:FF:FF:FF:FF:FF
- 广播地址:
四、MAC层工作流程
发送端流程:
接收端流程:
五、MAC层关键服务
-
无连接服务
- 直接发送数据,无需建立连接
- 示例:ARP请求
-
不可靠交付
- 不保证帧到达,无重传机制
- 错误处理:校验失败直接丢弃
-
半双工/全双工支持
- 传统:半双工(CSMA/CD)
- 现代:全双工(交换机)
总结
- 物理地址管理:通过MAC地址唯一标识设备
- 高效介质共享:CSMA/CD解决信道竞争问题
- 可靠帧传输:CRC校验保障数据完整性
MAC层作为数据链路层的核心,在局域网通信中起着承上启下的关键作用,是现代网络通信不可或缺的基础组件。
虚拟局域网(VLAN)
一、VLAN核心原理
虚拟局域网(VLAN) 是一种将物理局域网在逻辑上划分为多个独立广播域的技术,通过软件配置而非物理位置实现网络分段。核心原理是在数据帧中添加VLAN标签(802.1Q标准),使交换机能够识别并隔离不同VLAN的流量。
二、VLAN核心作用
作用 | 说明 | 优势 |
---|---|---|
广播控制 | 限制广播域范围 | 减少网络拥塞,提升性能 |
安全隔离 | 隔离敏感部门数据 | 防止未授权访问 |
灵活组网 | 按逻辑而非物理位置分组 | 简化设备移动管理 |
资源优化 | 减少路由需求 | 降低网络延迟 |
三、实际应用场景
总结:VLAN的核心价值
传统LAN局限 | VLAN解决方案 |
---|---|
广播域覆盖整个物理网络 | 多个逻辑广播域 |
物理位置决定网络分组 | 逻辑分组,位置无关 |
设备移动需重新布线 | 配置迁移,无需物理变更 |
安全策略基于物理边界 | 基于逻辑分组的精细控制 |
VLAN技术通过逻辑划分广播域,解决了传统局域网中的性能、安全和扩展性问题,是现代网络架构的基础。掌握VLAN的原理和配置,是构建高效、安全企业网络的必备技能。