主题
🌐 OSI 七层与 TCP/IP 四层模型
搞网络的都背过这口诀——不用死记,理解每层到底干什么就行
OSI 七层模型
第 7 层 应用层 HTTP, FTP, SMTP, DNS, SSH
第 6 层 表示层 SSL/TLS 加密, JPEG, ASCII
第 5 层 会话层 NetBIOS, RPC
第 4 层 传输层 TCP, UDP
第 3 层 网络层 IP, ICMP, OSPF
第 2 层 数据链路层 以太网, MAC, VLAN
第 1 层 物理层 网线, 光纤, 电磁波| 层 | 功能 | 数据单位 | 查层命令 |
|---|---|---|---|
| 物理层 | 比特流传输 | 比特(bit) | 网线测线仪 |
| 数据链路层 | MAC 地址寻址、帧封装 | 帧(Frame) | arp -a |
| 网络层 | IP 寻址、路由选择 | 包(Packet) | ping, traceroute |
| 传输层 | 端口、可靠传输 | 段(Segment) | netstat, ss |
| 应用层 | 为用户提供网络服务 | 数据(Data) | curl, telnet |
现实中 OSI 的 5-6-7 层被简化成一层,就有了 TCP/IP 模型。
TCP/IP 四层模型(实际在用)
应用层 ← OSI 5+6+7 层 HTTP/FTP/DNS/SSH
传输层 ← OSI 4 层 TCP/UDP
网络层 ← OSI 3 层 IP
网络接口层 ← OSI 1+2 层 以太网/WiFi数据封装与解封装
数据从上层往下传,每层加包头:
应用层: [ HTTP 请求数据 ]
传输层: [ TCP 头 | HTTP 请求数据 ]
网络层: [ IP 头 | TCP 头 | HTTP 请求数据 ]
链路层: [ MAC 头 | IP 头 | TCP 头 | HTTP 请求数据 | FCS 尾 ]
物理层: 转为电信号/光信号发送收到时反过来,从下往上拆包头:
物理层收到电信号 → 链路层拆 MAC 头 → 网络层拆 IP 头 → 传输层拆 TCP 头 → 应用层得到 HTTP 数据理解这个就理解了 tcpdump 抓包的层次结构。
怎么用这个模型排故
从上往下看你有东西,从下往上看物理有没有问题:
网页打不开?
├── 应用层:curl 直接请求试
│ └── 通 → 浏览器问题(缓存/代理)
│ └── 不通 → 往下查
│
├── 传输层:telnet <IP> <端口>
│ └── 通 → TCP 没问题,查应用层
│ └── 不通 → 往下查
│
├── 网络层:ping <IP>
│ └── 通 → 路由+IP 没问题,查传输层(防火墙端口)
│ └── 不通 → 往下查
│
└── 物理/链路层:换网线、看网口灯亮不亮这就是分层排故——从最底层开始逐层排除,别瞎猜。
常见协议所在层
| 协议 | 层 | 端口 | 用途 |
|---|---|---|---|
| HTTP/HTTPS | 应用层 | 80/443 | Web |
| SSH | 应用层 | 22 | 远程登录 |
| DNS | 应用层 | 53 | 域名解析 |
| TCP | 传输层 | — | 可靠传输 |
| UDP | 传输层 | — | 不可靠但快 |
| IP | 网络层 | — | 寻址 |
| ICMP | 网络层 | — | ping |
| ARP | 网络层↔链路层 | — | IP→MAC |
| Ethernet | 链路层 | — | 局域网帧 |
🎯 本章要点
- OSI 七层是理论模型,TCP/IP 四层是实际在用的
- 数据从上往下加包头(封装),从下往上拆包头(解封装)
- 分层排故法:从下往上一层一层查,ping → telnet → curl
- 网络层管 IP 和路由(ping),传输层管端口(telnet),应用层管协议(curl)
加载练习题中...