CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
计算机网络入门/课时/TCP 与 UDP
RawBlame
课时目录12 节

计算机网络入门

  1. 01网络为什么重要
  2. 02分层模型
  3. 03IP 地址与子网
  4. 04TCP 与 UDP
  5. 05端口与服务
  6. 06诊断工具
  7. 07防火墙概念
  8. 08负载均衡
  9. 09NAT 与反向代理
  10. 10VPN 与隧道
  11. 11排障流程
  12. 12综合练习

TCP 与 UDP

三次握手、端口、Web 用 TCP。

30 分钟

TCP 与 UDP

传输层在 IP 之上提供端到端通信。TCP 可靠、有序、面向连接,Web 与数据库几乎都用它;UDP 无连接、低延迟,用于 DNS 查询、视频流等场景。

学习目标

  • 理解 TCP 三次握手与四次挥手直觉
  • 对比 TCP 与 UDP 的适用场景
  • 说明 HTTPS 为何建立在 TCP 之上

核心内容

TCP 三次握手

客户端                    服务器
  │── SYN ───────────────►│
  │◄── SYN + ACK ─────────│
  │── ACK ───────────────►│
  │      连接建立,可传 HTTP   │

每次新建 HTTPS 连接都要握手;HTTP/2 多路复用可复用同一 TCP 连接(http-http2)。

TCP vs UDP

TCPUDP
连接面向连接无连接
可靠性重传、有序不保证
典型用途HTTP、MySQL、SSHDNS、QUIC 底层
本站:443、:8080、:3306较少直接暴露

Web 全走 TCP

浏览器 ──TCP 443──► Nginx(TLS 在 TCP 流上加密)
Nginx  ──TCP 8080──► Spring Boot /api/*
Nginx  ──TCP 3000──► Next.js /
JVM    ──TCP 3306──► MySQL

UDP 在 dns-resolution 解析域名时常见;解析结果仍是 TCP 连公网 IP。

观察连接

ss -tn state established '( dport = :443 or sport = :443 )'
ss -tn | grep ':8080'
curl -v --connect-timeout 5 https://coderoadmap.cn/ 2>&1 | grep Connected

Connection refused = 目标 IP 可达但 端口无进程监听;超时则查防火墙或路由(net-firewall)。

练习

  • 口述 TCP 三次握手各步含义
  • 说明 MySQL 为何用 TCP 而非 UDP
  • 用 ss -tn 列出当前到 :443 的 ESTABLISHED 连接

小结

TCP 为 HTTP 与数据库提供可靠通道;端口区分同一 IP 上的不同服务。 下一课专门讲端口规划。

加载本节练习…
← 上一课IP 地址与子网
下一课 →端口与服务