计网Chapter1-3_协议分层封装安全与互联网历史

计网Chapter1-3_协议分层封装安全与互联网历史
agsdChapter 1.3:协议分层、封装、安全与互联网历史
Chapter 1.3 的主线,是用分层思想理解互联网。网络系统包含主机、路由器、链路、应用、协议、硬件和软件,如果把所有功能混在一起设计,系统会难以理解、维护和升级。分层的意义,就是把复杂通信拆成若干可管理的问题:应用如何交换消息,进程如何传输数据,主机如何跨网络到达,邻接节点如何交付,bit 如何在媒介上传播。
本节核心结论: 每一层使用下层服务,通过本层协议实现自己的功能,并向上一层提供服务;数据发送时逐层封装,接收时逐层解封装。
1. 为什么网络需要分层
网络是复杂系统。它同时包含端系统、路由器、交换机、链路、应用程序、协议、操作系统和物理媒介。若不分层,每次修改底层链路、路由算法或应用协议,都可能牵动整个系统。
分层把问题拆开:
- 应用层解决应用进程之间交换什么消息。
- 传输层解决进程到进程的数据传输。
- 网络层解决主机到主机的路由。
- 链路层解决相邻节点之间的数据传输。
- 物理层解决 bit 如何在媒介上传播。
分层的好处是概念清晰、模块化、易维护、易替换。例如 WiFi 换成以太网,不需要重写 HTTP;底层链路变化时,上层应用仍可继续使用相似的服务接口。
2. 服务是垂直的,协议是水平的
服务和协议是本节最重要的一组区分。
服务是垂直关系:低层向上一层提供能力。比如 TCP 向应用层提供可靠字节流服务。
协议是水平关系:同一层的通信实体之间遵守共同规则。比如发送方 TCP 和接收方 TCP 之间如何编号、确认、重传,是 TCP 协议的一部分。
flowchart TD
AppA[应用层 A] -.应用协议.-> AppB[应用层 B]
TransA[传输层 A] -.传输协议.-> TransB[传输层 B]
NetA[网络层 A] -.网络协议.-> NetB[网络层 B]
AppA -->|使用服务| TransA
AppB -->|使用服务| TransB
TransA -->|使用服务| NetA
TransB -->|使用服务| NetB
这张图的重点是方向:服务是上下层之间的垂直依赖,协议是对等层之间的水平约定。混淆这两个概念,会导致后续学习 TCP、IP、HTTP 时分不清“规则”和“能力”。
3. Internet 五层协议栈
Internet 常用五层模型:应用层、传输层、网络层、链路层、物理层。
| 层次 | 主要问题 | 典型协议或技术 | 数据单位 |
|---|---|---|---|
| 应用层 | 应用之间如何交换消息 | HTTP、SMTP、IMAP、DNS | Message |
| 传输层 | 进程到进程的数据传输 | TCP、UDP | Segment |
| 网络层 | 主机到主机的路由 | IP、路由协议 | Datagram / Packet |
| 链路层 | 相邻节点之间传输 | Ethernet、802.11 WiFi、PPP | Frame |
| 物理层 | bit 在媒介上传播 | 电信号、光信号、无线电波 | Bit |
应用层关注消息格式和请求响应,例如浏览器和 Web 服务器之间的 HTTP 交互。传输层关注端口、多路复用、可靠传输、流量控制和拥塞控制等问题。网络层关注 IP 地址和路由路径。链路层关注同一条链路上的帧传输。物理层关注 0 和 1 如何变成可传播的信号。
4. OSI 七层与 Internet 五层
OSI 七层模型比 Internet 五层多了表示层和会话层。
| 模型 | 层次 |
|---|---|
| OSI 七层 | 应用层、表示层、会话层、传输层、网络层、链路层、物理层 |
| Internet 五层 | 应用层、传输层、网络层、链路层、物理层 |
表示层负责数据表示相关工作,例如加密、压缩、机器相关表示转换。会话层负责数据交换的同步、检查点和恢复。Internet 协议栈没有单独设置这两层;如果应用需要这些能力,通常由应用层或应用相关协议自己实现。
考试中常见问题是:Internet 协议栈缺少 OSI 的哪两层?答案是表示层和会话层。
5. 封装:数据如何逐层加头部
封装解释了数据从应用层向下经过协议栈时发生的事情。发送端每经过一层,就会给上层数据加上本层头部;接收端则反向逐层去掉头部。
flowchart TD
M[Message] --> S[Segment]
S --> D[Datagram]
D --> F[Frame]
F --> B[Bit 流]
B --> F2[Frame]
F2 --> D2[Datagram]
D2 --> S2[Segment]
S2 --> M2[Message]
这张图展示了封装和解封装的主干:应用层 message 向下变成 segment、datagram、frame 和 bit 流;到达目的端后,再由底层向上恢复为应用层 message。
更具体地说:
- 应用层产生 message。
- 传输层加上传输层头部,形成 segment。
- 网络层加上网络层头部,形成 datagram 或 packet。
- 链路层加上链路层头部,形成 frame。
- 物理层把 frame 转换成 bit 信号发送。
每一层主要读取和处理自己这一层的头部。中间设备通常不需要理解完整应用内容,这也是分层能够扩展的重要原因。
6. 主机、路由器和交换机处理的层次不同
端系统通常具有完整的协议栈:应用层、传输层、网络层、链路层和物理层都需要处理。
路由器主要处理网络层、链路层和物理层。它关注 IP 数据报如何从一个网络转发到另一个网络。
交换机主要处理链路层和物理层。它通常关注链路层帧,例如 MAC 地址和局域网内部转发。
因此,中间网络设备通常不关心 HTTP 报文里的具体网页内容。它们只在自己负责的层次上读取必要信息并完成转发。
7. 安全:互联网最初没有充分威胁模型
Internet 早期设计假设相对开放和互信,并没有把安全威胁作为核心前提。随着互联网规模扩大,攻击者、恶意流量和身份伪造成为现实问题,安全逐渐变成每一层都必须考虑的设计约束。
典型威胁包括:
- Packet sniffing:在共享媒介中嗅探数据包,可能读取明文密码或敏感信息。
- IP spoofing:伪造源 IP 地址,使接收方误以为数据来自可信主机。
- MITM:攻击者位于通信双方之间,转发、监听或篡改消息。
- DoS / DDoS:用大量流量压垮服务器、链路或其他资源,使合法用户无法访问服务。
sequenceDiagram
participant A as 通信方 A
participant M as 中间人
participant B as 通信方 B
A->>M: 发送消息
M->>B: 转发或篡改
B->>M: 返回响应
M->>A: 转发或篡改
这张图展示 MITM 的基本结构:A 和 B 都以为自己在直接通信,但消息实际经过中间人。HTTPS/TLS 等机制的重要目标之一,就是降低这种监听和篡改风险。
网络攻击的一般步骤通常包括信息搜集、漏洞挖掘和利用、攻击实施、痕迹消除。学习这些内容的目的不是实施攻击,而是理解为什么协议、认证、加密、日志和监控都是现代网络设计的一部分。
8. Internet 历史:从分组交换到 TCP/IP
历史部分说明了现代互联网架构为什么形成。电路交换适合传统电话通信,却不适合突发性强的计算机通信:连接建立成本高、资源独占、可靠性和扩展性都受限制。分组交换因此成为计算机网络的重要方向。
重要历史节点可以压缩为一条主线:
- 1960 年代:Kleinrock、Baran 等人推动分组交换思想。
- 1969 年:ARPAnet 的早期节点开始运行。
- 1970 年代:ARPAnet 公开演示,电子邮件、Ethernet、互联网络思想逐渐成熟。
- 1980 年代:TCP/IP 部署,DNS 定义,TCP 拥塞控制出现。
Cerf 和 Kahn 的互联原则对今天的 Internet 影响深远:极简主义和自治性、尽力而为服务模型、无状态路由、分散控制。这些原则让不同网络不必内部完全统一,只要能通过共同的互联协议通信,就可以加入全球互联网。
历史主线: Internet 的成功不在于要求所有网络内部一致,而在于允许不同网络自治,并通过统一的互联协议实现全球范围的连接。
9. 易混点与复习清单
服务和协议不要混淆。服务是下层给上层的能力,协议是同层实体之间的规则。
Segment、Datagram、Frame 不要都笼统叫“包”。传输层单位是 segment,网络层单位是 datagram 或 packet,链路层单位是 frame。
Router 和 switch 处理层次不同。Router 主要看网络层 IP 信息,switch 主要看链路层帧信息。
OSI 七层不是 Internet 实际完整采用的协议栈。Internet 通常讲五层模型,表示层和会话层功能若需要,通常由应用层处理。
安全不是某一层的附加小节。Internet 每一层都可能有安全问题,也可能需要相应防护机制。
学完本节后,应能回答:
- 为什么复杂网络系统需要分层?
- “服务是垂直的,协议是水平的”是什么意思?
- Internet 五层从上到下分别是什么?
- 每一层分别解决什么问题?
- OSI 七层比 Internet 五层多哪两层?
- 什么是封装和解封装?
- Message、Segment、Datagram、Frame、Bit 分别属于哪一层?
- 路由器和交换机主要处理哪些层次?
- packet sniffing、IP spoofing、MITM、DoS/DDoS 的基本思想是什么?
- 分组交换、ARPAnet、TCP/IP 在互联网历史中分别处于什么位置?







