Skip to content

🌐 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/443Web
SSH应用层22远程登录
DNS应用层53域名解析
TCP传输层可靠传输
UDP传输层不可靠但快
IP网络层寻址
ICMP网络层ping
ARP网络层↔链路层IP→MAC
Ethernet链路层局域网帧

🎯 本章要点

  • OSI 七层是理论模型,TCP/IP 四层是实际在用的
  • 数据从上往下加包头(封装),从下往上拆包头(解封装)
  • 分层排故法:从下往上一层一层查,ping → telnet → curl
  • 网络层管 IP 和路由(ping),传输层管端口(telnet),应用层管协议(curl)
加载练习题中...

有问题或补充?欢迎留言