附录3: 本章无背景音乐的视频

官方信息技术老师·22 页·深入(追求细节与边界)·0 次浏览·2 天前
无BGM设计学习专注教学设计附录说明

本章视频说明

理解无BGM的设计意图,用专注的方式吸收知识

按 空格/→ 演示下一步

1 / 22 页

全部页面点击任意一页,跳回舞台从这页播放

无BGM设计学习专注教学设计附录说明

本章视频说明

理解无BGM的设计意图,用专注的方式吸收知识

1第 1 页 · 本章视频说明

应用层的位置

你用浏览器打开网页、用微信发消息——这些操作背后都跑在同一类协议上,而它们都属于「应用层」。在网络协议栈这座金字塔里,应用层就是最靠近用户、最顶层的那一级。

OSI 第 7 层
七层模型最顶层,直接面向用户程序与网络服务
TCP/IP 合并层
把 OSI 的会话层、表示层、应用层三层合为一层
典型协议
HTTP、HTTPS、DNS、SMTP、FTP 都在这一层
职责边界
只规定业务语义,不关心报文怎么送达
餐厅点餐对应 →应用层定位

顾客(应用层)只管点菜、看菜单,厨师和传菜员(下层)负责怎么做、怎么送

2第 2 页 · 应用层的位置

应用层协议的本质

上一节我们知道应用层是「最贴近用户」的一层。但两个程序之间到底怎么「说话」才能听懂对方?这就要靠协议——它是双方事先约定的「沟通手册」。

语义
约定每个字段的含义,比如 200 表示成功
语法
约定数据如何组织,比如 JSON 或键值对
时序
约定谁先发、谁后发、何时断开
两个商家签合同做生意对应 →应用层协议

约定商品含义(语义)、单据格式(语法)、交付节奏(时序)

3第 3 页 · 应用层协议的本质

C/S vs P2P 架构

C/S 与 P2P 是两种根本不同的组织思路。常见误读:以为 P2P = 没有服务器,其实只是角色变了。

C/S 客户端/服务器
  • 服务器是中心,客户端是被动请求方
  • 客户端之间通信必须经过服务器中转
  • 管理简单可控,但服务器是性能瓶颈
  • 典型应用:网页、邮件、网游
P2P 对等网络
  • 每个节点既是客户端也是服务器
  • 任意两节点可直接交换数据
  • 扩展性强,但管理与安全更复杂
  • 典型应用:BT下载、区块链、视频会议
需要中心管控与数据一致性的场景选 C/S;大规模分发、节点高自治选 P2P。现代系统常混合使用。
4第 4 页 · C/S vs P2P 架构

网络应用通信流程

从左到右按时序读,看消息如何在两端进程间往返。

图解渲染中…
a1客户端上的应用进程b2提供 TCP/UDP 传输服务c3基于 IP 的互联网络d4服务器上的应用进程
5第 5 页 · 网络应用通信流程

DNS 的设计目标

分布式、层次化、容错、可扩展的命名系统

DNS 的设计目标
分布式、层次化、容错、可扩展的命名系统
6第 6 页 · DNS 的设计目标

DNS 层次结构

把域名看成一棵树:从根域分出顶级域,再到二级域;从左向右可还原完整名称。

图解渲染中…
b1域名树最上层,完整写法隐含末尾句点。b2根域下一层,常见 .com、.org、.cn。b3顶级域左侧一段,example.com 中是 example。d1由 example、.com 与隐含根域合成的完整写法。
7第 7 页 · DNS 层次结构

域名解析完整流程

一次域名解析涉及客户端、本地DNS、根域、顶级域、权威服务器四方协作,递归与迭代交替推进。

