网络全景与分层模型
easy计算机网络OSITCP/IP分层模型
为什么需要分层
网络通信极其复杂,涉及物理信号传输、数据编码、路由寻址、可靠传输、应用协议等多个维度。分层的思想是将复杂问题分解为多个独立模块,每层只关注自己的职责,通过标准接口与上下层交互。
比喻:国际快递从寄件人到收件人,需要经过包装、运输、清关、配送等环节。每个环节由专业团队负责,互不干扰。
OSI 七层模型 vs TCP/IP 四层模型
OSI 七层模型 TCP/IP 四层模型 常见协议
┌──────────────┐
│ 7. 应用层 │ ┌──────────────┐ HTTP, FTP, SMTP, DNS,
│ 6. 表示层 │ ──────▶ │ 应用层 │ SSH, Telnet, DHCP
│ 5. 会话层 │ └──────────────┘
├──────────────┤ ┌──────────────┐
│ 4. 传输层 │ ──────▶ │ 传输层 │ TCP, UDP
├──────────────┤ ┌──────────────┐
│ 3. 网络层 │ ──────▶ │ 网络层 │ IP, ICMP, ARP
├──────────────┤ ┌──────────────┐
│ 2. 数据链路层 │ ──────▶ │ 网络接口层 │ Ethernet, Wi-Fi, PPP
│ 1. 物理层 │ └──────────────┘
└──────────────┘
实际使用的是 TCP/IP 四层模型(或五层模型)。OSI 七层模型更多是理论参考。主要区别是 OSI 将应用层细分为应用层、表示层、会话层三层,TCP/IP 合并为一个应用层。
各层职责与数据封装
数据从上到下每经过一层,就会加上一个头部(Header),到达对端后从下到上逐层拆除:
发送端: 接收端:
应用层 │ 数据 │ │ 数据 │
▼ ▲
传输层 │TCP头│ 数据 │ ──────▶ │TCP头│ 数据 │
▼ ▲
网络层 │IP头│TCP头│ 数据 │ │IP头│TCP头│ 数据 │
▼ ▲
链路层 │帧头│IP头│TCP头│ 数据 │帧尾│ │帧头│IP头│TCP头│ 数据 │帧尾│
| 层 | 数据单元名称 | 主要职责 | 关键设备 |
|---|---|---|---|
| 应用层 | 报文(Message) | 为应用提供网络服务 | — |
| 传输层 | 段(Segment)/ 数据报 | 端到端可靠传输 | — |
| 网络层 | 包(Packet) | 路由和转发 | 路由器 |
| 数据链路层 | 帧(Frame) | 相邻节点间传输 | 交换机 |
| 物理层 | 比特(Bit) | 物理信号传输 | 集线器、网线 |
各层常见协议速查
| 层 | 协议 | 作用 |
|---|---|---|
| 应用层 | HTTP/HTTPS | Web 页面传输 |
| FTP | 文件传输 | |
| SMTP/POP3/IMAP | 电子邮件 | |
| DNS | 域名 → IP 地址解析 | |
| SSH | 安全远程登录 | |
| DHCP | 自动分配 IP 地址 | |
| WebSocket | 全双工实时通信 | |
| 传输层 | TCP | 面向连接、可靠传输 |
| UDP | 无连接、不可靠但速度快 | |
| 网络层 | IP (v4/v6) | 逻辑寻址、路由 |
| ICMP | 网络诊断(ping) | |
| ARP | IP → MAC 地址解析 | |
| 数据链路层 | Ethernet | 局域网最常用协议 |
| Wi-Fi (802.11) | 无线局域网 | |
| PPP | 点对点连接 |
一次 HTTP 请求的完整过程
当你在浏览器输入 https://www.example.com 并回车:
1. DNS 解析 → 将域名转换为 IP 地址(应用层)
2. TCP 三次握手 → 与服务器建立可靠连接(传输层)
3. TLS 握手 → 协商加密参数(应用层/表示层)
4. HTTP 请求 → 发送 GET / 请求(应用层)
5. IP 路由 → 数据包经过多个路由器转发(网络层)
6. 以太网传输 → 在每一段链路上传输帧(数据链路层)
7. 物理传输 → 电信号/光信号/无线电波(物理层)
8. 服务器处理 → 返回 HTTP 响应
9. 浏览器渲染 → 解析 HTML/CSS/JS 并显示页面
生产高频题
OSI 七层模型和 TCP/IP 四层模型的区别?
OSI 是理论模型,分为 7 层;TCP/IP 是实际使用的模型,分为 4 层。主要区别是 OSI 将应用层细分为应用层、表示层和会话层,TCP/IP 合并为一个应用层。
每一层分别解决什么问题?
应用层提供网络应用服务(HTTP/DNS),传输层提供端到端可靠传输(TCP/UDP),网络层负责路由和寻址(IP),数据链路层负责相邻节点间的帧传输(以太网),物理层负责物理信号传输。