计算机网络词汇速记(面试必备)
用途:5 分钟讲清 TCP / IP / UDP / HTTP / HTTPS / Socket 这些高频词
适合:被问到「TCP 和 UDP 区别」「HTTPS 怎么加密的」「三次握手是啥」时脱口而出
核心思想:协议分层,每层只干一件事
一、一张图速记(先看这个)

记忆口诀:「应传网链物」(应用、传输、网络、链路、物理)——5 层从高到低。
二、必背 10 个名词(一行一个)
| 名词 | 一句话解释 | 类比 |
|---|---|---|
| IP | 给每台机器一个地址(192.168.1.1),负责把包送到正确机器 | 写信只写地址扔邮筒 |
| TCP | 在 IP 之上保证包完整、有序、不丢 | 打电话确认对方在线才说 |
| UDP | 在 IP 之上只管发,不管到没到 | 寄明信片,扔出去就完了 |
| 端口号 | 一台机器上的门牌号(0-65535),决定数据给哪个程序 | 公司大楼里具体的工位 |
| Socket | 编程接口(API),不是协议;让程序能读写 TCP/UDP | 程序员拿到的「电话机」 |
| HTTP | 应用层请求-响应协议,一问一答断线 | 点外卖:下单→收餐→完事 |
| HTTPS | HTTP + TLS 加密(HTTP 套了层 SSL/TLS) | 点外卖用保密信封 |
| TLS(前身 SSL) | 负责加密、认证、完整性的协议 | 快递公司给信件上锁+签名 |
| DNS | 把域名(www.baidu.com)翻译成 IP | 电话簿 |
| 三次握手 | TCP 建立连接的 3 次「SYN → SYN+ACK → ACK」 | 打视频电话前先「喂喂→听到→收到」 |
三、TCP vs UDP(最常考)
| 维度 | TCP | UDP |
|---|---|---|
| 全称 | Transmission Control Protocol | User Datagram Protocol |
| 是否连接 | 面向连接(三次握手) | 无连接(直接发) |
| 可靠性 | ✅ 可靠(不丢、不重、有序) | ❌ 不可靠(可能丢、可能乱序) |
| 速度 | 慢(要确认、要重传) | 快(扔出去就完事) |
| 头部大小 | 20-60 字节 | 8 字节(超轻量) |
| 流量控制 | ✅ 滑动窗口 | ❌ 无 |
| 拥塞控制 | ✅ 慢启动、拥塞避免 | ❌ 无 |
| 应用场景 | HTTP、文件传输、邮件、SSH | DNS、视频、语音、游戏、DNS 查询 |
| 类比 | 打电话(确认对方在才说) | 寄明信片(扔出去就完) |
口诀:「TCP 可靠慢,UDP 不可靠快;要可靠选 TCP,要速度选 UDP。」
项目里实际用 TCP/UDP 的地方
| 协议 | TCP / UDP | 用途 |
|---|---|---|
| HTTP / HTTPS / WebSocket / MQTT | TCP | 90% 业务 |
| DNS | UDP(主)+ TCP(备) | 域名解析 |
| WebRTC 媒体流 | UDP(RTP) | 音视频实时传输 |
| 视频直播 | UDP | 延迟敏感 |
四、HTTP vs HTTPS(最常问)
| 维度 | HTTP | HTTPS |
|---|---|---|
| 全称 | HyperText Transfer Protocol | HTTP + Secure(= HTTP + TLS) |
| 端口 | 80 | 443 |
| 加密 | ❌ 明文传输 | ✅ TLS 加密(其他人看不懂) |
| 认证 | ❌ 不验证服务器身份 | ✅ 数字证书(CA 颁发) |
| 完整性 | ❌ 可能被篡改 | ✅ 防篡改 |
| 性能 | 快(少一次握手) | 稍慢(多一次 TLS 握手) |
| 适用 | 内网、测试 | 公网、登录、支付(强烈推荐 HTTPS) |
| 类比 | 大喇叭喊话,邻居都能听到 | 加密对讲机,只有双方能听 |
HTTPS 加密流程(精简版,面试够用)

口诀:「HTTP 明文裸奔,HTTPS 套了 TLS 加密+证书认证」
💡 常被问:「HTTPS 一定安全吗?」
✅ TLS 1.2/1.3 + 合法证书的情况下:防窃听、防篡改、防冒充。
❌ 但如果用户点了「继续访问」忽略证书警告,或证书过期/自签,HTTPS 也可能被劫持。
五、TCP 三次握手 & 四次挥手(必背)
三次握手(建立连接)

