概念✅
网络模型
答案
常见的网络模型分为如下三类
- 国际标准化组织(International Organization for Standardization,简称:ISO)定义的开放式系统互联模型(Open System Interconnection,简称 OSI)参考模型,将网络通信分为七个层次:
- 物理层(Physical Layer):负责在物理媒介上传输原始的比特流。处理机械、电气、功能和过程特性,以建立、维护和解除物理链路连接。例如:电缆规格、信号电平、数据传输速率等。
- 数据链路层(Data Link Layer):将比特流组织成帧,处理物理寻址、流量控制、错误检测与修正,确保节点间的无差错传输。主要协议有以太网、PPP等,设备包括交换机、网桥。
- 网络层(Network Layer):负责数据包从源到目的地的传递和路由选择。处理网络寻址、路由和流量控制,实现跨网络的分组传递。核心协议为IP,主要设备为路由器。
- 传输层(Transport Layer):提供端到端的可靠数据传输服务,处理分段、传输流控和错误恢复等功能。代表协议有TCP(可靠传输)和UDP(快速传输)。
- 会话层(Session Layer):建立、管理和终止应用程序之间的会话和对话。提供同步服务、会话恢复和检查点机制,控制网络连接的建立和中断。
- 表示层(Presentation Layer):处理数据格式转换、加密解密、压缩解压缩等数据表示问题,确保不同系统间信息的正确解释。负责字符编码、数据格式转换和加密。
- 应用层(Application Layer):为应用程序提供网络服务接口,使应用程序能够访问网络服务。包括HTTP、FTP、SMTP、DNS等协议,直接与用户交互。
- OSI 作为一个概念性框架,指导了网络架构的设计,实际的网络协议和实现可能并不完全遵循这个模型。目前最典型的模式是 TCP/IP参考模型(TCP/IP Reference Model):是互联网的基础架构,分为四层:
- 网络接口层(Network Interface Layer):负责物理传输和数据链路层的功能,处理数据帧的封装和解封装,包含了物理层和数据链路层的功能。
- 网络层(Internet Layer):负责数据包的路由选择和传递,核心协议为IP。
- 传输层(Transport Layer):提供端到端的数据传输服务,主要协议有TCP和UDP。
- 应用层(Application Layer):为应用程序提供网络服务接口,包括HTTP、FTP、SMTP等协议。包含了OSI模型的会话层、表示层和应用层的功能。
- 此外为了便于理论学习,会将 TCP/IP 参考模型进一步细分为五层模型,注意五层模型师理论学习的简化模型,而非实际标准。
- 物理层(Physical Layer):负责比特流的传输,处理物理媒介和信号。
- 数据链路层(Data Link Layer):负责数据帧的封装和解封装,处理物理寻址和流量控制。
- 网络层(Network Layer):负责数据包的路由选择和传递,核心协议为IP。
- 传输层(Transport Layer):提供端到端的数据传输服务,主要协议有TCP和UDP。
- 应用层(Application Layer):为应用程序提供网络服务接口,包括HTTP、FTP、SMTP等协议。
答案解析
分层是一种重要的架构设计方法,通过将复杂的系统分解为多个层次,从而简化设计,聚焦每层的职责和实现。分层设计使得系统更易于理解、维护和扩展。网络要解决的核心问题是如何实现跨空间的通信。分层将问题拆解如下
- 如何将信号转换为 0 和 1 的比特流?物理层
- 如何将比特流定位为数据包?数据链路层
- 如何将数据包路由到目标机器?网络层
- 如何确保目标机器收到的数据可靠性?传输层
- 如何让目标机器理解传输内容的含义?应用层
延伸阅读
- 深入浅出计算机网络 1.6.1 节 详细讲解了三种网络模型
网络的核心指标有哪些
答案
指标名称 | 单位 | 公式与解释 | 备注(RFC/规范及出处) |
---|---|---|---|
往返延迟 (Round-Trip Delay, RTT) | 毫秒 (ms) | 公式:RTT = Tresponse − Trequest 说明:衡量一个数据包从发送端发出,到目标返回响应所经历的总时间。 | 参见 RFC 2544 "Benchmarking Methodology for Network Interconnect Devices"具体见:RFC 2544(第4.2节关于延迟的描述)。 |
吞吐量/带宽 (Throughput/Bandwidth) | 比特/秒 (bps) | 公式:Throughput = (成功传输的总比特数) / (传输总时间) 对于 TCP,还可近似使用:Throughput ≈ MSS / RTT 说明:反映单位时间内传输的数据量。 | RFC 6349 "Framework for TCP Throughput Testing"提供了详细的 TCP 吞吐量测试方法,RFC 6349;此外,TCP 吞吐量的经典数学模型(Mathis 公式)为:Throughput ≈ (MSS/(RTT×√(2p)))(其中 p 为丢包率),虽非 RFC 标准,但广泛引用。 |
数据包丢失率 (Packet Loss Rate) | 百分比 (%) | 公式:Packet Loss Rate = (丢失的数据包数 / 发送的数据包总数) × 100% 说明:反映传输过程中丢失的数据包比例,直接影响重传及整体连接质量。 | RFC 2544 中提供了测试设备时关于丢包率的测量方法,详见:RFC 2544;同时在网络性能测试中也是常用的计算公式。 |
抖动 (Jitter) | 毫秒 (ms) | 公式:Jitter(i) = D(i) − D(i-1) 其中 D(i) 为第 i 个包的单向延迟 说明:衡量连续数据包之间延迟的变化幅度,对实时应用(如 VoIP、视频会议)尤为关键。 | 定义参见 RFC 3393 "IP Packet Delay Variation"具体见:RFC 3393;常用的一向延迟差公式就是上述绝对值差值。 |
链路利用率 (Link Utilization) | 百分比 (%) | 公式:Utilization = (实际吞吐量 / 链路理论带宽) × 100% 说明:描述网络链路当前的负载情况,高利用率可能引起拥塞和额外延迟。 | 该指标在 DiffServ 流量分类和优先级调度中常用,参见 RFC 2474 "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers"RFC 2474 |
MTU (Maximum Transmission Unit) | 字节 (bytes) | 公式:若数据包大小 > MTU,则分片数 = ⎡(数据包大小 + 头部开销) / MTU⎤ 说明:MTU 为单个 IP 数据包在不分片前允许的最大字节数,直接影响分片情况。 | IPv4 的分片机制见 RFC 791:RFC 791;IPv6 的 MTU 要求见 RFC 8200:RFC 8200;合理配置 MTU 可减少分片引起的额外延迟和丢包风险。 |
误码率 (Bit Error Rate, BER) | 无量纲 (比率) | 公式:BER = (出错的比特数 / 总传输比特数) 说明:衡量传输过程中每个比特出错的概率,是物理链路质量的重要指标。 | 误码率指标多由 IEEE 标准(如 IEEE 802.3、IEEE 802.11)规定,相关详细描述可参见相应标准文档;在 ITU-T 标准中也有类似定义。 |
提示
- 实时应用(如 VoIP、视频会议、在线游戏):重点关注 RTT 和 Jitter,因为延迟和延迟波动直接影响用户体验,同时丢包率也必须保持在较低水平
(建议 <1%)
。 - 大流量数据传输(如文件下载、视频流):需重点确保 吞吐量 和 链路利用率 达到预期,同时合理配置 MTU,避免因分片造成的性能损失。
- 物理链路及设备测试:在设备基准测试(参见 RFC 2544)中,RTT、吞吐量、丢包率和误码率均为关键指标。
- 多协议环境:对于 TCP 流量,还可参考 Mathis 公式对吞吐量进行预估,而对于 UDP 及实时多媒体流,则应着重考虑丢包和抖动指标。
常见网络协议有哪些
答案
协议/技术 | 层级 | 具体协议及技术说明 |
---|---|---|
应用层 | ||
HTTP/HTTPS | 应用层 | 超文本传输协议,基于 TCP 实现 Web 通信,HTTPS 使用 TLS 加密。 |
gRPC | 应用层 | 基于 HTTP/2 的 RPC 框架,支持双向流、多路复用,使用 Protocol Buffers 编码。 |
WebRTC | 应用层 | 实时音视频通信协议,结合 ICE、STUN、TURN 处理 NAT 穿透,依赖 UDP。 |
DNS | 应用层 | 域名解析协议,使用 UDP(默认)或 TCP(大型响应)。 |
传输层 | ||
TCP | 传输层 | 可靠传输,支持流量控制(滑动窗口)、拥塞控制(如 AIMD)。 |
UDP | 传输层 | 无连接传输,适用于低延迟场景(如 VoIP、视频流)。 |
网络层 | ||
IPv4/IPv6 | 网络层 | 网络寻址与路由,IPv6 支持无状态地址自动配置(SLAAC)。 |
ICMP | 网络层 | 网络诊断(如 ping 、traceroute ),IPv6 中由 ICMPv6 实现邻居发现。 |
网络接口层 | ||
Wi-Fi | 网络接口层 | 物理层(PHY):IEEE 802.11a/b/g/n/ac/ax,使用 OFDM、MIMO、波束成形等技术。数据链路层:- MAC 子层:CSMA/CA 信道竞争、帧聚合(802.11n/ac)。 |
4G LTE | 网络接口层 | 物理层(PHY):OFDMA(下行)、SC-FDMA(上行),支持载波聚合(CA)。数据链路层:- MAC:动态调度、HARQ。- RLC:分段重组、ARQ 纠错。- PDCP:IP 头压缩(ROHC)、加密。 |
5G NR | 网络接口层 | 物理层(PHY):毫米波(24–100 GHz)、灵活 Numerology(子载波间隔)、Massive MIMO。数据链路层:- MAC:动态时隙调度、增强型 HARQ。- RLC/PDCP:低时延优化、冗余传输(数据复制)。 |
Ethernet | 网络接口层 | 物理层:IEEE 802.3(如 1000BASE-T)。数据链路层:MAC 地址寻址、CSMA/CD(传统以太网)。 |
PPP | 网络接口层 | 点对点协议,支持身份验证(PAP/CHAP),常用于拨号连接。 |
面试官视角
这道题可以作为热身题,来综合考察面试这对于网络知识整体理解情况。重点考察
- 回答的条理性,多网络模型架构是否有认识,是不是按照协议种类或者其他逻辑进行分层聚类
- 协议的了解,是不是理解每一层涉及哪些关键协议