OSI 七层网络模型
(Open Systems Interconnection)
OSI 模型将网络通信过程分为七个抽象层级,从 物理传输 到 应用交互 ,每层都有特定功能。
七层网络模型表
从下到上顺口溜:「物数网传会表应」:
层级 | 名称(中文) | 名称(英文) | 功能描述 | 示例协议 / 技术 |
---|---|---|---|---|
7 | 应用层 | Application Layer | 为应用程序提供网络服务 | HTTP、FTP、SMTP |
6 | 表示层 | Presentation Layer | 数据格式转换、加解密 | SSL/TLS、JPEG、GIF、ASCILL |
5 | 会话层 | Session Layer | 建立、管理、终止通讯连接 | NetBIOS、RPC |
4 | 传输层 | Transport Layer | 提供端到端通信,数据可靠性、流控制 | TCP、UDP |
3 | 网络层 | Network Layer | 逻辑寻址与路由选择 | IP、ICMP |
2 | 数据链路层 | Data Link Layer | 数据帧传输,物理地址识别,错误检测 | MAC、PPP、ARP |
1 | 物理层 | Physical Layer | 比特流传输,电气/机械接口 | RJ45、电缆、光纤 |
实际流程示例:
场景:用户在浏览器中输入 http://www.example.com
-
应用层(HTTP 请求)→ 浏览器发起请求。
-
表示层(数据格式化/加密)→ 对数据进行加密(如 HTTPS)。
-
会话层(会话管理)→ 维护用户与服务器的连接会话。
-
传输层(TCP/UDP)→ 将数据分包,并进行可靠传输。
-
网络层(IP 路由)→ 确定网络路径,将数据包路由到目标。
-
数据链路层(MAC 地址)→ 帧化数据并通过物理介质传输。
-
物理层(电信号/光信号)→ 数据通过电缆或无线信号传输。
每层职责举例
-
第7层 - 应用层
-
你用
HttpClient
请求网页、你打开QQ、微信,这些都在应用层。 -
你用 C# 写 Web API 服务,也属于应用层开发。
-
-
第4层 - 传输层
-
TCP 负责“打包+确认+重传”,像快递员保你包裹安全到手。
-
UDP 不确认直接发,像发快递丢进邮箱,不管你收没收。
-
-
第3层 - 网络层
-
IP 地址路由选择,就像地图导航找哪条路快。
-
-
第1层 - 物理层
-
电压高低、光脉冲、有线无线传输,全靠它。
-
每层常见协议简述
-
物理层
-
相关设备与标准: RJ45、光纤、IEEE 802.3(以太网)
-
C# 接触较少,底层由驱动和硬件实现。
-
-
数据链路层
-
协议: MAC、ARP、PPP、Ethernet
-
MAC 地址: 物理地址,用于局域网设备识别
-
ARP: 地址解析协议,用于将 IP 地址映射为 MAC 地址
-
C# 场景: 利用
Pcap.Net
、SharpPcap
抓包分析时可能用到
-
-
网络层
-
协议: IP(IPv4/IPv6)、ICMP、IPSec、IGMP
-
IP: 提供逻辑地址和路由
-
ICMP: 用于诊断和控制(如 ping 命令)
-
C# 场景: 使用 `System.Net.NetworkInformation.Ping
-
-
传输层
-
协议: TCP、UDP
-
TCP: 可靠、有序传输,面向连接(常用于 HTTP、FTP)
-
UDP: 不可靠、无连接,适合实时应用(如视频、游戏)
-
C#: 使用
System.Net.Sockets.TcpClient
/UdpClient
-
-
会话层
-
协议/技术: NetBIOS、RPC、Named Pipes(命名管道)
-
功能: 管理应用间的连接和会话
-
C# 场景: 使用 WCF、Named Pipes 实现服务间通信
-
-
表示层
-
协议/标准: SSL/TLS、MIME、ASCII、JPEG、加解密
-
SSL/TLS:加密和验证
-
TLS(传输层安全协议):是一个广泛应用于网络通信中的加密协议,主要用于保证数据的加密、完整性验证和身份验证。它是 SSL 的继承者,
-
SSL(安全套接层):SSL 虽然 已经不再推荐使用,但 TLS 仍然是现代网络通信中常用的加密协议,广泛应用于 HTTPS、邮件传输、VPN 等场景。
-
-
功能: 数据编码、加密压缩
-
C# 场景: 使用
System.Security.Cryptography
实现加解密、使用SslStream
进行 TLS (传输层安全协议)通信
-
-
应用层
-
协议: HTTP/HTTPS、FTP、SMTP、POP3、DNS、DHCP
-
功能: 直接为用户提供服务
-
C# 场景:
-
HTTP 请求:
HttpClient
-
FTP 文件传输:
FtpWebRequest
-
SMTP 邮件发送:
SmtpClient
-
-
-
与 TCP/IP 四层模型的区别:
OSI 是理想模型,TCP/IP 是现实使用的模型(四层):
TCP/IP 层 | 对应 OSI 层 |
---|---|
应用层 | 应用 + 表示 + 会话 |
传输层 | 传输层 |
网络层 | 网络层 |
网络接口层 | 数据链路 + 物理层 |