1
客户端查本地缓存
先查 hosts 文件和本地 DNS 缓存,命中即返回,避免任何网络请求
2
客户端发起递归查询
向本地 DNS 请求,要求它「替我查到底,返回最终 IP 地址」
3
本地DNS查根域
根不直接给 IP,而是返回 .com 顶级域服务器地址(迭代起点)
4
本地DNS查顶级域
顶级域返回 example.com 的权威域名服务器地址
5
本地DNS查权威
权威服务器返回 example.com 对应的 IP,这是最终答案
6
返回IP并缓存
本地 DNS 把 IP 回给客户端,并按 TTL 缓存,供后续复用
8第 8 页 · 域名解析完整流程

DNS 记录类型

上页讲解析流程:递归查询一步步问到根、到顶级域、到权威服务器。但权威服务器返回的「答案」并不只有一种格式——不同问题要用不同类型的记录来回答。

A 记录
把域名指向一个 IPv4 地址,最常见的解析结果
AAAA 记录
A 的 IPv6 版本,角色完全对称,只是地址换成 128 位
CNAME 记录
域名别名,不直接给地址,而是指向另一个名字让客户端继续查
MX 记录
邮件专用,指向收信服务器,附带优先级数字决定投递顺序
NS 记录
标记「这个区由哪几台权威服务器负责」,是切域/委派的依据
公司总机的语音菜单对应 →DNS 记录类型

A=总机号、CNAME=转人工分机、MX=收信部门、NS=下属分公司清单

9第 9 页 · DNS 记录类型

DNS 自测

检验域名解析流程的理解

DNS 自测
检验域名解析流程的理解
10第 10 页 · DNS 自测

邮件系统架构

用户代理、MTA、MDA、MRA 的协同关系

邮件系统架构
用户代理、MTA、MDA、MRA 的协同关系
11第 11 页 · 邮件系统架构

SMTP 发送流程

邮件从发件人到收件人服务器,途中要经过多次角色交接:MUA提交、MTA接力、MX定位、跨域投递、最终落库。

1
撰写邮件
用户在邮件客户端(MUA)写好收件人、主题、正文与附件
2
提交到MTA
通过 SMTP submission(端口 587)把邮件交给本地MTA
3
DNS 查 MX
本地 MTA 查询收件方域名的 MX 记录,找到目标服务器
4
SMTP 跨域投递
两个 MTA 之间用 SMTP(端口 25)完成 HELO/MAIL FROM/RCPT TO/DATA
5
存入收件箱
收件方 MDA 把邮件写入对应邮箱的存储区,等待用户拉取
12第 12 页 · SMTP 发送流程

POP3 vs IMAP

都是收信协议,但邮件存在哪、能不能多设备同步,决定了它们完全不同的使用场景。

POP3
  • 邮件下载到本地,服务器可删除
  • 不支持多设备状态同步
  • 断网可读全部历史邮件
  • 服务器负担轻、占用空间小
IMAP
  • 邮件长期保留在服务器
  • 多设备状态(已读/文件夹)实时同步
  • 断网只能读本地缓存部分
  • 服务器需持续存储,占用大
单设备/网不稳/想省服务器空间选 POP3;多设备协同/需状态同步选 IMAP。
13第 13 页 · POP3 vs IMAP

邮件格式与MIME

RFC 822格式与多用途互联网邮件扩展

邮件格式与MIME
RFC 822格式与多用途互联网邮件扩展
14第 14 页 · 邮件格式与MIME

WWW 的核心概念

浏览器输入网址,就能看到网页。这背后有三个核心要素各司其职。

URL
网页的地址,告诉浏览器资源在哪
HTTP
浏览器和服务器之间传数据的规则
HTML
描述网页长什么样、有什么内容
寄快递对应 →WWW三要素

URL是快递单上的地址,HTTP是快递公司,HTML是包裹里的物品

15第 15 页 · WWW 的核心概念

HTTP 请求-响应模型

一次 HTTP 交互从建连到关连接,消息在两端之间一来一回完成一次完整调用。

