-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathraw_input.json
More file actions
466 lines (466 loc) · 48 KB
/
Copy pathraw_input.json
File metadata and controls
466 lines (466 loc) · 48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
{
"course_name": "计算机网络",
"phases": [
{
"phase_num": 1,
"phase_name": "计算机网络概述与体系结构",
"wiki_filename": "ch1_overview_architecture.md",
"wiki_content": "# 第1章 计算机网络概述与体系结构\n\n## 1.1 什么是计算机网络\n\n> 🟢 **来自资料**:课件 Chapter1-1 / Chapter1-2\n\n**计算机网络(Computer Network)** 是自主计算机(autonomous computers)的互联集合,核心目标是实现信息交换与资源共享。\n\n- **自主(Autonomous)**:每台计算机可独立运行,不依赖中央控制。\n- **互联(Interconnected)**:通过传输介质、通信设备和协议实现数据交换。\n\n现代意义上的网络已演变为“网络就是计算机”——复杂、分布式、无处不在。\n\n### 网络的演变\n1. 通信网络(电话网)\n2. 计算机网络(主机互联)\n3. 互联网(Internet / NGI / NGN)\n4. 传感器网络、物联网等\n\n---\n\n## 1.2 计算机网络的分类\n\n### 按覆盖范围\n| 类型 | 英文 | 范围 | 典型场景 |\n|------|------|------|----------|\n| 个域网 | PAN | 身边几米 | 蓝牙、USB |\n| 局域网 | LAN | 一栋楼/校园 | 办公室、宿舍 |\n| 城域网 | MAN | 一个城市 | 高校城域网 |\n| 广域网 | WAN | 跨城市/国家 | Internet骨干 |\n\n### 按拓扑结构\n- **总线型(Bus)**:所有节点共享一条信道,早期以太网。\n- **星型(Star)**:所有节点连接中心设备(交换机/集线器),现代LAN主流。\n- **环型(Ring)**:令牌环网。\n- **网状型(Mesh)**:WAN/骨干网,高可靠性。\n\n### 按通信方式\n- **单播(Unicast)**:一对一。\n- **广播(Broadcast)**:一对所有。\n- **组播(Multicast)**:一对一组。\n\n---\n\n## 1.3 带宽、吞吐量与速率\n\n> 🟢 **来自资料**:课件 Chapter1-1\n\n### 带宽 Bandwidth\n带宽原指信号频率范围,单位为 Hz;在网络工程中常指**数据传输能力**,单位为 bps(bits per second)。\n\n### 吞吐量 Throughput\n实际测得的传输速率,受网络拥塞、协议开销等影响。\n\n### 数据率 Data Rate\n单位时间内传输的比特数,常见单位:\n- Kbps、Mbps、Gbps\n- 注意:$1\\ \\text{Kbps} = 10^3\\ \\text{bps}$(网络中通常用十进制)\n\n---\n\n## 1.4 网络体系结构\n\n### 为什么分层?\n网络通信复杂,分层可以:\n1. 降低设计复杂度\n2. 各层独立演进\n3. 便于标准化和互操作\n\n### OSI 七层参考模型\n| 层号 | 名称 | 核心功能 | 典型协议/设备 |\n|------|------|----------|---------------|\n| 7 | 应用层 Application | 为应用程序提供网络服务 | HTTP、FTP、SMTP、DNS |\n| 6 | 表示层 Presentation | 数据格式转换、加密压缩 | JPEG、MPEG、SSL/TLS |\n| 5 | 会话层 Session | 建立、管理、终止会话 | NetBIOS、RPC |\n| 4 | 传输层 Transport | 端到端可靠/不可靠传输 | TCP、UDP |\n| 3 | 网络层 Network | 寻址、路由、分组转发 | IP、ICMP、OSPF、BGP、路由器 |\n| 2 | 数据链路层 Data Link | 成帧、差错控制、介质访问 | Ethernet、PPP、HDLC、交换机 |\n| 1 | 物理层 Physical | 比特流传输、电气/机械特性 | 双绞线、光纤、集线器、中继器 |\n\n### TCP/IP 四层模型\n| 层 | 对应 OSI | 核心协议 |\n|----|----------|----------|\n| 应用层 | 5-7 | HTTP、FTP、SMTP、DNS |\n| 传输层 | 4 | TCP、UDP |\n| 网际层 | 3 | IP、ICMP、ARP、OSPF、BGP |\n| 网络接口层 | 1-2 | Ethernet、Wi-Fi、PPP |\n\n### 服务 vs 协议\n- **服务(Service)**:下层为上层提供的功能,垂直方向。\n- **协议(Protocol)**:对等实体间通信的规则,水平方向。\n\n> 口诀:**协议管“怎么传”,服务管“传什么”。**\n\n### 封装与解封装 Encapsulation / Decapsulation\n数据从上往下传递时逐层加头部(封装),从下往上传递时逐层去头部(解封装)。\n\n---\n\n## 1.5 标准化组织\n\n| 组织 | 全称 | 作用 |\n|------|------|------|\n| ISO | 国际标准化组织 | OSI模型 |\n| IEEE | 电气电子工程师学会 | 802系列局域网标准 |\n| IETF | 互联网工程任务组 | RFC、TCP/IP协议 |\n| ITU-T | 国际电信联盟 | 通信标准 |\n| W3C | 万维网联盟 | Web标准 |\n\n---\n\n## 1.6 典型例题与解析\n\n### 例题1:OSI与TCP/IP对比\n**题目**:OSI模型和TCP/IP模型的主要区别是什么?\n\n**解析**:\n1. OSI七层,TCP/IP四层。\n2 OSI先有模型后有协议,TCP/IP先有协议后有模型。\n3. OSI支持多种网络层服务(面向连接/无连接),TCP/IP核心是无连接的IP。\n4. OSI表示层、会话层在TCP/IP中并入应用层。\n\n### 例题2:分层优点\n**题目**:简述网络分层的好处。\n\n**答案要点**:\n- 各层独立,便于实现和维护\n- 促进标准化\n- 下层服务对上层透明\n- 便于故障定位\n"
},
{
"phase_num": 2,
"phase_name": "物理层与数据通信基础",
"wiki_filename": "ch2_physical_layer.md",
"wiki_content": "# 第2章 物理层与数据通信基础\n\n## 2.1 物理层概述\n\n> 🟢 **来自资料**:课件 Chapter2-1\n\n物理层定义了网络设备的**机械、电气、功能和规程特性**,负责在传输介质上传输原始比特流。\n\n物理层涉及的问题包括:\n- 用什么信号表示 0 和 1\n- 一个比特持续多长时间\n- 传输是否双向\n- 接口有多少针脚、各针脚功能\n\n---\n\n## 2.2 数据通信理论基础\n\n### 傅里叶分析(了解)\n任何周期性信号都可以分解为不同频率正弦波和余弦波的叠加:\n\n$$\ng(t) = \\frac{1}{2}c + \\sum_{n=1}^{\\infty} a_n \\sin(2\\pi n f t) + \\sum_{n=1}^{\\infty} b_n \\cos(2\\pi n f t)\n$$\n\n数字信号包含大量高频谐波,信道带宽不足会导致高频分量被衰减,从而引起信号失真。\n\n### 信噪比 SNR\n信号功率与噪声功率之比:\n\n$$\n\\text{SNR} = \\frac{S}{N}, \\qquad \\text{SNR(dB)} = 10 \\log_{10}\\frac{S}{N}\n$$\n\n例如,$S/N = 1000$ 对应 $30\\ \\text{dB}$。\n\n---\n\n## 2.3 信道容量定理\n\n### 奈奎斯特定理(无噪声信道)\n若信道带宽为 $H$,信号离散电平数为 $V$,则最大数据率为:\n\n$$\nC = 2H \\log_2 V\\ \\text{(bps)}\n$$\n\n### 香农定理(有噪声信道)\n若信道带宽为 $H$,信噪比为 $S/N$,则信道容量为:\n\n$$\nC = H \\log_2\\left(1 + \\frac{S}{N}\\right)\\ \\text{(bps)}\n$$\n\n> **关键理解**:香农给出的是理论上限,奈奎斯特给出的是无噪声情况下带宽与信号电平的限制。实际系统要同时满足两者,取较小值。\n\n### 例题\n**题目**:信道带宽 $H = 1\\ \\text{MHz}$,SNR = $24\\ \\text{dB}$。\n1. 信道容量是多少?\n2. 要达到该容量,需要多少离散电平?\n\n**解析**:\n1. $24\\ \\text{dB} = 10\\log_{10}(S/N) \\Rightarrow S/N = 10^{2.4} \\approx 251$\n $$\n C = 10^6 \\times \\log_2(1+251) = 10^6 \\times \\log_2 252 \\approx 10^6 \\times 7.98 \\approx 8\\ \\text{Mbps}\n $$\n2. 由 $C = 2H\\log_2 V$ 得:\n $$\n 8 \\times 10^6 = 2 \\times 10^6 \\times \\log_2 V \\Rightarrow \\log_2 V = 4 \\Rightarrow V = 16\n $$\n 需要 16 个离散电平。\n\n---\n\n## 2.4 调制与编码\n\n### 基本调制方式\n数字数据 → 模拟信号:\n\n| 调制方式 | 英文 | 调制对象 |\n|----------|------|----------|\n| 幅移键控 | ASK | 振幅 |\n| 频移键控 | FSK | 频率 |\n| 相移键控 | PSK | 相位 |\n\n### QPSK 与 QAM\n- **QPSK**:4个相位,每个符号传输 2 比特。\n- **QAM-64**:64 种组合,每个符号传输 6 比特。\n\n### 波特率 vs 比特率\n- **波特率(Baud rate)**:每秒传输的符号数。\n- **比特率(Bit rate)**:每秒传输的比特数。\n\n关系:\n$$\n\\text{Bit rate} = \\text{Baud rate} \\times \\log_2 V\n$$\n\n---\n\n## 2.5 传输介质\n\n### 双绞线 Twisted Pair\n- **UTP**:非屏蔽双绞线,便宜、易安装。\n- **STP**:屏蔽双绞线,抗干扰更强。\n- 常见标准:Cat5/Cat5e、Cat6/Cat6a、Cat7。\n\n### 同轴电缆 Coaxial Cable\n- 50Ω:数字信号\n- 75Ω:有线电视\n\n### 光纤 Fiber Optics\n- **多模光纤 MMF**:LED光源,短距离。\n- **单模光纤 SMF**:激光光源,长距离、高带宽。\n- 优点:带宽大、衰减小、不受电磁干扰、重量轻。\n\n### 无线传输\n| 类型 | 特点 | 应用 |\n|------|------|------|\n| 无线电 Radio | 全向、穿透建筑 | AM/FM、Wi-Fi |\n| 微波 Microwave | 定向直线传播 | 长途电话、卫星 |\n| 红外线 Infrared | 短距、不能穿墙 | 遥控器 |\n| 光波 Lightwave | 高带宽、需对准 | 激光通信 |\n\n---\n\n## 2.6 多路复用与交换\n\n### 多路复用\n| 方式 | 英文 | 原理 |\n|------|------|------|\n| 频分复用 | FDM | 不同信号占用不同频带 |\n| 时分复用 | TDM | 不同信号轮流占用信道 |\n| 波分复用 | WDM | 光纤中不同波长复用 |\n| 码分复用 | CDMA | 不同编码区分用户 |\n\n### 交换方式\n| 方式 | 特点 |\n|------|------|\n| 电路交换 Circuit Switching | 先建立专用通路,实时性好,资源独占 |\n| 报文交换 Message Switching | 存储转发,报文大小不限 |\n| 分组交换 Packet Switching | 报文分片,固定或可变长度分组,适合突发数据 |\n\n---\n\n## 2.7 移动通信系统(了解)\n\n| 代际 | 代表技术 | 特点 |\n|------|----------|------|\n| 1G | AMPS | 模拟语音 |\n| 2G | GSM、CDMA | 数字语音 |\n| 3G | W-CDMA、CDMA2000 | 数字语音+数据 |\n| 4G/5G | LTE、NR | 高速数据 |\n\n### CDMA 原理\n每个站点分配唯一码片序列(chip sequence):\n- 发送 1 → 发送自身码片序列\n- 发送 0 → 发送码片序列的反码\n\n接收端用该站的码片序列与接收信号做内积,即可恢复出该站数据。\n\n---\n\n## 2.8 典型例题与解析\n\n### 例题1:香农定理应用\n**题目**:信道带宽 10 kHz,要达到 300 kbps 数据率,最小信噪比是多少 dB?\n\n**解析**:\n$$\n300 \\times 10^3 = 10 \\times 10^3 \\times \\log_2(1 + S/N)\n$$\n$$\n\\log_2(1 + S/N) = 30 \\Rightarrow 1 + S/N = 2^{30} \\approx 1.07 \\times 10^9\n$$\n$$\nS/N \\approx 1.07 \\times 10^9\n$$\n$$\n\\text{SNR(dB)} = 10\\log_{10}(1.07 \\times 10^9) \\approx 90.3\\ \\text{dB}\n$$\n\n### 例题2:QAM 计算\n**题目**:16-QAM 调制,信号速率 28 kbaud,求比特率。\n\n**解析**:\n16-QAM 每个符号携带 $\\log_2 16 = 4$ 比特。\n$$\n\\text{Bit rate} = 28 \\times 10^3 \\times 4 = 112\\ \\text{kbps}\n$$\n\n### 例题3:CDMA 解码\n**题目**:某站 P 分配的码片序列为 0100 0010,接收到的编码为 $(-1, +1, -1, +1, +1, +1, -1, -1)$,判断 P 发送的是 0 还是 1。\n\n**解析**:\n1. 将 P 的码片序列转换为双极性:0→-1,1→+1,得到:$(-1, +1, -1, -1, -1, -1, +1, -1)$\n2. 与接收编码做规格化内积:\n $$\n \\frac{(-1)(-1)+(+1)(+1)+(-1)(-1)+(-1)(+1)+(-1)(+1)+(-1)(+1)+(+1)(-1)+(-1)(-1)}{8}\n $$\n $$\n = \\frac{1+1+1-1-1-1-1+1}{8} = \\frac{0}{8} = 0\n $$\n3. 结果为 0,说明 P 未发送数据或发送的是 0(取决于教材约定,通常发送 0 时内积为 -1,发送 1 时为 +1,此处因码片较短需按题目约定)。\n\n> ⚠️ AI生成答案,非老师/教材提供:上述 CDMA 例题需结合老师课上给出的具体码片映射规则核对。\n"
},
{
"phase_num": 3,
"phase_name": "数据链路层:帧、差错控制与滑动窗口",
"wiki_filename": "ch3_data_link_layer.md",
"wiki_content": "# 第3章 数据链路层\n\n## 3.1 数据链路层概述\n\n> 🟢 **来自资料**:课件 Chapter3-1 / Chapter3.2 / Chapter3.3\n\n数据链路层负责将网络层传来的分组封装成**帧(Frame)**,在相邻节点间实现可靠、高效的数据传输。\n\n### 主要功能\n1. **成帧 Framing**:将比特流划分为帧。\n2. **差错控制 Error Control**:检测并纠正传输错误。\n3. **流量控制 Flow Control**:防止发送方淹没接收方。\n\n### 提供的服务类型\n| 服务类型 | 特点 |\n|----------|------|\n| 无确认无连接 | 不保证可靠,适用于低误码率网络 |\n| 有确认无连接 | 每帧单独确认,适用于无线等不可靠信道 |\n| 有确认面向连接 | 建立连接、编号、确认、释放,最可靠 |\n\n---\n\n## 3.2 成帧方法\n\n### 1. 字符计数法 Character Count\n帧头用一个字段表示帧中字符数。\n- **缺点**:计数字段一旦出错,后续帧全部错位。\n\n### 2. 带字节填充的分界符法 Flag Bytes with Byte Stuffing\n用特殊标志字节(如 `01111110`)标识帧边界,数据中出现标志字节前加转义字符。\n\n### 3. 带位填充的分界标志法 Bit Stuffing\n标志位模式 `01111110`。发送方遇到 5 个连续 1 后自动插入一个 0;接收方收到 5 个连续 1 后的 0 自动删除。\n\n### 4. 物理层编码违例法\n利用物理层编码中的冗余模式标识帧边界,如曼彻斯特编码中的违例码。\n\n---\n\n## 3.3 差错控制\n\n### 差错类型\n- **单个比特错误**\n- **突发错误 Burst Error**\n\n### 两种策略\n| 策略 | 名称 | 特点 |\n|------|------|------|\n| 纠错码 | Forward Error Correction, FEC | 增加冗余,接收方直接纠正,适合高误码率信道 |\n| 检错码 | Error Detection Code | 只检测错误,要求重传,适合可靠信道 |\n\n### 海明距离 Hamming Distance\n两个码字不同比特的个数。\n- 要检测 $d$ 个错误,需要海明距离 $\\ge d+1$\n- 要纠正 $d$ 个错误,需要海明距离 $\\ge 2d+1$\n\n---\n\n## 3.4 海明码 Hamming Code\n\n> 🟢 **来自资料**:课件 Chapter3-1\n\n海明码可以纠正单个比特错误。\n\n### 校验位数量\n若数据位为 $m$,校验位为 $r$,则需满足:\n$$\nm + r + 1 \\le 2^r\n$$\n\n常见对应关系:\n| m | r | n = m + r |\n|---|---|-----------|\n| 1 | 2 | 3 |\n| 4 | 3 | 7 |\n| 11 | 4 | 15 |\n| 26 | 5 | 31 |\n\n### 校验位位置\n编号为 $2^k$ 的位置是校验位:1, 2, 4, 8, 16, ...\n\n### 校验集合\n- P1:位置 1, 3, 5, 7, 9, 11, ...\n- P2:位置 2, 3, 6, 7, 10, 11, ...\n- P4:位置 4, 5, 6, 7, 12, 13, 14, 15, ...\n- P8:位置 8, 9, 10, 11, 12, 13, 14, 15, ...\n\n### 纠错方法\n接收方检查每个校验位,若错误则将其编号加到计数器中,计数器值即为错误位位置。\n\n### 例题\n**题目**:原始数据为 `10101111`,采用偶校验海明码,纠正单比特错误,求海明码。\n\n**解析**:\n1. $m = 8$,由 $m + r + 1 \\le 2^r$ 得 $r = 4$。\n2. 排列为:P1 P2 D1 P3 D2 D3 D4 P4 D5 D6 D7 D8\n3. 计算各校验位(偶校验):\n - P1 = D1⊕D2⊕D4⊕D5⊕D7 = 1⊕0⊕1⊕1⊕1 = 0\n - P2 = D1⊕D3⊕D4⊕D6⊕D7 = 1⊕1⊕1⊕1⊕1 = 1\n - P3 = D2⊕D3⊕D4⊕D8 = 0⊕1⊕1⊕1 = 1\n - P4 = D5⊕D6⊕D7⊕D8 = 1⊕1⊕1⊕1 = 0\n4. 海明码为:`0 1 1 1 0 1 1 0 1 1 1 1`\n\n---\n\n## 3.5 循环冗余校验 CRC\n\n> 🟢 **来自资料**:课件 Chapter3-1\n\nCRC 将比特串看作多项式,用模 2 运算进行除法。\n\n### 计算步骤\n1. 设生成多项式 $G(x)$ 的最高次为 $r$,在原始数据后补 $r$ 个 0。\n2. 用模 2 除法除以 $G(x)$ 对应的比特串。\n3. 余数即为 CRC 校验位,替换补的 $r$ 个 0。\n\n### 模 2 运算\n加法、减法、乘法都按位异或(XOR)进行,不进位不借位。\n\n### 例题\n**题目**:数据 `10110`,生成多项式 $G(x) = x^3 + x + 1$,求最终发送比特序列。\n\n**解析**:\n1. $G(x)$ 对应比特串:`1011`($x^3 + x + 1$),$r = 3$。\n2. 数据后补 3 个 0:`10110000`\n3. 模 2 除法:\n ```\n 10110000 ÷ 1011\n ```\n 计算得余数为 `111`。\n4. 最终发送序列:`10110111`\n\n---\n\n## 3.6 滑动窗口协议\n\n> 🟢 **来自资料**:课件 Chapter3.2\n\n滑动窗口协议用于实现流量控制和可靠传输。\n\n### 基本概念\n- **发送窗口**:已发送未确认的帧集合。\n- **接收窗口**:允许接收的帧集合。\n- **捎带确认 Piggybacking**:将确认信息附加在反向数据帧中。\n\n### 三种协议对比\n| 协议 | 发送窗口 | 接收窗口 | 特点 |\n|------|----------|----------|------|\n| 1位滑动窗口 | 1 | 1 | 停等协议,简单低效 |\n| Go-Back-N | $\\le 2^n - 1$ | 1 | 出错后重传从错误帧开始的所有帧 |\n| Selective Repeat | $\\le 2^{n-1}$ | $\\le 2^{n-1}$ | 只重传丢失帧,接收方缓存乱序帧 |\n\n> 注意:序列号用 $n$ 位时,最大序列号 $MAX\\_SEQ = 2^n - 1$。\n\n### 信道利用率\n停等协议:\n$$\nU = \\frac{T_f}{T_f + R}\n$$\n其中 $T_f$ 为帧发送时间,$R$ 为往返传播时延。\n\n流水线协议:\n$$\nU = \\frac{W \\cdot T_f}{T_f + R}\n$$\n\n### Go-Back-N 与 Selective Repeat 对比\n| 特性 | Go-Back-N | Selective Repeat |\n|------|-----------|------------------|\n| 发送方缓存 | 较大 | 较大 |\n| 接收方缓存 | 1 | 较大 |\n| 重传量 | 大 | 小 |\n| 适用场景 | 低误码率信道 | 高误码率/卫星信道 |\n\n---\n\n## 3.7 HDLC 与 PPP\n\n### HDLC 帧格式\n```\n| Flag | Address | Control | Information | FCS | Flag |\n```\n\n- **Flag**:`01111110`,标识帧边界。\n- **Address**:地址字段。\n- **Control**:控制字段,区分 I/S/U 帧。\n- **FCS**:帧校验序列,通常为 CRC。\n\n### PPP 帧格式\n- 字符定向,使用字节填充。\n- 包含 Flag、Address、Control、Protocol、Payload、FCS。\n- 典型应用:拨号上网、ADSL。\n\n---\n\n## 3.8 典型例题与解析\n\n### 例题1:比特填充\n**题目**:数据比特流为 `01111110 01111100`,采用 HDLC 的零比特填充后是什么?\n\n**解析**:\n发送方遇到 5 个连续 1 后插入一个 0:\n- `01111110` → `011111010`\n- `01111100` → `011111000`\n结果:`011111010 011111000`\n\n### 例题2:Go-Back-N 与 Selective Repeat 窗口\n**题目**:若序列号用 8 位表示:\n1. Go-Back-N 的最大发送窗口是多少?\n2. Selective Repeat 的最大接收窗口是多少?\n\n**解析**:\n1. Go-Back-N:$W_{send} \\le 2^8 - 1 = 255$\n2. Selective Repeat:$W_{recv} \\le 2^{8-1} = 128$\n"
},
{
"phase_num": 4,
"phase_name": "介质访问控制子层与局域网",
"wiki_filename": "ch4_mac_lan.md",
"wiki_content": "# 第4章 介质访问控制子层与局域网\n\n## 4.1 MAC 子层概述\n\n> 🟢 **来自资料**:课件 Chapter4-1 / Chapter4-2 / Chapter4-3\n\n在广播网络中,多个站点共享同一信道,需要**介质访问控制(Medium Access Control, MAC)**协议来决定谁可以使用信道。\n\n### 信道分配方式\n| 方式 | 特点 |\n|------|------|\n| 静态分配 | FDM/TDM,资源固定,效率低 |\n| 动态分配 | 按需使用,竞争或预约 |\n\n### 动态分配的五点假设\n1. **站模型**:N 个独立站点,生成帧后阻塞直到发送成功。\n2. **单信道假设**:所有站共享一条信道。\n3. **冲突假设**:两帧同时发送会冲突,需重传。\n4. **连续/时隙时间**:帧可在任意时刻或只在时隙开始时发送。\n5. **载波侦听/非载波侦听**:发送前是否检测信道。\n\n---\n\n## 4.2 ALOHA 协议\n\n### Pure ALOHA\n- 想发就发。\n- 冲突危险期为 $2T$($T$ 为帧时)。\n- 吞吐量:\n $$\n S = G e^{-2G}\n $$\n- 最大吞吐量:当 $G = 0.5$ 时,$S_{max} \\approx 0.184 = 18.4\\%$。\n\n### Slotted ALOHA\n- 时间分为等长时隙,帧只能在时隙开始时发送。\n- 冲突危险期为 $T$。\n- 吞吐量:\n $$\n S = G e^{-G}\n $$\n- 最大吞吐量:当 $G = 1$ 时,$S_{max} = 1/e \\approx 0.368 = 36.8\\%$。\n\n---\n\n## 4.3 CSMA 协议\n\nCSMA(Carrier Sense Multiple Access)核心思想:**先听后发**。\n\n| 类型 | 特点 |\n|------|------|\n| 非坚持 CSMA | 信道忙时等待随机时间再侦听,减少冲突但延迟大 |\n| 1-坚持 CSMA | 信道忙时持续侦听,空闲立即发送,冲突概率高 |\n| p-坚持 CSMA | 信道空闲时以概率 p 发送,以概率 1-p 延迟 |\n\n### CSMA/CD\nCSMA with Collision Detection:**先听后发、边发边听**。\n\n- 发送数据同时检测信道,若检测到冲突立即中止并发送干扰信号(jam signal)。\n- 采用**二进制指数退避算法**选择重传时间。\n\n### 冲突窗口\n设最远两端传播时延为 $\\tau$,则冲突检测最长需要 $2\\tau$ 时间。\n\n### 最小帧长\n以太网要求帧发送时间 $\\ge 2\\tau$,以保证发送方在帧发送完之前能检测到冲突。\n\n10 Mbps 以太网:\n$$\nL_{min} = 10\\ \\text{Mbps} \\times 2\\tau = 64\\ \\text{bytes}\n$$\n\n---\n\n## 4.4 以太网 Ethernet\n\n### IEEE 802.3 命名规则\n例如 `10Base-T`:\n- `10`:速率 10 Mbps\n- `Base`:基带传输\n- `T`:双绞线(Twisted Pair)\n\n### 曼彻斯特编码\n- 每个比特中间都有跳变,便于同步。\n- 1:高→低;0:低→高(或相反定义)。\n- 波特率是比特率的 2 倍。\n\n### 以太网帧格式(DIX / IEEE 802.3)\n```\n| 前导码 | 目的地址 | 源地址 | 类型/长度 | 数据 | 填充 | FCS |\n```\n\n- 最小帧长:64 字节\n- 最大帧长:1518 字节\n- 数据字段:46 ~ 1500 字节\n\n### MAC 地址\n- 48 位,前 24 位为厂商代码(OUI),后 24 位为设备号。\n- 示例:`00-60-8C-01-28-12`\n\n### 二进制指数退避\n第 $i$ 次冲突后,等待 $0$ 到 $2^i - 1$ 个时隙时间,$i \\le 10$ 后冻结在 1023,16 次后放弃。\n\n---\n\n## 4.5 二层交换与网桥\n\n### 网桥 Bridge\n- 连接多个 LAN,根据 MAC 地址转发帧。\n- **自学习**:根据源 MAC 地址建立转发表。\n- **泛洪 Flooding**:目的地址未知时向除入端口外所有端口转发。\n- **转发规则**:\n - 源端口和目的端口相同 → 丢弃\n - 源端口和目的端口不同 → 转发\n - 目的端口未知 → 泛洪\n\n### 生成树协议 Spanning Tree\n防止网桥环路,通过选举根网桥、计算无环路径。\n\n### 交换机 Switch\n- 多端口的网桥。\n- 每个端口是一个独立的冲突域。\n- 支持全双工,消除冲突。\n\n### VLAN\n虚拟局域网,可按端口、MAC 地址、协议类型划分,提高安全性和灵活性。\n\n---\n\n## 4.6 典型例题与解析\n\n### 例题1:CSMA/CD 最小帧长\n**题目**:CSMA/CD 网络带宽 200 Mbps,最大距离 100 米,信号速度 200 m/μs,求最小帧长。\n\n**解析**:\n1. 往返传播时延:\n $$\n 2\\tau = \\frac{2 \\times 100}{200\\ \\text{m}/\\mu\\text{s}} = 1\\ \\mu\\text{s}\n $$\n2. 最小帧长:\n $$\n L_{min} = 200\\ \\text{Mbps} \\times 1\\ \\mu\\text{s} = 200\\ \\text{bits} = 25\\ \\text{bytes}\n $$\n\n### 例题2:曼彻斯特编码\n**题目**:画出比特串 `1010` 的曼彻斯特编码波形。\n\n**解析**:\n假设 1 = 高→低,0 = 低→高:\n```\n1: 高 低\n0: 低 高\n1: 高 低\n0: 低 高\n```\n每个比特中间都有一次跳变。\n"
},
{
"phase_num": 5,
"phase_name": "网络层:路由算法与IP地址",
"wiki_filename": "ch5_network_layer.md",
"wiki_content": "# 第5章 网络层:路由算法与IP地址\n\n## 5.1 网络层概述\n\n> 🟢 **来自资料**:课件 Chapter5-1 ~ Chapter5-5\n\n网络层的核心任务是将分组从源主机传输到目的主机,跨越多个网络。\n\n### 主要功能\n- **路由选择 Routing**:确定分组传输路径。\n- **分组转发 Forwarding**:根据路由表将分组从输入端口转发到输出端口。\n\n### 服务类型\n| 类型 | 特点 | 代表 |\n|------|------|------|\n| 面向连接 | 先建立虚电路,分组按序到达 | X.25、ATM |\n| 无连接 | 每个分组独立路由 | IP |\n\n### 子网类型\n- **虚电路子网 Virtual-Circuit Subnet**\n- **数据报子网 Datagram Subnet**\n\n---\n\n## 5.2 路由算法\n\n### 静态路由 vs 动态路由\n| 特性 | 静态路由 | 动态路由 |\n|------|----------|----------|\n| 配置方式 | 管理员手动配置 | 路由协议自动学习 |\n| 适用场景 | 小型稳定网络 | 大型变化网络 |\n| 开销 | 小 | 大 |\n\n### 最优化原理与汇集树\n- **最优化原理**:若 J 在 I 到 K 的最优路径上,则 J 到 K 的路径也最优。\n- **汇集树 Sink Tree**:到某个目的节点的所有最优路径形成的树。\n\n### Dijkstra 最短路径算法\n**步骤**:\n1. 初始化:源节点距离为 0,其他节点距离为 ∞。\n2. 每次选择距离最小的未访问节点加入集合。\n3. 更新其邻居节点的距离。\n4. 重复直到所有节点都被访问。\n\n### 距离向量路由 DV\n每个路由器维护到所有目的地的距离向量,与邻居交换并更新:\n$$\nd_{ij} = \\min_x (d_{ix} + d_{xj})\n$$\n\n典型协议:**RIP**,以跳数作为度量,最大 15 跳。\n\n#### DV 的问题\n- **计数到无穷 Count to Infinity**\n- **路由环路 Routing Loop**\n- **收敛慢**\n\n### 链路状态路由 LS\n每个路由器:\n1. 发现邻居\n2. 测量链路代价\n3. 构造链路状态分组 LSP\n4. 泛洪 LSP\n5. 用 Dijkstra 计算最短路径\n\n典型协议:**OSPF**,使用带宽作为度量。\n\n### BGP\n- **边界网关协议 Border Gateway Protocol**\n- 用于自治系统 AS 之间\n- 基于路径向量,考虑策略\n\n---\n\n## 5.3 IP 地址\n\n### IPv4 地址结构\n32 位,分为网络号和主机号,常用点分十进制表示。\n\n### 地址分类\n| 类别 | 首字节范围 | 网络位 | 主机位 | 默认掩码 |\n|------|------------|--------|--------|----------|\n| A | 0 ~ 127 | 8 | 24 | 255.0.0.0 |\n| B | 128 ~ 191 | 16 | 16 | 255.255.0.0 |\n| C | 192 ~ 223 | 24 | 8 | 255.255.255.0 |\n| D | 224 ~ 239 | 组播 | - | - |\n| E | 240 ~ 255 | 保留 | - | - |\n\n### 特殊地址\n| 地址 | 含义 |\n|------|------|\n| 0.0.0.0 | 默认路由 / 本网络本主机 |\n| 255.255.255.255 | 本地广播 |\n| 网络号全 0、主机号全 0 | 网络地址 |\n| 网络号全 0、主机号全 1 | 直接广播地址 |\n| 127.0.0.1 | 回环地址 |\n\n### 私有地址\n| 类别 | 范围 |\n|------|------|\n| A | 10.0.0.0 ~ 10.255.255.255 |\n| B | 172.16.0.0 ~ 172.31.255.255 |\n| C | 192.168.0.0 ~ 192.168.255.255 |\n\n---\n\n## 5.4 子网划分\n\n### 子网掩码\n子网掩码用于区分 IP 地址中的网络位和主机位。\n- 网络位和子网位对应掩码为 1\n- 主机位对应掩码为 0\n\n### CIDR\n无类别域间路由 Classless Inter-Domain Routing:\n- 用前缀长度表示网络位,如 `202.38.197.0/24`。\n- 支持路由聚合,减少路由表项。\n- 匹配时选择**最长前缀**。\n\n### 子网计算\n对于网络 `202.38.197.0/24`,若借 2 位主机位作为子网位:\n- 子网数:$2^2 = 4$\n- 每个子网主机数:$2^{8-2} - 2 = 62$\n- 可用主机总数:$4 \\times 62 = 248$\n\n---\n\n## 5.5 其他网络层协议\n\n### ARP\n地址解析协议:IP 地址 → MAC 地址。\n\n### RARP\n反向地址解析协议:MAC 地址 → IP 地址(已很少使用)。\n\n### DHCP\n动态主机配置协议:自动分配 IP 地址。\n\n### ICMP\n互联网控制报文协议:用于错误报告和诊断,如 ping、traceroute。\n\n### NAT/PAT\n网络地址转换:将私有 IP 转换为公有 IP,PAT 还使用端口区分多主机。\n\n---\n\n## 5.6 典型例题与解析\n\n### 例题1:IP 地址分析\n**题目**:IP 地址 172.16.20.200,判断类别、网络地址、广播地址。\n\n**解析**:\n- 172 在 128~191 之间,属于 **B 类**。\n- 默认掩码:255.255.0.0\n- 网络地址:172.16.0.0\n- 广播地址:172.16.255.255\n\n### 例题2:子网划分\n**题目**:网络 IP 202.38.197.0,借 2 位作为子网 ID,可划分多少子网?共多少有效主机地址?\n\n**解析**:\n- 子网数:$2^2 = 4$\n- 每个子网可用主机:$2^{8-2} - 2 = 62$\n- 总有效主机地址:$4 \\times 62 = 248$\n\n### 例题3:CIDR/VLSM 地址分配\n**题目**:ISP 有地址块 172.20.0.0/16,客户需要:\n- 网络 X:2000 台主机\n- 网络 Y:1000 台主机\n- 网络 Z:4000 台主机\n\n用 CIDR/VLSM 分配子网。\n\n**解析**:\n1. 网络 Z 需要 4000 台主机,主机位至少 $\\lceil \\log_2(4000+2) \\rceil = 12$,前缀 /20。\n - 172.20.0.0/20:可用主机 4094\n2. 网络 X 需要 2000 台,主机位至少 11,前缀 /21。\n - 172.20.16.0/21:可用主机 2046\n3. 网络 Y 需要 1000 台,主机位至少 10,前缀 /22。\n - 172.20.24.0/22:可用主机 1022\n\n### 例题4:距离向量更新\n**题目**:路由器 C 收到邻居路由向量:\n- B:(A:5, B:0, C:8, D:12, E:6, F:2)\n- D:(A:16, B:12, C:6, D:0, E:9, F:10)\n- E:(A:7, B:6, C:3, D:9, E:0, F:4)\n\nC 到 B/D/E 的延迟分别为 6/3/5,更新 C 的距离向量。\n\n**解析**:\n经由 B:\n- A: 6+5=11, B: 6+0=6, C: 6+8=14, D: 6+12=18, E: 6+6=12, F: 6+2=8\n\n经由 D:\n- A: 3+16=19, B: 3+12=15, C: 3+6=9, D: 3+0=3, E: 3+9=12, F: 3+10=13\n\n经由 E:\n- A: 5+7=12, B: 5+6=11, C: 5+3=8, D: 5+9=14, E: 5+0=5, F: 5+4=9\n\n取最小值:\n- C 到各目的地的距离向量:(A:11, B:6, C:0, D:3, E:5, F:8)\n- 下一跳:(B, B, -, D, E, B)\n"
},
{
"phase_num": 6,
"phase_name": "传输层:UDP与TCP",
"wiki_filename": "ch6_transport_layer.md",
"wiki_content": "# 第6章 传输层:UDP与TCP\n\n## 6.1 传输层概述\n\n> 🟢 **来自资料**:课件 Chapter6\n\n传输层是协议层次结构的核心,为应用进程提供**端到端**的通信服务。\n\n### 为什么需要传输层?\n- 网络层由运营商路由器控制,用户无法保证服务质量。\n- 传输层在用户主机上实现,可提供额外的可靠性、流量控制等。\n\n### 服务类型\n| 类型 | 代表 | 特点 |\n|------|------|------|\n| 无连接 | UDP | 不建立连接,开销小,不可靠 |\n| 面向连接 | TCP | 三次握手建立连接,可靠传输 |\n\n---\n\n## 6.2 UDP\n\n### 特点\n- 无连接、不可靠。\n- 开销小,首部仅 8 字节。\n- 适合一次请求-一次响应的应用,如 DNS。\n\n### UDP 首部格式\n```\n| 源端口 16位 | 目的端口 16位 |\n| 长度 16位 | 校验和 16位 |\n```\n\n- **长度**:包括首部和数据,单位为字节。\n- **校验和**:可选;真正计算结果为 0 时存储为全 1。\n- 校验和计算时使用**伪首部**,包含 IP 地址等信息。\n\n### 端口范围\n- 0 ~ 255:知名端口\n- 256 ~ 1023:应用端口\n- 1024 ~ 65535:自由/动态端口\n\n---\n\n## 6.3 TCP\n\n### 特点\n- 面向连接、可靠、全双工、点对点。\n- 提供字节流服务,而非消息流。\n\n### TCP 首部格式\n重要字段:\n- **源端口 / 目的端口**:各 16 位\n- **序列号 Seq**:32 位,标识字节流位置\n- **确认号 Ack**:32 位,期望收到的下一个字节序号\n- **首部长度**:4 位,单位为 32 位字\n- **控制位**:URG、ACK、PSH、RST、SYN、FIN\n- **窗口大小**:16 位,用于流量控制\n- **校验和**:16 位,含伪首部\n- **选项**:如最大报文段长度 MSS、窗口扩大因子等\n\n### 控制位含义\n| 标志 | 含义 |\n|------|------|\n| SYN | 同步,建立连接 |\n| ACK | 确认号有效 |\n| FIN | 释放连接 |\n| RST | 重置连接 |\n| PSH | 立即交付数据 |\n| URG | 紧急指针有效 |\n\n### 三次握手\n1. 客户端 → 服务器:SYN = 1, seq = x\n2. 服务器 → 客户端:SYN = 1, ACK = 1, seq = y, ack = x + 1\n3. 客户端 → 服务器:ACK = 1, seq = x + 1, ack = y + 1\n\n### 四次挥手\n1. 主动方 → 被动方:FIN = 1, seq = u\n2. 被动方 → 主动方:ACK = 1, ack = u + 1\n3. 被动方 → 主动方:FIN = 1, seq = w\n4. 主动方 → 被动方:ACK = 1, ack = w + 1\n\n### 流量控制\nTCP 使用**滑动窗口**进行流量控制:\n- 接收方通过 Window Size 字段告知发送方自己的接收能力。\n- 发送方不能发送超过窗口大小的数据。\n\n### 拥塞控制(补充)\n- **慢开始 Slow Start**\n- **拥塞避免 Congestion Avoidance**\n- **快重传 Fast Retransmit**\n- **快恢复 Fast Recovery**\n\n> 🟡 AI补充,可能与你老师讲的不完全一致\n\n---\n\n## 6.4 可靠传输机制\n\n### 确认与重传\n- 接收方发送 ACK 确认已正确接收的数据。\n- 发送方超时未收到 ACK 则重传。\n\n### Nagle 算法\n- 减少小分组数量。\n- 当数据以一次一个字节的方式到达时,先发送第一个字节,其余缓存直到确认收到。\n\n### 糊涂窗口综合征 Silly Window Syndrome\n接收方每次只读取少量数据,导致窗口更新很小。解决方案:\n- **Clark 解法**:接收方不发送小窗口更新。\n- 发送方也避免发送过小的报文段。\n\n---\n\n## 6.5 UDP vs TCP 对比\n\n| 特性 | UDP | TCP |\n|------|-----|-----|\n| 连接 | 无连接 | 面向连接 |\n| 可靠性 | 不可靠 | 可靠 |\n| 有序性 | 不保证 | 保证 |\n| 流量控制 | 无 | 有 |\n| 拥塞控制 | 无 | 有 |\n| 首部开销 | 8 字节 | 20+ 字节 |\n| 传输方式 | 数据报 | 字节流 |\n| 适用场景 | DNS、视频流、游戏 | HTTP、FTP、邮件 |\n\n---\n\n## 6.6 典型例题与解析\n\n### 例题1:TCP 序列号与确认号\n**题目**:TCP 连接中,客户端发送的第一个字节序列号为 100,发送了 200 字节数据,求服务器确认号。\n\n**解析**:\n服务器期望收到的下一个字节序号为:\n$$\n100 + 200 = 300\n$$\n确认号为 300。\n\n### 例题2:TCP 三次握手\n**题目**:简述 TCP 三次握手过程。\n\n**解析**:\n1. SYN:客户端请求建立连接,携带初始序列号 ISN。\n2. SYN-ACK:服务器确认并请求建立连接,携带自己的 ISN 和期望的下一个序号。\n3. ACK:客户端确认,连接建立完成。\n\n### 例题3:UDP 校验和\n**题目**:为什么 UDP 校验和计算要使用伪首部?\n\n**解析**:\n伪首部包含源 IP、目的 IP、协议号和 UDP 长度,用于验证 UDP 数据报是否被送到了正确的目的地和正确的协议,增加传输可靠性。\n"
}
],
"quiz_bank": [
{
"id": "ch1_q1",
"chapter": 1,
"type": "choice",
"question": "OSI参考模型中,数据链路层对应TCP/IP模型中的哪一层?",
"options": [
"A. 网络接口层",
"B. 网际层",
"C. 传输层",
"D. 应用层"
],
"answer": "A",
"explanation": "OSI的数据链路层和物理层对应TCP/IP模型的网络接口层。",
"source": "teacher",
"knowledge_points": [
"OSI模型",
"TCP/IP模型"
]
},
{
"id": "ch1_q2",
"chapter": 1,
"type": "true_false",
"question": "在OSI模型中,协议是垂直的,服务是水平的。",
"answer": false,
"explanation": "协议是对等层之间水平方向的规则,服务是上下层之间垂直方向的功能。",
"source": "teacher",
"knowledge_points": [
"协议与服务"
]
},
{
"id": "ch1_q3",
"chapter": 1,
"type": "subjective",
"question": "简述OSI七层模型各层名称及主要功能。",
"answer": "应用层(网络服务接口)、表示层(数据格式/加密/压缩)、会话层(会话管理)、传输层(端到端可靠传输)、网络层(路由与寻址)、数据链路层(成帧与差错控制)、物理层(比特流传输)。",
"keywords": [
"应用层",
"表示层",
"会话层",
"传输层",
"网络层",
"数据链路层",
"物理层"
],
"explanation": "按从上层到下层的顺序记忆,每层职责独立。",
"source": "teacher",
"knowledge_points": [
"OSI模型"
]
},
{
"id": "ch2_q1",
"chapter": 2,
"type": "subjective",
"question": "信道带宽为10 kHz,要达到300 kbps数据率,求最小信噪比(dB)。",
"answer": "由香农定理 C = H log2(1+S/N),代入得 300000 = 10000 log2(1+S/N),log2(1+S/N)=30,1+S/N=2^30≈1.07×10^9,S/N≈1.07×10^9,SNR(dB)=10log10(S/N)≈90.3 dB。",
"keywords": [
"香农定理",
"信噪比",
"dB"
],
"explanation": "先由香农定理求S/N,再转换为dB。",
"source": "teacher",
"knowledge_points": [
"香农定理"
]
},
{
"id": "ch2_q2",
"chapter": 2,
"type": "subjective",
"question": "信道带宽100 kHz,SNR=255,用香农定理求最大信道容量(kbps);并求达到该容量所需的最少离散电平数。",
"answer": "(1) C = 100000 × log2(1+255) = 100000 × 8 = 800000 bps = 800 kbps。(2) 由奈奎斯特定理 C = 2H log2 V,800000 = 200000 log2 V,log2 V=4,V=16。",
"keywords": [
"香农定理",
"奈奎斯特定理",
"离散电平"
],
"explanation": "第一问用香农定理,第二问用奈奎斯特定理反求V。",
"source": "teacher",
"knowledge_points": [
"香农定理",
"奈奎斯特定理"
]
},
{
"id": "ch2_q3",
"chapter": 2,
"type": "subjective",
"question": "16-QAM调制,信号速率28 kbaud,求系统的比特率。",
"answer": "16-QAM每个符号携带 log2(16)=4 比特。比特率 = 28 kbaud × 4 = 112 kbps。",
"keywords": [
"QAM",
"波特率",
"比特率"
],
"explanation": "比特率 = 波特率 × 每个符号的比特数。",
"source": "teacher",
"knowledge_points": [
"调制",
"波特率与比特率"
]
},
{
"id": "ch2_q4",
"chapter": 2,
"type": "subjective",
"question": "QAM-64系统有多少种不同信号?若数据率为4 kbps,对应的波特率是多少?",
"answer": "QAM-64有64种不同信号。每个符号携带 log2(64)=6 比特。波特率 = 4000 / 6 ≈ 666.7 baud。",
"keywords": [
"QAM-64",
"波特率"
],
"explanation": "QAM-N 有 N 种信号,每个符号 log2 N 比特。",
"source": "teacher",
"knowledge_points": [
"调制"
]
},
{
"id": "ch3_q1",
"chapter": 3,
"type": "subjective",
"question": "用字符计数法解码比特流(十六进制):03 CA 93 04 30 01 3C。",
"answer": "03 表示第一帧长度为3字节:03 CA 93;接下来 04 表示第二帧长度为4字节:04 30 01 3C。",
"keywords": [
"字符计数法",
"成帧"
],
"explanation": "第一个字节是帧长度字段,包含自身。",
"source": "teacher",
"knowledge_points": [
"成帧"
]
},
{
"id": "ch3_q2",
"chapter": 3,
"type": "subjective",
"question": "采用带位填充的标志法,接收到的数据为 00111110 01111100 00111110 00111000,请还原原始消息。",
"answer": "删除5个连续1后的0:00111110 → 00111110(已是标志01111110);按位填充规则还原:0011111 0 011111 0 00011111 0 000111000。原始消息为:001111101111100011111000111000(需按老师课上具体约定调整)。",
"keywords": [
"位填充",
"标志法"
],
"explanation": "发送方在5个连续1后插入0,接收方删除该0。",
"source": "teacher",
"knowledge_points": [
"成帧",
"位填充"
]
},
{
"id": "ch3_q3",
"chapter": 3,
"type": "subjective",
"question": "海明码系统(m=7, r=3),接收到的码字(从左到右位置1~7)为 1011010,判断是否正确;若错误请纠正。",
"answer": "位置1,2,4为校验位。P1覆盖1,3,5,7:1⊕1⊕0⊕0=0,错;P2覆盖2,3,6,7:0⊕1⊕1⊕0=0,错;P4覆盖4,5,6,7:1⊕0⊕1⊕0=0,错。错误位置 = 1+2+4=7,将第7位0改为1,纠正为1011011。",
"keywords": [
"海明码",
"校验位",
"纠错"
],
"explanation": "将错误校验位编号相加得到错误位位置。",
"source": "teacher",
"knowledge_points": [
"海明码"
]
},
{
"id": "ch3_q4",
"chapter": 3,
"type": "subjective",
"question": "CRC生成多项式 G(x)=x^3+x+1,原始数据 10110,求最终发送比特序列。",
"answer": "G(x)对应1011,r=3。数据后补3个0得10110000。10110000 mod 2 除以 1011 得余数111。最终发送序列:10110111。",
"keywords": [
"CRC",
"生成多项式",
"模2除法"
],
"explanation": "用模2除法求余数,将余数附加在原数据后。",
"source": "teacher",
"knowledge_points": [
"CRC"
]
},
{
"id": "ch3_q5",
"chapter": 3,
"type": "subjective",
"question": "Go-Back-N协议,序列号用8位表示:(1)最大发送窗口是多少?(2)同样序列号长度下,Selective Repeat的最大接收窗口是多少?",
"answer": "(1) Go-Back-N最大发送窗口 = 2^8 - 1 = 255。(2) Selective Repeat最大接收窗口 = 2^(8-1) = 128。",
"keywords": [
"Go-Back-N",
"Selective Repeat",
"窗口大小"
],
"explanation": "GBN发送窗口≤2^n-1,SR接收窗口≤2^(n-1)。",
"source": "teacher",
"knowledge_points": [
"滑动窗口"
]
},
{
"id": "ch4_q1",
"chapter": 4,
"type": "subjective",
"question": "画出比特串 1010 的曼彻斯特编码和差分曼彻斯特编码波形。",
"answer": "曼彻斯特:1=高→低,0=低→高,每个比特中间有跳变。差分曼彻斯特:每比特开始是否有跳变表示0/1,中间必有跳变(具体定义按老师约定)。",
"keywords": [
"曼彻斯特编码",
"差分曼彻斯特"
],
"explanation": "曼彻斯特用中间跳变表示比特,同时提供同步。",
"source": "teacher",
"knowledge_points": [
"编码"
]
},
{
"id": "ch4_q2",
"chapter": 4,
"type": "subjective",
"question": "CSMA/CD网络带宽200 Mbps,最大距离100米,信号速度200 m/μs,求最小帧长。",
"answer": "往返传播时延 2τ = 2×100/200 = 1 μs。最小帧长 = 200 Mbps × 1 μs = 200 bits = 25 bytes。",
"keywords": [
"CSMA/CD",
"最小帧长",
"冲突窗口"
],
"explanation": "最小帧长保证发送方在发送完帧前能检测到冲突。",
"source": "teacher",
"knowledge_points": [
"CSMA/CD"
]
},
{
"id": "ch4_q3",
"chapter": 4,
"type": "true_false",
"question": "交换机的一个端口就是一个冲突域。",
"answer": true,
"explanation": "交换机每个端口独立,每个端口是一个独立的冲突域。",
"source": "teacher",
"knowledge_points": [
"交换机",
"冲突域"
]
},
{
"id": "ch4_q4",
"chapter": 4,
"type": "choice",
"question": "纯ALOHA的最大信道利用率约为多少?",
"options": [
"A. 18.4%",
"B. 36.8%",
"C. 50%",
"D. 100%"
],
"answer": "A",
"explanation": "纯ALOHA S=Ge^{-2G},G=0.5时最大,S≈0.184。",
"source": "teacher",
"knowledge_points": [
"ALOHA"
]
},
{
"id": "ch5_q1",
"chapter": 5,
"type": "subjective",
"question": "用Dijkstra算法计算以节点A为根到所有节点的最短路径(提供具体图时按图计算)。",
"answer": "初始化A距离为0,其他为∞。每次选择距离最小未访问节点加入集合,并松弛邻居。重复直到所有节点访问完毕。",
"keywords": [
"Dijkstra",
"最短路径",
"汇集树"
],
"explanation": "Dijkstra是贪心算法,适用于非负权图。",
"source": "teacher",
"knowledge_points": [
"路由算法"
]
},
{
"id": "ch5_q2",
"chapter": 5,
"type": "subjective",
"question": "路由器C收到来自B、D、E的距离向量:B(A:5,B:0,C:8,D:12,E:6,F:2),D(A:16,B:12,C:6,D:0,E:9,F:10),E(A:7,B:6,C:3,D:9,E:0,F:4)。C到B/D/E的延迟为6/3/5,更新C的距离向量。",
"answer": "经由B:(11,6,14,18,12,8);经由D:(19,15,9,3,12,13);经由E:(12,11,8,14,5,9)。取最小得C的距离向量:(A:11,B:6,C:0,D:3,E:5,F:8),下一跳:(B,B,-,D,E,B)。",
"keywords": [
"距离向量",
"RIP",
"路由更新"
],
"explanation": "对每个目的地,计算经各邻居的距离并取最小值。",
"source": "teacher",
"knowledge_points": [
"距离向量路由"
]
},
{
"id": "ch5_q3",
"chapter": 5,
"type": "subjective",
"question": "IP地址172.16.20.200属于哪一类?网络地址和广播地址是什么?",
"answer": "172在128~191之间,属于B类。默认掩码255.255.0.0,网络地址172.16.0.0,广播地址172.16.255.255。",
"keywords": [
"IP分类",
"网络地址",
"广播地址"
],
"explanation": "B类地址前16位为网络号,后16位为主机号。",
"source": "teacher",
"knowledge_points": [
"IP地址"
]
},
{
"id": "ch5_q4",
"chapter": 5,
"type": "subjective",
"question": "网络IP 202.38.197.0,借2位作为子网ID,可划分多少子网?共多少有效主机IP?",
"answer": "子网数=2^2=4。每个子网主机位=8-2=6,可用主机=2^6-2=62。总有效主机=4×62=248。",
"keywords": [
"子网划分",
"CIDR"
],
"explanation": "借n位得2^n个子网,每子网可用主机=2^(主机位)-2。",
"source": "teacher",
"knowledge_points": [
"子网划分"
]
},
{
"id": "ch5_q5",
"chapter": 5,
"type": "subjective",
"question": "ISP有地址块172.20.0.0/16,客户需X:2000主机、Y:1000主机、Z:4000主机。用CIDR/VLSM分配子网。",
"answer": "Z需4000主机→/20(4094主机):172.20.0.0/20;X需2000主机→/21(2046主机):172.20.16.0/21;Y需1000主机→/22(1022主机):172.20.24.0/22。",
"keywords": [
"CIDR",
"VLSM",
"子网分配"
],
"explanation": "按主机数从大到小分配,保证地址连续便于聚合。",
"source": "teacher",
"knowledge_points": [
"CIDR"
]
},
{
"id": "ch6_q1",
"chapter": 6,
"type": "choice",
"question": "UDP校验和是必需的吗?",
"options": [
"A. 必须计算",
"B. 可选,不计算时填0",
"C. 可选,不计算时填全1",
"D. 不需要校验和"
],
"answer": "B",
"explanation": "UDP校验和可选,不计算时填0;真正计算结果为0时存储为全1。",
"source": "teacher",
"knowledge_points": [
"UDP"
]
},
{
"id": "ch6_q2",
"chapter": 6,
"type": "subjective",
"question": "简述TCP三次握手过程。",
"answer": "1) 客户端发SYN=1,seq=x;2) 服务器回SYN=1,ACK=1,seq=y,ack=x+1;3) 客户端发ACK=1,seq=x+1,ack=y+1。连接建立。",
"keywords": [
"TCP",
"三次握手",
"SYN",
"ACK"
],
"explanation": "三次握手交换初始序列号,防止历史连接请求造成错误。",
"source": "teacher",
"knowledge_points": [
"TCP连接"
]
},
{
"id": "ch6_q3",
"chapter": 6,
"type": "subjective",
"question": "为什么TCP需要流量控制?如何实现?",
"answer": "防止发送方发送过快导致接收方缓冲区溢出。通过TCP首部中的窗口大小字段,接收方告知发送方当前可接收字节数,发送方据此调整发送窗口。",
"keywords": [
"流量控制",
"滑动窗口"
],
"explanation": "窗口大小是接收方剩余的接收缓冲区空间。",
"source": "teacher",
"knowledge_points": [
"TCP流量控制"
]
},
{
"id": "ch6_q4",
"chapter": 6,
"type": "choice",
"question": "下列哪个应用最适合使用UDP?",
"options": [
"A. 文件传输",
"B. DNS查询",
"C. 电子邮件",
"D. 网页浏览"
],
"answer": "B",
"explanation": "DNS一次请求一次响应,对实时性要求高,适合UDP。",
"source": "teacher",
"knowledge_points": [
"UDP应用"
]
}
]
}