我们常说的"计算机网络五层协议模型",是一个实际应用中广泛采用的简化模型(介于OSI七层(Open System Interconnect)与TCP/IP四层之间),用于描述网络通信中各层的职责与作用。
文章目录
| 层次 | 功能 | 协议示例 | 
|---|---|---|
| 应用层 | 提供具体应用服务,直接面向用户 | HTTP、FTP、SMTP、DNS | 
| 传输层 | 提供端到端的通信服务,负责数据分段、重组、可靠性控制 | TCP、UDP | 
| 网络层 | 实现不同主机间的通信与路由选择,负责寻址与转发 | IP、ICMP、ARP、NAT | 
| 数据链路层 | 管理一跳内通信(如主机到路由器),负责成帧、差错检测 、MAC寻址 | Ethernet、PPP、802.11(Wi-Fi) | 
| 物理层 | 负责比特流的物理传输,管理电信号/光信号的发送与接收 | RJ45、光纤、无线电波(硬件标准) | 
第5层:应用层(Application Layer)
第4层:传输层(Transport Layer)
第3层:网络层(Network Layer)
ping
ping 命令用的ICMP协议、IP、Ethernet、ARP
域名解析用到了 DNS解析,UDP + DNS 协议
ICMP
为"网络诊断"设计的协议:
- ping(检测连通性)
 - traceroute(追踪路由路径)
 - 报告 IP 层错误(如主机不可达)
 
ARP
将 IP 地址解析为 MAC 地址(以太网环境下)。实则是广播问,问到后存到ARP缓存表。
网络通信靠 IP 地址,但网卡收发数据靠的是 MAC 地址
当主机只知道对方的 IP,却不知道 MAC,就需要用 ARP 来"问一问"
NAT
在不同网络之间转换 IP 地址和端口,常用于"局域网访问外网"
IPv4 地址不够用,很多内网只能用私有地址(如 192.168.x.x)
外网不识别私有地址 → 需要 NAT 转换成公网 IP 才能访问外部网络
类型:
| 类型 | 说明 | 
|---|---|
| SNAT(源地址转换) | 内网出网时,将源 IP 改为公网 IP | 
| DNAT(目的地址转换) | 外网访问内网服务时,目标 IP 改为内网 IP | 
| NAPT(端口地址转换) | 多个内网主机共享一个公网 IP(最常见) | 
NAPT 例子:
| 内网 IP:端口 | 公网 IP:端口 | 
|---|---|
| 192.168.1.100:54321 | 8.8.8.8:40001 | 
| 192.168.1.101:54321 | 8.8.8.8:40002 | 
NAT 破坏【端到端通信】(P2P 协议/视频通话难打通)(NAT 会隐藏内网真实 IP,所有内网设备共享公网 IP,且端口会被重新映射。)
需要 NAT 穿透技术(如 STUN、TURN、ICE)
- STUN(Session Traversal Utilities for NAT)
帮助客户端检测自己的公网 IP 和 NAT 类型。
尝试利用 NAT 映射的端口建立直接 P2P 连接。 - TURN(Traversal Using Relays around NAT)
如果直接 P2P 失败,流量会通过中继服务器转发。
这样即使在严格 NAT 或防火墙后,也能保证通话连接。 - ICE(Interactive Connectivity Establishment)
综合利用多种网络路径(包括STUN、TURN),寻找最佳连接路径。 
第2层:数据链路层(Data Link Layer)
第1层:物理层(Physical Layer)
直接和物理介质(如双绞线、光纤、无线)打交道,负责将比特(0 和 1)转换成电信号、光信号或无线电波,并进行实际的传输。
常见的物理层标准
| 名称 | 用途 | 特点 | 
|---|---|---|
| RS-232 | 串口通信 | 老式串口 | 
| USB | 外设连接 | 通用传输标准 | 
| IEEE 802.3 | 以太网物理层 | 定义网线电气特性 | 
| IEEE 802.11 | Wi-Fi | 定义无线通信物理特性 |