{T}

网络与网络安全

本文整理 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 不做处理,交由应用层决定。

![校验和](/os-images/35-UDP 协议:UDP 和 TCP 相比快在哪里__CgpVE1_-o5GADgRkAABcTgxXiyw544.png)

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

![三次握手](/os-images/35-UDP 协议:UDP 和 TCP 相比快在哪里__CgpVE1_-o7OAHQP4AADkdEFtGfI902.png)

  • 连接:虚拟概念,使双方倾尽资源给出最快响应,连接不稳可断开重连,提升可靠性。
  • 封包排序: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 简单、不保证可靠,适合低延迟与可定制场景。
  • 公私钥体系以摘要 + 数字签名 + 证书信任链解决信任问题;中间人攻击依赖预装非法证书突破信任链。