当前位置: 首页 > news >正文

软考(软件设计师)计算机网络-物理层,数据链路层

特性局域网 (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优化器, 光传输设备

网络的拓扑结构
在这里插入图片描述


计算机网络性能

一、性能指标(量化指标)

  1. 速率(Rate)

    • 定义:数据传输速率
    • 公式:无特定公式,直接表示
    • 单位:bit/s(比特每秒)
    • 常用单位换算:
      • 1 kbit/s = 10³ bit/s
      • 1 Mbit/s = 10⁶ bit/s
      • 1 Gbit/s = 10⁹ bit/s
  2. 带宽(Bandwidth)

    • 时域定义:信道最高数据率
      • 单位:bit/s
    • 频域定义:信号频率范围
      • 单位:Hz(赫兹)
  3. 吞吐量(Throughput)

    • 定义:单位时间实际传输数据量
    • 单位:bit/s(或 Byte/s、帧/秒)
  4. 时延(Delay)

    • 总时延公式

    总时延 (s)=发送时延+传播时延+处理时延+排队时延\text{总时延 (s)} = \text{发送时延} + \text{传播时延} + \text{处理时延} + \text{排队时延}总时延 (s)=发送时延+传播时延+处理时延+排队时延

    • 分项时延
类型公式说明
发送时延数据帧长度 (bit)/发送速率 (bit/s)帧长:比特(bit)
传播时延信道长度 (m)/传播速率 (m/s)距离:米(m);光速:3×10⁸ m/s
处理时延设备处理时间通常为毫秒(ms)级
排队时延分组在队列等待时间取决于网络拥塞程度
  1. 时延带宽积(Delay-Bandwidth Product)

    • 公式:

      时延带宽积 (bit)=传播时延 (s)×带宽 (bit/s)\text{时延带宽积 (bit)} = \text{传播时延 (s)} \times \text{带宽 (bit/s)}时延带宽积 (bit)=传播时延 (s)×带宽 (bit/s)

  2. 往返时间(RTT, Round-Trip Time)

    • 定义:双向交互一次所需时间
    • 单位:s(秒)
    • 典型场景
      • 卫星链路:约 0.27 s
      • 光纤链路:每 1000 km 约 0.005 s
  3. 利用率(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)


二、非性能特征(定性指标)

  1. 费用:成本效益平衡
  2. 质量:可靠性、故障率
  3. 标准化:协议兼容性(如 TCP/IP)
  4. 可靠性:抗故障能力
  5. 可扩展性:支持未来扩容
  6. 管理维护:运维复杂度

计算机网络体系结构

在这里插入图片描述


物理层

物理层关键功能

  1. 比特编码:将数据链路层的帧转换为物理信号
  2. 传输方式控制
    • 串行传输(主流:逐比特发送,如 USB、SATA)。
    • 并行传输(淘汰:多线同步发送,如老式打印机接口)。
  3. 同步控制:确保收发双方时钟一致(如以太网的 前导码 同步时钟)。
  4. 物理介质管理:定义如何通过电缆/光纤/无线电传输比特。
传输媒体物理层协议应用案例
双绞线IEEE 802.3 (以太网)家庭宽带(Cat 6 线支持 1 Gbit/s)
同轴电缆DOCSIS 3.1有线电视宽带(HFC 网络)
光纤ITU-T G.652数据中心互联(100Gbase-LR 光模块)
无线电波IEEE 802.11acWi-Fi 6(5 GHz 频段,最高 9.6 Gbit/s)

数据链路层

在这里插入图片描述

封装成帧

封装成帧的核心目的
  • 界定帧的边界:使接收端能从接收的比特流中准确识别帧的开始和结束位置。

  • 包含控制信息:首部和尾部携带必要的控制信息(如同步信息、地址信息、差错控制等),确保数据正确传输。

封装成帧的过程
  1. 添加首部和尾部

数据链路层接收网络层的 IP 数据报后,在其前后分别添加首部(Header)和尾部(Trailer),形成完整的帧。首部包含帧定界符、地址信息等,尾部通常包含帧检验序列(FCS)用于差错检测。

  • 帧的结构:
    在这里插入图片描述

  • 限制:帧的数据部分长度需不超过最大传送单元(MTU),以提高传输效率。

  1. 帧定界方法

当数据为可打印的 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 检验的基本原理
  1. 核心思想

发送端将数据划分为固定长度的组(如k比特),通过多项式运算生成一个n比特的冗余码(帧检验序列 FCS),附加在数据后形成k+n比特的帧发送。接收端通过相同的多项式运算验证冗余码,若结果为 0 则认为无差错,否则判定为出错。

  1. 关键步骤
  • 多项式选择:收发双方约定一个n+1阶的生成多项式P(x)(如CRC-16 = x¹⁶ + x¹⁵ + x² + 1)。

  • 冗余码计算

  1. 数据M后添加n个 0,得到2ⁿ×M;

  2. 用P(x)对应的二进制数对2ⁿ×M做模 2 除法(加法不进位,减法不借位),得到的余数即为n比特冗余码。

二、实例说明(以 101001 为例)
  1. 已知条件
  • 数据M = 101001(k=6比特);

  • 生成多项式P(x) = x³ + x² + 1,对应二进制1101(n=3比特)。

  1. 计算过程
  • 数据后加 3 个 0:101001000;

  • 模 2 除法:用1101除101001000,余数为001(冗余码);

  • 发送帧:101001001(数据 + 冗余码)。

  1. 接收端检验
  • 对接收帧做同样的模 2 除法,若余数为 0 则无差错,否则丢弃帧。
三、图示:CRC 检验流程
四、CRC 的特点
  • 检错能力:能检测出所有奇数个比特错、长度≤n的突发错,以及大部分更长的突发错。

  • 局限性:属于无纠错能力的检错技术,若检测到错误,需通过上层协议(如 TCP)重传数据。

通过 CRC 检验,数据链路层可将未检测到的差错概率降至极低(如10⁻¹⁴以下),为数据传输提供基本可靠性保障。


PPP协议

PPP(Point-to-Point Protocol,点对点协议)是数据链路层的核心协议之一,主要用于在点对点链路(如用户计算机与 ISP 之间的拨号链路)上实现可靠的数据传输,是用户接入互联网时常用的链路层协议。

一、PPP 协议的核心原理
  1. 无连接与不可靠传输

PPP 协议不提供连接建立和释放的复杂流程,也不保证数据的可靠交付(不纠错、不重传),仅通过循环冗余检验(CRC) 检测错误:接收端对收到的帧进行 CRC 计算,若结果为 0 则认为无差错并接收,否则丢弃帧。

  • 例:用户通过 ADSL 拨号上网时,计算机与运营商服务器间通过 PPP 协议封装数据,若传输中出现比特错误,接收端会直接丢弃错误帧,由上层协议(如 TCP)负责重传。
  1. 透明传输机制

为避免数据中出现与帧定界符(0x7E)冲突的比特序列,PPP 采用字节填充零比特填充技术:

  • 字节填充:数据中若出现 0x7E,发送端会在其前插入 0x7D,并将 0x7E 转换为 0x5E;接收端删除 0x7D,恢复原始数据。

  • 零比特填充:同步传输时,每遇到 5 个连续 “1” 就插入 1 个 “0”,接收端删除插入的 “0”,确保不与帧标志(01111110)冲突。

二、PPP 协议的作用
  1. 链路控制:通过链路控制协议(LCP) 协商链路参数(如最大帧长、是否使用认证),建立和释放数据链路。
  • 例:拨号连接时,LCP 会协商是否采用口令认证(如 PAP 或 CHAP),验证用户身份后建立链路。
  1. 网络层适配:通过网络控制协议(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=TT有效×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(1p)N11(1p)N ) 是冲突系数


总结

  1. 理想利用率: ( U=TframeTframe+2τU = \frac{T_{\text{frame}}}{T_{\text{frame}} + 2\tau}U=Tframe+2τTframe )
  2. 实际利用率受冲突、帧长、距离、站点数影响
  3. 现代以太网通过交换和全双工实现 >95% 利用率
  4. 关键优化方向:增大帧长、分割冲突域、升级协议

以太网MAC层

一、MAC层核心作用

以太网的MAC层(Media Access Control)是数据链路层的核心子层,主要承担三大功能:

  1. 帧封装与解封装

    • 将网络层数据包封装成帧
    • 从物理层接收比特流中提取有效帧
  2. 介质访问控制

    • 协调多个设备共享信道(CSMA/CD协议)
    • 避免传输冲突
  3. 寻址与转发

    • 使用MAC地址标识设备
    • 决定帧的转发路径
IP数据包
添加帧头帧尾
比特流
网络层
MAC层
物理层
传输介质
二、MAC帧结构详解

在这里插入图片描述

字段长度功能说明
前同步码7字节10101010交替模式,用于时钟同步
帧开始定界符1字节10101011标识帧开始
目的MAC地址6字节接收方物理地址(FF:FF:FF:FF:FF:FF为广播地址)
源MAC地址6字节发送方物理地址
类型2字节上层协议类型(IPv4等)
数据46-1500字节有效载荷(IP数据包),最小46字节(不足需填充)
FCS4字节帧校验序列(CRC-32)
三、MAC地址
  • 48位全局唯一标识(如:00:1A:2B:3C:4D:5E
  • 前24位:OUI(组织唯一标识符),由IEEE分配
  • 后24位:设备序列号,由厂商分配
  • 特殊地址
    • 广播地址:FF:FF:FF:FF:FF:FF
四、MAC层工作流程
发送端流程:
开始
接收网络层数据包
添加MAC头部:源/目的地址
计算FCS校验码
执行CSMA/CD
信道空闲?
发送帧
等待+退避
结束
接收端流程:
开始
接收比特流
识别帧起始
检查目的MAC
地址匹配?
校验FCS
丢弃帧
校验通过?
解封装送网络层
丢弃错误帧
结束
五、MAC层关键服务
  1. 无连接服务

    • 直接发送数据,无需建立连接
    • 示例:ARP请求
  2. 不可靠交付

    • 不保证帧到达,无重传机制
    • 错误处理:校验失败直接丢弃
  3. 半双工/全双工支持

    • 传统:半双工(CSMA/CD)
    • 现代:全双工(交换机)
总结
  1. 物理地址管理:通过MAC地址唯一标识设备
  2. 高效介质共享:CSMA/CD解决信道竞争问题
  3. 可靠帧传输:CRC校验保障数据完整性

MAC层作为数据链路层的核心,在局域网通信中起着承上启下的关键作用,是现代网络通信不可或缺的基础组件。


虚拟局域网(VLAN)

一、VLAN核心原理

虚拟局域网(VLAN) 是一种将物理局域网在逻辑上划分为多个独立广播域的技术,通过软件配置而非物理位置实现网络分段。核心原理是在数据帧中添加VLAN标签(802.1Q标准),使交换机能够识别并隔离不同VLAN的流量。

物理网络
逻辑划分
VLAN 10 - 财务部
VLAN 20 - 市场部
VLAN 30 - 研发部
二、VLAN核心作用
作用说明优势
广播控制限制广播域范围减少网络拥塞,提升性能
安全隔离隔离敏感部门数据防止未授权访问
灵活组网按逻辑而非物理位置分组简化设备移动管理
资源优化减少路由需求降低网络延迟
三、实际应用场景
Trunk
VLAN10
VLAN20
VLAN30
VLAN40
核心层
分布层
销售部
工程部
访客网络
IP电话
总结:VLAN的核心价值
传统LAN局限VLAN解决方案
广播域覆盖整个物理网络多个逻辑广播域
物理位置决定网络分组逻辑分组,位置无关
设备移动需重新布线配置迁移,无需物理变更
安全策略基于物理边界基于逻辑分组的精细控制

VLAN技术通过逻辑划分广播域,解决了传统局域网中的性能、安全和扩展性问题,是现代网络架构的基础。掌握VLAN的原理和配置,是构建高效、安全企业网络的必备技能。

http://www.dtcms.com/a/272005.html

相关文章:

  • QT - Qvector用法
  • Java设计模式之行为型模式(观察者模式)介绍与说明
  • 关于k8s Kubernetes的10个面试题
  • 【AXI】读重排序深度
  • Scala实现网页数据采集示例
  • linux的用户和权限(学习笔记
  • 西门子200SMART如何无线联三菱FX3U?御控工业网关实现多站点PLC无线通讯集中控制!
  • MiniGPT4源码拆解——models
  • 膨胀卷积介绍
  • QPC框架中状态机的设计优势和特殊之处
  • 大模型在膀胱癌诊疗全流程预测及应用研究报告
  • 【Linux基础命令使用】VIM编辑器的使用
  • 【个人笔记】负载均衡
  • Linux小白学习基础内容
  • LUMP+NFS架构的Discuz论坛部署
  • 可视化DIY小程序工具!开源拖拽式源码系统,自由搭建,完整的源代码包分享
  • Spring Boot 3.4 :@Fallback 注解 - 让微服务容错更简单
  • 分桶表的介绍和作用
  • OpenSearch 视频 RAG 实践
  • GO 启动 简单服务
  • 【YOLO脚本】yolo格式数据集删除缺失删除图片和标签
  • 青岛门卫事件后:高温晕厥救援技术突破
  • 文件系统----底层架构
  • 如何处理mocking is already registered in the current thread
  • IDEA 安装AI代码助手GitHub Copilot和简单使用体验
  • Apache http 强制 https
  • 百度文心ERNIE4.5部署与性能白皮书:FastDeploy加速方案+全系列模型实测数据对比
  • DVWA靶场通关笔记-弱会话IDs(Weak Session IDs Medium级别)
  • mmu 是什么?core和die是什么?
  • 计算机网络实验——无线局域网安全实验