在通信系统中,单工(Simplex)、半双工(Half-Duplex)和全双工(Full-Duplex)是三种基本的数据传输模式,核心区别在于通信方向的允许性和同时性。以下是详细对比:
1. 单工(Simplex)
- 定义:数据只能在一个方向上传输,且方向固定。
- 特点:
- 单向通信:一方永远是发送方,另一方永远是接收方。
- 无反向反馈:接收方无法通过同一通道发送任何数据。
- 典型应用:
- 广播(电视、电台)
- 键盘向计算机发送信号(早期键盘无状态返回)
- 传感器数据上传(如温度传感器→服务器)
2. 半双工(Half-Duplex)
- 定义:数据可以双向传输,但不能同时进行。
- 特点:
- 分时双向:通信双方需要轮流发送/接收(类似对讲机)。
- 冲突风险:若双方同时发送会导致数据碰撞(需协议规避,如CSMA/CD)。
- 典型应用:
- 对讲机(Walkie-Talkie)
- 传统以太网(早期的共享介质网络,如10BASE2)
- 某些物联网设备(如低功耗无线传感器)
3. 全双工(Full-Duplex)
- 定义:数据可以同时双向传输,且互不干扰。
- 特点:
- 并发双向:双方可同时发送和接收数据。
- 资源分离:通常需要独立的物理通道或频分/时分复用技术支持。
- 典型应用:
- 电话通话(双方可同时说话和收听)
- 现代以太网(如千兆以太网,使用双绞线分离收发通道)
- TCP协议通信(支持双向字节流)
三者的直观对比
| 特性 | 单工 | 半双工 | 全双工 |
|---|---|---|---|
| 方向性 | 单向固定 | 双向,但分时 | 双向同时 |
| 同时性 | 永远单向 | 不能同时收发 | 可同时收发 |
| 通道占用 | 单通道(单向) | 单通道(双向分时) | 双通道或复用技术 |
| 延迟 | 无反向延迟 | 需等待信道空闲 | 无等待 |
| 效率 | 最低 | 中等 | 最高 |
| 典型协议 | HTTP/1.0(早期单向) | 传统以太网(CSMA/CD) | TCP、HTTP/2、WebSocket |
技术实现示例
-
单工
- 光纤监控信号:仅从监控设备向控制中心发送数据,无需反向传输。
-
半双工
- Wi-Fi(802.11):同一时刻设备只能发送或接收,通过CSMA/CA避免冲突。
-
全双工
- 现代4G/5G:通过频分双工(FDD)或时分双工(TDD)实现上下行并发。
常见问题
-
为什么TCP是全双工,而UDP不是?
- TCP通过独立的序列号和确认机制管理双向数据流,而UDP是无状态的,需应用层自行实现双向逻辑。
-
全双工是否需要两根线?
- 不一定。例如:
- 双绞线(网线)通过不同线对分离收发(如T568B标准)。
- 光纤通过不同波长(WDM)实现单纤双向传输。
- 不一定。例如:
-
半双工如何避免冲突?
- 协议层控制(如以太网的CSMA/CD检测冲突后重传)。
- 硬件层调度(如RFID标签的轮询机制)。
扩展思考
- 全双工的代价:更高的硬件复杂度(如回声消除技术)。
- 物联网中的选择:低功耗设备常采用半双工以节省能耗(如LoRaWAN)。
理解这些模式有助于设计通信协议(如选择WebSocket全双工而非HTTP轮询)或排查网络问题(如半双工模式下因冲突导致的性能下降)。

2342

被折叠的 条评论
为什么被折叠?



