📖 运输层概述 — 进程间基于网络的通信
🎯 课程摘要:物理层、数据链路层和网络层共同实现了主机到主机的通信,但实际通信的真正实体是主机中的进程。运输层使用端口号为不同主机上的应用进程提供端到端的逻辑通信服务,并向应用层屏蔽了网络核心细节。
📝 详细笔记
1. 运输层的引入
- 前序层次的作用:本课程第二到第四章依次介绍了物理层、数据链路层和网络层,它们共同解决了将主机通过异构网络互联起来所面临的问题,实现了主机到主机的通信。
- 网络层的作用范围:主机到主机,即网络层提供主机之间的逻辑通信。
- 例:局域网 1 上的主机 A 与局域网 2 上的主机 B,通过互联的广域网进行通信。
- 真正通信的实体:在计算机网络中,实际进行通信的真正实体是位于通信两端主机中的进程(AP = 应用进程)。
- 运输层的主要任务:如何为运行在不同主机上的应用进程提供直接的逻辑通信服务,就是运输层的主要任务。运输层协议又称为端到端协议。
2. 网络层 vs 运输层
| 对比项 | 网络层 | 运输层 |
|---|---|---|
| 通信范围 | 主机到主机 | 应用进程到应用进程(端到端) |
| 提供的通信 | 主机之间的逻辑通信 | 进程之间的逻辑通信 |
| 标识方式 | IP 地址 | IP 地址 + 端口号 |
| 协议举例 | IP | TCP、UDP |
- ⚠️ 重点/考点:运输层提供的是端到端通信,网络层提供的是主机到主机通信。
3. 进程间基于网络的通信(复用与分用)
- 发送端(复用):主机 A 中的运输层使用不同的端口对应不同的应用进程,然后通过网络层及其下层传输应用层报文。
- 例:主机 A 中 AP1 与主机 B 中 AP4 通信,AP2 与主机 B 中 AP3 通信。
- 接收端(分用):主机 B 中的运输层通过不同的端口,将收到的应用层报文交付给应用层中相应的应用进程。
- 端口的本质:这里的端口并不是看得见、摸得着的物理端口,而是用来区分不同应用进程的标识符。
4. 运输层的屏蔽作用与逻辑通信
- 屏蔽网络核心细节:运输层向应用层实体屏蔽了下面网络核心的细节(例如网络拓扑、所采用的路由选择协议等)。
- 逻辑通信的含义:运输层之间的通信好像是沿水平方向传送数据,但事实上通信双方的运输层之间并没有一条水平方向的物理连接,要传送的数据是沿着上下多次的虚线方向传送的。
- 效果:在应用进程看来,就好像在两个运输层实体之间有一条端到端的逻辑通信信道。
5. 两种运输层协议
根据应用需求的不同,英特网的运输层为应用层提供了两种不同的运输层协议:
- TCP(面向连接)
- UDP(无连接)
这两种协议是本章要讨论的主要内容。
⚠️ 重点/考点:运输层协议又称为端到端协议;端口是区分进程的标识符而非物理端口。
💡 核心总结
- 网络层提供主机到主机逻辑通信,运输层提供进程到进程(端到端)逻辑通信。
- 运输层通过端口号标识进程,实现复用(发送端多进程共用)与分用(接收端按端口交付)。
- 运输层向应用层屏蔽网络核心细节,呈现为端到端逻辑信道。
- 运输层两大协议:TCP(面向连接)和 UDP(无连接)。
❓ 课后思考 / 经典考题
- 网络层和运输层分别提供什么范围的通信服务?有何区别?
- 运输层如何区分同一主机上不同的应用进程?这里的"端口"是物理端口吗?
- 什么是运输层的"复用"与"分用"?举例说明。
- 为什么说运输层提供的是"逻辑通信"?运输层向应用层屏蔽了哪些细节?
- 英特网运输层提供了哪两种协议?它们在连接性上有何不同?