TCP/IP ⽹络模型有哪⼏层?
TCP/IP 网络模型详解
TCP/IP 是互联网的核心协议栈,它将复杂的网络通信抽象为四层分层结构,每一层专注于特定的职责,层与层之间通过标准接口交互,既保证了兼容性,又简化了开发和维护难度。它不是单一协议,而是以 TCP 和 IP 为核心的上百个协议的集合,是目前全球互联网的事实工业标准。
一、TCP/IP 模型整体架构
TCP/IP 模型采用自顶向下的四层设计,从上层到下层依次为:应用层 → 传输层 → 网络层 → 网络接口层。
- 上层依赖下层提供的服务,下层为上层屏蔽底层实现细节
- 发送数据时:数据从上到下逐层封装(添加各层头部)
- 接收数据时:数据从下到上逐层解封装(剥离各层头部)
- 应用层工作在用户态,传输层及以下工作在操作系统内核态
二、分层详细讲解
1. 应用层(Application Layer)
核心职责
直接面向用户和应用程序,提供具体的业务功能,是唯一与用户交互的层级。应用层只关心业务数据的格式和语义,完全不需要关心数据如何在网络中传输。
核心协议
表格
| 协议 | 全称 | 用途 | 默认端口 |
|---|---|---|---|
| HTTP | 超文本传输协议 | 网页资源传输 | 80 |
| HTTPS | 安全超文本传输协议 | 加密的网页资源传输 | 443 |
| DNS | 域名系统 | 域名 ↔ IP 地址解析 | 53 |
| FTP | 文件传输协议 | 文件上传与下载 | 20 (数据)/21 (控制) |
| SMTP | 简单邮件传输协议 | 发送邮件 | 25 |
| POP3/IMAP | 邮局协议 / 互联网消息访问协议 | 接收邮件 | 110/143 |
| SSH | 安全外壳协议 | 远程安全登录 | 22 |
数据单位
消息 / 报文(Message),例如 HTTP 请求报文、HTTP 响应报文。
补充知识
- 应用层协议可以自定义,只要通信双方约定好数据格式即可(如 RPC 协议、WebSocket 协议)
- 不同的应用对应不同的应用层协议,例如浏览器用 HTTP/HTTPS,邮件客户端用 SMTP/POP3
2. 传输层(Transport Layer)
核心职责
为应用层提供 ** 端到端(进程到进程)** 的通信服务,解决 “数据发给哪个应用” 的问题。它屏蔽了底层网络的细节,让应用层看起来像是在两个进程之间直接传输数据。
核心协议
TCP/IP 传输层有两个完全不同的协议,分别适用于不同的业务场景:
(1)TCP(传输控制协议)
- 特性:面向连接、可靠传输、字节流、流量控制、拥塞控制
- 适用场景:对数据完整性要求高的场景,如网页浏览、文件传输、邮件发送
- 核心机制:
- 三次握手建立连接、四次挥手断开连接
- 超时重传:丢失的数据包会自动重发
- 序号与确认号:解决数据包乱序和丢包问题
- 滑动窗口:实现流量控制,防止发送方发送过快导致接收方溢出
- 拥塞控制:根据网络拥塞程度调整发送速率
(2)UDP(用户数据报协议)
- 特性:无连接、不可靠、面向数据报、传输效率高、延迟低
- 适用场景:对实时性要求高、允许少量丢包的场景,如视频通话、直播、游戏
- 核心优势:不需要建立连接,没有握手和挥手的开销,头部只有 8 字节(TCP 头部至少 20 字节)
关键概念:端口号
- 作用:唯一标识一台主机上的不同应用进程
- 范围:16 位整数,0~65535
- 分类:
- 知名端口(0~1023):固定分配给常用服务,如 80 (HTTP)、443 (HTTPS)
- 注册端口(1024~49151):分配给普通应用程序
- 动态端口(49152~65535):客户端临时使用,由操作系统自动分配
数据单位
- TCP:段(Segment),当应用层数据超过 MSS(最大报文段长度,默认 1460 字节)时,TCP 会将数据拆分为多个段
- UDP:数据报(Datagram),不进行分段,超过 MTU 时由网络层负责分片
3. 网络层(Internet Layer)
核心职责
实现主机到主机的通信,解决 “数据从哪台主机来,到哪台主机去” 的问题。核心功能是寻址和路由:
- 寻址:通过 IP 地址唯一标识互联网上的每一台主机
- 路由:选择数据包从源主机到目的主机的最佳传输路径
核心协议
(1)IP 协议(网际协议)
- 版本:IPv4(32 位地址)和 IPv6(128 位地址,解决 IPv4 地址耗尽问题)
- IP 地址结构:分为网络号和主机号两部分
- 网络号:标识主机所在的子网
- 主机号:标识子网内的具体主机
- 子网掩码:用于计算 IP 地址的网络号和主机号,例如
255.255.255.0(/24)表示前 24 位是网络号 - 核心特性:无连接、不可靠、尽力传输,只负责把数据包送到目的地,不保证送达,可靠性由上层 TCP 保证
(2)ICMP 协议(互联网控制消息协议)
- 作用:用于网络诊断和错误报告
- 典型应用:
ping(测试网络连通性)、traceroute(追踪数据包传输路径)
(3)ARP 协议(地址解析协议)
- 作用:根据 IP 地址获取对应的 MAC 地址
- 工作原理:在局域网内广播 ARP 请求,询问 “谁拥有这个 IP 地址”,拥有该 IP 的主机返回自己的 MAC 地址
- ARP 缓存:操作系统会缓存 IP-MAC 映射关系,有效期约几分钟,避免重复广播
关键概念
- MTU(最大传输单元):以太网默认 MTU 为 1500 字节,即一个 IP 数据包的最大长度。如果 IP 数据包超过 MTU,会被分片为多个小数据包,到达目的地后再重组
- 路由表:路由器和主机中维护的一张表,记录了不同子网的转发路径。数据包转发时,会根据目的 IP 地址查询路由表,选择下一跳的地址
数据单位
包(Packet)
4. 网络接口层(Network Interface Layer)
TCP/IP 模型将 OSI 模型的数据链路层和物理层合并为网络接口层,是整个模型的最底层,负责在物理网络上传输原始的二进制数据。
(1)数据链路层(子层)
- 核心职责:实现相邻节点之间的可靠传输,解决 “数据在同一个局域网内发给哪个设备” 的问题
- 核心协议:以太网协议(最常用)、PPP 协议(拨号上网)
- 关键概念:MAC 地址
- 全称:媒体访问控制地址,是网卡的物理地址,全球唯一
- 长度:48 位,通常表示为 12 个十六进制字符,如
00:1A:2B:3C:4D:5E - 作用:在局域网内唯一标识一台设备,数据链路层通过 MAC 地址寻址
- 数据单位:帧(Frame),由 MAC 头部、IP 数据包、帧尾(FCS 校验和)组成
- 核心功能:
- 封装成帧:将网络层的 IP 包加上 MAC 头部和帧尾
- 差错检测:通过帧尾的 FCS 校验和检测传输过程中是否出错
- 透明传输:保证任何二进制数据都能正确传输
(2)物理层(子层)
- 核心职责:将数据链路层的帧转换为电信号、光信号或无线电波,在物理介质上传输
- 物理介质:网线(双绞线)、光纤、WiFi、蓝牙等
- 不关心数据的含义,只负责传输 0 和 1 的比特流
三、数据封装与解封装全过程
以浏览器访问网页为例,数据在 TCP/IP 模型中的传输过程如下:
发送方(客户端):从上到下逐层封装
- 应用层:浏览器生成 HTTP 请求报文(包含请求行、请求头、请求体)
- 传输层:给 HTTP 报文加上 TCP 头部(源端口、目的端口、序号、确认号等),形成 TCP 段
- 网络层:给 TCP 段加上 IP 头部(源 IP 地址、目的 IP 地址、协议号等),形成 IP 包
- 网络接口层:
- 数据链路层:给 IP 包加上 MAC 头部(源 MAC、目的 MAC)和帧尾(FCS),形成以太网帧
- 物理层:将以太网帧转换为电信号,通过网线发送出去
传输过程
- 数据包经过交换机时,根据 MAC 地址转发到同一局域网内的目标设备
- 数据包经过路由器时,剥离 MAC 头部,根据目的 IP 地址查询路由表,选择下一跳,重新封装 MAC 头部后转发
- 重要特性:传输过程中,源 IP 和目的 IP 始终不变(不考虑 NAT),源 MAC 和目的 MAC 每经过一个路由器都会改变
接收方(服务器):从下到上逐层解封装
- 物理层:将电信号转换为以太网帧,交给数据链路层
- 数据链路层:检查 MAC 地址是否为本机地址,验证 FCS 校验和,剥离 MAC 头部和帧尾,将 IP 包交给网络层
- 网络层:检查 IP 地址是否为本机地址,剥离 IP 头部,将 TCP 段交给传输层
- 传输层:根据端口号找到对应的应用进程(如 80 端口的 Web 服务器),剥离 TCP 头部,将 HTTP 请求报文交给应用层
- 应用层:Web 服务器处理 HTTP 请求,生成 HTTP 响应报文,再按照相同的封装过程返回给客户端
四、TCP/IP 模型 vs OSI 七层模型
OSI 是国际标准化组织制定的理论模型,共 7 层,但过于复杂,没有实际落地;TCP/IP 是工业界实际使用的标准,两者的对应关系如下:
表格
| OSI 七层模型 | TCP/IP 四层模型 | 核心功能 |
|---|---|---|
| 应用层 | 应用层 | 提供应用业务功能 |
| 表示层 | 应用层 | 数据格式转换、加密解密 |
| 会话层 | 应用层 | 建立和管理会话 |
| 传输层 | 传输层 | 端到端通信 |
| 网络层 | 网络层 | 主机到主机通信、路由 |
| 数据链路层 | 网络接口层 | 相邻节点通信、MAC 寻址 |
| 物理层 | 网络接口层 | 传输比特流 |
五、核心总结
TCP/IP 四层模型通过分层思想,将复杂的网络通信拆解为独立的模块,每一层只专注于自己的职责:
- 应用层:管 “做什么”(业务数据)
- 传输层:管 “发给谁”(进程到进程)
- 网络层:管 “走哪条路”(主机到主机)
- 网络接口层:管 “怎么传”(物理传输)
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)