1
TCP 建连
三次握手建立可靠通道,为后续 HTTP 消息传输打底
2
发送请求报文
客户端按请求行+首部+实体三段格式发出请求
3
服务器处理请求
解析请求、定位资源、执行业务逻辑,生成响应
4
返回响应报文
按状态行+首部+实体三段格式回传结果
5
关闭或复用连接
HTTP/1.0 默认关闭;HTTP/1.1 默认保持,支持流水线
16第 16 页 · HTTP 请求-响应模型

HTTP 方法与状态码

GET/POST/PUT/DELETE与2xx/4xx/5xx含义

HTTP 方法与状态码
GET/POST/PUT/DELETE与2xx/4xx/5xx含义
17第 17 页 · HTTP 方法与状态码

HTTP vs HTTPS

HTTP 是明文裸奔,HTTPS 套了 TLS 这一层铠甲。多出来的那一层到底改变了什么?

HTTP
  • 直接建立在 TCP 之上
  • 数据明文传输,可被窃听
  • 端口 80,无加密开销
  • 无身份验证,易遭篡改
HTTPS
  • 在 TCP 之上加了一层 TLS
  • 数据经加密后传输
  • 端口 443,多一次 TLS 握手
  • CA 证书验身份 + 完整性校验
传输敏感信息(登录、支付)必须 HTTPS;代价是多一次 TLS 握手和证书维护成本。
18第 18 页 · HTTP vs HTTPS

Cookie 与 Session

HTTP无状态问题的解决方案

Cookie 与 Session
HTTP无状态问题的解决方案
19第 19 页 · Cookie 与 Session

FTP 工作模式

FTP 把下指令和传文件拆成两条独立通道,互不干扰。

1
建立控制连接
客户端连服务器 21 端口,用于传输命令与响应,全程保持
2
下达传输命令
通过控制连接发送 RETR/STOR 等命令,告知服务器要传什么
3
建立数据连接
服务器 20 端口主动连客户端(主动模式),或客户端告知端口(被动模式)
4
传输文件数据
文件字节流走数据连接,控制连接仍可发新命令,互不阻塞
5
关闭数据连接
一次传输对应一条数据连接,关闭后控制连接继续等下一条命令
20第 20 页 · FTP 工作模式

DHCP 四步交互

客户端从零到拿到 IP,必须走完发现、提供、请求、确认四步。

1
Discover
客户端广播"我需要 IP",让局域网内所有 DHCP 服务器都听见。
2
Offer
服务器回应一个可用 IP 及租期,但这只是"邀请",尚未分配。
3
Request
客户端广播"我选这个 Offer",正式请求租用,并通知其他服务器收回。
4
ACK
服务器确认租约,客户端此时才真正拥有该 IP 的使用权。
21第 21 页 · DHCP 四步交互

课后思考

先合上笔记自己想 30 秒,再点开参考答案对照思路——重点不是答案对错,而是你想到哪一层。

1为什么 DNS 采用层次化分布式结构,而不是单一庞大的数据库?分层到底解决了什么问题?

参考答案单一中心库面临单点故障、容量瓶颈、维护复杂等问题;分层后每级只管自己范围(如根服务器只管顶级域),查询走递归/迭代,可扩展性极强。

2如果一个网站从 HTTP 切换到 HTTPS,Cookie、Session、缓存这些机制会受影响吗?为什么?

参考答案Cookie 默认带 Secure 标记只走加密通道;Session 仍可用但传输更安全;中间代理缓存因内容加密而失效,CDN 需支持 TLS 终结,缓存策略需重新配置。

3在 P2P 架构里,节点既是客户端也是服务器,那"应用层协议"这个概念还适用吗?怎么描述?

参考答案仍然适用,只是角色模糊了。节点间通信仍需协议规范(如 BitTorrent 的 Peer Wire Protocol),协议描述的是"对等节点间的报文交换规则",而非固定的请求/服务方。

22第 22 页 · 课后思考