八股复习之计算机网络中TCP与UDP的区别

TCP与UDP的区别(重要)

1,是否面向连接?

TCP:TCP是面向连接的,在传输数据之前需要进行"三次握手"建立连接,数据传输完毕后需要进行"四次挥手"来释放连接,这是为了保证通信双方做好了通信的准备

UDP:UDP是无连接的,发送数据之前不需要建立任何连接,直接把数据包扔出去。

2,是否是可靠传输?

  • TCP 提供可靠的数据传输服务。它通过序列号、确认应答 (ACK)、超时重传、流量控制、拥塞控制等一系列机制,来确保数据能够无差错、不丢失、不重复且按顺序地到达目的地。
  • UDP 提供不可靠的传输。它尽最大努力交付 (best-effort delivery),但不保证数据一定能到达,也不保证到达的顺序,更不会自动重传。收到报文后,接收方也不会主动发确认。

3,是否有状态?

  • TCP 是有状态的。因为要保证可靠性,TCP 需要在连接的两端维护连接状态信息,比如序列号、窗口大小、哪些数据发出去了、哪些收到了确认等。
  • UDP 是无状态的。它不维护连接状态,发送方发出数据后就不再关心它是否到达以及如何到达,因此开销更小(这很"渣男"!)。

4,传输效率?

  • TCP 因为需要建立连接、发送确认、处理重传等,其开销较大,传输效率相对较低。
  • UDP 结构简单,没有复杂的控制机制,开销小,传输效率更高,速度更快。

5,传输形式?

  • TCP 是面向字节流 (Byte Stream) 的。它将应用程序交付的数据视为一连串无结构的字节流,可能会对数据进行拆分或合并。
  • UDP 是面向报文 (Message Oriented) 的。应用程序交给 UDP 多大的数据块,UDP 就照样发送,既不拆分也不合并,保留了应用程序消息的边界。

6,首部开销?

  • TCP 的头部至少需要 20 字节,如果包含选项字段,最多可达 60 字节。
  • UDP 的头部非常简单,固定只有 8 字节。

具体选择使用TCP与UDP的场景

相关推荐
2601_963282774 小时前
寒地窄带通信工程实践:黑龙江哈尔滨对讲机选型、组网与合规运维总结
运维·服务器·网络
是真的小外套6 小时前
网络安全实战第14期:Week2周末闯关
网络·安全·web安全
xbzb6 小时前
OpenStack 网络管理(理论):Linux 网络虚拟化是 Neutron 的地基
linux·服务器·网络·openstack·network·neutron
QXWZ_IA8 小时前
边坡监测预算有限时的建设顺序:虚拟基准站与成本账
网络·数据库
聪明蛋子哟11 小时前
大模型应用“最后一公里”:从Prompt工程到MCP协议,如何实现跨系统的高可用集成?
网络·prompt
科创致远12 小时前
ESOP 电子作业指导书 WiFi 网络应用实测报告
运维·服务器·网络
承渊政道12 小时前
Linux网络学习【从NAT与代理服务理解网络转发、探索内网穿透原理、再到认识DNS与ICMP、最后动手部署并测试内网穿透】
linux·网络·学习·内网穿透·dns·nat
最强小杰12 小时前
minimax-m3 突然报 HTTP 529 怎么办?连续重试为何更难恢复,退避时间该怎么算?
网络·网络协议·http·ai
程序员清风12 小时前
AI 编程助手的权限边界:文件、命令、密钥与人工确认
运维·服务器·网络
MicrosoftCloud13 小时前
计网 12|ARP、DHCP、ICMP:地址解析、动态分配与差错报告
计算机网络·考研·408·arp·dhcp·icmp·ping