为什么是 3 次不是 2 次?
- 2 次握手:服务器发出「SYN+ACK」后就默认连接成功,但不知道客户端有没有收到。
- 3 次握手:客户端再「ACK」一次,服务器才知道双方都准备好了。
- 类比:打视频电话前「喂喂→听到→收到」,3 步才能确认双方都能收发。
四次挥手(断开连接)

为什么挥手要 4 次不是 3 次?
- TCP 是全双工(客户端和服务器能同时收发)。
- 关闭要两边各关一次:客户端关发送 → 服务器关接收 → 服务器关发送 → 客户端关接收。
- 类比:挂电话要「你说完了→嗯→我说完了→嗯」,4 步才完整。
关键状态机(面试加分)
客户端: SYN_SENT → ESTABLISHED → FIN_WAIT_1 → FIN_WAIT_2 → TIME_WAIT → CLOSED
服务器: LISTEN → SYN_RCVD → ESTABLISHED → CLOSE_WAIT → LAST_ACK → CLOSED
💡 TIME_WAIT 是干啥的? 等 2MSL(≈ 2 分钟)确保最后一个 ACK 能到达服务器,避免服务器重发 FIN 时客户端已关闭。
六、HTTP vs WebSocket vs Socket(高频混淆)
| 名词 | 是什么 | 协议 / API | 模型 |
|---|---|---|---|
| Socket | 编程接口(API) | API | 不是协议 |
| TCP | 协议 | 协议 | 传输层 |
| HTTP | 协议 | 协议 | 应用层 |
| WebSocket | 协议 | 协议 | 应用层(基于 HTTP 升级) |
关系链:
Socket (API)
↓ 用
TCP / UDP (传输层协议)
↓ 上层封装
HTTP / WebSocket / MQTT (应用层协议)
口诀:「Socket 是电话机,TCP 是电话线,HTTP/WebSocket 是通话规则」
七、面试常见 5 问速答
Q1:TCP 和 UDP 区别?
| TCP | UDP |
|---|---|
| 可靠、慢、重 | 不可靠、快、轻 |
| 三次握手建连 | 直接发 |
| HTTP / 文件传输 / SSH | DNS / 视频直播 / 游戏 |
Q2:HTTPS 怎么加密的?
TLS 握手:
- 客户端发
ClientHello(支持的加密算法) - 服务器回
ServerHello+ 数字证书(含公钥) - 客户端验证证书,用公钥加密「预主密钥」发给服务器
- 双方各自算出对称会话密钥
- 后续 HTTP 用对称加密通信(快)
💡 为什么最后用对称加密?因为非对称加密(RSA)慢,对称加密(AES)快。
Q3:三次握手为什么是 3 次?
防止已失效的连接请求突然又传到服务器。3 次才能确认双方收发都正常。
Q4:HTTP 是 TCP 还是 UDP?
TCP。HTTP 要求可靠传输,所以跑在 TCP 上(端口 80/443)。
Q5:DNS 用 TCP 还是 UDP?
默认 UDP(快);响应 > 512 字节 或主从同步时用 TCP(可靠)。
八、5 个关键数字(必记)
| 数字 | 含义 |
|---|---|
| 65535 | 端口号范围(0-65535,其中 0-1023 系统占用) |
| 80 / 443 | HTTP / HTTPS 默认端口 |
| 3 次 / 4 次 | TCP 三次握手 / 四次挥手 |
| 2MSL | TIME_WAIT 等待时间(≈ 2 分钟) |
| 20-60 字节 | TCP 头大小(vs UDP 仅 8 字节) |
九、口诀速记(脱口而出)
口诀 1:5 层模型
应传网链物(应用、传输、网络、链路、物理)
口诀 2:TCP vs UDP
TCP 可靠慢电话,UDP 不可靠快明信片
口诀 3:HTTP vs HTTPS
HTTP 明文裸奔不安全,HTTPS 加 TLS 加密 + 证书认证
口诀 4:Socket / TCP / HTTP 关系
Socket 是电话机,TCP 是电话线,HTTP/WebSocket 是通话规则
口诀 5:三次握手 / 四次挥手
握手 3 次双方确认,挥手 4 次两边各关
口诀 6:HTTPS 加密
非对称换密钥(慢),对称传数据(快)
十二、TCP / TCP Socket / Socket 三者关系(高频混淆)
面试常被问:「TCP 和 Socket 是啥关系?」一句话答错就露怯。
1. 三者本质区别
| 名词 | 本质 | 层级 | 类型 |
|---|---|---|---|
| TCP | 协议(规则) | 传输层 | 协议(Protocol) |
| Socket | 编程接口(API) | 操作系统提供 | API / 抽象 |
| TCP Socket | 「用 Socket API 跑 TCP 协议」 | 应用层调传输层 | 组合概念 |
2. 一张图理清关系

