TCP 与 UDP:分别何时使用
了解面向连接的 TCP 与无连接的 UDP 之间的区别,以及它们对安全性的影响
TCP 与 UDP:分别何时使用 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。
传输层
TCP 和 UDP 是传输层(OSI 第 4 层)的两种主要协议。它们定义了不同主机上的应用程序之间如何传输数据。
TCP:传输控制协议
TCP是一种面向连接的协议。发送数据之前,必须通过三次握手建立连接。TCP 可确保数据送达、顺序正确,并进行错误检查。
使用场景:HTTP/HTTPS、SSH、SMTP、FTP — 适用于任何需要可靠性的应用程序。
三次握手
TCP 建立连接的过程:
- 客户端发送 SYN(同步)
- 服务器回复 SYN-ACK(同步-确认)
- 客户端发送 ACK(确认)
此时连接已经建立。SYN 洪泛攻击的目标正是这一握手过程。
TCP 的特性
TCP 提供以下功能:
- 可靠性 — 重传丢失的数据包
- 有序性 — 按正确顺序重新组装数据包
- 流量控制 — 防止接收方不堪重负
- 拥塞控制 — 根据网络容量进行调整
UDP:用户数据报协议
UDP是一种无连接协议。它无需先建立连接即可发送数据报。不保证送达,不保证顺序,也不提供确认。
使用场景:DNS、VoIP、视频流、在线游戏、DHCP — 适用于速度比完美传输更重要的应用程序。
UDP 的特性
UDP 快速且轻量:
- 没有连接开销
- 没有重传延迟
- 延迟更低
- 如有需要,可靠性必须由应用程序处理(例如通过 UDP 运行的 QUIC)
TCP 与 UDP 对比
主要区别:
- TCP:可靠、有序、速度较慢、面向连接
- UDP:快速、不可靠、无连接、开销较低
QUIC(HTTP/3)使用 UDP,并通过自定义的可靠性机制提升现代 Web 的性能。
TCP 的安全影响
TCP 的握手过程会带来安全风险:
- SYN 洪泛:攻击者发送数千个 SYN 数据包,却不完成握手,从而耗尽服务器资源
- TCP 会话劫持:攻击者预测序列号,将数据注入现有会话
UDP 的安全影响
UDP 缺少连接状态,因此可能导致:
- UDP 放大型 DDoS 攻击:攻击者伪造受害者的 IP,向开放的 UDP 服务发送小请求,使服务将大型响应发回受害者
- DNS 放大攻击:一个很小的 DNS 请求可能触发大得多的响应
常见端口号
需要了解的主要端口:
- TCP 22 — SSH
- TCP 80 — HTTP
- TCP 443 — HTTPS
- UDP 53 — DNS
- UDP 67/68 — DHCP
- TCP 3306 — MySQL
- TCP 3389 — RDP
查看活动连接
使用 ss 或 netstat 检查开放端口和连接:
ss -tulnp
# -t TCP, -u UDP, -l listening, -n numeric, -p show process快速检查:TCP 与 UDP
计算机发送 DNS 查询来解析域名。该查询使用哪种协议?
课程回顾
TCP 通过三次握手提供可靠、有序的数据传输,非常适合 HTTP、SSH 和 SMTP。UDP 快速且无连接,非常适合 DNS、VoIP 和流媒体。两者各有不同的安全影响:TCP 容易受到 SYN 洪泛和会话劫持攻击;UDP 则可能被用于放大攻击。
用 AI 导师学习 Cyber Security Academy — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 76
- 课程
- 303
常见问题解答
「TCP 与 UDP:分别何时使用」课时是免费的吗?
是的 — 「TCP 与 UDP:分别何时使用」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。
「TCP 与 UDP:分别何时使用」这节课中我会学到什么?
了解面向连接的 TCP 与无连接的 UDP 之间的区别,以及它们对安全性的影响 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cyber Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「TCP 与 UDP:分别何时使用」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cyber Security Academy 课中编写并运行代码吗?
能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- IP 地址与子网
- TCP 与 UDP:分别何时使用
- DNS:域名如何解析为 IP
- HTTP 与 HTTPS 基础