OSI七层网络参考模型
| 层级 | 说明 |
|---|---|
| 7. 应用层 | 对应用程序提供接口 |
| 6. 表示层 | 进行数据格式的转换,以确保一个系统生成的应用层数据能够被另外一个系统的应用层所识别和理解。 |
| 5. 会话层 | 在通信双方之间建立、管理和终止会话。 |
| 4. 传输层 | 建立、维护和取消一次端到端的数据传输过程。控制传输节奏的快慢,调整数据的排序等等。 |
| 3. 网络层 | 定义逻辑地址;实现数据从源到目的地的转发(路由)。 |
| 2. 数据链路层 | 将分组数据封装成帧;在数据链路上实现数据的点到点、或点到多点方式的直接通信;差错检测。 |
| 1. 物理层 | 在媒介上传输比特流;提供机械的和电气的规约。 |

1. 物理层(Physical Layer)
- 核心功能:负责物理信号的传输,是网络通信的硬件基础,关注 “信号如何在物理介质上传递”,不处理数据含义。
- 具体工作:定义物理设备(网卡、网线、光纤、交换机端口)的接口标准(如 RJ45、光纤接头)、信号类型(电信号、光信号)、传输速率(100Mbps、10Gbps)、同步方式(时钟同步)等。
- 典型设备 / 介质:网线(CAT5/CAT6)、光纤、网卡、集线器(HUB)、中继器。
- 举例:用网线连接两台电脑,物理层负责将网卡发出的电信号通过网线传输到目标网卡。
2. 数据链路层(Data Link Layer)
- 核心功能:对物理层信号进行封装与纠错,将物理层的 “原始信号” 包装成 “帧(Frame)”,解决相邻设备间的可靠传输。
- 具体工作:
- 封装:为物理层信号添加 “帧头”(源 / 目标 MAC 地址,即设备物理地址)和 “帧尾”(校验码,检测传输错误);
- 纠错:通过校验码(如 CRC 循环冗余校验)判断帧是否损坏,损坏则要求重传;
- 介质访问控制(MAC):解决多设备共享物理介质的冲突问题(如以太网 CSMA/CD、Wi-Fi 的 CSMA/CA)。
- 典型设备:交换机(二层交换机,基于 MAC 地址转发帧)、网桥。
- 举例:电脑 A 给电脑 B 发数据,数据链路层会添加双方的 MAC 地址形成 “帧”,通过交换机转发到目标设备。
3. 网络层(Network Layer)
- 核心功能:负责跨网络的路由选择与数据转发,解决不同网络之间的通信(如局域网到互联网),是实现 “全局通信” 的关键。
- 具体工作:
- 地址管理:定义 IP 地址(如 IPv4 的
192.168.1.1、IPv6 的2001:0db8::1),标识设备在 “全局网络” 中的位置; - 路由选择:通过路由协议(如 RIP、OSPF、BGP)计算 “最优路径”,将数据从源网络转发到目标网络;
- 数据封装:将上层数据包装成 “数据包(Packet)”,添加 IP 地址等信息。
- 地址管理:定义 IP 地址(如 IPv4 的
- 典型设备:路由器(基于 IP 地址转发数据包)、三层交换机。
- 举例:手机连接 Wi-Fi 访问百度,网络层通过路由器将请求数据包转发到互联网,经多个路由器路由选择后到达百度服务器所在网络。
4. 传输层(Transport Layer)
- 核心功能:负责端到端(如电脑浏览器到服务器 Web 服务)的可靠数据传输,屏蔽底层网络差异,为上层应用提供稳定的通信通道。
- 具体工作:
- 端口管理:定义 “端口号”(如 HTTP 的 80 端口、HTTPS 的 443 端口),标识设备上的具体应用;
- 传输控制:提供两种核心协议 ——
- TCP(传输控制协议):可靠传输(三次握手建立连接、四次挥手断开连接,丢包重传、流量控制),适合对可靠性要求高的场景(如文件下载、网页浏览、转账);
- UDP(用户数据报协议):不可靠传输(无连接、不重传),但速度快,适合对实时性要求高的场景(如视频通话、直播、游戏)。
- 举例:用浏览器访问网页,传输层通过 TCP 协议建立浏览器(客户端端口随机)与服务器 Web 服务(80/443 端口)的连接,确保网页数据完整传输。
TCP的三次握手和四次挥手
TCP协议是7层网络协议中的传输层协议,负责数据的可靠传输
在建立TCP连接时,需要通过三次握手来建立,过程是:
1.客户端向服务端发送一个SYN
2.服务端接受到SYN后,给客户端发送一个SYN_ACK
3.客户端收到SYN_ACK后,再给服务端发送一个ACK
TCP和UDP协议的区别
TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Datagram Protocol,用户数据报协议)是 TCP/IP 协议族中传输层的核心协议,二者均用于实现两台主机间的数据传输
1. TCP:面向连接的 “可靠传输协议”
TCP 的设计核心是保证数据传输的可靠性,通过一系列机制避免数据丢失、重复或乱序,相当于 “打电话”—— 通话前需先 “拨号建立连接”,通话中能确认对方是否收到信息,通话结束后需 “挂电话释放连接”。
- UDP:无连接的 “高效传输协议”
UDP 的设计核心是追求数据传输的效率,牺牲可靠性以减少协议开销,相当于 “发短信”—— 无需提前建立连接,直接发送数据,不确认对方是否收到,也不处理数据丢失或乱序,仅负责将数据封装成 “数据报” 并发送。
关键区别
| 对比维度 | TCP(传输控制协议) | UDP(用户数据报协议) |
|---|---|---|
| 连接方式 | 面向连接(三次握手建立,四次挥手释放) | 无连接(直接发送,无需建立 / 释放连接) |
| 传输可靠性 | 可靠(保证数据不丢失、不重复、不乱序) | 不可靠(可能丢失、重复、乱序,无确认 / 重传) |
| 传输效率 | 低(连接建立 / 释放、确认 / 重传等机制增加开销) | 高(无额外机制,协议头小,传输延迟低) |
| 数据格式 | 面向字节流(拆分 / 重组数据,无数据报边界) | 面向数据报(每个数据报独立,有明确边界) |
| 拥塞控制 | 有(通过慢启动、拥塞避免等算法减少网络拥塞) | 无(不感知网络拥塞,可能持续发送数据导致拥塞) |
| 流量控制 | 有(滑动窗口机制,匹配发送方与接收方速率) | 无(发送方不考虑接收方处理能力,可能导致接收方溢出) |
| 协议头大小 | 20~60 字节(包含序号、确认号、窗口大小等字段) | 8 字节(仅包含源端口、目的端口、数据长度、校验和) |
5. 会话层(Session Layer)
- 核心功能:建立、管理、终止端到端的 “会话”,协调通信双方的交互逻辑,确保数据传输的顺序和同步。
- 具体工作:
- 会话建立:协商通信双方的规则(如数据传输格式、加密方式);
- 会话管理:维护会话状态(如断点续传时记录上次传输位置),避免数据重复或丢失;
- 会话终止:通信结束后释放资源。
- 典型应用 / 协议:HTTP 的会话(基于 Cookie/Session 维持登录状态)、FTP 的会话管理、Telnet。
- 举例:用 FTP 下载文件时,会话层记录下载进度,若中途断开,重新连接后可从断点继续下载。
6. 表示层(Presentation Layer)
- 核心功能:负责数据的 “格式转换” 与 “安全处理”,确保通信双方的应用能理解对方发送的数据格式。
- 具体工作:
- 格式转换:将应用层的原始数据转换为网络通用格式(如 ASCII 码、Unicode 字符编码,或二进制数据的压缩 / 解压,如 ZIP 压缩);
- 安全处理:对数据进行加密 / 解密(如 HTTPS 的 SSL/TLS 加密)、数据签名(确保数据完整性)。
- 典型技术:SSL/TLS 协议(HTTPS 的加密基础)、数据压缩算法(如 GZIP)、字符编码(UTF-8)。
- 举例:用 HTTPS 访问银行网站时,表示层会将页面数据加密,传输到浏览器后再解密,确保数据传输安全。
7. 应用层(Application Layer)
- 核心功能:直接为用户应用程序提供网络服务,是用户能直接感知的层级,包含各类常用的网络应用协议。
- 具体工作:定义应用程序与网络通信的接口标准,让应用能通过底层协议发送 / 接收数据。
- 典型协议 / 应用:
- HTTP/HTTPS:网页浏览(如访问百度、淘宝);
- FTP/SFTP:文件传输(如上传文件到服务器);
- SMTP/POP3/IMAP:电子邮件(如发送 QQ 邮件);
- DNS:域名解析(如将 “www.baidu.com” 转换为 IP 地址);
- 即时通信协议(如微信的通信协议)、视频流协议(如 HLS)。
- 举例:打开浏览器输入 “www.baidu.com”,应用层的 HTTP 协议发起请求,通过底层 6 层协议协作,最终获取网页数据并显示在浏览器上。
七层协议的协作逻辑
数据从发送端到接收端的传输流程是 “自上而下封装,自下而上解封装”:
- 发送端:应用层→表示层→会话层→传输层→网络层→数据链路层→物理层(每一层添加本层的 “头部信息”,如应用层添加 HTTP 头、传输层添加 TCP 头、网络层添加 IP 头、数据链路层添加 MAC 头);
- 物理层:通过硬件介质传输信号;
- 接收端:物理层→数据链路层→网络层→传输层→会话层→表示层→应用层(每一层剥离对应的 “头部信息”,最终还原为应用能理解的原始数据)。