3. 一句话区分
- TCP = 规则(协议):规定数据怎么分包、怎么重传、怎么保证可靠
- Socket = 电话机(API):操作系统给你的编程工具,让你能用 TCP/UDP
- TCP Socket = 「用电话机按 TCP 规则打电话」(组合概念)
4. 真实代码长啥样?
// Node.js 里:net 模块创建 TCP Socket
const net = require('net');
const server = net.createServer(socket => {
// 这个 socket 就是「TCP Socket」
// 它底层是 TCP 协议,向上暴露的是 Socket API
socket.on('data', data => console.log('收到:', data));
socket.write('Hello');
});
所以严格来说:
- 你写的
socket.write()是 Socket API - 数据真正按 TCP 协议(三次握手、分段、重传)传出去
- 二者不是同一个东西,但密不可分
5. 项目里的实际用法
// src/pages/Intranet/index.js
import TcpSocket from 'react-native-tcp-socket'; // ← 这就是「TCP Socket」库
// TcpSocket = React Native 封装的「用 Socket API 操作 TCP 协议」的库
this.socket = TcpSocket.createConnection({
port: 8888, // TCP 端口
host: intranetIp, // 主机 IP
});
this.socket.on('data', data => {
/* 主机主动推送设备状态 */ });
口诀:「TCP 是规则,Socket 是接口,TCP Socket 是「用接口跑规则」」
6. 扩展:还有什么「XX Socket」?
| 名称 | 含义 | 项目里用了吗 |
|---|---|---|
| TCP Socket | Socket API + TCP 协议 | ✅ react-native-tcp-socket |
| UDP Socket | Socket API + UDP 协议 | ❌(项目用不上) |
| WebSocket | 应用层协议(不是 Socket!) | ✅ 云对讲通知 + 思悦信令 |
| SSL Socket | Socket + TLS 加密(HTTPS 底层用) | ✅ HTTPS 请求 |
| Unix Socket | 同一台机器内进程通信(不走网卡) | ❌ |
💡 常被绕晕:「WebSocket 是 Socket 吗?」
❌ 不是!WebSocket 是应用层协议(基于 HTTP 升级),名字带「Socket」是历史原因(早期概念),和操作系统的 Socket API 没有直接关系。面试这样说就稳。
7. 终极对比表(面试直接背)
| 维度 | TCP | Socket | TCP Socket |
|---|---|---|---|
| 是什么 | 协议 | 编程接口 | 「用接口跑协议」的组合 |
| 谁定义 | IETF(RFC 793) | OS(Berkeley Socket) | — |
| 层级 | 传输层 | OS 抽象层 | 跨应用层+传输层 |
| 代码里长啥样 | 看不到直接写「TCP」 | socket = new Socket() |
socket = new TcpSocket() |
| 类比 | 交通规则 | 驾驶工具 | 「按交规开车」 |
十三、网络词汇 ↔ 通信协议 对应表(一张表全串起来)
把第一节「必背 10 个名词」和项目里用的「5 种通信协议」串成一张表,方便面试时整体回忆。
| 网络词汇(OS 视角) | 通信协议(项目视角) | 在项目里的位置 | 一句话关系 |
|---|---|---|---|
| TCP(传输层协议) | HTTP / HTTPS / WebSocket / MQTT | 90% 接口 | 这些协议都跑在 TCP 上 |
| UDP(传输层协议) | WebRTC(媒体)、DNS | 思悦对讲音视频 | WebRTC 媒体流走 UDP |
| IP(网络层) | — | 所有通信的底层 | TCP/UDP 都跑在 IP 上 |
| Socket(API) | TCP Socket / UDP Socket | react-native-tcp-socket |
用 Socket API 调 TCP |
| 端口(0-65535) | HTTP=80、HTTPS=443、MQTT=1883、WebSocket=80/443、内网主机=8888 | 项目里用到的端口 | TCP/UDP 用端口区分应用 |
| TLS(加密协议) | HTTPS | 所有公网请求 | HTTPS = HTTP + TLS |
| DNS(域名解析) | — | 系统层(透明) | 浏览器/SDK 自动用,不写代码 |
| 三次握手 | TCP 建连 | react-native-tcp-socket 内置 |
内网 TCP 建连走的就是这个 |
一张图串起来(最强口诀图)

