网络与网络安全
本文整理 TCP/IP 协议群的分层模型与多路复用原理,对比 TCP 与 UDP 的可靠性差异,并介绍公私钥体系、证书信任链与中间人攻击。
一、TCP/IP 分层模型
所有网络通信的本质是进程间通信。协议是进程间公认的通信约定。TCP/IP 协议群分为五层:
- 应用层(Application Layer):实现应用自身功能,调用传输层通信。
- 传输层(Transport Layer):为应用提供通信能力,代表协议 TCP;将数据切块为 TCP 段(Segment),用端口号区分主机上的不同应用。
- 网络层(Internet Layer):代表协议 IP;负责 Host-to-Host 传输,用 IP 地址编址,提供寻址(Addressing)与路由(Routing)。
- 数据链路层(Data Link Layer):识别同一链路内的设备,为网络层提供链路级传输。
- 物理层(Physical Layer):封装光电信号与设备差异,提供二进制传输。

寻址决定下一跳方向,路由根据目的地选择路径。
二、多路复用
出口设备(网卡、网线)通常只有一份,但主机上应用众多,需用**多路复用(Multiplex)**让多个信号复用同一信道。
- 传输层多路复用:一个应用可并发发送多个请求,复用同一 TCP 连接,节省流量、降低延迟;某分段异常只影响对应请求,不阻塞其余(Non-Blocking)。

- 网络层多路复用:网络层无"连接"概念,多个传输层连接共用同一条物理线路与基础设施(网线、路由、网关等),天然支持复用。
三、TCP 与 UDP
TCP 与 UDP 是最常用的两个传输层协议。核心差异在可靠性。
可靠性手段
- 校验和(Checksum):二者都实现。最简单形式为纵向冗余检查(逐字节异或)。TCP 校验失败会丢弃并重传;UDP 不做处理,交由应用层决定。

- 请求/应答/连接模型:TCP 实现,UDP 不实现。TCP 通过 SYN(同步)、ACK(应答)建立连接:
- 三次握手:Alice→SYN、Bob→SYN-ACK(合并 ACK 与 SYN)、Alice→ACK。因双工,双方都需确认对端已就绪,SYN 与 ACK 合并使 4 步缩为 3 步。
- 四次挥手:FIN/ACK/FIN/ACK。FIN 与 ACK 不可合并,因两端可能仍有未确认数据。

- 连接:虚拟概念,使双方倾尽资源给出最快响应,连接不稳可断开重连,提升可靠性。
- 封包排序:TCP 保证有序发出、乱序传输、有序重组(滑动窗口、快速重传);UDP 仅标注序号,不负责排序。
使用场景
- TCP:需可靠性、需连接的场景(如早期 HTTP 请求/返回)。
- UDP:对可靠性要求不高、追求简单与定制的场景(如 Ping、视频直播)。HTTP/3 在 UDP 之上以 QUIC 实现可靠性,取其简单、易扩展。文件上传等也可在 UDP 上自建专用可靠性协议以超 TCP 性能。
四、公私钥体系与网络安全
网络安全的目标是提高犯罪成本,而非杜绝。核心机制是公私钥体系(非对称加密)。
摘要算法
摘要算法将原文映射为唯一散列值,原文一变动散列即变,用于防篡改。常见:
- MD5:128 位,2004 年被证实存在碰撞(不同原文同摘要),高风险场景禁用。
- SHA:更安全,订单/账号/证书等高安全场景首选;普通应用可用 MD5。
数字签名与证书
数字签名 = 对摘要用私钥加密的密文。Alice 用 SHA 计算合同摘要,再用自己私钥加密得签名,将原文 + 签名 + 公钥交给 Bob。Bob 用 Alice 公钥解密签名得摘要 X,再自算原文摘要 Y,比对 X=Y 即可确认未篡改。
公钥加密仅私钥可解,私钥加密仅公钥可解,称为非对称加密。私钥独有,公钥公开。
但 Alice 可否认给过 Bob 公钥与合同,故需第三方机构以证书为公钥提供公正:机构用自身私钥对 Alice 申请原文(含公钥)签名,Bob 用机构公钥验签,信任关系成立。信任链断裂风险在于证书签发方信用崩溃。
信任链

由根证书机构签发二级机构证书,逐级向下,最终签发 Alice 证书。验证 Alice 证书需依次用三级、二级、根证书公钥回溯验签。除非链条全部机构串通,否则难以伪造。根证书通常随操作系统预装。
中间人攻击
HTTPS 中客户端先下载并借信任链验证服务器证书,验证通过后用非对称加密协商对称通信密码,之后对称加密传输。攻击者在客户端预装非法证书后,可伪装成服务器向客户端提供"合法"伪造证书,同时伪装成客户端与服务器交互,从而截获双方通信内容。许多网络调试工具原理类似(需先在客户端装自身证书)。
小结
- TCP/IP 五层分工明确;多路复用让多信号共用信道,提升吞吐并隔离阻塞。
- TCP 以校验和、连接模型、封包排序保证可靠;UDP 简单、不保证可靠,适合低延迟与可定制场景。
- 公私钥体系以摘要 + 数字签名 + 证书信任链解决信任问题;中间人攻击依赖预装非法证书突破信任链。