QEQuantumEinsteinSearchCtrl/⌘K

第六章 应用层

10 分钟阅读4,16243 个小节
返回目录

第六章 应用层

6.1 网络应用模型

模型特点典型应用
C/S集中管理、固定服务器IP、易维护Web、Email、FTP
P2P无专用服务器、分布协同、扩展性好BitTorrent、区块链

6.2 DNS(域名系统)

一、层次域名空间

域名结构:主机名.三级域名.二级域名.顶级域名(如 www.cs.pku.edu.cn

二、4类域名服务器

类型功能
根域名服务器全球13组(a~m),知道所有顶级域名服务器地址
顶级域名服务器管理 .com/.org/.cn 等,知道权威服务器地址
权威域名服务器管理某个区域的域名→IP映射
本地域名服务器用户首先查询的服务器,有缓存

三、递归查询 vs 迭代查询

  • 递归:客户端→本地DNS→代为查询到底 → 结果返回客户端
  • 迭代:本地DNS→根→"去找顶级"→本地DNS→顶级→"去找权威"→本地DNS→权威→结果

DNS最大查询次数计算

迭代查询(无缓存):本地→根(1)→回(2)→本地→顶级(3)→回(4)→本地→权威(5)→回(6) = 最多6次UDP交互(3个请求+3个响应)

若算上客户端→本地DNS的一来一回,则共 8次

6.3 FTP(文件传输协议)

连接端口特点
控制连接TCP 21持久,传命令和应答
数据连接TCP 20(主动)/ 随机(被动)非持久,传文件数据

PORT(主动)vs PASV(被动)模式

模式数据连接发起方端口说明
PORT(主动)服务器→客户端服务器用20客户端可能被防火墙阻断
PASV(被动)客户端→服务器服务器随机高端口更适合NAT/防火墙环境

FTP 是典型的带外控制(控制信息与数据在不同连接上传输)。

6.4 电子邮件

一、系统组成

  • 用户代理(UA):撰写、阅读邮件(如Outlook)
  • 邮件服务器:存储邮箱和消息队列
  • 协议:SMTP推送、POP3/IMAP拉取

二、SMTP 三阶段

阶段内容
建立连接客户端 TCP 连接服务器 25 端口,服务器回复 220 就绪
邮件传送HELO→MAIL FROM→RCPT TO→DATA→邮件内容→.结束
连接释放QUIT 关闭连接
  • SMTP 只能传 7位ASCII,非ASCII内容需 MIME 编码扩展
  • SMTP 是协议

三、POP3 vs IMAP

对比POP3IMAP
端口110143
邮件管理下载到本地,服务器可删除在服务器上管理,支持文件夹
离线使用适合需在线

6.5 WWW 与 HTTP(⭐⭐⭐⭐)

  • URL、HTTP、HTML 三支柱
  • HTTP特性:无状态(应用层语义,每次请求独立)
  • 底层使用 TCP

一、HTTP版本差异(⭐ 高频选择)

版本连接方式特点
HTTP/1.0非持久连接每个对象一个TCP连接,2RTT/对象
HTTP/1.1持久连接(默认)流水线/非流水线,减少连接建立开销
HTTP/2.0持久+多路复用二进制分帧、头部压缩、服务器推送
HTTP/3基于QUIC(UDP)0-RTT建连、改进队头阻塞、连接迁移

二、Cookie 机制

  • 服务器在响应中设置 Set-Cookie → 浏览器存储
  • 后续请求自动携带 Cookie
  • 存储在客户端(浏览器),不在服务器
  • 用途:会话跟踪、用户识别、购物车

三、HTTP报文格式

  • 请求报文:请求行(方法 URL 版本)+ 首部行 + 空行 + 实体体
  • 响应报文:状态行(版本 状态码 短语)+ 首部行 + 空行 + 实体体
  • 常见方法:GET / POST / HEAD / PUT / DELETE
  • 常见状态码:200 OK / 301 永久重定向 / 404 未找到 / 500 服务器错误

四、HTTP时延计算模板

场景RTT近似
非持久、无并行每对象2RTT
非持久、并行连接基页2RTT + 引用对象2RTT(并行下载)
持久、非流水线建连1RTT + 每对象1RTT
持久、流水线建连1RTT + 请求1RTT + 传输时间

HTTP RTT + 慢开始 cwnd 组合计算(⭐ 2022/2024真题)

典型题型:请求一个大小为 SS 的对象,TCP MSS=M,初始cwnd=1 MSS。

  1. 第1个RTT:建立TCP连接(SYN/SYN-ACK/ACK)
  2. 第2个RTT:发送HTTP请求 + 服务器开始响应
  3. 慢开始传输:第1轮发 1 MSS,第2轮发 2 MSS,第3轮发 4 MSS,...
  4. kk 轮累计发送 2k12^k - 1 个 MSS
  5. 需要 kk 轮使 2k1S/M2^k - 1 \ge \lceil S/M \rceil,再加上建连和请求的2RTT

总时延 ≈ 2RTT+k×RTT+最后一段传输时延2RTT + k \times RTT + \text{最后一段传输时延}

📝 真题锚点:HTTP RTT 计算在 2022、2024、2025 连续考查。

📌 第六章总结

  • DNS 4类服务器 + 迭代/递归查询次数是高频选择/简答
  • FTP PORT/PASV、SMTP 三阶段是常考对比题
  • HTTP版本差异(1.0 vs 1.1 vs 2.0/3)+ Cookie机制必须熟记
  • HTTP RTT + TCP慢开始 cwnd 组合计算是近年大题热点
  • 网络安全:对称(AES) vs 非对称(RSA)、数字签名(私钥签公钥验)、CA证书、TLS握手 = 必考知识点
  • 关联陷阱编号:#10 #21 #22 #23

🎯 第六章 Top-Down 案例模板(应用需求驱动协议选择)

步骤提问模板本章落点
场景是查询、文件、邮件还是网页?DNS/FTP/SMTP/HTTP
交互是短事务还是长连接?非持久 vs 持久
计算题目问总RTT还是传输轮次?HTTP RTT + cwnd 组合
判分默认端口/传输层写全了吗?TCP/UDP 与端口匹配

6.6 网络安全基础(⭐⭐⭐ 408考纲要求)

一、网络安全威胁

威胁类型说明对应安全目标
截获(被动攻击)窃听通信内容机密性
篡改(主动攻击)修改报文内容完整性
伪造(主动攻击)冒充合法通信方认证性
中断(主动攻击)使系统不可用可用性

⚠️ 被动攻击难检测(不改变数据),主动攻击可检测但难防止

二、密码体制

1. 对称加密(私钥加密)

  • 加密密钥 = 解密密钥
  • 优点:速度快,适合大量数据
  • 缺点:密钥分发困难(nn 方通信需 Cn2=n(n1)/2C_n^2 = n(n-1)/2 个密钥)
算法密钥长度类型特点
DES56位分组密码已不安全,被AES替代
3DES112/168位分组密码DES三轮加密(加-解-加)
AES128/192/256位分组密码当前标准,安全高效
RC4可变长流密码曾用于WEP/早期TLS

2. 非对称加密(公钥加密)⭐

  • 公钥(PK)公开,私钥(SK)保密
  • 用公钥加密 → 私钥解密(保密通信)
  • 用私钥加密 → 公钥解密(数字签名)
  • 代表算法:RSA(基于大整数分解难题)

⚠️ 陷阱:非对称加密速度远慢于对称加密,实际中常用非对称加密传递对称密钥(混合加密)。

3. 对称 vs 非对称 对比(⭐ 高频选择)

对比项对称加密非对称加密
密钥数量n(n1)/2n(n-1)/22n2n(每人一对)
加解密速度慢(约慢100-1000倍)
密钥分发困难公钥可公开分发
典型用途数据加密密钥交换、数字签名
代表算法AES、DESRSA

三、数字签名⭐

功能:同时实现认证(确认发送方身份)和完整性(报文未被篡改),且具有不可否认性

签名过程

  1. 发送方用自己的私钥 SKASK_A 对报文摘要签名
  2. 接收方用发送方的公钥 PKAPK_A 验证签名

⚠️ 数字签名用私钥签、公钥验;保密通信用公钥加、私钥解。两者方向相反!

报文摘要(哈希函数)

  • MD5(128位摘要)、SHA-1(160位摘要)、SHA-256(256位摘要)
  • 特性:单向性、抗碰撞性、固定长度输出
  • 作用:对摘要而非整篇报文签名,大幅提高效率

四、数字证书与CA⭐

问题:公钥如何确认确实属于声称的拥有者?→ CA(Certificate Authority,证书颁发机构)

数字证书内容

  • 公钥拥有者信息 + 公钥本身 + CA签名 + 有效期 + 序列号

信任链

  1. CA 用自己的私钥对证书签名
  2. 任何人用 CA 的公钥验证证书真伪
  3. 根 CA → 中间 CA → 终端证书(层级信任)

五、SSL/TLS(安全套接字层/传输层安全)⭐

位置:介于应用层与传输层之间(在TCP之上)

核心功能

功能实现方式
机密性对称加密(AES)加密数据
完整性MAC(消息认证码)校验
认证数字证书 + 非对称加密(RSA/ECDHE)

TLS握手过程(简化)

  1. Client Hello:客户端支持的TLS版本、加密套件、随机数RCR_C
  2. Server Hello:选择加密套件、随机数RSR_S、发送服务器证书
  3. 密钥交换:客户端验证证书 → 生成预主密钥(用服务器公钥加密发送)
  4. 会话密钥生成:双方用 RC+RS+R_C + R_S + 预主密钥 → 派生对称会话密钥
  5. Change Cipher Spec:双方切换到加密通信

📝 考试要点:TLS 使用混合加密——非对称加密交换密钥、对称加密传输数据。HTTPS = HTTP + TLS(端口443)。

六、防火墙

类型工作层次特点
分组过滤网络层检查IP/端口/协议号,速度快但不能检查应用数据
应用网关(代理)应用层可检查报文内容,安全性高但开销大
状态检测网络层+传输层跟踪连接状态,兼顾安全和效率

📌 网络安全小结

  • 对称加密快但分发难,非对称加密解决密钥分发
  • 数字签名 = 私钥签 + 公钥验,≠ 加密方向
  • CA 证书解决公钥可信问题
  • SSL/TLS = 非对称换密钥 + 对称加数据 + 证书认证
  • 防火墙三类:分组过滤(快)、应用网关(安全)、状态检测(折中)
  • 关联陷阱编号:(无直接对应,但 #10 HTTP无连接易与HTTPS混淆)

6.7 跨层闭环复盘(Top-Down 精华落地)

一、从用户动作反推各层机制

以“打开网页”为例,建议按下表倒推:

用户动作立即问题关键协议典型错误点
输入URL回车域名怎么变IPDNS把递归/迭代混为一谈
浏览器发请求请求报文如何组织HTTP忘记“无状态≠不用TCP”
首包建立连接如何确认双方收发能力TCP三次握手误写“两次也可”
连续数据传输如何防拥塞和保可靠TCP窗口+拥塞控制cwnd/ssthresh变化写错
跨网转发下一跳如何确定IP + 路由协议RIP更新规则漏“同下一跳无条件替换”
单链路发送谁先发、冲突怎么办CSMA/CD 或 CSMA/CACD 与 CA 适用场景混淆
信号上传输最大速率是多少奈奎斯特/香农忘记“取MIN”

二、基础薄弱同学三层学习法

  1. 先会讲人话:每个协议先用一句话说清“解决什么痛点”
  2. 再会画流程:握手、分片、路由更新、DNS查询必须能手画时序
  3. 最后会算题:只在“变量定义正确”后代公式,禁止先代数后理解

三、答题严谨性检查清单(交卷前30秒)

  • 是否写清“层次”与“主体”(主机/路由器/交换机)
  • 是否标注关键单位(bit/s、B、RTT、MSL、跳数)
  • 是否写出边界条件(如窗口上限、16=不可达、分片偏移单位8B)
  • 是否给出结论口径(例如“默认情况”“在Reno下”“在无缓存条件下”)

七、408计算机网络高频失分陷阱速查表(⭐ 考前必看)

#陷阱描述正确结论
130dB 当成 S/N=30应换算为 S/N=1000S/N=1000
2SR 认为ACK累积SR是逐帧ACK,不累积
3交换机隔离广播域交换机隔离冲突域,不隔离广播域
4IP分片在路由器重组重组仅在目的主机
5DHCP全流程都单播Discover/Request 用广播,Offer/ACK 取决于客户端 broadcast 标志位(常考默认广播)
6NAT不改端口NAT常需改端口以区分会话
7IPv6仍有首部校验和IPv6取消首部校验和
8TCP第三次握手不能带数据可以携带数据
9超时与三重ACK处理一样超时更严重,cwnd回到1;三重ACK走快恢复
10HTTP无连接=不用TCPHTTP基于TCP,所谓无连接是应用语义
11奈奎斯特和香农只用一个必须两个都算,取MIN
12SR窗口可以任意大SR窗口约束:Ws+Wr2nW_s+W_r \le 2^n
13ARP请求是单播ARP请求是广播,响应才是单播
14三次握手就是两次也行两次无法防止已失效的旧连接请求
15TIME-WAIT可以省略必须等2MSL:确保最后ACK到达+旧报文消亡
16快恢复时cwnd=ssthresh/2Reno快恢复:cwnd=ssthresh+3MSS
17RIP收到更好路径才更新若下一跳相同,无条件替换(不论距离大小)
18OSPF和RIP都用UDP传输OSPF直接封装在IP(协议号89),不用传输层
19IPv6地址中::可出现多次零压缩::在一个地址中只能出现一次
20ICMP对任何报文都发差错4种情况不发差错:ICMP差错报文、非首片、组播、特殊地址
21FTP数据连接始终用端口20仅PORT模式用20,PASV模式用随机高端口
22DNS只用UDPDNS通常用UDP,但区域传送和超过512B时使用TCP
23数字签名用公钥签名数字签名用私钥签、公钥验,与加密方向相反

陷阱↔正文双向索引(定位复盘)

章节对应陷阱编号快速复盘建议
第一章 体系结构#3 #10优先复盘“层次职责”和“语义口径”
第二章 物理层#1 #11先单位换算,再做容量上限
第三章 数据链路层#2 #12 #13先判协议类型,再判确认/窗口
第四章 网络层#4 #5 #6 #7 #17 #18 #19 #20先判是否跨网,再判编址/路由机制
第五章 传输层#8 #9 #14 #15 #16先判事件触发(超时/3ACK),再写cwnd分支
第六章 应用层#10 #21 #22 #23先判应用场景,再写端口与传输层;安全题先判加密方向

双向使用方式:

  1. 从章节复习时先看“关联陷阱编号”;
  2. 从陷阱表刷题时反查“对应章节”做二次巩固。

八、计网冲刺执行策略(30天)

1) 第1阶段(1-10天):模型建立

  • 每天1章主干 + 20道客观题
  • 必背:信道公式、窗口约束、编址规则、TCP状态

2) 第2阶段(11-20天):大题模板

  • 专练:子网划分/CIDR、滑动窗口、TCP拥塞演化、HTTP RTT
  • 每天至少复盘2道“算错题”