一句话总结全表
「应用层写 HTTP/WS/MQTT/WebRTC 代码 → 通过 Socket API → 跑在 TCP/UDP 上 → TCP/UDP 跑在 IP 上 → IP 走 Wi-Fi/4G 发送出去。
HTTPS = HTTP + TLS(TLS 也跑在 TCP 上)。
TCP Socket = Socket API + TCP 协议 的组合。」
十四、面试 3 个高频追问速答
Q1:「TCP 和 Socket 是啥关系?」
TCP 是协议(规则),Socket 是操作系统给的编程接口(API)。我们写代码用的是 Socket API,数据真正传输按 TCP 规则。两者不是同一个东西,但密不可分——就像「交通规则」和「驾驶工具」的关系。
Q2:「WebSocket 是 Socket 吗?」
不是! WebSocket 是应用层协议(基于 HTTP 升级),名字带「Socket」只是历史原因。它和操作系统的 Socket API 没有直接关系,是两个完全不同的概念。
Q3:「项目里内网模式用的 TCP 是 TCP 协议还是 TCP Socket?」
两者都涉及:
- 协议层面:跑的是 TCP 协议(三次握手、可靠传输)
- 代码层面:用 TCP Socket API(
TcpSocket.createConnection) - 业界习惯把这种「用 Socket API 调 TCP」简称为「TCP Socket」或「TCP 连接」
十五、口诀速记(脱口而出)
口诀 7:TCP / Socket / TCP Socket
TCP 是规则,Socket 是接口,TCP Socket 是「用接口跑规则」
口诀 8:WebSocket 不是 Socket
WebSocket 是协议不是 Socket,名字带 Socket 是历史原因
口诀 9:项目协议栈从顶到底
HTTP/WS/MQTT/WebRTC 应用层
→ TLS 安全层(HTTPS 用)
→ TCP/UDP 传输层
→ IP 网络层
→ Wi-Fi/4G 链路物理层
面试前 5 分钟:看第二、第三节(10 个名词 + TCP vs UDP 表)+ 第九节(6 句口诀)+ 第十五节(新增 3 句口诀),足够应付 80% 网络基础题。
被追问细节:看第四(HTTP vs HTTPS 流程)、第五(三次握手/四次挥手)节。
被追问 TCP/Socket 关系:直接背第十二节「TCP 是规则,Socket 是接口」就稳。
十、项目里实际遇到的协议栈
flowchart TB
APP["应用层<br/>HTTP / HTTPS / WebSocket / MQTT / WebRTC"]
TLS["安全层<br/>TLS 1.2/1.3(HTTPS 用)"]
TCP["传输层<br/>TCP(HTTP/WS/MQTT)<br/>UDP(DNS/WebRTC 媒体)"]
IP["网络层<br/>IP(寻址)"]
LINK["链路层<br/>Wi-Fi / 4G / 以太网"]
APP -. 用 .-> TLS
APP -. 用 .-> TCP
TLS -. 跑在 .-> TCP
TCP -. 跑在 .-> IP
IP -. 跑在 .-> LINK
style APP fill:#fff3e0
style TLS fill:#fff8e1
style TCP fill:#e3f2fd
style IP fill:#e8f5e9
style LINK fill:#fce4ec
项目里的一条完整 HTTPS 请求会经过什么?
- 应用层:浏览器发 HTTP 请求
- 安全层:TLS 加密
- 传输层:TCP 三次握手建连 + 分段传数据
- 网络层:加上 IP 头(源 IP + 目标 IP)
- 链路层:加上 MAC 头,经过 Wi-Fi/4G 发送
- 服务器反向层层解包,最终拿到 HTTP 请求
十一、面试 5 分钟模板(直接背)
「TCP/IP 是协议族:
- IP 负责把包送到正确机器(类比写信只写地址);
- TCP 在 IP 之上保证包可靠、有序、不丢(类比打电话);
- UDP 在 IP 之上只管发不管到(类比明信片),快但可能丢。
HTTP 是应用层协议,跑在 TCP 上,端口 80,一问一答短连接。
HTTPS = HTTP + TLS,端口 443,加密+认证+防篡改。Socket 是编程接口,不是协议,让我们程序能读写 TCP/UDP。
WebSocket 是协议,跑在 TCP 上,长连接双向通信,适合实时通知。TCP 建连要三次握手(SYN→SYN+ACK→ACK),断连要四次挥手(双方各关一次)。」
面试前 5 分钟:看第二、第三节(10 个名词 + TCP vs UDP 表)+ 第九节(6 句口诀),足够应付 80% 的网络基础题。
被追问细节:看第四(HTTP vs HTTPS 流程)、第五(三次握手/四次挥手)节。