一、TCP/IP:互联网的”快递系统”

什么是 TCP/IP?

TCP/IP 不是一种协议,而是一整套协议家族的统称。如果把互联网比作全球物流网络,TCP/IP 就是那套标准化的快递流程——不管你是从北京寄到上海,还是从纽约寄到伦敦,包裹的处理方式都一样。

四层结构

层级 职责 代表协议
网络接口层 负责物理网络上的数据帧传输 Ethernet、Wi-Fi
互联网层 负责数据包的寻址和路由 IP
传输层 负责主机之间的可靠传输 TCP、UDP
应用层 直接与用户交互的协议 HTTP、FTP、SMTP

TCP vs UDP

TCP(传输控制协议) 是面向连接的可靠传输协议。就像打电话——双方要先接通,才能对话。

  • 保证数据不丢失
  • 保证数据按顺序到达
  • 有错误校验和重传机制

UDP(用户数据报协议) 是无连接的传输协议。就像发短信——不需要建立连接,直接发。

  • 速度快,开销小
  • 不保证数据到达
  • 适合实时性要求高的场景(游戏、直播)

背景

TCP/IP 的雏形诞生于 1973 年,由温顿·瑟夫和罗伯特·卡恩提出。1980 年左右成为 ARPANET(互联网前身)的标准协议。


二、HTTP/HTTPS:网页的”语言”

HTTP 是什么?

HTTP(超文本传输协议)是浏览器和服务器之间对话的规则。在浏览器输入网址后,浏览器用 HTTP 向服务器发送请求,服务器用 HTTP 返回网页。

请求与响应

常见请求方法:

  • GET — 获取资源(打开网页)
  • POST — 提交数据(登录)
  • PUT — 更新资源
  • DELETE — 删除资源

常见状态码:

  • 200 OK — 成功
  • 404 Not Found — 找不到页面
  • 500 Internal Server Error — 服务器出错

HTTPS:给 HTTP 穿上防弹衣

HTTP 有个致命问题——明文传输。你的账号密码、聊天记录,在网络上传输时就像写在明信片上,谁都能看到。

HTTPS 在 HTTP 和 TCP 之间加了一层 SSL/TLS 加密,相当于把明信片装进加密信封。即使被截获,也看不懂内容。

HTTPS = HTTP + SSL/TLS + TCP/IP

一次完整的网页访问流程

在浏览器输入 https://www.example.com 后:

  1. DNS 解析 — 把域名转换成 IP 地址
  2. TCP 连接 — 通过三次握手建立可靠连接
  3. TLS 握手 — 协商加密参数(HTTPS 特有)
  4. 发送 HTTP 请求 — 浏览器请求网页资源
  5. 服务器响应 — 服务器返回 HTML、CSS、图片等
  6. 浏览器渲染 — 把代码变成你看到的页面

三、DNS:互联网的”电话簿”

什么是 DNS?

DNS(域名系统)把人类易读的域名(如 www.baidu.com)转换成计算机能识别的 IP 地址(如 220.181.38.148)。

没有 DNS,就得记住每个网站的数字地址。

DNS 解析过程

访问一个域名时,DNS 会逐级查询:

  1. 浏览器缓存 — 先看本地有没有缓存
  2. 本地 DNS 服务器 — 通常由 ISP(网络运营商)提供
  3. 根 DNS 服务器 — 全球只有 13 组根服务器
  4. 顶级域名服务器 — 管理 .com.cn 等后缀
  5. 权威 DNS 服务器 — 最终返回准确的 IP 地址

背景

DNS 诞生于 1983 年。在此之前,互联网上的每台计算机都要维护一个 hosts.txt 文件,记录所有域名和 IP 的对应关系。随着互联网规模扩大,这种方式彻底玩不转了,DNS 应运而生。


四、SSH:远程管理的”安全隧道”

什么是 SSH?

SSH(安全外壳协议)是专门为远程登录和其他网络服务提供安全性的协议。它通过加密传输,确保密码和操作不会被窃听。

SSH vs Telnet

在 SSH 出现之前,人们用 Telnet 远程登录服务器。但 Telnet 有个致命问题——明文传输密码。任何能截获网络数据的人,都能看到你的密码。

SSH 解决了这个问题:

  • 所有数据加密传输
  • 支持密钥认证(比密码更安全)
  • 可以建立”隧道”转发其他协议

工作原理

  1. TCP 三次握手建立连接
  2. SSH 协议版本协商
  3. 服务器发送公钥给客户端
  4. 加密算法协商
  5. 客户端用公钥加密密码发送给服务器
  6. 服务器用私钥解密验证

