2. TCP、UDP 区别
|xxxxx|TCPxxxxxxxx|UDPxxxxxxxxxxxxxx|
|区别|面向连接xxxxx|无连接xxxxxxxxxxx|
|区别|可靠的传输xx|不可靠的数据传输|
|区别|提供流量控制|不提供流量控制xx|
|区别|提供拥塞控制|不提供拥塞控制xx|
|区别|字节流传输xx|数据报传输xxxxxx|
|区别|全双工通信xx|xxxxxxxxxxxxxxxxxx|
TCP 的面向连接:
- 客户机、服务器在交换消息之前,两者需要建立 1 个连接;
- 在应用层传输数据之前,必须先建立 TCP 连接;
- 客户机/服务器进程间需要建立连接。
UDP 的无连接:
- 无需连接建立:UDP 不需要任何准备即可进行数据传输(TCP 在开始数据传输之前要经过 3 次握手)。
- 无连接状态:UDP 不维护连接状态(TCP 需要在端系统中维护连接状态)。
(《计算机网络(第 6 版) - 自顶向下方法》 - 3.3 无连接运输,P133)
可靠:保证不会出错、丢失、乱序;
不可靠:不保证一定把数据交到目的地,可能有丢失、乱序。
(《1 计算机网络之网尽其用》 - 哈工大 - 网易慕课 - 21.2.2 网络应用的基本原理(3) - 网络应用的需求与传输层服务 - 07分50秒)
(《1 计算机网络之网尽其用》 - 哈工大 - 网易慕课 - 31.2.7 Socket编程(3) - Socket API 函数(1) - 09分50秒)