TCP和UDP的区别如下:

比较基础 传输控制协议 (TCP) 用户数据报协议 (UDP)
服务类型 TCP 是一种面向连接的协议。面向连接的意思是通信设备在传输数据之前应该建立连接,在传输数据之后应该关闭连接。 UDP是面向数据报的协议。这是因为打开连接、维护连接和终止连接没有开销。 UDP 对于广播和多播类型的网络传输非常有效。
可靠性 TCP 是可靠的,因为它保证将数据传送到目标路由器。 在 UDP 中无法保证将数据传送到目的地。
错误检查机制 TCP 提供了广泛的错误检查机制。这是因为它提供了数据流控制和确认。 UDP 只有使用校验和的基本错误检查机制。
确认 存在确认段。 没有确认段。
数据的顺序 排序是传输控制协议 (TCP) 的一项功能。这意味着数据包按顺序到达接收器。 UDP 中没有数据排序。如果需要订单,则必须由应用层管理。
速度 TCP 比 UDP 慢。 UDP 比 TCP 更快、更简单、更高效。
重传 在 TCP 中可以重传丢失的数据包,但在 UDP 中则不行。 在用户数据报协议 (UDP) 中没有丢失数据包的重传。
标头长度 TCP 有一个 (20-60) 字节的可变长度标头。 UDP 有一个 8 字节的固定长度标头。
重量 TCP 是重量级的。 UDP是轻量级的。
握手技术 使用诸如 SYN、ACK、SYN-ACK 之类的握手 UDP是一个无连接协议,即没有握手。
广播 TCP 不支持广播。 UDP 支持广播。
协议 TCP 被 HTTP、HTTPS、FTP、SMTP 和 Telnet 使用。 UDP 被 DNS、DHCP、TFTP、SNMP、RIP 和 VoIP 使用。
流类型 TCP 连接是字节流。 UDP 连接是消息流。
开销 低但高于 UDP。 非常低。

一个简短的例子来理解这些差异:

  • 假设有两所房子,H1 和 H2,并且必须从 H1 向 H2 发送一封信。 但这两个房子之间有一条河。 现在我们如何发送这封信?
  • 解决方案1:在河上建一座桥,然后就可以交付了。
  • 解决方案2:通过鸽子交付。

将第一个解决方案视为 TCP。 必须建立连接(桥接)才能传递数据(信件)。
数据是可靠的,因为它将直接到达另一端而不会丢失数据或错误。
第二种解决方案是UDP。 发送数据不需要连接。
与 TCP 相比,这个过程要快,我们需要建立一个连接(网桥)。 但数据并不可靠:我们不知道鸽子是否会朝着正确的方向前进,或者它会在途中掉信,或者在旅行中遇到一些问题。