3) 第3阶段(21-30天):限时实战

  • 按整套408节奏训练
  • 形成“错因标签”:概念错 / 计算错 / 审题错 / 粗心错

最终目标

把计网从“会看懂”升级为“限时做对”。


九、常用端口速记表

协议端口传输层
FTP数据20TCP
FTP控制21TCP
TELNET23TCP
SMTP25TCP
DNS53UDP/TCP
HTTP80TCP
POP3110TCP
SNMP161UDP
DHCP服务器/客户端67/68UDP
BGP179TCP

十、考前30秒速查卡(公式 + 边界条件 + 单位)

1) 高频公式

  • 发送时延:ts=L/Rt_s=L/R(单位:s)
  • 传播时延:tp=d/vt_p=d/v(单位:s)
  • 奈奎斯特:Rmax=2Wlog2VR_{max}=2W\log_2V(无噪)
  • 香农:C=Wlog2(1+S/N)C=W\log_2(1+S/N)(有噪)
  • SR窗口约束:Ws+Wr2nW_s+W_r\le 2^n
  • 发送窗口:Wsend=min(rwnd,cwnd)W_{send}=\min(rwnd,cwnd)

2) 必写边界

  • RIP:最大15跳,16=不可达
  • IP分片:偏移单位=8B,重组仅在目的主机
  • TCP:SYN/FIN 各消耗1个序号
  • TIME-WAIT:必须2MSL
  • OSPF:IP协议号89(非UDP/TCP)

3) 易错单位

  • dB 与线性信噪比:S/N=10dB/10S/N=10^{dB/10}
  • b/s 与 B/s:1B = 8b
  • RTT 与“单向时延”不可混用
  • MSS/MTU/首部长度要统一单位(B)

完成度说明:本稿已覆盖 408 计网考纲六大模块(体系结构、物理层、数据链路层、网络层、传输层、应用层),并补充高频陷阱、公式模板、冲刺策略与核心图表。后续可继续迭代“逐节真题精讲版”和“全章节计算专题版”。