模块介绍
传输层是OSI 七层模型的第 4 层,也是 TCP/IP 四层模型的核心层之一,被称为网络通信的「端到端调度中枢」。它位于网络层(主机寻址)与应用层(进程通信)之间,承上启下解决了「如何让两台主机上的不同应用进程,同时、可靠 / 高效地完成数据交互」的核心问题。
本模块将从传输层的定位、核心功能、端口号系统、复用分用机制,到服务模型与协议数据单元,带你彻底吃透传输层的底层逻辑,为后续 TCP/UDP 协议的学习打下坚实基础。
一、传输层在网络体系中的核心定位
1. OSI 七层模型中的层级关系
在 OSI 七层模型中,传输层的上下层级分工明确:
- 下层(网络层,第 3 层):负责「主机到主机」的通信,通过 IP 地址定位网络中的两台主机,解决 “数据该发给哪台设备” 的问题。
- 传输层(第 4 层):负责「进程到进程」的通信,通过端口号定位主机上的具体应用进程,解决 “数据该发给设备上的哪个程序” 的问题。
- 上层(应用层,第 5-7 层):为用户提供具体的网络服务(如网页浏览、文件传输),传输层为这些应用提供通用的端到端数据传输支持。
2. TCP/IP 四层模型中的特殊地位
在 TCP/IP 四层模型中,传输层直接承接应用层的所有业务,是唯一同时面向 “主机操作系统” 和 “用户应用” 的层级:
- 对操作系统:提供标准化的传输服务接口(Socket 接口),让不同应用可以调用统一的网络能力。
- 对网络层:屏蔽底层 IP 网络的复杂细节(如路由变化、丢包),为上层应用提供透明的传输通道。
二、传输层的 6 大核心功能
传输层的所有设计,都是为了满足应用层不同场景的传输需求,核心功能可以分为 6 类:
表格
| 功能 | 详细说明 | 作用与意义 |
|---|---|---|
| 1. 进程寻址(端到端通信) | 通过「端口号」标识主机上的不同应用进程,结合 IP 地址形成「套接字(Socket)」(格式:IP: 端口号),作为通信的唯一标识。 | 解决了同一主机上多应用同时通信的区分问题,让浏览器、微信、游戏等程序的数据不会互相干扰。 |
| 2. 数据分段与重组 | 发送端将应用层的大段数据,分割成适合网络层传输的「传输层分段(Segment)」,并为每个分段添加头部信息;接收端再按序号将分段重组为原始数据。 | 适配不同链路的最大传输单元(MTU),避免数据过大被网络层丢弃,同时支持数据的乱序重排。 |
| 3. 复用与分用 | 复用:发送端多个应用进程的数据,共用同一个网络层通道发送;分用:接收端根据端口号,将收到的数据转发给对应的应用进程。 | 实现 “单主机多应用同时通信”,让一台电脑可以同时上网、聊天、下载文件。 |
| 4. 差错检测与纠正 | 通过校验和(Checksum)机制检测数据在传输中是否出错,部分协议(如 TCP)支持重传纠错,保证数据完整性。 | 避免损坏的数据被上层应用接收,保障通信的准确性。 |
| 5. 流量控制 | 发送端根据接收端的接收能力,调整发送速率,避免发送过快导致接收端缓冲区溢出、数据丢失。 | 解决 “快发慢收” 的问题,防止接收方被数据淹没。 |
| 6. 拥塞控制 | 发送端根据网络的拥塞状态,调整发送速率,避免过多数据注入网络导致全网拥塞。 | 解决 “网络拥堵” 问题,保障整体网络的稳定性,避免雪崩效应。 |
三、端口号系统深度解析
端口号是传输层实现进程寻址的核心标识,也是网工 / HCIA 考试的高频考点,我们从原理到分类彻底讲透:
1. 端口号的基本定义与格式
- 端口号是一个16 位的无符号整数,取值范围为
0~65535,因此一台主机最多可同时支持 65536 个端口通信。 - 端口号仅在本机有效,不同主机的端口号相互独立,不会跨主机冲突。
- 通信中同时存在「源端口号」(发送方进程的端口)和「目的端口号」(接收方进程的端口),用于标识通信双方的进程。
2. 端口号的三大分类
根据用途和分配规则,端口号被分为三类,也是我们日常学习和运维中最常用的划分方式:
表格
| 分类 | 取值范围 | 分配规则与特点 | 典型示例 |
|---|---|---|---|
| 知名端口(公认端口 / Well-Known Ports) | 0~1023 | 由 IANA 统一分配,固定给常用的公共服务,系统级服务专用,普通用户进程无法占用。 | 80(HTTP 网页服务)、443(HTTPS 加密网页)、21(FTP 文件传输)、22(SSH 远程登录)、25(SMTP 邮件发送) |
| 注册端口(Registered Ports) | 1024~49151 | 供第三方服务和用户自定义应用注册使用,不会被系统强制占用,可手动分配给自定义服务。 | 3306(MySQL 数据库)、8080(Web 代理 / 测试服务)、1521(Oracle 数据库) |
| 动态 / 私有端口(Ephemeral Ports) | 49152~65535 | 客户端发起网络请求时,由操作系统随机分配的临时端口,通信结束后会自动释放回收。 | 浏览器访问网页时,本地自动分配的端口(如 52000、53120) |
3. 套接字(Socket):通信的唯一标识
端口号 + IP 地址,共同组成了网络通信的唯一标识 ——套接字(Socket),格式为:IP地址:端口号。
- 例如:服务器 IP 为
192.168.1.100,提供网页服务的端口为 80,对应的套接字就是192.168.1.100:80。 - 一次完整的 TCP 通信,由两个套接字唯一确定:
源主机IP:源端口和目的主机IP:目的端口。
四、复用与分用机制:多应用通信的底层逻辑
复用与分用是传输层实现 “单主机多应用同时通信” 的核心机制,我们结合一个场景完整拆解流程:
场景示例
主机 A(IP:192.168.1.2)同时运行两个应用:浏览器(访问服务器网页)和微信(和好友聊天),服务器 IP 为 10.0.0.5。
1. 发送端:复用机制流程
- 浏览器进程向传输层发送数据,目的端口为服务器的 80,源端口为操作系统分配的临时端口 50000。
- 微信进程向传输层发送数据,目的端口为服务器的 443,源端口为操作系统分配的临时端口 50001。
- 传输层将这两个进程的数据,分别加上传输层头部(包含源 / 目的端口号),统一交给网络层,封装成 IP 数据报发送出去。
- 网络层只需要根据目的 IP 地址,将数据发给服务器即可,无需区分是浏览器还是微信的数据。
2. 接收端:分用机制流程
- 服务器的网络层收到两个 IP 数据报,交给传输层处理。
- 传输层解析数据报的传输层头部,读取目的端口号:一个是 80,一个是 443。
- 传输层根据端口号,将数据分别转发给对应的进程:目的端口 80 的数据交给 Web 服务进程,目的端口 443 的数据交给微信服务进程。
- 两个进程收到数据后,分别处理并返回响应,再由传输层复用发送给主机 A。
五、传输层的两种服务模型详解
传输层为应用层提供了两种截然不同的服务模型,对应后续我们要学习的 TCP 和 UDP 协议,也是理解传输层的核心分水岭:
1. 面向连接的服务(Connection-Oriented)
就像「打电话」一样,通信双方在传输数据前,必须先建立一条逻辑连接,传输完成后再释放连接,全程保持通信状态。
- 完整流程:建立连接(三次握手)→ 数据传输 → 释放连接(四次挥手)
- 核心特点:✅ 可靠传输:保证数据不丢失、不重复、按顺序到达。✅ 提供流量控制和拥塞控制,适配双方收发能力。❌ 传输延迟较高:建立连接、确认重传会带来额外开销。❌ 不支持广播 / 组播:一对一通信,无法同时向多个主机发送数据。
- 典型应用:文件传输(FTP)、网页浏览(HTTP/HTTPS)、邮件发送(SMTP)等对数据可靠性要求高的场景。
2. 无连接的服务(Connectionless)
就像「寄快递」一样,发送方直接将数据打包发送,不需要和接收方提前建立连接,接收方收到数据后也不会回复确认。
- 核心特点:✅ 传输延迟极低:无连接建立、无确认重传,传输效率高。✅ 开销极小:头部仅 8 字节,对网络资源占用少。✅ 支持广播 / 组播:可同时向多个主机发送数据。❌ 不可靠传输:不保证数据一定送达,可能出现丢失、乱序、重复。❌ 无流量 / 拥塞控制:发送过快容易导致网络拥塞或接收端丢包。
- 典型应用:视频通话、在线直播、游戏对战、DNS 查询等对延迟敏感,能容忍少量数据丢失的场景。
两种服务模型核心对比表
表格
| 对比维度 | 面向连接服务(TCP) | 无连接服务(UDP) |
|---|---|---|
| 连接建立 | 必须提前建立连接 | 无需建立连接,直接发送 |
| 可靠性 | 可靠传输,保证数据有序无丢包 | 不可靠传输,不保证送达 |
| 传输延迟 | 较高(需确认、重传) | 极低(无额外开销) |
| 头部开销 | 较大(最小 20 字节,可扩展选项) | 极小(固定 8 字节) |
| 流量 / 拥塞控制 | 支持 | 不支持 |
| 适用场景 | 对可靠性要求高的业务 | 对延迟敏感、可容忍丢包的业务 |
六、传输层协议数据单元(TPDU)
传输层的数据单元称为协议数据单元(TPDU,Transport Protocol Data Unit),也常被称为「分段(Segment)」。
- 结构组成:由「传输层头部」和「数据载荷」两部分组成。
- 头部作用:包含源端口号、目的端口号、序号、确认号、校验和等关键信息,用于实现寻址、差错检测、流量控制等功能。
- 与 IP 数据报的关系:TPDU 被封装在网络层的 IP 数据报中,作为 IP 数据报的数据载荷部分传输。
七、高频易错点与考点梳理
- 误区纠正:IP 地址负责主机寻址,端口号负责进程寻址,两者结合才能完成完整的端到端通信,缺一不可。
- 知名端口号记忆:80、443、21、22、25、53 是网工考试中最常考的端口号,建议优先记忆。
- 复用与分用的主体:复用是发送端传输层的功能,分用是接收端传输层的功能,不要混淆。
- 服务模型的选择逻辑:没有绝对的好坏,只有是否适配场景 —— 需要可靠就选面向连接,需要低延迟就选无连接。
模块总结与学习指引
传输层的核心价值,就是为应用层提供「端到端的、适配不同需求的传输服务」。本模块我们掌握了:
- 传输层的定位与核心功能,理解了它承上启下的关键作用。
- 端口号系统的原理与分类,掌握了进程寻址的核心逻辑。
- 复用与分用机制,理解了多应用同时通信的底层流程。
- 两种服务模型的特点与区别,为后续 TCP/UDP 协议的学习打下了基础。
No responses yet