内部培训
01 第1周D2 网络TCPIP

D2 网络基础 · TCP/IP

D2 网络基础 · TCP/IP

标准(必讲)。为理解"请求怎么在网络上跑"打地基;D3 讲 HTTP 时直接用到。

教学目标(学完能做什么)

  • 能说出 TCP/IP 四层模型每一层的职责,举一个真实例子
  • 能解释 TCP 三次握手 / 四次挥手的过程与作用
  • 能说出公司常见服务用的端口(443/22/5432/80)
  • 会用 curltcpdumppingnc 做基础网络排查
  • 能解释 NAT 与公网/私网 IP 的区别

前置要求

  • D1(业务全景,知道公司域名与"请求要经过网络"这件事)

本模块在业务中的位置

  • 公司是典型的"服务器对外提供服务":客户请求(HTTPS/443)→ 云服务器/公网 → 集群 → 服务。TCP/IP 是这条路上最底层的地基;后续 D3 HTTP、D4 DNS 都建立在这层之上。

内容分段

1. 网络分层模型

  • TCP/IP 四层(从上到下):
    1. 应用层:HTTP、HTTPS、DNS、SMTP……(D3/D4 讲)
    2. 传输层:TCP(可靠、面向连接)、UDP(快、无连接)
    3. 网络层:IP(寻址、路由)
    4. 链路层:以太网、Wi-Fi(物理传输)
  • 对照记忆:OSI 七层太理论,公司日常用四层就够。
  • 一句话:每一层只管自己的事,向下封装、向上服务

2. IP 地址与端口

  • IPv443.132.237.162(公司 prod master 公网 IP,见 CLAUDE.md)。
  • 公网 IP vs 私网 IP:公网全球唯一;私网(192.168.x / 10.x / 172.16-31.x)只在局域网内,如公司 dev 集群 192.168.1.240
  • 端口:进程的"门牌号"。常见端口:
    • 22 SSH(远程登录)
    • 80 HTTP / 443 HTTPS(Web 服务,公司服务大多走 443)
    • 5432 PostgreSQL(公司数据库)
    • 6443 K8s API server(集群管理)
  • 记法:访问一个服务 = 目标 IP + 目标端口,如 43.132.237.162:6443

3. TCP 三次握手与四次挥手

  • 三次握手(建立连接)
    1. 客户端发 SYN
    2. 服务端回 SYN + ACK
    3. 客户端回 ACK → 连接建立
  • 四次挥手(断开连接)FIN → ACK → FIN → ACK
  • 为什么是三次?—— 确保双方都确认"能发能收"。
  • 抓包实操:下面第 6 节会实际看到这三条包。

4. UDP 与 TCP 对比

特性TCPUDP
连接面向连接无连接
可靠性可靠(重传/顺序)尽力而为
用途HTTP、SSH、数据库DNS 查询、视频、游戏
  • 记忆:文件、请求要可靠用 TCP;实时快传用 UDP。DNS 默认走 UDP/53,查不到会转 TCP。

5. NAT(网络地址转换)

  • 公司多台内网机器共用一个公网 IP 出去上网,就是 NAT 在做"地址翻译"。
  • 反向场景:公网客户访问公司服务器,靠端口转发/负载均衡把公网 443 转发到内部服务。
  • 理解即可,D8 讲 K8s 的 Service/Ingress 时会再见到这种"转发"思想。

6. 动手排查工具

# 域名/IP 连通性
ping -c 3 kuma.akria.net

# 看端口是否开放(TCP 连不连得上)
nc -vz kuma.akria.net 443
nc -vz 43.132.237.162 22   # 公司 master 的 SSH

# 抓包看三次握手(需要权限,讲师演示)
sudo tcpdump -i any host kuma.akria.net and tcp port 443 -n

# 另一个终端同时 curl,观察 SYN/ACK
curl -sI https://kuma.akria.net
  • 讲师现场跑一遍 tcpdump,指给学员看 SYN / SYN+ACK / ACK 三条包。
  • 常见误区:ping 通 ≠ 服务正常(ping 是 ICMP,不是业务端口);要用 nc -vz 端口curl 验证业务。

讲解节奏建议(约 90 分钟)

时段内容
09:00-09:15引入:请求在网络上是怎么走的(D1 架构图上加一条"网线")
09:15-09:40四层模型 + IP/端口(对照公司 IP)
09:40-10:00TCP 三次握手四次挥手(白板画时序图)
10:00-10:15UDP 对比 + NAT
10:15-10:45抓包演示:tcpdump + curl 看三次握手
10:45-11:15学员实操:ping / nc / curl 排查公司域名
11:15-11:45常见误区 + 小结
11:45-12:00布置 D2 作业

常见误区汇总

误区正确理解
ping 通 = 服务正常ping 是 ICMP,只测网络通不通;业务端口要 nc -vz / curl 验证
TCP/IP = 一个协议是一组协议族的统称,含 IP/TCP/UDP/HTTP 等
IP 一样端口随便端口是进程的门牌,同一 IP 上不同端口是不同的服务
三次握手是"传三次数据"建立连接的控制过程,还没传业务数据
私有 IP 能被公网直接访问不能,必须靠 NAT/端口转发;所以公司服务对外都要走公网入口

On this page