Chapter 8-2:从密码学工具到网络纵深防御传统 TCP/IP 协议栈主要解决数据如何传输、丢失后如何恢复、分组如何寻找路径以及多台设备如何共享网络等问题。然而,数据能够正确到达,并不意味着通信过程是安全的。攻击者仍然可能窃听内容、篡改数据、冒充通信对象,或者利用合法开放的网络接口发动攻击。
网络安全因此不能依赖某一种密码算法,而必须把不同安全机制部署在不同层次:安全电子邮件保护一条消息,TLS 保护一条连接,IPsec 保护网络层数据报,防火墙控制流量能否进入网络,IDS 则负责发现已经出现的异常行为。
flowchart TD
A[密码学基本工具] --> B[安全电子邮件]
A --> C[TLS]
A --> D[IPsec]
B --> E[保护消息]
C --> F[保护连接]
D --> G[保护IP数据报]
G --> H[防火墙控制访问]
H --> I[IDS检测攻击]
这套体系体现了网络安全的基本思想:密码算法提供基础能力, ...
从加密到信任:不可信网络中安全通信的建立逻辑互联网能够把数据从一台主机传输到另一台主机,却不会天然保证这些数据是秘密的、完整的,也不会自动证明通信对象的真实身份。一个数据报即使按照协议顺利到达目的地,也可能已经被攻击者窃听、修改、复制或替换。攻击者还可能冒充通信双方,重放过去截获的合法报文,或者在公钥交换过程中替换密钥。
因此,网络安全所要解决的核心问题并不只是如何加密一段数据,而是:
如何在存在主动攻击者的不可信网络中,建立一条可验证、可持续的可信通信关系?
围绕这一目标,现代网络安全逐步形成了相互衔接的机制:对称加密负责高效保护数据内容,公钥密码缓解密钥分发问题,散列函数和数字签名验证消息来源与完整性,随机数防止旧报文被重复利用,数字证书和证书颁发机构则建立公钥与真实身份之间的可信绑定。
flowchart LR
A[不可信网络] --> B[机密性]
A --> C[完整性]
A --> D[身份认证]
A --> E[运行安全]
B --> F[对称加密]
C --> G[散列与数字 ...
蜂窝网络如何维持移动通信:从 4G/5G 架构到移动性管理引言传统 IP 网络的寻址和路由机制隐含着一个重要前提:主机的位置相对稳定,IP 地址能够在一定程度上反映主机所在的网络。路由器只需根据目的地址所属的网络前缀,就可以逐跳将数据报送往目标位置。
移动设备打破了这一前提。
手机可能在通信过程中不断切换基站,也可能离开归属运营商的覆盖区域,进入另一个运营商提供的被访网络。此时,用户的身份没有改变,但其接入位置、数据转发路径和无线链路状态都可能不断变化。如果每次移动都需要更换永久身份、重新建立所有连接,或者要求全球路由器实时追踪每一台手机的位置,移动互联网将难以扩展。
因此,蜂窝网络需要同时解决四个相互关联的问题:
如何确认移动用户的身份和服务权限;
如何记录用户当前所在的位置;
如何把发送到稳定身份的数据转交到不断变化的位置;
如何在无线误码和基站切换的条件下尽量维持通信连续性。
4G/5G 蜂窝网络并不是简单扩大覆盖范围的 WiFi,而是一种围绕身份管理、位置管理、路径控制和移动连续性构建的 IP 网络。其核心思想可以概括为:
将相对稳定的用户身份与不断变 ...
蜂窝网络如何维持移动通信:从 4G/5G 架构到移动性管理引言传统 IP 网络的寻址和路由机制隐含着一个重要前提:主机的位置相对稳定,IP 地址能够在一定程度上反映主机所在的网络。路由器只需根据目的地址所属的网络前缀,就可以逐跳将数据报送往目标位置。
移动设备打破了这一前提。
手机可能在通信过程中不断切换基站,也可能离开归属运营商的覆盖区域,进入另一个运营商提供的被访网络。此时,用户的身份没有改变,但其接入位置、数据转发路径和无线链路状态都可能不断变化。如果每次移动都需要更换永久身份、重新建立所有连接,或者要求全球路由器实时追踪每一台手机的位置,移动互联网将难以扩展。
因此,蜂窝网络需要同时解决四个相互关联的问题:
如何确认移动用户的身份和服务权限;
如何记录用户当前所在的位置;
如何把发送到稳定身份的数据转交到不断变化的位置;
如何在无线误码和基站切换的条件下尽量维持通信连续性。
4G/5G 蜂窝网络并不是简单扩大覆盖范围的 WiFi,而是一种围绕身份管理、位置管理、路径控制和移动连续性构建的 IP 网络。其核心思想可以概括为:
将相对稳定的用户身份与不断变 ...
Chapter 6-3:VLAN、MPLS、数据中心网络与 Web 请求全过程引言:从简单局域网走向真实的大规模网络前面的链路层内容主要讨论了一个相对简单的环境:主机通过以太网和交换机组成局域网,交换机根据 MAC 地址转发帧,ARP 则帮助发送方根据 IP 地址获得下一跳的 MAC 地址。
但真实网络远比一个普通局域网复杂。
随着设备数量、组织规模和业务类型不断增加,网络开始面临四类新的问题:
一个物理交换网络中,如何隔离不同部门、租户或安全区域?
仅按照目的 IP 地址转发,无法满足路径控制需求时怎么办?
数据中心内部有数万台服务器,如何组织拓扑并分配请求?
用户访问一个网页时,DHCP、ARP、DNS、TCP、HTTP 等协议如何连续配合?
这些问题分别对应四个主题:
1234VLAN:组织和隔离大型局域网MPLS:通过标签提供更灵活的转发路径数据中心网络:连接和管理大规模服务器集群Web 请求全过程:将多层协议串成一次完整通信
本章不是若干独立技术的简单罗列,而是在回答一个逐步扩大的问题:
当网络从单个局域网扩展到企业网络、运营商网络和大型数据中心时,如何继续保持隔离性 ...
Chapter 6-2:MAC 地址、ARP、以太网与交换机引言:IP 数据报如何真正到达下一台设备网络层可以根据目的 IP 地址选择路径,但路径选择本身并不能让数据直接出现在下一台设备中。数据报每经过一条具体链路,都必须先被封装成链路层帧,再由网卡、交换机和传输介质完成实际交付。
这就产生了几个相互关联的问题:
已知目的 IP 地址后,为什么还需要目的 MAC 地址?
发送方如何找到下一跳接口的 MAC 地址?
IP 数据报跨越路由器时,哪些地址会变化?
交换机如何知道帧应当从哪个端口发出?
为什么主机通常不需要知道交换机的存在?
这一节的核心主线可以概括为:
123456789网络层确定下一跳 ↓ARP 获得下一跳 MAC 地址 ↓以太网封装链路层帧 ↓交换机根据 MAC 地址转发 ↓帧到达下一跳接口
❗ IP 地址负责描述网络层位置,MAC 地址负责完成当前链路上的接口交付,ARP 则负责连接这两个地址体系。
❗ 本节核心结论:一个 IP 数据报在每一跳上都要装入新的链路层帧。IP 地址维持端到端意义,而 MAC 地 ...
Chapter 6-1:链路层、差错控制与多路访问协议引言:网络层决定下一跳,链路层完成这一跳当一个 IP 数据报从源主机前往目的主机时,网络层负责判断它应当经过哪些网络、下一步应交给哪个节点。然而,仅仅知道“下一跳是谁”并不足以完成实际传输。数据还必须被封装成适合具体链路的格式,通过网卡、电缆、光纤或无线信道发送,并在共享介质中协调不同节点的发送行为。
这些工作属于链路层。
链路层关注的不是整个端到端路径,而是:
当前节点如何通过一条具体链路,把网络层数据报交给相邻节点。
它处理的数据单位是 帧(frame)。链路层将 IP 数据报封装进帧,在帧头中加入链路层地址和控制信息,再通过物理层转换为比特信号发送出去。
从整体协议栈看,各层承担的职责可以概括为:
层次
主要问题
数据单位
应用层
应用之间交换什么信息
message
传输层
进程之间如何通信
segment
网络层
分组如何跨网络到达目的主机
datagram / packet
链路层
数据报如何完成相邻节点间的一跳传输
frame
物理层
比特如何表现为电信号、光信号或无线电波
b ...
Chapter 5-3:互联网层次路由、SDN、ICMP 与网络管理引言:真实互联网为什么不能只运行一种路由算法在学习链路状态路由和距离向量路由时,可以暂时把网络看成一张规模有限的平面图:所有路由器地位相近,路由算法只需要根据链路代价计算路径。
真实互联网却不能采用这种简单模型。
互联网由大量组织、运营商、企业、大学和云服务商的网络共同组成。不同网络分别由不同管理者控制,具有各自的拓扑、路由策略、商业关系和安全要求。如果把整个互联网视为一个平面网络,就会出现三个根本问题:
规模问题: 路由器无法维护全球所有路由器和链路的详细状态。
通信问题: 全网泛洪或交换完整距离向量会产生巨大的控制开销。
自治问题: 不同组织不愿公开内部拓扑,也不会接受由其他组织决定自己的路由政策。
因此,互联网采用层次化的控制平面:
flowchart TD
A[真实互联网] --> B[划分自治系统 AS]
B --> C[AS 内部路由]
B --> D[AS 之间路由]
C --> E[OSPF 等内部网关协议]
D --> F ...
Chapter 5-2:距离向量路由、Bellman-Ford 方程与路由环路引言:没有全网地图,路由器还能找到路径吗?链路状态路由的思路是让每台路由器获得完整的网络拓扑,再运行 Dijkstra 算法计算最短路径。这种方式相当于让每台路由器都拥有一张全网地图。
距离向量路由采用了另一种思路:
路由器不掌握完整拓扑,只询问相邻路由器到各个目的地的距离,再根据邻居提供的信息计算自己的路径。
假设路由器 x 想前往目的地 y,而 x 有多个邻居。对于每个邻居 v,x 都可以计算:
123经过 v 到达 y 的总代价= x 到 v 的直接链路代价+ v 声称的到 y 的代价
然后,x 从所有邻居中选择总代价最小者作为下一跳。
这一过程不要求路由器知道目的地位于网络的哪个方向,也不要求它知道完整路径经过哪些节点。它只需要反复与邻居交换信息,就能逐渐形成到各目的地的路由。
flowchart LR
A[接收邻居的距离向量] --> B[计算经过各邻居的总代价]
B --> C[选择最小代价]
C --> D[更新下一跳与路径代价]
D ...
Chapter 5-1:网络层控制平面、链路状态路由与 Dijkstra 算法引言:转发表是怎样产生的网络层的数据平面解决的是分组的实际转发问题:当一个分组到达路由器后,路由器读取分组首部、查询转发表,并将分组送往相应的输出端口。
但是,数据平面使用的转发表并不是凭空产生的。在执行转发之前,网络还必须回答一个更基础的问题:
分组从源网络到目的网络,应该经过哪些路由器?
这正是控制平面要解决的问题。控制平面通过路由协议收集网络状态,利用路由算法计算合适的端到端路径,并根据计算结果生成路由表或转发表。
本章的核心逻辑可以概括为:
flowchart TD
A[收集网络状态] --> B[建立网络拓扑]
B --> C[运行路由算法]
C --> D[得到最短路径树]
D --> E[生成路由表或转发表]
E --> F[数据平面执行转发]
❗核心主线: 链路状态路由首先让路由器获得一张全网地图,再由每台路由器运行 Dijkstra 算法计算最短路径,最后将计算结果转化为能够直接执行的转发表。
1. 控 ...
