常见用途

  • 远程登录服务器管理
  • 安全文件传输(SFTP)
  • 端口转发(隧道)
  • Git 代码仓库认证

五、FTP/FTPS:文件传输的”老前辈”

什么是 FTP?

FTP(文件传输协议)是互联网上最早的文件传输协议之一,诞生于 1971 年。它用于在客户端和服务器之间上传、下载文件。

双连接设计

FTP 使用两个独立的 TCP 连接

连接类型 端口 用途
控制连接 21 发送命令和接收响应
数据连接 20(主动模式)或随机端口(被动模式) 传输实际文件内容

主动模式 vs 被动模式

主动模式(PORT):服务器主动连接客户端的数据端口。问题:容易被客户端防火墙阻挡。

被动模式(PASV):客户端连接服务器的数据端口。更友好,现代 FTP 客户端默认使用此模式。

FTP 的安全问题

传统 FTP 有个严重缺陷——用户名、密码、文件内容全部明文传输。为了解决这个问题,出现了两个安全版本:

FTPS(FTP Secure):在 FTP 基础上增加 SSL/TLS 加密层。

SFTP(SSH File Transfer Protocol):基于 SSH 的安全文件传输,使用 22 端口,安全性更高。

现代替代方案

虽然 FTP 仍在广泛使用,但越来越多的场景被以下方案取代:

  • HTTP/HTTPS API(适合 Web 应用)
  • SFTP(适合安全要求高的场景)
  • 云存储服务(如 AWS S3、阿里云 OSS)

六、SMTP:电子邮件的”邮递员”

什么是 SMTP?

SMTP(简单邮件传输协议)负责将邮件从发件人发送到收件人的邮件服务器。它是电子邮件系统的核心协议。

邮件传输流程

  1. 用邮件客户端(如 Outlook)写邮件,点击发送
  2. 客户端通过 SMTP 把邮件发送到你的邮件服务器
  3. 你的邮件服务器通过 SMTP 把邮件转发到收件人的邮件服务器
  4. 收件人通过 POP3 或 IMAP 协议从服务器收取邮件

SMTP 的局限

SMTP 只负责”发送”和”中转”,不负责”接收”。接收邮件需要另外两个协议:

  • POP3 — 把邮件下载到本地,服务器上通常删除
  • IMAP — 在服务器上管理邮件,支持多设备同步

安全扩展

传统 SMTP 也是明文传输,后来出现了:

  • SMTPS — SMTP over SSL/TLS
  • STARTTLS — 在明文连接基础上升级为加密连接

七、VPN:公共网络上的”私人专线”

什么是 VPN?

VPN(虚拟专用网络)通过公共网络(如互联网)建立一条加密的”隧道”,让数据在这个隧道内安全传输。

互联网是一个嘈杂的广场,每个人都能看到你。VPN 就像在广场下挖了一条地下隧道,只有你能走,别人看不到你在干什么。

核心技术

隧道技术:将原始数据包封装在新的协议头中,形成”隧道”跨公网传输。

加密算法:主流使用 AES-256 对称加密,配合 RSA 等非对称加密进行密钥交换。

身份认证:通过用户名/密码、数字证书或双因素认证(2FA)验证用户身份。

常见 VPN 协议

协议 特点 适用场景
IPSec 企业级安全,支持站点到站点连接 企业内网互联
OpenVPN 开源、兼容性强、安全性高 高安全性场景
WireGuard 轻量级、速度快、代码简洁 移动设备、个人用户
L2TP/IPSec 结合 L2TP 隧道和 IPSec 安全 企业环境
SSTP 基于 SSL/TLS,可穿透防火墙 Windows 系统

典型应用场景

  • 远程办公 — 员工在家安全访问公司内网
  • 公共 Wi-Fi 保护 — 在咖啡厅等公共场所加密通信
  • 绕过地域限制 — 访问被限制的内容(注意合规性)
  • 隐私保护 — 隐藏真实 IP 地址

总结:协议之间的关系

这些协议按层级协同工作:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
┌─────────────────────────────────────────────────────┐
│ 应用层 │
│ HTTP/HTTPS │ FTP │ SMTP │ DNS │ SSH │
└─────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────┐
│ 传输层 │
│ TCP(可靠) │ UDP(快速) │
└─────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────┐
│ 网络层 │
│ IP(寻址路由) │
└─────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────┐
│ 网络接口层 │
│ Ethernet │ Wi-Fi │ 4G/5G │
└─────────────────────────────────────────────────────┘

VPN 可以在任何层级建立加密隧道,保护整个通信过程。


这些协议是互联网的基石,每天支撑着数十亿次通信。理解它们的工作原理,能帮你更好地使用网络,还能在遇到问题时快速定位原因。