OSI七层模型与TCP/IP四层模型
一、OSI七层模型
用“寄快递”比喻:
| 层数 | 名称 | 比喻 | 核心功能 | 数据单元 |
|---|---|---|---|---|
| 7 | 应用层 | 你写的信 | 为用户提供网络服务接口 | 数据 |
| 6 | 表示层 | 翻译成通用语言 | 数据格式转换、加密解密、压缩 | 数据 |
| 5 | 会话层 | 确认对方在听 | 建立/管理/终止会话 | 数据 |
| 4 | 传输层 | 选择快递公司 | 端到端可靠传输,流量控制,差错恢复 | 段(Segment) |
| 3 | 网络层 | 快递中转站 | 路径选择(路由),寻址(IP) | 包(Packet) |
| 2 | 数据链路层 | 货车在公路跑 | 相邻节点可靠传输,MAC寻址,差错检查 | 帧(Frame) |
| 1 | 物理层 | 公路本身 | 比特流传输,物理接口,信号编码 | 比特(Bit) |
逐层学习
第7层:应用层(Application Layer)
做什么:直接为用户应用提供服务接口
常见协议:
- HTTP/HTTPS(浏览网页,端口80/443)
- FTP(文件传输,端口20/21)
- SMTP/POP3(收发邮件,端口25/110)
- DNS(域名解析,端口53)
- Telnet/SSH(远程登录,端口23/22)
应用层就像是写的那封信的内容本身——是什么语言,什么格式,要表达什么
第6层:表示层(Presentation Layer)
做什么:数据的"翻译官".负责编码转换,加密解密,压缩解压
实际例子:
- 发一张JPG图片,对方收到的是JPG而不是乱码——>表示层协商好格式
- HTTPS的SSL/TLS加密——>表示层给数据”上锁“
- 视频通话压缩数据节省带宽——>表示层”打包压缩“
第5层:会话层(Session Layer)
做什么:管理通信双方的”通话“。建立会话,维持会话,断开会话
关键功能:
- 同步点:传1GB文件传到500MB断了,不用重头传,从上次同步点继续
- 全双工/半双工协商:决定双方是同时说话还是轮流说话
第4层:传输层(Transport Layer)
做什么:提供端到端(进程到进程)的可靠或不可靠传输。最关键的一层
两大协议的对比(TCP,UDP):
| 特性 | TCP | UDP |
|---|---|---|
| 比喻 | 挂号信(要签收) | 明信片(扔了不管) |
| 链接 | 面向连接(三次握手) | 无连接 |
| 可靠性 | 可靠(确认+重传) | 不可靠 |
| 速度 | 慢 | 快 |
| 应用 | HTTP/FTP/邮件/远程登陆 | 视频直播/DNS/游戏 |
| 首部开销 | 20字节 | 8字节 |
端口号:
- 传输层通过端口号区分不同应用,就像写字楼的房间号:IP地址=写字楼,端口号=具体房间号
- 知名端口:1-1023(HTTP:80,HTTPS:443,DNS:53)
- 注册端口:1024-49151
- 动态端口:49152-65535
与上下层的关系:
- 向上:为应用层提供传输服务(通过不通端口区分不同应用)
- 向下:将数据交给网络层(IP层只管“送到哪台机器,不管送到哪个程序”)
第3层:网络层(Network Layer)
做什么:负责将数据从源端传送到目的端。核心是路由选择和逻辑寻址
核心概念:
1、IP地址:逻辑地址,类似与”上海市浦东新区xxx路xxx号“(IPv4:32位,如 192.168.1.1,IPv6:128位,如 2001:db8::1)
2、路由:决定数据走那条路
- 类似于导航软件帮你选路:最短路由,避开拥堵,收费最少
- 静态路由:手动配置,记住一条固定路线
- 动态路由(OSPF/BGP等):自动学习,实时导航
3、路由器:网络层的核心设备,连接不同网络
关键协议:
- IP(网际协议):核心转发协议
- ICMP(互联网控制报文协议):ping/traceroute的底层
- ARP(地址解析协议):IP ↔ MAC 的桥梁
- OSPF/IS-IS/BGP:动态路由协议
技术关系重点:
- 网络层的IP包封装在数据链路层的帧里面:帧=帧头+IP包+帧尾
- ARP是网络层和数据链路层的"翻译官",把IP地址翻译成MAC地址
第2层:数据链路层(Data Link Layer)
做什么:在相邻节点之间可靠传输数据帧,解决“下一条怎么走”
核心概念:
- 1、MAC地址:物理地址,出厂就定好的,48位,如00:1A:2B:3C:3D:4F:5E
- 2、以太网帧结构:
| 目的MAC(6) | 源MAC(6) | 类型(2) | 数据(46-1500) | FCS校验(4) |
3、交换机:数据链路层的核心设备
- 通过学习MAC地址表转发帧
- 对比路由器:交换机看MAC,路由器看IP
与网络层的关系:
- 数据链路层只关心下一条(本段链路),网络层关系全程(端到端)
第1层:物理层(Physical Layer)
做什么:将比特流转换成物理信号(电信号/光信号/无线信号)进行传输。
核心概念:
- 传输介质:双绞线(网线)、光纤、无线电波(Wi-Fi)
- 信号编码:如何用高低电平表示0和1
- 物理接口:RJ45接口、光纤接口(SFP/QSFP)
技术关系:物理层是所有层的基础,就像公路是汽车跑的基础。没有物理层,上面的协议都起不了作用。
二、TCP/IP四层模型
现实中TCP/IP模型才是互联网的标准,OSI是理论参考模型。
OSI七层 TCP/IP四层 常见协议
───────── ────────── ──────────
应用层 ┐ HTTP/FTP/DNS
表示层 ├──→ 应用层 SMTP/SSH
会话层 ┘
───────── ────────── ──────────
传输层 ───→ 传输层 TCP/UDP
───────── ────────── ──────────
网络层 ───→ 网际层 IP/ICMP/ARP
OSPF/BGP
───────── ────────── ──────────
数据链路层 ┐ 以太网/PPP
├──→ 网络接口层 MAC/交换机
物理层 ┘
为什么TCP/IP把上面三层合并?
实际实现中,表示层和会话层的功能(加密/压缩/会话管理)通常直接嵌入到应用层协议中,没必要单独分出来。比如HTTPS = HTTP + TLS加密。
TCP/IP数据封装过程:
发送方从上到下逐层加头
应用层: [用户数据]
传输层: [TCP头|用户数据] → 段(Segment)
网际层: [IP头|TCP头|用户数据] → 包(Packet)
接口层:[帧头|IP头|TCP头|用户数据|帧尾] → 帧(Frame)
物理层: 0101010101010101... → 比特流
接收方从下到上逐层解封:
物理层收到比特流 → 还原成帧 → 去掉帧头帧尾
→ 取出IP包 → 去掉IP头 → 取出TCP段 → 去掉TCP头 → 获得用户数据
三、数据在网络中的完整过程:
场景:在浏览器输入www.example.com(假设域名解析地址:18.88.88.88),按下回车后发生了什么?
步骤分解:
1、应用层:浏览器构造HTTP请求”GET /index.html“
2、传输层:TCP三次握手建立连接,目标端口80,源端口随机(如54321)
3、网络层:封装IP头,源IP=192.168.1.1,目的IP=18.88.88.88
4、数据链路层:
查看路由表发现下一条网关192.168.1.254
ARP请求:“谁是192.168.1.254,告诉你的MAC”
网关恢复MAC地址,封装以太帧,目的MAC=网关MAC
5、物理层:网卡把帧变成电信号发送
中间路由器:
- 收到帧 → 解封装到网络层 → 查路由表 → 重新封装帧 → 从出口发出
- 每经过一跳,帧的源/目的MAC都变,但IP始终不变!
6、服务器收到后,逐层解封,最终HTTP请求到达web服务器
7、服务器处理请求,沿路返回HTTP响应
补充说明:
- IP地址全程不变(除非NAT)—— 这是"收货地址"
- MAC地址每跳都变—— 这是"当前这一段的快递员"
- 这就是网络层(IP)和数据链路层(MAC)的分工
华为设备命令
# 查看接口信息(包含MAC地址和IP地址)
display interface brief
# 查看IP接口配置
display ip interface brief
# 查看ARP表(IP↔MAC映射)
display arp
# 查看MAC地址表(交换机)
display mac-address
# 测试连通性(ICMP协议,网络层)
ping 192.168.1.1
# 追踪路径(看经过哪些路由器,网络层)
tracert 93.184.216.34
# 查看路由表
display ip routing-table
四、练习题
TCP/IP四层模型中,路由器工作在哪一层?交换机工作在哪一层?为什么它们工作在不同层?
路由器工作在网络层(网际层),因为它需要根据IP地址选择路径,在不同网络之间转发数据包。
交换机工作在数据俩路曾(网络接口层),因为它根据MAC在同一个网络内转发数据帧。
路由器连接不同网络(不同IP网段),交换机连接同一网络内的设备。路由器隔离广播域,交换机不隔离广播域。
答案解析:
-
路由器工作在网络层(网际层)的具体原因:
- 基于IP寻址:路由器通过分析数据包的IP地址(源IP和目标IP)来确定数据包的转发路径,实现跨网络通信。
- 路由表决策:路由器维护路由表,记录不同网络的路由信息,根据路由表选择最优路径。
- 连接不同网络:路由器的主要功能是连接不同的IP网络(不同网段),实现网络间的互联互通。
-
交换机工作在数据链路层(网络接口层)的具体原因:
- 基于MAC寻址:交换机通过识别数据帧中的MAC地址(物理地址)来转发数据,工作在局域网内部。
- MAC地址表:交换机维护MAC地址表,记录端口与MAC地址的对应关系,实现快速、准确的帧转发。
- 同一网络内转发:交换机在同一网络(同一广播域)内工作,负责设备间的直接通信。
-
两者工作在不同层的根本原因:
- 职责分工不同:路由器负责跨网络的路径选择和寻址(网络层功能),关注"到哪里去";交换机负责局域网内的高效帧转发(数据链路层功能),关注"给谁"。
- 处理的数据单元不同:路由器处理数据包(Packets,含IP头部),交换机处理数据帧(Frames,含MAC头部)。
- 隔离范围不同:路由器隔离广播域(不同网络),交换机隔离冲突域(同一网络内)。
-
形象比喻:
- 路由器好比城市间的邮局:负责处理不同城市(网络)之间的邮件(数据包)路由,根据收件人地址(IP地址)选择最佳运输路线。
- 交换机好比写字楼内的分拣员:负责在同一栋大楼(局域网)内快速分发信件(数据帧),根据房间号(MAC地址)准确投递。
总结:路由器与交换机工作在不同层是由它们各自的职责决定的——路由器解决"网络间如何到达"的问题,交换机解决"网络内如何快速送达"的问题。这种分层设计体现了网络架构的模块化思想,各层专注解决特定问题,共同构建高效、可靠的网络通信体系。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)