网络工程师是什么
这一课你将能做到
- 说清楚网络工程师的四类日常工作:设计、实施、运维、协作
- 画出一张典型企业网络拓扑:出口—防火墙—核心—接入—服务器区
- 用「分层排查」的思路判断一个故障是应用问题还是网络问题,并知道第一步查什么
为什么要学
所有后端代码最终都要跑在网络上传给用户。接口返回 500 是应用问题;接口超时、TLS 握手失败、DNS 解析不到,往往就是网络问题。懂网络的开发者,能在十分钟内把锅甩准;不懂的,只能在「我这边没问题」的来回扯皮里耗一整晚。
对想专职做网络的初学者,这一课回答三个问题:这行每天干什么、需要什么能力、怎么学才不绕路。本课程后续每一课都建立在「分层」这个核心思维上,先从全景图开始。完整学习路径见 /roadmaps/network-engineer。
先建立图像
一个典型中小企业 / 自建机房的网络长这样:
┌──────────┐
Internet ────────┤ 出口路由 │ ← 运营商专线 / 公网 IP,NAT 在这
└────┬─────┘
│
┌──────┴──────┐
│ 防火墙 │ ← 安全策略第一道门
└──────┬──────┘
│
┌──────┴──────┐
│ 核心交换机 │ ← 全网汇聚点,双机冗余
└──┬───────┬──┘
┌───────┘ └───────┐
┌─────┴─────┐ ┌─────┴─────┐
│ 接入交换机 │ │ 服务器区 │
│ (办公网段) │ │ (业务网段) │
└─────┬─────┘ └─────┬─────┘
│ │ │ │ │
PC PC AP Nginx K8s节点 MySQL
用户上网走的是:PC → 接入交换 → 核心交换 → 防火墙 → 出口 → 公网。业务流量在服务器区内部再经负载均衡分发给后端。看懂这张图,你就有了后面十一课的地图。
跟着做
步骤 1:看清自己机器的网络身份
Linux/macOS:
ip addr show # 看网卡与 IP(macOS 可用 ifconfig)
ip route # 看默认网关走哪
cat /etc/resolv.conf # 看 DNS 服务器
Windows 对应:ipconfig /all、route print。记住三个值:本机 IP、默认网关、DNS——排障永远先确认这三样。
步骤 2:验证到网关和公网的连通性
ping -c 3 192.168.1.1 # 网关通 → 局域网正常
ping -c 3 223.5.5.5 # 通公网 IP → 出口正常
curl -sI https://example.com | head -1 # 通域名 → DNS+TLS+HTTP 都正常
三步分别覆盖「内网 / 出口 / 全链路」,任何一步断掉,问题范围立刻缩小。
步骤 3:看你自己的服务监听在哪
ss -tlnp | grep -E '80|443|8080' # 谁在监听这些端口
后端说「服务起在 8080」,网络侧要确认它监听的是 0.0.0.0 还是 127.0.0.1——后者外网怎么连都不通,这是最经典的误会之一。
步骤 4:模拟一次完整请求路径
curl -v https://你的域名 2>&1 | grep -E 'Trying|Connected|SSL|HTTP/'
输出会依次显示 DNS 解析结果、TCP 连接的 IP:端口、TLS 握手、HTTP 状态。四个环节对应四类问题,哪一行卡住,问题就在哪一段。
讲清楚要点
- 网络工程师的核心产出是「连通、稳定、安全」:连通靠路由与交换,稳定靠冗余与监控,安全靠 ACL/防火墙与加密。
- 分层思维是排障第一原则:物理(线插对了吗)→ IP(地址通吗)→ 传输(端口开吗)→ 应用(服务对吗)逐层缩小,不要跳层猜。
- 职责边界要清楚:开发保证「服务进程正常」,网络保证「包能到进程」。监听地址、安全组、健康检查是两边最容易打架的三个点。
- 学习方法:环境优先于背题:一台 Linux 虚拟机 + 一套 Docker/K8s 环境,胜过背十份题库。本课所有命令都可以在你自己的机器上跑。
你可能会懵的地方
-
网络工程师和运维 / 后端的界限在哪? 小公司一人全包;中大厂里,网工管路由、交换、防火墙、专线、负载均衡策略,运维管系统与应用,后端管代码。三者在「端口、证书、DNS、安全组」这几个交界点上必须密切协作。
-
云时代还要学交换机路由器吗? 要。VPC 子网、路由表、对等连接、安全组全是传统概念的云端重命名。不懂底层,云控制台上的每个选项对你都是黑盒。
-
不会 Cisco/Huawei 命令行能入行吗? 能。云网络岗位大头是 Linux + 云平台;但 CCNA/HCIA 级别的命令行是面试硬通货,建议边学概念边练 CLI。
-
网络方向和后端方向怎么选? 喜欢确定性、设备与协议细节,选网络;喜欢业务与代码,选后端。两者叠加(懂网络的后端)在 K8s/微服务时代溢价很高。
-
数学不好能学子网划分吗? 能。子网划分只需要二进制和 2 的幂,后续 ne-ip 会用查表法把它变成套路题。
错法对照
| 错法 | 问题 | 正解 |
|---|---|---|
| 一上来就背七层模型定义 | 背完不会用 | 先跑通一次请求,再对照分层理解 |
| 网络慢就买更大带宽 | 延迟 / 丢包 / DNS 都会「显得慢」 | 先 ping/mtr 定位瓶颈类型 |
| 只学云控制台,不学底层 | 换个云就抓瞎 | 底层概念为主线,云是它的 GUI |
| 服务不通先重启大法 | 掩盖问题 | 按「监听 → 网关 → DNS → 对端」顺序排查 |
| 忽视监听地址 127.0.0.1 | 「服务明明起了却不通」 | 对外服务必须监听 0.0.0.0 并放行安全组 |
卡点急救
- 命令不存在:
ip命令在老系统用ifconfig替代;Windows 用ipconfig。macOS 想用ip route可装 iproute2mac,或直接看系统设置的网络面板。 - ping 通但 curl 不通:多半是 443 被 ACL/安全组拦或 TLS 证书问题,用
curl -vk看握手卡在哪一步。 - 不知道自己网关:
ip route | grep default(Windows 看ipconfig里「默认网关」一行)。
面试常问
-
用户反馈网站打不开,你的排查步骤? 先分清范围:自己能开吗 → 缩小到个体还是全局;再看四段:DNS(dig/nslookup)、TCP(telnet/curl 探 443)、TLS(curl -v 看握手)、HTTP(状态码 / 超时)。每步都有明确结论,不靠猜。
-
TCP 和 UDP 最本质的区别?什么场景选 UDP? TCP 有连接、可靠、有序、带拥塞控制;UDP 无连接、开销小、实时性好。语音 / 视频 / DNS / 游戏选 UDP,网页 / 接口 / 数据库选 TCP。细节在下一课展开。
-
一个 HTTP 请求从输入网址到响应,经过哪些环节? DNS 解析 → TCP 三次握手 → TLS 握手 → HTTP 请求 / 响应 → 连接复用或关闭。面试官在考你是否分得清「域名、连接、会话」三件事。
自测三问
- 你机器的默认网关和 DNS 分别是什么?用什么命令查?
- 「服务已启动」和「服务可被访问」之间隔着哪几道关卡?
- 典型企业网络从出口到桌面要经过哪些设备?
小结一句话
网络工程师的活是让包可靠、安全、快速地到达进程;分层排查是这门手艺的第一把刀。
延伸
- Cisco Networking Basics(官方入门)
- 下一课:OSI 七层与 TCP/IP 四层逐层拆解。