拒绝挂科!万字精读谢希仁《计算机网络》:期末划重点+公式汇总+典型计算题(直接背)

期末周了,怕挂科,看这篇真的够吗?怎么看?版本对吗?直接看下文!!!
为什么这篇笔记能帮你“死里逃生”?
在计算机网络这门课的期末考试中,挂科往往不是因为“没学”,而是因为“乱学”。谢希仁老师的《计算机网络》教材逻辑严密、体系庞大,从底层的物理信号到高层的应用协议,知识点如繁星般密集。很多同学在复习时容易陷入两个极端:一是死记硬背,试图背诵整本书的每一个字,结果到了考场上发现概念混淆,比如分不清“流量控制”和“拥塞控制”,或者搞不清TCP三次握手的状态变化;二是只重理论,忽略了计算题。物理层的香农公式、数据链路层的CRC校验、网络层的子网划分、运输层的拥塞窗口计算,这些是绝对的得分点,也是拉开分差的关键。如果这些大题一分不得,期末想及格难如登天。本笔记正是为了解决这些痛点而诞生,它不是简单的知识罗列,而是一份经过实战验证的"应试地图",剔除了教材中过于晦涩的理论推导,提炼了高频考点、易错陷阱和万能解题模板。无论你是基础薄弱想要"急救",还是基础扎实想要"冲高分",这份内容都能让你在最短时间内抓住核心,实现从“懵圈”到“通透”的跨越。
如何最大化利用这份“救命稻草”?
拿到这份笔记后,请不要试图从头到尾像读小说一样逐字阅读,高效的复习需要策略。对于计算困难户,请直接跳转到【全册公式大汇总】和【典型计算题专项集训】章节,先背下公式,再模仿例题的步骤进行"机械式"训练,记住计算机网络的计算题套路极深,只要掌握了公式和步骤,这类题目就是送分题。对于概念模糊党,重点攻克【各章必背考点+易混知识点总结】部分,利用对比表格(如TCP vs UDP、GBN vs SR)来理清思路,建立清晰的知识框架。对于考前突击者,直接食用【考前速记清单】和【高频简答/论述题必背题库】,这些内容是考场上的“标准答案模板”,背下来就能默写,确保简答题不丢分。
特别提醒:关于谢希仁教材版本
虽然市面上有第六版、第七版甚至更新的版本,但计算机网络的核心原理(OSI模型、TCP/IP协议栈、IP寻址、路由算法等)在过去十几年间并未发生本质变化。如果你使用的是最新版,请重点关注新增的IPv6细节、网络安全新进展以及应用层的新协议特性;如果你使用的是旧版(如第六版),本笔记中的核心考点依然完全适用,只需留意教材中是否有细微的术语调整即可。核心原则是无论版本如何变,“分层思想”不变,“核心协议”不变,“计算公式”不变,请紧扣本笔记的逻辑主线,不要被教材版本的差异带偏。
前言:期末备考说明&用书版本说明
导读:本章节旨在为即将面临期末考试的同学提供清晰的复习导航。我们将明确以谢希仁第七版(或最新版)教材为核心,分析考试规律,制定科学的背诵与复习策略,助你高效冲刺。
1. 谢希仁版《计算机网络》备考整体思路
- 核心逻辑构建:从“分层模型”出发,自顶向下理解数据流向,自底向上理解物理实现。
- 抓大放小策略:重点攻克网络层(IP、路由)和运输层(TCP),物理层和数据链路层重计算,应用层重概念记忆。
- 真题导向:结合历年高校期末题库,识别高频考点与命题陷阱。
2. 考试题型、分值分布与得分策略
- 客观题(选择/填空):占比约30%-40%,侧重基础概念辨析、协议端口号、参数单位换算。
- 策略:利用排除法,死记硬背关键数字(如OSI七层、TCP三次握手)。
- 主观题(简答/论述):占比约20%-30%,侧重原理描述、流程对比(如TCP vs UDP)、机制解释(如拥塞控制)。
- 策略:关键词得分法,条理清晰,配合画图(如状态迁移图)。
- 计算题(综合大题):占比约30%-40%,是拉分关键。涉及子网划分、CRC校验、信道容量、滑动窗口效率、拥塞控制模拟。
- 策略:公式烂熟于心,步骤写全,即使结果算错也能拿大部分过程分。
3. 全文使用指南:背诵优先级与复习节奏
- 第一优先级(必背):五层模型功能、TCP三次握手/四次挥手、子网划分算法、香农/奈奎斯特公式、CSMA/CD原理。
- 第二优先级(理解):路由算法(RIP/OSPF)、拥塞控制细节、加密技术原理。
- 第三优先级(浏览):具体协议报文格式细节、冷门历史知识点。
- 复习节奏建议:
- 第1-2天:通读全书,建立框架,背诵第一章至第三章基础概念。
- 第3-5天:攻克重难点(网络层、运输层),进行专项计算题训练。
- 第6-7天:应用层与网络安全记忆,整理错题,模拟自测。
第一章:计算机网络概述(选择/填空为主)
导读:本章是入门基石,虽然计算少,但概念极易混淆,是选择题的“重灾区”。
1.1 计算机网络基本概念与定义
- 核心考点深度解析:
- 定义辨析:计算机网络的准确定义必须包含三个核心要素:互连(通过通信线路连接)、自治(各计算机独立运行,无主从关系)、资源共享(硬件、软件、数据共享)。缺一不可。
- 组成要素:
- 资源子网:负责数据处理,包括主机(Host)、终端、外部设备、软件及数据资源。
- 通信子网:负责数据传输,包括传输介质、网络互联设备(路由器、交换机、集线器)及通信处理机。
- 易混点:主机属于资源子网,但主机内部的网卡和协议栈涉及通信功能;网络核心设备(如路由器)属于通信子网。
- 功能分类:
- 局域网 (LAN):覆盖范围小(几米到几公里),如办公室、校园网。特点:高带宽、低误码率、私有管理。
- 城域网 (MAN):覆盖一个城市,通常作为广域网的延伸或骨干网。
- 广域网 (WAN):覆盖国家或全球,如Internet。特点:距离远、结构复杂、由多个运营商共同维护。
- 补充:个人区域网 (PAN) 如蓝牙连接手机耳机。
- 通信方式:
- 单工 (Simplex):只能沿一个方向传输,不可逆。例:广播、电视。
- 半双工 (Half-Duplex):双向交替传输,同一时刻只能发或收。例:对讲机(按说话,松听)。
- 全双工 (Full-Duplex):双向同时传输。例:电话、现代以太网。
- 考试技巧:看到“同时”选全双工,看到“交替”或“对讲机”选半双工。
1.2 网络发展阶段与典型网络体系
- 核心考点深度解析:
- 发展史:
- ARPANET (1969):世界上第一个分组交换网,标志着计算机网络的诞生。
- Internet (1983):TCP/IP协议成为标准,全球互联。
- WWW (1990s):万维网的出现,互联网进入大众应用时代。
- 记忆点:ARPANET -> Internet -> WWW -> 移动互联网/物联网。
- 服务类型:
- 面向连接 (Connection-Oriented):通信前需建立连接(握手),通信后释放。特点:可靠、有序、有状态。例:TCP、电话网。
- 无连接 (Connectionless):直接发送数据,无需建立连接。特点:快速、灵活、不可靠。例:UDP、IP、电报。
- 交换技术对比:
- 电路交换 (Circuit Switching):
- 原理:独占通信路径(物理链路)。
- 优点:时延小、实时性好、传输透明。
- 缺点:线路利用率低(通话中即使不说话也占线)、建立连接慢。
- 适用:传统电话网。
- 报文交换 (Message Switching):存储转发整个报文。
- 缺点:时延大、缓存要求高,现已很少用。
- 分组交换 (Packet Switching):
- 原理:将数据切分为小块(分组),采用“存储-转发”机制。
- 优点:线路利用率高、灵活性好、可靠性高(可动态路由)、支持不同速率终端互联。
- 缺点:存在排队时延、可能乱序、需要额外控制信息。
- 适用:Internet、数据通信。
- 结论:现代网络以分组交换为主,语音和视频流常采用“伪电路交换”(如MPLS)或QoS保障。
- 电路交换 (Circuit Switching):
- 发展史:
1.3 网络分类:按覆盖范围、拓扑、传输方式划分
- 核心考点深度解析:
- 拓扑结构:
- 星型 (Star):中心节点(交换机/集线器)连接所有节点。
优点:易管理、故障隔离容易(坏一个不影响其他)。
缺点:中心节点是瓶颈,一旦故障全网瘫痪。 - 总线型 (Bus):所有节点挂在一根总线上。
优点:布线简单、成本低。
缺点:故障诊断难、冲突多(CSMA/CD)、总线断了全网瘫痪。 - 环型 (Ring):节点首尾相连成环。
优点:无冲突(令牌传递)。
缺点:增加/删除节点麻烦、单点故障导致全网瘫痪(除非双环)。 - 网状型 (Mesh):节点间多条路径。
优点:可靠性极高、冗余好。
缺点:成本高、结构复杂。 - 考试陷阱:集线器组网通常是物理星型,逻辑总线型;交换机组网是物理星型,逻辑也是星型(点对点)。
- 星型 (Star):中心节点(交换机/集线器)连接所有节点。
- 传输方式:
- 广播式 (Broadcast):一个节点发送,所有节点接收(如以太网、WiFi)。需解决信道访问控制(MAC协议)。
- 点对点 (Point-to-Point):专用链路,一对一传输(如PPP协议、光纤骨干网)。
- 无线分类:
- WPAN (Wireless PAN):短距离,如蓝牙、ZigBee(个人设备互联)。
- WLAN (Wireless LAN):无线局域网,如Wi-Fi (802.11系列)。
- WWAN (Wireless WAN):无线广域网,如4G/5G移动网络。
- 区别:主要看覆盖范围和使用的技术标准。
- 拓扑结构:
1.4 网络性能指标(速率、带宽、时延、时延带宽积等)
- 核心考点深度解析:
- 速率与带宽:
- 速率 (Data Rate):单位时间内传输的二进制位数,单位 bps, kbps, Mbps, Gbps, Tbps。换算:1 Mbps = 10610^6106 bps(注意:计算机存储中1MB=2202^{20}220B,但网络速率通常用10进制,除非题目特别说明)。
- 带宽 (Bandwidth):
- 模拟信号中:信道能通过的频率范围(Hz)。
- 数字信号中:信道的最大数据传输速率(bps)。考试中通常指后者。
- 速率与带宽:
- 时延五要素:
- 发送时延 (Transmission Delay):L/RL/RL/R。数据长度(L)/发送速率®。主机将比特推送到链路上的时间。
关键:取决于主机发送能力和链路带宽。 - 传播时延 (Propagation Delay):d/vd/vd/v。链路长度(d)/电磁波在介质中的传播速度(v)。
关键:取决于物理距离和介质(铜缆约2×1082 \\times 10^82×108 m/s,光纤类似,真空光速3×1083 \\times 10^83×108 m/s)。 - 处理时延 (Processing Delay):路由器检查首部、查表、错误检测的时间。通常较小且不确定。
- 排队时延 (Queuing Delay):分组在路由器输入/输出队列等待的时间。取决于网络拥塞程度,变化最大。
- 确认时延:通常指收到ACK的时间,包含上述部分时延的往返。
- 总时延 = 发送 + 传播 + 处理 + 排队。
- 时延带宽积 (Delay-Bandwidth Product):
- 公式:往返时延 (RTT) × 带宽。
- 含义:管道中能容纳的最大比特数(即“管道容量”)。
- 意义:如果发送的数据量 < 时延带宽积,则无法占满管道;如果 >,则管道被填满,后续数据会排队。
- 误区:不要把它当成“时延”,它是“容量”(单位:bit)。
- 吞吐量 (Throughput):单位时间内通过某个网络(或信道、接口)的实际数据量。受限于带宽、网络拥塞、发送能力。
- 时延带宽积误区:区分“时延带宽积”(容量,bit)与“往返时延”(时间,s)。
1.5 网络体系结构:五层/七层模型核心层级功能
- 核心考点深度解析:
- OSI七层模型(理论参考):
- 物理层:比特流传输,机械/电气特性。
- 数据链路层:帧传输,MAC寻址,差错控制。
- 网络层:分组传输,IP寻址,路由选择。
- 传输层:端到端通信,端口,可靠性(TCP/UDP)。
- 会话层:建立、管理、终止会话。
- 表示层:数据格式转换、加密、压缩。
- 应用层:为用户应用程序提供网络服务(HTTP, FTP等)。
- TCP/IP四层模型(实际标准):
- 网络接口层(对应OSI物理+链路)。
- 网际层 (Internet Layer)(对应OSI网络,核心IP)。
- 传输层 (Transport Layer)(对应OSI传输,TCP/UDP)。
- 应用层 (Application Layer)(对应OSI会话+表示+应用)。
- 对应关系:OSI的会话、表示、应用三层合并为TCP/IP的应用层。
- 封装与解封装:
- 发送端:应用层数据 -> 加运输层头(段) -> 加网络层头(包) -> 加链路层头尾(帧) -> 变比特流。
- 接收端:比特流 -> 剥链路层头尾(帧) -> 剥网络层头(包) -> 剥运输层头(段) -> 还原数据。
- PDU变化:数据(Data) -> 段(Segment) -> 包(Packet) -> 帧(Frame) -> 比特(Bit)。
- 接口与服务:
- 服务:下层为上层提供的功能(如网络层为传输层提供“尽力而为”的交付)。
- 接口:相邻层之间交互的规则和边界(如传输层调用网络层服务的API)。
- 协议:对等层之间通信的规则(如TCP协议是两端传输层遵守的规则)。
- 口诀:同级用协议,上下级用接口和服务。
1.6 本章必背考点+易混知识点总结
- 核心考点深度解析:
- 术语辨析:
- 协议 (Protocol):水平方向,对等实体间的规则(如TCP协议)。关键词:语法、语义、时序。
- 接口 (Interface):垂直方向,相邻层之间的交互点。关键词:服务访问点(SAP)。
- 服务 (Service):下层向上层提供的功能。关键词:原语、调用。
- 高频陷阱:
- “物理层传输的是比特流还是数据包?” -> 比特流(物理层不关心内容)。
- “路由器工作在哪一层?” -> 网络层(核心功能是路由选择和IP分组转发)。
- “交换机(二层)工作在哪一层?” -> 数据链路层(基于MAC地址转发)。
- “集线器是智能设备吗?” -> 不是,它只是物理层的信号放大和中继,所有端口在一个冲突域。
- “网关工作在哪些层?” -> 任何层,通常指高层协议转换(如应用层网关),但在广义上连接不同体系结构的设备都可叫网关。
- “调制解调器(MODEM)在哪层?” -> 物理层(模数转换)。
- “中继器(Repeater)在哪层?” -> 物理层。
- “网桥(Bridge)在哪层?” -> 数据链路层(早期)。
- 易错概念:
- 带宽不等于速率(前者是能力上限,后者是实际值),但在理想情况下数值相等。
- 时延不等于时延带宽积(一个是时间,一个是容量)。
- IP地址标识主机在网络的位置,MAC地址标识网卡在局域网内的身份。
- 术语辨析:
第二章:物理层(基础概念+少量计算)
导读:本章是数据的物理载体,计算题主要集中在信号处理和信道容量,公式固定,需精准记忆。
2.1 物理层任务与基本特性
- 核心考点深度解析:
- 物理层的根本任务:透明地传输比特流。它不关心比特代表什么(是0还是1,是字符还是图像),只负责在通信介质上正确、无误地发送和接收“0”和“1”序列。
- 四大特性详解(常考选择题):
- 机械特性 (Mechanical):规定接插件的几何尺寸、引脚数量、排列方式等。例如:RJ-45接口的形状、USB接口的针脚定义。
- 电气特性 (Electrical):规定电压范围、阻抗匹配、信号电平逻辑。例如:RS-232标准中,-3V至-15V表示逻辑"1",+3V至+15V表示逻辑"0";超过±3V为无效电平。
- 功能特性 (Functional):规定某根引脚上的信号含义(如数据线、控制线、时钟线)。例如:某引脚是高电平有效还是低电平有效,是输入还是输出。
- 规程特性 (Procedural):规定事件发生的顺序和时序关系。例如:先发送地址再发送数据,握手信号的触发顺序(RTS/CTS)。
- 透明传输:指无论数据内容是什么,物理层都能原样传输,不会因数据中包含特殊字符(如帧定界符)而误判。这通常由上层协议(如数据链路层)通过填充技术实现,但物理层本身必须支持这种“透明性”。
2.2 数据通信基础知识:信号、码元、信道
- 核心考点深度解析:
- 信号分类:
- 模拟信号 (Analog):连续变化的波形(如声音、传统电话语音)。特点:频率连续,易受噪声干扰产生失真。
- 数字信号 (Digital):离散的脉冲序列(如计算机数据)。特点:抗干扰强,易于加密和处理,但占用频带较宽。
- 基带信号 (Baseband):未经调制的原始数字信号,包含低频分量,不能直接在长距离有线信道或无线信道传输(需调制)。
- 宽带信号 (Broadband):经过调制后的信号,将基带信号搬移到高频载波上,适合远距离传输。
- 码元速率 vs 信息速率(计算题核心):
- 码元速率 (Baud Rate, RBR_BRB):单位时间内传输的码元个数,单位是波特 (Baud)。
- 信息速率 (Bit Rate, RbR_bRb):单位时间内传输的二进制位数,单位是 bps (bits per second)。
- 换算公式:Rb=RB×log2VR_b = R_B \\times \\log_2 VRb=RB×log2V。其中 VVV 是码元的离散电平数(调制阶数)。
- 举例:若采用4相调制(V=4V=4V=4),每个码元携带 log24=2\\log_2 4 = 2log24=2 比特信息。若波特率为2400 Baud,则比特率 = 2400×2=48002400 \\times 2 = 48002400×2=4800 bps。
- 奈奎斯特准则前提:仅在无噪声的理想低通信道下成立。如果题目提到“理想信道”、“无噪声”,优先考虑奈奎斯特。
- 采样定理 (Nyquist Sampling Theorem):为了从采样信号中无失真地恢复出模拟信号,采样频率 (fsf_sfs) 必须大于等于信号最高频率 (fmaxf_{max}fmax) 的2倍,即 fs≥2fmaxf_s \\ge 2f_{max}fs≥2fmax。这是模数转换 (ADC) 的基础。
- 信号分类:
2.3 信道极限容量:奈奎斯特定理、香农定理
- 核心考点深度解析:
- 奈奎斯特定理 (Nyquist Theorem):
- 公式:C=2Hlog2VC = 2H \\log_2 VC=2Hlog2V。
- 含义:在无噪声情况下,信道的最大数据传输速率取决于带宽 (HHH, Hz) 和信号电平数 (VVV)。
- 限制:提高 VVV 可以增大速率,但 VVV 越大,信号区分越难,抗噪声能力越差,实际中难以无限增加。
- 香农定理 (Shannon Theorem):
- 公式:C=Hlog2(1+S/N)C = H \\log_2(1 + S/N)C=Hlog2(1+S/N)。
- 含义:在有噪声的实际信道中,信道的极限容量取决于带宽 (HHH) 和信噪比 (S/NS/NS/N)。
- 关键点:即使 VVV 无穷大,速率也不能超过香农极限。噪声限制了信道的绝对容量。
- 信噪比转换 (dB vs Ratio):
- 公式:SNR(dB)=10log10(S/N)SNR(dB) = 10 \\log_{10}(S/N)SNR(dB)=10log10(S/N)。
- 常见数值记忆:
- 10 dB -> S/N=10S/N = 10S/N=10
- 20 dB -> S/N=100S/N = 100S/N=100
- 30 dB -> S/N=1000S/N = 1000S/N=1000
- 40 dB -> S/N=10000S/N = 10000S/N=10000
- 考试技巧:看到dB值,先转化为比值再代入香农公式。
- 应用区分策略:
- 题目出现“无噪声”、“理想信道”、“最大码元速率” -> 奈奎斯特。
- 题目出现“有噪声”、“信噪比”、“最大数据率”、“极限容量” -> 香农。
- 若同时给出,通常以较小的那个值作为实际极限。
- 奈奎斯特定理 (Nyquist Theorem):
2.4 传输介质分类与特点
- 核心考点深度解析:
- 有线介质:
- 双绞线 (Twisted Pair):
- UTP (非屏蔽):成本低,广泛用于以太网 (Cat5e, Cat6, Cat7)。Cat6支持千兆/万兆短距。
- STP (屏蔽):加了金属屏蔽层,抗干扰强,成本高,用于工业环境。
- 特点:易受电磁干扰 (EMI),传输距离短 (100m以内)。
- 同轴电缆 (Coaxial Cable):
- 粗缆 (Thicknet):早期以太网,直径粗,传输远。
- 细缆 (Thinnet):RG-58,易安装,已淘汰。
- 特点:抗干扰优于双绞线,现主要用于有线电视 (CATV) 网络。
- 光纤 (Fiber Optic):
- 单模光纤 (Single-mode):芯径极小 (9μm),激光光源,传输距离极远 (几十公里),色散小,成本高。用于骨干网。
- 多模光纤 (Multi-mode):芯径较大 (50/62.5μm),LED光源,传输距离短 (几百米),成本低。用于局域网。
- 特点:带宽极大、抗电磁干扰、保密性好、重量轻。
- 双绞线 (Twisted Pair):
- 无线介质:
- 无线电波:全向传播,穿透力强,用于广播、Wi-Fi、蜂窝网络。
- 微波:直线传播 (视距传输),需中继站,用于卫星通信、地面微波接力。
- 红外线:短距离、点对点、不可穿透墙壁,用于遥控器、室内短距通信。
- 干扰问题:
- 电磁干扰 (EMI):外部电磁场影响信号。
- 串扰 (Crosstalk):相邻线缆间信号相互干扰 (如NEXT, FEXT)。双绞线通过“绞合”抵消串扰。
- 衰减 (Attenuation):信号随距离减弱,需中继器放大。
- 有线介质:
2.5 信道复用技术:频分、时分、波分、码分复用
- 核心考点深度解析:
- 频分复用 (FDM, Frequency Division Multiplexing):
- 原理:将总频带划分为多个互不重叠的子频带,每个用户独占一个子频带。
- 特点:所有用户同时传输,但占用不同频率。需保护间隔防止干扰。
- 应用:传统广播、电视、ADSL (利用不同频段传上行/下行数据)。
- 时分复用 (TDM, Time Division Multiplexing):
- 同步TDM:时间片固定分配,即使某用户无数据,时隙也保留给该用户(效率低)。
- 异步TDM (统计TDM):按需动态分配时隙,效率高,但需要更复杂的控制逻辑。
- 特点:同一频率,不同时间片。
- 应用:PCM数字电话系统、E1/T1线路。
- 波分复用 (WDM, Wavelength Division Multiplexing):
- 本质:光的频分复用。在一根光纤中同时传输多个不同波长的光信号。
- 应用:光纤骨干网,极大提升光纤容量。
- 码分复用 (CDM/CDMA, Code Division Multiplexing):
- 原理:所有用户在同一时间、同一频率上发送数据,但使用不同的正交码序列 (Code) 进行编码。接收端用对应码序列解码。
- 特点:抗干扰能力强、保密性好、软容量(用户数可动态增加)、无需严格同步。
- 应用:3G移动通信 (CDMA2000, WCDMA)、GPS。
- 难点:理解“正交性”意味着互不干扰。
- 频分复用 (FDM, Frequency Division Multiplexing):
2.6 宽带接入技术
- 核心考点深度解析:
- ADSL (Asymmetric Digital Subscriber Line):
- 特点:非对称(下行快,上行慢),利用电话线,频分复用(语音占低频,数据占高频)。
- 现状:逐渐被光纤取代,但在部分老旧区域仍在使用。
- 速率:下行可达几Mbps到几十Mbps。
- HFC (Hybrid Fiber-Coaxial):
- 结构:光纤到小区,同轴电缆入户。
- 应用:有线电视网改造后提供的宽带接入。
- 特点:共享带宽,高峰期可能拥堵。
- FTTx (Fiber to the x):
- FTTH (Fiber to the Home):光纤直接到户,性能最好,主流方向。
- FTTB (Fiber to the Building):光纤到大楼,最后一段用网线。
- 区别:关键在于光纤的终点位置。
- xDSL家族对比:
- ADSL:上下行不对称,最普及。
- VDSL:超高速,但距离短(几百米)。
- SDSL:对称数字用户线,上下行速率相同,用于企业专线。
- ADSL (Asymmetric Digital Subscriber Line):
2.7 本章核心公式汇总
- 公式清单:
- 比特率与波特率换算:Rb=RB×log2VR_b = R_B \\times \\log_2 VRb=RB×log2V
- 注意:VVV 是电平数,不是波特率。
- 奈奎斯特极限:C=2Hlog2VC = 2H \\log_2 VC=2Hlog2V
- 适用:无噪声理想信道。
- 香农极限:C=Hlog2(1+S/N)C = H \\log_2(1 + S/N)C=Hlog2(1+S/N)
- 适用:有噪声实际信道。
- 信噪比转换:SNR(dB)=10log10(S/N)SNR(dB) = 10 \\log_{10}(S/N)SNR(dB)=10log10(S/N)
- 逆运算:S/N=10(SNR(dB)/10)S/N = 10^{(SNR(dB)/10)}S/N=10(SNR(dB)/10)。
- 易错点提示:
- 单位陷阱:带宽 HHH 的单位必须是 Hz (赫兹),若给的是 kHz 需乘以 1000。
- 信噪比陷阱:香农公式中的 S/NS/NS/N 必须是线性比值,绝不能直接用 dB 值代入!必须先转换。
- 取值原则:若题目同时问奈奎斯特和香农极限,实际最大速率取两者中的较小值。
2.8 典型计算题精讲+课后同类题练习
-
例题1:香农定理应用
- 题目:已知信道带宽 H=3000H = 3000H=3000 Hz,信噪比为 30 dB,求该信道的最大数据传输速率。
- 解题步骤:
- 单位确认:带宽 H=3000H = 3000H=3000 Hz。
- 信噪比转换:30 dB=10log10(S/N)⇒S/N=10(30/10)=103=100030 \\text{ dB} = 10 \\log_{10}(S/N) \\Rightarrow S/N = 10^{(30/10)} = 10^3 = 100030 dB=10log10(S/N)⇒S/N=10(30/10)=103=1000。
- 代入公式:C=3000×log2(1+1000)=3000×log2(1001)C = 3000 \\times \\log_2(1 + 1000) = 3000 \\times \\log_2(1001)C=3000×log2(1+1000)=3000×log2(1001)。
- 近似计算:log2(1024)=10\\log_2(1024) = 10log2(1024)=10,故 log2(1001)≈10\\log_2(1001) \\approx 10log2(1001)≈10。
- 结果:C≈3000×10=30000C \\approx 3000 \\times 10 = 30000C≈3000×10=30000 bps = 30 kbps。
- 考点:dB转比值,对数估算。
例题2:波特率与比特率换算
- 题目:某调制解调器采用 16 相调制(即16个电平),波特率为 2400 Baud,求其数据传输速率。
- 解题步骤:
- 确定参数:RB=2400R_B = 2400RB=2400 Baud,V=16V = 16V=16。
- 计算每码元比特数:log216=4\\log_2 16 = 4log216=4 bit/符号。
- 代入公式:Rb=2400×4=9600R_b = 2400 \\times 4 = 9600Rb=2400×4=9600 bps。
- 结果:9600 bps。
例题3:TDM帧结构设计
- 题目:4路数字信号,每路速率为 64 kbps,采用同步TDM复用。求复用后的总速率及每路信号在帧中的时隙宽度(假设帧周期为1ms)。
- 解题步骤:
- 总速率:4×64 kbps=256 kbps4 \\times 64 \\text{ kbps} = 256 \\text{ kbps}4×64 kbps=256 kbps。(同步TDM总速率 = 各路速率之和)。
- 帧结构:每帧包含4个时隙,每时隙承载一路信号的一个字节(或一位,视具体设计,通常按位交织或字节交织)。
- 时隙宽度:
- 方法一(按时序):总周期 1ms,分给4路,每路时隙 = 1 ms/4=0.25 ms1 \\text{ ms} / 4 = 0.25 \\text{ ms}1 ms/4=0.25 ms。
- 方法二(按数据量):每路每秒发 64k bits,1ms发 64 bits。若每帧发一次,则每时隙含 64 bits。
- 结果:总速率 256 kbps,每路时隙宽度 0.25 ms。
第三章:数据链路层(高频考点+计算重点)
导读:本章是“承上启下”的关键,涉及成帧、差错控制、流量控制和MAC协议,计算题难度大,是拿分关键。
3.1 数据链路层基本功能与帧封装
- 核心考点深度解析:
- 三大核心功能:
- 封装成帧 (Framing):在数据前后添加首部和尾部,界定帧的边界。首部包含目的/源MAC地址等,尾部通常包含FCS(帧检验序列)。
- 差错检测 (Error Detection):利用校验码(如CRC)检测传输过程中是否发生比特翻转,发现错误则丢弃(不重传,重传由上层或ARQ机制处理)。
- 流量控制 (Flow Control):协调发送方和接收方的速度,防止接收方缓冲区溢出(通过滑动窗口机制实现)。
- 成帧方法详解(选择题常考优缺点):
- 字符计数法:帧首部用字节表示帧长。
致命缺陷:若计数字段出错,接收方将完全失步,后续所有帧都错,需重新同步。已淘汰。 - 字节填充法 (Byte Stuffing):
- 原理:规定特殊转义字符(ESC,0x7D)。若数据中出现ESC或标志符(SOH/STX),则在前面加ESC。
- 场景:PPP协议常用。
- 零比特填充法 (Zero-bit Stuffing):
- 原理:HDLC协议使用。规定01111110为帧定界符。发送时,只要连续出现5个1,就在后面自动插入一个0;接收时,看到5个1后跟0,删除该0。
- 优点:透明性好,硬件实现简单。
- 违例编码法 (Violation Encoding):
- 原理:曼彻斯特编码中,每个位中间都有跳变。若出现无跳变的信号(如全高或全低),即视为非法,用于定界。
- 场景:早期以太网(10BASE2/5)。
- 字符计数法:帧首部用字节表示帧长。
- 透明传输:指无论数据内容是什么(即使包含标志符或转义符),都能原样传输。必须通过上述填充技术实现,否则接收方会误判帧结束。
3.2 差错检测:CRC循环冗余校验、奇偶校验
- 核心考点深度解析:
- 奇偶校验 (Parity Check):
- 原理:增加一位校验位,使整个码组中1的个数为奇数(奇校验)或偶数(偶校验)。
- 能力:只能检错,不能纠错。只能检测出奇数个比特错误。若发生偶数个错(如2位),无法检出。
- 应用:内存校验、简单串行通信。
- CRC (Cyclic Redundancy Check) 循环冗余校验:
- 原理:基于多项式除法(模2除)。发送方将数据视为多项式系数,除以生成多项式 G(x)G(x)G(x),余数作为FCS附加在数据后。接收方同样做除法,若余数为0则正确。
- 模2运算规则:
- 加法/减法 = 异或 (XOR):0+0=0,0+1=1,1+0=1,1+1=00+0=0, 0+1=1, 1+0=1, 1+1=00+0=0,0+1=1,1+0=1,1+1=0。无进位,无借位。
- 乘法/除法遵循普通代数规则,但加减步骤用异或。
- 计算步骤(必考):
- 确定位数:设生成多项式次数为 rrr(如 101110111011 次数为3)。
- 补0:在原始数据末尾补 rrr 个 0。
- 模2除:用补0后的数据除以生成多项式,进行异或运算。
- 取余:得到的余数(长度为 rrr 位)即为FCS。
- 拼接:将FCS拼接到原始数据后发送。
- 检错能力:
- 检出所有奇数个错误。
- 检出所有双比特错误。
- 检出长度 ≤r\\le r≤r 的突发错误。
- 检出率极高(99.9%以上),是局域网标准。
- 奇偶校验 (Parity Check):
3.3 流量控制与可靠传输:停止等待、连续ARQ、选择重传
- 核心考点深度解析:
- 可靠传输机制三要素:
- 序列号:区分不同帧,检测重复帧。
- 确认应答 (ACK):接收方收到正确帧后返回ACK。
- 超时重传:发送方未收到ACK,超时后重发。
- 停止等待协议 (Stop-and-Wait):
- 流程:发一帧 -> 等ACK -> 发下一帧。
- 缺点:信道利用率极低。若传播时延大,发送方大部分时间在等待。
- 适用:极低速链路或简单测试。
- 连续ARQ (Automatic Repeat reQuest):
- 流程:发送方连续发送多帧,无需每帧等ACK;接收方按序接收并累积ACK(或逐个ACK)。
- 回退N帧 (GBN, Go-Back-N):
- 机制:发送方维护一个发送窗口。若某帧 NNN 出错,发送方重传 NNN 及之后所有已发但未确认的帧。
- 接收方行为:丢弃所有乱序帧(即使后续帧正确也丢弃),只按序接收。
- 特点:实现简单,但效率较低(浪费带宽重传正确帧)。
- 选择重传 (SR, Selective Repeat):
- 机制:发送方仅重传出错的帧。
- 接收方行为:缓存乱序帧,待缺失帧到达后,按序交付给网络层。
- 特点:效率高,但实现复杂(需缓存、更复杂的窗口管理)。
3.4 滑动窗口机制原理与计算
- 核心考点深度解析:
- 窗口定义:
- 发送窗口 (WTW_TWT):允许发送方在未收到ACK前,最多能发送的帧数。
- 接收窗口 (WRW_RWR):允许接收方缓存乱序帧的最大数量。
- 序号限制与冲突避免(高频计算/填空):
- 停等协议:序号只需1位(0, 1)。
- GBN协议:
- 发送窗口上限:WT≤2n−1W_T \\le 2^n – 1WT≤2n−1。
- 接收窗口:WR=1W_R = 1WR=1(GBN接收方不缓存乱序帧)。
- 原因:若 WT=2nW_T = 2^nWT=2n,当所有帧都超时重传时,新帧序号可能与旧帧序号混淆(模糊性)。
- SR协议:
- 发送窗口上限:WT≤2n−1W_T \\le 2^{n-1}WT≤2n−1。
- 接收窗口上限:WR≤2n−1W_R \\le 2^{n-1}WR≤2n−1。
- 且满足 WT+WR≤2nW_T + W_R \\le 2^nWT+WR≤2n。
- 原因:为了区分新旧帧,窗口大小不能超过序号空间的一半。
- 效率计算:
- 信道利用率 η\\etaη:η=发送数据的时间总时间\\eta = \\frac{\\text{发送数据的时间}}{\\text{总时间}}η=总时间发送数据的时间。
- 对于连续ARQ,若窗口足够大(W≥a=TpropTtransW \\ge a = \\frac{T_{prop}}{T_{trans}}W≥a=TtransTprop),利用率可接近100%。
- 窗口定义:
3.5 局域网技术:以太网、MAC地址
- 核心考点深度解析:
- MAC地址 (物理地址):
- 长度:48位 (6字节),通常写成12位十六进制数(如 00:1A:2B:3C:4D:5E)。
- 结构:
- 前24位:OUI (Organizationally Unique Identifier),厂商代码,由IEEE分配。
- 后24位:设备ID,由厂商自行分配,全球唯一。
- 寻址类型判断(看最低两位):
- 单播 (Unicast):最低位 (LSB) 为 0。点对点通信。
- 组播 (Multicast):最低位为 1,次低位为 1(即 01:00:5E… 开头,IPv4组播映射)。一对多通信。
- 广播 (Broadcast):全为 1 (FF:FF:FF:FF:FF:FF)。向局域网内所有主机发送。
- 注意:最高位 (I/G位) 表示全局/本地管理(0为全局,1为本地),最低位 (U/L位) 表示单播/组播。
- IEEE 802.3 帧格式:
- 前导码 (7字节) + 帧起始定界符 (1字节):用于同步时钟,不属于帧本身。
- 目的MAC (6) + 源MAC (6)。
- 类型/长度 (2):指示上层协议(如0x0800代表IP)。
- 数据 (46-1500):最小46字节(凑够64字节总长),最大1500字节(MTU)。
- FCS (4):CRC校验码。
- 注:Ethernet II 帧格式中“类型”字段在前,DIX Ethernet V2标准。
- MAC地址 (物理地址):
3.6 以太网协议、CSMA/CD、CSMA/CA原理
- 核心考点深度解析:
- CSMA/CD (Carrier Sense Multiple Access with Collision Detection):
- 适用:有线以太网(半双工)。
- 工作原理:
- 先听后发:发送前监听信道,忙则等待。
- 边发边听:发送过程中持续监听,检测是否有冲突。
- 冲突停止:检测到冲突,立即停止发送,发送干扰信号(Jamming Signal)确保所有节点知道冲突。
- 随机重发:执行截断二进制指数退避算法,等待随机时间后重试。
- 争用期 (Contention Period):
- 定义为端到端往返传播时延 2τ2\\tau2τ。
- 在此时间内,若未发生冲突,则发送成功;若发生,必在此期间被检测到。
- 以太网标准值:51.2μs51.2 \\mu s51.2μs。
- 最小帧长计算:
- 公式:Lmin=R×2τL_{min} = R \\times 2\\tauLmin=R×2τ (发送速率 × 争用期)。
- 含义:保证发送完最后一位之前,能检测到最远端的冲突。
- 经典结论:在10Mbps以太网中,Lmin=107×51.2×10−6=512 bits=64 BytesL_{min} = 10^7 \\times 51.2 \\times 10^{-6} = 512 \\text{ bits} = 64 \\text{ Bytes}Lmin=107×51.2×10−6=512 bits=64 Bytes。
- 扩展:若速率提高到1Gbps,最小帧长需增加到12800字节(实际通过载波延伸等技术解决)。
- 退避算法:t=k×(2τ)t = k \\times (2\\tau)t=k×(2τ),其中 kkk 从 [0,1,…,2m−1][0, 1, …, 2^m-1][0,1,…,2m−1] 随机选取,m=min(重传次数,10)m = \\min(\\text{重传次数}, 10)m=min(重传次数,10)。
- CSMA/CD (Carrier Sense Multiple Access with Collision Detection):
- CSMA/CA (Collision Avoidance):
- 适用:无线局域网 (WiFi, 802.11)。
- 难点:无线环境下无法“边发边听”(信号太弱,无法检测碰撞),故采用“避免”策略。
- 机制:
- 空闲监听:信道忙则退避。
- 帧间间隔 (IFS):等待一段固定时间。
- 随机退避:倒计时计数器。
- RTS/CTS:请求发送/清除发送,预约信道,解决“隐蔽站”问题。
- ACK:接收方收到后必须回复ACK,否则视为丢失。
3.7 网桥、交换机工作原理
- 核心考点深度解析:
- 网桥/交换机 (Bridge/Switch):
- 工作层次:数据链路层。
- 核心功能:基于MAC地址表进行帧转发。
- 隔离域:
- 隔离冲突域:每个端口是一个独立的冲突域(交换机 vs 集线器)。
- 不隔离广播域:默认情况下,广播帧会被转发到所有端口(除非配置VLAN)。
- 自学习算法 (Self-Learning):
- 记录:收到帧时,记录源MAC地址和进入端口,写入转发表。
- 查找:查看目的MAC地址。
- 决策:
- 表中存在且端口不同 -> 转发到该端口。
- 表中存在且端口相同 -> 丢弃(过滤)。
- 表中不存在 -> 泛洪 (Flooding),向除输入口外的所有端口转发。
- 网桥/交换机 (Bridge/Switch):
- 集线器 (Hub) vs 交换机 (Switch):
- 集线器:物理层设备,共享带宽,所有端口在一个冲突域,一个风暴域。智能程度低(只是信号放大)。
- 交换机:数据链路层设备,独享带宽,每个端口是一个冲突域,只有一个广播域。智能程度高(查表转发)。
- VLAN (Virtual LAN):
- 作用:逻辑上将交换机划分成多个虚拟局域网。
- 效果:隔离广播域,提高安全性,减少广播风暴。不同VLAN间通信需路由器或三层交换机。
3.8 本章核心公式汇总
- 公式清单:
- 停等协议信道利用率:η=T发送T发送+RTT+T处理≈11+2a\\eta = \\frac{T_{发送}}{T_{发送} + RTT + T_{处理}} \\approx \\frac{1}{1 + 2a}η=T发送+RTT+T处理T发送≈1+2a1 (其中 a=T传播T发送a = \\frac{T_{传播}}{T_{发送}}a=T发送T传播)。
- CRC校验码位数:r=nr = nr=n (生成多项式的最高次数,即 G(x)G(x)G(x) 的次数)。
- 滑动窗口上限:
- GBN:WT≤2n−1W_T \\le 2^n – 1WT≤2n−1。
- SR:WT≤2n−1,WR≤2n−1W_T \\le 2^{n-1}, W_R \\le 2^{n-1}WT≤2n−1,WR≤2n−1。
- 以太网最小帧长:Lmin=2τ×RL_{min} = 2\\tau \\times RLmin=2τ×R (RRR为速率,τ\\tauτ为单向传播时延)。
- 信道利用率 (连续ARQ):η=W×T发送T发送+RTT\\eta = \\frac{W \\times T_{发送}}{T_{发送} + RTT}η=T发送+RTTW×T发送 (当 W<1+2aW < 1+2aW<1+2a 时)。
3.9 典型计算题精讲+课后同类题练习
-
例题1:CRC校验码计算
- 题目:要发送的数据为 110101,生成多项式 G(x)=x3+x+1G(x) = x^3 + x + 1G(x)=x3+x+1(对应二进制 1011)。求发送的完整序列。
- 解题步骤:
-
确定补0位数:G(x)G(x)G(x) 最高次为3,补3个0。数据变为 110101000。
-
模2除法:
110101 补 000 -> 110101000
110101000 XOR 101100000 = 011001000
… 最终余数为 011 (3位)。 -
拼接:原数据 110101 + 余数 011 = 110101011。
- 结果:发送序列为 110101011。
例题2:滑动窗口大小计算
- 题目:设序号位数为 n=3n=3n=3。
- 若采用GBN协议,发送窗口最大是多少?
- 若采用SR协议,发送窗口最大是多少?
例题3:信道利用率计算
- 题目:10Mbps以太网,端到端传播时延 τ=20μs\\tau = 20 \\mu sτ=20μs,帧长 L=1000L = 1000L=1000 bit。求停等协议的信道利用率。
- 解题步骤:
- 计算发送时延:T发送=L/R=1000 bit/107 bps=100μsT_{发送} = L / R = 1000 \\text{ bit} / 10^7 \\text{ bps} = 100 \\mu sT发送=L/R=1000 bit/107 bps=100μs。
- 计算往返时延 (RTT):RTT≈2τ=40μsRTT \\approx 2\\tau = 40 \\mu sRTT≈2τ=40μs。(忽略处理时间和ACK发送时间,简化计算)。
- 计算利用率:η=T发送T发送+RTT=100100+40=100140≈0.714\\eta = \\frac{T_{发送}}{T_{发送} + RTT} = \\frac{100}{100 + 40} = \\frac{100}{140} \\approx 0.714η=T发送+RTTT发送=100+40100=140100≈0.714。
- 结果:利用率约为 71.4%。
第四章:网络层(全书重中之重,大题必考)
导读:网络层是互联网的“心脏”,IP地址计算、路由协议、ICMP/ARP是绝对的核心,必须彻底掌握。
4.1 网络层核心功能与IP协议概述
- 核心考点深度解析:
- 两大核心任务:
- 路由选择 (Routing):决定数据包从源到目的地的最佳路径(由路由表决定)。
- 分组转发 (Forwarding):将数据包从输入接口移动到输出接口(查表转发)。
- IP协议特性(必背):
- 无连接:发送前不建立连接,每个包独立处理。
- 不可靠:不保证交付,不保证顺序,不保证数据完整性(丢包、乱序、重复均由上层TCP处理)。
- 尽最大努力交付 (Best Effort):尽力发送,但不承诺结果。
- IPv4首部结构详解(选择题常考字段含义):
- 版本 (Version, 4位):IPv4为0100。
- 首部长度 (IHL, 4位):单位是4字节。最小5 (20字节),最大15 (60字节)。
- 总长度 (Total Length, 16位):首部 + 数据,单位字节。最大65535字节。
- 标识 (Identification, 16位):分片重组的唯一标识符。
- 标志 (Flags, 3位):DF (Don’t Fragment,不分片), MF (More Fragments,还有分片)。
- 片偏移 (Fragment Offset, 13位):以8字节为单位,表示该片段在原包中的位置。
- TTL (Time To Live, 8位):生存时间,每经过一个路由器减1,为0则丢弃。防止环路。
- 协议 (Protocol, 8位):指示上层协议(如6=TCP, 17=UDP, 1=ICMP)。
- 首部校验和 (Header Checksum):仅校验首部,不校验数据。
- 源/目IP地址:各32位。
- MTU与分片机制:
- MTU (Maximum Transmission Unit):链路层允许的最大数据帧载荷。以太网通常为1500字节。
- 分片条件:当IP包大小 > MTU 且 DF=0 时,路由器进行分片。
- 重组原则:分片在目的主机重组,中间路由器不分片再分片(除非MTU更小),也不重组。
- 分片偏移:必须是8字节的倍数。
4.2 IPv4地址分类、子网划分、子网掩码
- 核心考点深度解析:
- 地址分类(根据第一个字节判断):
- A类:0xxxxxxx (1-126)。网络号占8位,主机号占24位。默认掩码 255.0.0.0 (/8)。适合大型网络。
- B类:10xxxxxx (128-191)。网络号占16位,主机号占16位。默认掩码 255.255.0.0 (/16)。适合中型网络。
- C类:110xxxxx (192-223)。网络号占24位,主机号占8位。默认掩码 255.255.255.0 (/24)。适合小型网络。
- D类:1110xxxx (224-239)。组播地址。
- E类:1111xxxx (240-255)。保留实验用。
- 特殊地址:
- 0.0.0.0:本网络。
- 127.x.x.x:回环地址 (Loopback),本机测试。
- 169.254.x.x:APIPA (自动私有IP),DHCP失败时自配。
- 255.255.255.255:受限广播。
- 子网掩码 (Subnet Mask):
- 作用:区分IP地址中的网络部分和主机部分。
- 规则:连续1表示网络位,连续0表示主机位。
- 划分子网步骤(计算题核心):
- 确定需求:需要多少个子网?每个子网需要多少台主机?
- 借位计算:
- 若需 NNN 个子网,借位 kkk 满足 2k≥N2^k \\ge N2k≥N。
- 若需 MMM 台主机,留位 hhh 满足 2h−2≥M2^h – 2 \\ge M2h−2≥M。
- 新掩码:原掩码 + kkk 个1。例如C类(/24)借2位,变为 /26。
- 计算子网范围:
- 块大小 (Block Size) = 2(32−新掩码)2^{(32-\\text{新掩码})}2(32−新掩码)。
- 子网号:块大小的整数倍。
- 广播地址:下一个子网号减1。
- 可用IP:子网号+1 到 广播地址-1。
- 地址分类(根据第一个字节判断):
- 可用主机数公式:2h−22^h – 22h−2。减去的是子网号(全0)和广播地址(全1)。
- 特例:/31 和 /32 在某些场景下可用于点对点链路,无需减2,但考试通常按标准公式。
4.3 无分类编址CIDR、路由聚合(最长前缀匹配)
- 核心考点深度解析:
- CIDR (Classless Inter-Domain Routing):
- 取消传统分类,使用“斜杠记法” (a.b.c.d/n)。
- /n 表示前 nnn 位为网络前缀,剩余 32−n32-n32−n 位为主机号。
- 支持任意长度的前缀,极大提高了地址利用率。
- 路由聚合 (Route Aggregation / Supernetting):
- 目的:减少路由表条目,提高查找效率。
- 方法:
- 将多个连续的IP块写成二进制。
- 找出最长的公共前缀。
- 合并后的网络地址 = 公共前缀 + 后续补0。
- 新的掩码长度 = 公共前缀位数。
- 注意:聚合的前提是这些子网必须连续且边界对齐(即起始地址是块大小的整数倍)。
- CIDR (Classless Inter-Domain Routing):
- 最长前缀匹配 (Longest Prefix Match):
- 当路由表中有多条匹配项时,选择掩码最长(即网络前缀最具体)的那一条。
- 例子:目标IP 192.168.1.5,路由表有 /24 和 /26 两条匹配,选 /26。
- 默认路由 (Default Route):
- 形式:0.0.0.0/0。
- 优先级:最低。只有当其他所有路由都不匹配时才使用。
- 作用:作为“最后一道防线”,指向出口网关。
4.4 ARP、ICMP协议功能与工作流程
- 核心考点深度解析:
- ARP (Address Resolution Protocol):
- 功能:已知IP地址,解析出对应的MAC地址(物理地址)。
- 工作过程:
- ARP请求:主机A想知道IP_B的MAC。构造ARP Request包(源IP_A, 源MAC_A, 目标IP_B, 目标MAC全0)。广播发送给局域网。
- ARP响应:主机B收到请求,发现目标IP是自己。构造ARP Reply包(源IP_B, 源MAC_B, 目标IP_A, 目标MAC_A)。单播回复给A。
- ARP缓存表:每台主机都维护一张表,记录 IP <-> MAC 映射。条目有老化时间(通常15-20分钟),过期删除。
- 免费ARP (Gratuitous ARP):主机启动时广播自己的IP-MAC,用于检测IP冲突或更新其他主机的缓存。
- ARP (Address Resolution Protocol):
- ICMP (Internet Control Message Protocol):
- 定位:属于网络层,封装在IP包中(协议号1),用于报告错误和控制信息。
- 常见报文类型:
- Type 8 Code 0:Echo Request (ping请求)。
- Type 0 Code 0:Echo Reply (ping响应)。
- Type 3:目的不可达 (Destination Unreachable)。
- Code 0: 网络不可达。
- Code 1: 主机不可达。
- Code 2: 协议不可达。
- Code 3: 端口不可达。
- Code 4: 需要分片但DF=1。
- Type 5:重定向 (Redirect)。路由器告诉主机:“有更近的路,请改走我”。
- Type 11 Code 0:超时 (TTL Expired)。用于traceroute。
- Traceroute原理:
- 发送TTL=1的UDP包,第一跳路由器TTL减为0丢弃,返回ICMP超时。
- 发送TTL=2的包,第二跳返回超时。
- 直到到达目的地,返回ICMP端口不可达(因为发的是随机大端口UDP)。
- 通过收集这些超时信息,绘制路径。
4.5 路由选择算法:静态路由、动态路由(RIP、OSPF)
- 核心考点深度解析:
- 静态路由:
- 定义:管理员手动配置。
- 优点:安全、无开销、简单。
- 缺点:扩展性差,拓扑变化需人工修改。
- 适用:小型网络、末梢网络。
- 动态路由协议:
- RIP (Routing Information Protocol):
- 类型:距离矢量 (Distance Vector)。
- 度量值:跳数 (Hop Count)。
- 限制:最大跳数15,16视为不可达。
- 更新方式:周期性(30秒)向邻居广播整个路由表。
- 缺点:收敛慢,易产生环路(通过水平分割、毒性反转解决)。
- 版本:RIPv1 (有类,不支持VLSM), RIPv2 (无类,支持VLSM)。
- OSPF (Open Shortest Path First):
- 类型:链路状态 (Link State)。
- 度量值:代价 (Cost),通常基于带宽 (Cost=108/BandwidthCost = 10^8 / BandwidthCost=108/Bandwidth)。
- 算法:Dijkstra最短路径优先算法。
- 特点:收敛快,无环路,支持VLSM/CIDR,区域划分(Area 0骨干区,非骨干区连骨干区)。
- 更新方式:仅在拓扑变化时触发洪泛 (Flooding) LSA。
- BGP (Border Gateway Protocol):
- 类型:路径矢量 (Path Vector)。
- 用途:AS (自治系统) 之间的路由(互联网骨干)。
- 特点:基于策略控制,可靠性高,收敛慢。
- RIP (Routing Information Protocol):
- 静态路由:
4.6 路由器工作原理与分组转发
- 核心考点深度解析:
- 路由表结构:
- 目的网络地址:不是单个IP,而是网段。
- 子网掩码:配合目的网络。
- 下一跳IP地址:直接相连的相邻路由器接口IP。
- 出接口:数据包发出的物理接口。
- (注:有些路由表还包含度量值)
- 分组转发流程:
- 提取IP数据报的目的IP地址。
- 检查是否为直连网络(目的IP是否在某个接口所在的网段)。
- 若是直连,直接通过ARP获取MAC并发送。
- 若不是直连,查路由表:
- 逐一匹配(目的IP & 掩码 == 路由表项)。
- 遵循最长前缀匹配原则。
- 若找到匹配项,确定下一跳IP和出接口。
- 若无匹配,查默认路由。
- 若仍无匹配,丢弃包并发送ICMP目的不可达。
- 封装:将IP包封装成数据链路层帧(填入下一跳MAC地址)。
- 路由表结构:
- 默认网关:
- 主机配置的一个IP地址(通常是路由器内网接口的IP)。
- 当主机发现目的IP不在本地子网时,将数据包发给默认网关。
4.7 IPv6基础知识点
- 核心考点深度解析:
- 地址格式:
- 长度:128位。
- 表示:8组4位十六进制数,组间用冒号分隔。
- 例:2001:0db8:0000:0000:0000:ff00:0042:8329。
- 简写规则:
- 省略前导0:每组开头的0可省略(如 0042 -> 42)。
- 压缩连续0:一组或多组连续的 0000 可替换为 ::。
- 限制::: 只能出现一次(否则无法确定压缩了多少个0)。
- 例:2001:db8::ff00:42:8329。
- 地址格式:
- 地址类型:
- 单播 (Unicast):一对一。包括全球单播 (2000::/3)、唯一本地 (fc00::/7)、环回 (::1)。
- 组播 (Multicast):一对多。前缀 ff00::/8。
- 任播 (Anycast):一对最近。地址分配给多个节点,数据包发给最近的一个。
- 头部简化:
- 固定长度40字节(无选项字段,选项在扩展头中)。
- 去掉首部校验和(交给传输层)。
- 去掉分片字段(分片由源主机处理,中间路由器不分片)。
- 增加流标签 (Flow Label) 支持实时业务。
- 过渡技术:
- 双栈 (Dual Stack):设备同时运行IPv4和IPv6。
- 隧道 (Tunneling):将IPv6包封装在IPv4包中穿越IPv4网络。
- 翻译 (Translation/NAT64):IPv6与IPv4协议转换。
4.8 本章核心公式汇总
- 公式清单:
- 可用主机数:N=2h−2N = 2^h – 2N=2h−2 (hhh为主机位数量)。
- 子网数:S=2kS = 2^kS=2k (kkk为借位数)。
- 块大小 (Block Size):2(32−掩码长度)2^{(32-\\text{掩码长度})}2(32−掩码长度)。
- CIDR聚合掩码:nnew=min(n1,n2,…,nk)n_{new} = \\min(n_1, n_2, …, n_k)nnew=min(n1,n2,…,nk) (前提是连续且对齐)。
- OSPF Cost:Cost=108/Bandwidth (bps)Cost = 10^8 / \\text{Bandwidth (bps)}Cost=108/Bandwidth (bps) (参考值,不同厂商可能调整基准)。
- RIP最大跳数:15 (16为无穷大)。
4.9 典型计算题精讲+课后同类题练习
-
例题1:子网划分
- 题目:将C类地址 192.168.1.0/24 划分为4个子网,求每个子网的网络地址、广播地址和可用IP范围。
- 解题步骤:
- 确定借位:需4个子网,2k≥4⇒k=22^k \\ge 4 \\Rightarrow k=22k≥4⇒k=2。
- 新掩码:/24 + 2 = /26。即 255.255.255.192。
- 块大小:2(32−26)=26=642^{(32-26)} = 2^6 = 642(32−26)=26=64。
- 计算子网:
- 子网1:
- 网络号:192.168.1.0
- 广播地址:192.168.1.63 (0+64-1)
- 可用IP:192.168.1.1 ~ 192.168.1.62
- 子网2:
- 网络号:192.168.1.64
- 广播地址:192.168.1.127
- 可用IP:192.168.1.65 ~ 192.168.1.126
- 子网3:
- 网络号:192.168.1.128
- 广播地址:192.168.1.191
- 可用IP:192.168.1.129 ~ 192.168.1.190
- 子网4:
- 网络号:192.168.1.192
- 广播地址:192.168.1.255
- 可用IP:192.168.1.193 ~ 192.168.1.254
- 子网1:
- 结果:如上所示,每个子网62台可用主机。
例题2:CIDR路由聚合
- 题目:将以下四个网段聚合为一个CIDR地址:
192.168.0.0/24, 192.168.1.0/24, 192.168.2.0/24, 192.168.3.0/24。 - 解题步骤:
- 转二进制(关注第三字节):
- 0: 00000000
- 1: 00000001
- 2: 00000010
- 3: 00000011
- 找公共前缀:
- 观察所有数字的二进制形式,找出共同的最长前缀。
- 00000000
- 00000001
- 00000010
- 00000011
- 共同部分为前6位:000000。
- 第7位开始不同(0 vs 1)。
- 计算新掩码:
- 原网络位:24位。
- 第三字节贡献位:6位(前6位相同)。
- 总前缀长度:24−8+6=2224 – 8 + 6 = 2224−8+6=22位,或直接在第二字节后看:第三字节前6位+第二字节8位=22位。
- 更直观算法:nnew=nold−log2(子网数)=24−log2(4)=24−2=22n_{new} = n_{old} – \\log_2(\\text{子网数}) = 24 – \\log_2(4) = 24 – 2 = 22nnew=nold−log2(子网数)=24−log2(4)=24−2=22。
- 确定聚合地址:
- 保持共同前缀不变,后面补0。
- 结果为 192.168.0.0/22。
- 聚合成功。
- 覆盖范围:192.168.0.0 ~ 192.168.3.255。
- 注意:若题目给出的网段不连续(如1.0, 2.0, 3.0, 4.0)或不对齐(如不从0开始),则无法聚合成一个单一CIDR地址,需分别列出或使用多个汇总条目。
例题3:路由查找(最长前缀匹配)
- 题目:某路由器路由表如下,查询目的IP 192.168.5.10 的下一跳。
- 192.168.1.0/24 -> NextHop: A
- 192.168.5.0/26 -> NextHop: B
- 192.168.5.0/24 -> NextHop: C
- 0.0.0.0/0 -> NextHop: D
- 掩码 /26,块大小64。范围 192.168.5.0 ~ 192.168.5.63。
- 192.168.5.10 在此范围内。匹配。
- 范围 192.168.5.0 ~ 192.168.5.255。
- 192.168.5.10 在此范围内。匹配。
- 默认路由,总是匹配。匹配。
- 项2 (/26) vs 项3 (/24) vs 项4 (/0)。
- 26 > 24 > 0。
- 选择掩码最长的,即项2。
第五章:运输层(协议核心+综合计算)
导读:运输层是“端到端”的通信,TCP协议极其复杂,拥塞控制和三次握手是必考大题。本章重点在于理解TCP如何保证可靠性、如何处理网络拥塞以及具体的状态转换过程。
5.1 运输层作用、端口号概念
- 核心考点深度解析:
- 核心作用:
- 进程间通信:IP层负责主机到主机,运输层负责进程到进程(通过端口号)。
- 复用与分用 (Multiplexing/Demultiplexing):
- 复用:多个应用进程共享运输层协议(如都走UDP)。
- 分用:运输层收到数据后,根据端口号将数据交付给正确的应用进程。
- 差错控制:提供校验和,确保数据完整性(UDP必须,TCP可选但实际必开)。
- 端口号详解:
- 结构:16位,范围0-65535。
- 熟知端口 (Well-Known Ports, 0-1023):分配给系统级服务。
- 20/21: FTP (文件传输)
- 22: SSH (安全远程登录)
- 23: Telnet (明文远程登录,不安全)
- 25: SMTP (邮件发送)
- 53: DNS (域名解析,UDP为主)
- 80: HTTP (Web浏览)
- 443: HTTPS (加密Web)
- 67/68: DHCP (动态主机配置)
- 登记端口 (Registered Ports, 1024-49151):供用户应用程序注册使用(如MySQL 3306, Tomcat 8080)。
- ephemeral/临时端口 (Dynamic/Private, 49152-65535):客户端发起连接时随机选择,用于接收响应。
- 套接字 (Socket):
- 定义:Socket = IP地址 + 端口号。
- 意义:唯一标识互联网上的一个通信端点。
- 连接标识:TCP连接由四元组唯一确定 {源IP, 源端口, 目的IP, 目的端口}。即使IP相同,端口不同也是不同的连接。
5.2 UDP协议特点、适用场景
- 核心考点深度解析:
- 核心特点:
- 无连接:发送前无需建立连接,低延迟。
- 不可靠:不保证交付,不保证顺序,丢失即丢失,无重传机制。
- 首部开销小:仅8字节(源端口、目的端口、长度、校验和),效率极高。
- 支持多种通信模式:一对一、一对多(组播)、多对一。
- 面向报文:保留应用层报文的边界,一次发送一个完整报文,不会拆分或合并。
- 适用场景:
- 实时性要求高:DNS查询(快速)、视频会议、VoIP、在线游戏(丢包比延迟更糟糕)。
- 简单查询/广播:DHCP、SNMP、TFTP(简单文件传输)。
- 应用层已实现可靠:如QUIC协议(基于UDP实现类似TCP的可靠性)。
- 校验和:
- UDP头部包含16位校验和,覆盖首部和数据。
- 若校验失败,直接丢弃数据包,不通知发送方(因为UDP本身不可靠)。
5.3 TCP协议核心特性:可靠传输、面向连接
- 核心考点深度解析:
- 可靠性保障机制:
- 序列号 (Sequence Number):
- 针对字节流编号,而非报文段。
- 第一个字节的序号称为该段的初始序号 (ISN)。
- 作用:排序、去重、确认。
- 确认应答 (ACK):
- 累计确认:ACK号为n表示期望收到序号为n及之前的所有数据。收到n意味着n-1及之前都已正确收到。
- 确认号 = 期望收到的下一个字节的序号。
- 超时重传 (RTO):
- 发送方每发一个报文段就启动计时器。
- 若超时未收到ACK,则重传该报文段。
- RTO估算算法见5.6节。
- 校验和:检测数据传输过程中的比特错误。
- 面向连接:
- 通信前必须建立连接(三次握手)。
- 通信结束后必须释放连接(四次挥手)。
- 数据传输完毕后,需断开连接释放资源。
5.4 TCP三次握手、四次挥手全过程与考点
- 核心考点深度解析:
- 三次握手 (Three-Way Handshake):
- 目的:同步双方初始序号 (ISN),确认收发能力正常。
- 流程:
- Client -> Server: [SYN=1, seq=x] (请求建立连接,消耗1个序号)。
- Server -> Client: [SYN=1, ACK=1, seq=y, ack=x+1] (同意连接,确认收到x,消耗1个序号)。
- Client -> Server: [ACK=1, ack=y+1] (确认收到y,不消耗序号)。
- 为何三次?
- 防止失效的连接请求突然传到服务器(旧连接的重复SYN),导致服务器误以为新连接而浪费资源。
- 确保双方都能收能发(双向确认)。
- 关键状态:
- SYN_SENT: 发送SYN后等待。
- SYN_RCVD: 收到SYN并回复SYN+ACK后。
- ESTABLISHED: 收到ACK后。
- 三次握手 (Three-Way Handshake):
- 四次挥手 (Four-Way Wave):
- 原因:TCP是全双工的,关闭方向独立进行。一方发送FIN仅代表该方向不再发送数据,不代表对方也不能发了。
- 流程:
- Client -> Server: [FIN=1, seq=u] (主动关闭,无数据可发)。
- Server -> Client: [ACK=1, ack=u+1] (被动接收,此时可能还有数据要发,进入CLOSE_WAIT状态)。
- Server -> Client: [FIN=1, ACK=1, seq=v, ack=u+1] (服务器数据发完,请求关闭)。
- Client -> Server: [ACK=1, ack=v+1] (确认关闭)。
- 关键状态:
- CLOSE_WAIT: 被动关闭方收到FIN后,等待应用层关闭。
- LAST_ACK: 被动关闭方发送FIN后,等待最终ACK。
- TIME_WAIT: 主动关闭方发送最后一个ACK后,等待2MSL。
- 时长:2MSL (Maximum Segment Lifetime,最长报文段寿命,通常2分钟)。
- 作用:
- 确保最后一个ACK能到达服务器(若丢失,服务器会重传FIN,客户端在TIME_WAIT中可重发ACK)。
- 让本连接持续时间内产生的所有旧报文段从网络中消失,避免干扰新连接。
5.5 TCP流量控制、拥塞控制(慢开始、拥塞避免、快重传、快恢复)
- 核心考点深度解析:
- 流量控制 (Flow Control):
- 目标:防止发送方发送过快,导致接收方缓冲区溢出。
- 机制:滑动窗口。接收方在ACK中通告自己的接收窗口大小 (rwnd)。
- 发送窗口限制:Window=min(rwnd,cwnd)Window = \\min(rwnd, cwnd)Window=min(rwnd,cwnd)。
- 拥塞控制 (Congestion Control):
- 目标:防止发送方注入过多数据,导致网络链路过载、路由器丢包。
- 机制:拥塞窗口 (cwnd)。发送方根据网络状况动态调整。
- 四个核心算法:
- 慢开始 (Slow Start):
- 连接建立初期,cwnd 初始值为1 MSS (最大报文段长度)。
- 每收到一个ACK,cwnd 翻倍 (1→2→4→8…1 \\to 2 \\to 4 \\to 8…1→2→4→8…),指数增长。
- 直到达到 ssthresh (慢开始门限)。
- 拥塞避免 (Congestion Avoidance):
- 当 cwnd >= ssthresh 时,进入此阶段。
- cwnd 线性增长,每经过一个RTT增加1 MSS (1,2,…,N,N+1…1, 2, …, N, N+1…1,2,…,N,N+1…)。
- 目的是缓慢探测网络极限,避免突然拥塞。
- 快重传 (Fast Retransmit):
- 若发送方连续收到3个重复ACK(说明中间某段丢了,后续的都到了),立即重传丢失报文段,不等待超时。
- 快恢复 (Fast Recovery):
- 配合快重传使用。
- 触发条件:收到3个重复ACK。
- 操作:
- ssthresh 设为当前 cwnd 的一半。
- cwnd 设为新的 ssthresh + 3 MSS (模拟3个ACK带来的3个报文段已成功传输)。
- 直接进入拥塞避免阶段,线性增长。
- 流量控制 (Flow Control):
- 超时处理 (Timeout):
- 若发生超时(未收到ACK且时间过长):
- ssthresh 设为当前 cwnd 的一半。
- cwnd 重置为 1。
- 重新进入慢开始阶段。
- 超时 →\\to→ 认为网络严重拥塞 →\\to→ 慢开始 (cwnd=1)。
- 3重复ACK →\\to→ 认为轻微拥塞 →\\to→ 快恢复 (cwnd减半后继续)。
5.6 TCP超时重传、滑动窗口补充考点
- 核心考点深度解析:
- RTT (往返时间) 估算:
- 由于网络波动,RTT是变化的。
- 加权平均公式:RTTnew=(1−α)×RTTold+α×RTTsampleRTT_{new} = (1-\\alpha) \\times RTT_{old} + \\alpha \\times RTT_{sample}RTTnew=(1−α)×RTTold+α×RTTsample。
- α\\alphaα 通常取 0.125 (RFC建议)。
- RTTdevRTT_{dev}RTTdev (偏差估计):RTTdev_new=(1−β)×RTTdev_old+β×∣RTTsample−RTTest∣RTT_{dev\\_new} = (1-\\beta) \\times RTT_{dev\\_old} + \\beta \\times |RTT_{sample} – RTT_{est}|RTTdev_new=(1−β)×RTTdev_old+β×∣RTTsample−RTTest∣ (β\\betaβ 通常取 0.25)。
- 重传计时器 (RTO):
- RTO=RTTest+4×RTTdevRTO = RTT_{est} + 4 \\times RTT_{dev}RTO=RTTest+4×RTTdev。
- 只有当实际等待时间超过RTO时,才触发重传。
- 滑动窗口机制:
- 发送窗口:允许发送但未确认的数据量。
- 接收窗口:接收方缓冲区的剩余空间。
- 有效窗口:min(接收窗口,拥塞窗口)\\min(\\text{接收窗口}, \\text{拥塞窗口})min(接收窗口,拥塞窗口)。
- 零窗口:若接收方通告rwnd=0,发送方停止发送,并启动“坚持定时器”周期性询问窗口大小,防止死锁。
- RTT (往返时间) 估算:
5.7 本章核心公式汇总
- 公式清单:
- RTT更新:RTTnew=(1−α)RTTold+αRTTsampleRTT_{new} = (1-\\alpha)RTT_{old} + \\alpha RTT_{sample}RTTnew=(1−α)RTTold+αRTTsample (α=0.125\\alpha=0.125α=0.125)
- RTO计算:RTO=RTTest+4×RTTdevRTO = RTT_{est} + 4 \\times RTT_{dev}RTO=RTTest+4×RTTdev
- 拥塞窗口变化:
- 慢开始:cwndnew=cwndold×2cwnd_{new} = cwnd_{old} \\times 2cwndnew=cwndold×2
- 拥塞避免:cwndnew=cwndold+1cwnd_{new} = cwnd_{old} + 1cwndnew=cwndold+1
- 超时:cwnd=1,ssthresh=cwndold/2cwnd = 1, ssthresh = cwnd_{old}/2cwnd=1,ssthresh=cwndold/2
- 3重复ACK:ssthresh=cwndold/2,cwnd=ssthresh+3ssthresh = cwnd_{old}/2, cwnd = ssthresh + 3ssthresh=cwndold/2,cwnd=ssthresh+3
- 吞吐量估算:Throughput≈min(rwnd,cwnd)RTTThroughput \\approx \\frac{\\min(rwnd, cwnd)}{RTT}Throughput≈RTTmin(rwnd,cwnd)
- 最大吞吐量 (瓶颈带宽):MaxRate=MSSRTT×32pMaxRate = \\frac{MSS}{RTT} \\times \\sqrt{\\frac{3}{2p}}MaxRate=RTTMSS×2p3 (PFTK公式,高级考点,p为丢包率)
5.8 典型计算题精讲+课后同类题练习
-
例题1:模拟拥塞控制过程
- 题目:TCP连接建立后,初始 ssthresh = 16,cwnd = 1。
- 第1轮次:发送1个报文,收到ACK,cwnd 变为?
- 第2轮次:发送2个报文,收到ACK,cwnd 变为?
- 第3轮次:发送4个报文,收到ACK,cwnd 变为?
- 第4轮次:发送8个报文,收到ACK,cwnd 变为?
- 第5轮次:发送16个报文,发生超时,cwnd 和 ssthresh 变为多少?
- 第6轮次:重新慢开始,cwnd 变为多少?
- 第7轮次:发送2个,收到ACK,cwnd 变为多少?
- 解题步骤:
- 初始:ssthresh = 16, cwnd = 1。
- 第1轮:慢开始。cwnd 翻倍 →\\to→ 2。
- 第2轮:慢开始。cwnd 翻倍 →\\to→ 4。
- 第3轮:慢开始。cwnd 翻倍 →\\to→ 8。
- 第4轮:慢开始。cwnd 翻倍 →\\to→ 16。
- 此时 cwnd 达到 ssthresh,下一轮进入拥塞避免。
- 第5轮:
- 原本应进入拥塞避免,cwnd 应变为 16+1=1716+1=1716+1=17。
- 但题目说发生超时。
- 动作:
- ssthresh = cwnd / 2 = 16/2=816 / 2 = 816/2=8。
- cwnd = 1 (重置为1,重新开始慢开始)。
- 第6轮:
- 当前 cwnd = 1。
- 收到ACK后,cwnd 翻倍 →\\to→ 2。
- 第7轮:
- 当前 cwnd = 2。
- 收到ACK后,cwnd 翻倍 →\\to→ 4。
- 题目:TCP连接建立后,初始 ssthresh = 16,cwnd = 1。
- 结果序列:1 →\\to→ 2 →\\to→ 4 →\\to→ 8 →\\to→ 16 (超时) →\\to→ (ssthresh=8, cwnd=1) →\\to→ 2 →\\to→ 4 …
例题2:3重复ACK场景
- 题目:cwnd = 32, ssthresh = 32。发送方收到3个重复ACK。求新的 cwnd 和 ssthresh,并说明下一轮的增长方式。
- 解题步骤:
- 判断事件:收到3个重复ACK →\\to→ 触发快重传和快恢复。
- 计算新参数:
- ssthresh_new = cwnd_old / 2 = 32/2=1632 / 2 = 1632/2=16。
- cwnd_new = ssthresh_new + 3 = 16+3=1916 + 3 = 1916+3=19。
- 下一阶段:进入拥塞避免阶段。
- 下一轮增长:线性增长,每RTT +1。
例题3:吞吐量计算
- 题目:已知接收方通告窗口 rwnd = 4KB,当前拥塞窗口 cwnd = 2KB,往返时间 RTT = 100ms。求当前TCP连接的最大吞吐量。
- 解题步骤:
- 确定有效窗口:W=min(rwnd,cwnd)=min(4KB,2KB)=2KBW = \\min(rwnd, cwnd) = \\min(4KB, 2KB) = 2KBW=min(rwnd,cwnd)=min(4KB,2KB)=2KB。
- 单位换算:2KB=2×1024 Bytes=2048 Bytes=16384 bits2KB = 2 \\times 1024 \\text{ Bytes} = 2048 \\text{ Bytes} = 16384 \\text{ bits}2KB=2×1024 Bytes=2048 Bytes=16384 bits。
- 时间换算:RTT=100ms=0.1sRTT = 100ms = 0.1sRTT=100ms=0.1s。
- 计算吞吐量:Throughput=WRTT=16384 bits0.1s=163840 bps≈160 KbpsThroughput = \\frac{W}{RTT} = \\frac{16384 \\text{ bits}}{0.1s} = 163840 \\text{ bps} \\approx 160 \\text{ Kbps}Throughput=RTTW=0.1s16384 bits=163840 bps≈160 Kbps。
- 注:若题目单位为KB/s,则直接用 2KB/0.1s=20KB/s2KB / 0.1s = 20 KB/s2KB/0.1s=20KB/s。
第六章:应用层(概念简答为主,记忆点多)
导读:应用层协议繁多,重点在于协议的工作原理、端口号、交互流程及报文格式。本章常考简答题和选择题,需熟记各协议的“核心特征”与“区别”。
6.1 应用层协议概述、C/S与P2P架构
- 核心考点深度解析:
- 应用层功能:直接为用户应用程序提供网络服务,定义进程间通信的规则(报文格式、交互顺序)。
- C/S (Client/Server) 架构:
- 特点:客户端主动发起请求,服务器被动响应并处理。
- 优点:集中管理、安全性高、易于维护、资源分配可控。
- 缺点:单点故障风险、服务器负载压力大、扩展性受限(需升级硬件或增加集群)。
- 典型应用:Web浏览 (HTTP)、邮件 (SMTP/POP3)、文件传输 (FTP)。
- P2P (Peer-to-Peer) 架构:
- 特点:对等网络,节点既是客户端也是服务器,无中心节点。
- 优点:去中心化、鲁棒性强(部分节点挂掉不影响整体)、扩展性极佳(用户越多越快)、成本低。
- 缺点:安全性差(难以控制内容)、版权纠纷多、服务质量难保障。
- 典型应用:BitTorrent (BT下载)、区块链 (Bitcoin)、Skype (早期版本)。
- 混合架构:现代应用常结合两者,如P2P流媒体(DHT查找 + CDN分发)。
6.2 DNS域名系统:域名结构、域名解析过程
- 核心考点深度解析:
- 域名层次结构(从右向左读):
- 根域 (.):顶级,通常省略。
- 顶级域 (TLD):
- 通用:.com (商业), .org (组织), .net (网络), .edu (教育), .gov (政府)。
- 国家代码:.cn (中国), .us (美国), .uk (英国)。
- 二级域 (SLD):注册的具体名称,如 baidu。
- 主机名:具体机器,如 www, mail, ftp。
- 示例:www.example.cn -> 主机: www, 二级: example, 顶级: cn, 根: .
- DNS解析过程(高频简答):
- 本地DNS查询:浏览器缓存 -> 操作系统缓存 -> hosts文件 -> 本地DNS服务器 (Local DNS)。
- 递归查询 vs 迭代查询:
- 递归查询:客户端向本地DNS发起请求,本地DNS负责到底,返回最终结果给客户端(只发生一次)。
- 迭代查询:本地DNS向根域名服务器提问,根说“去找.com”,本地DNS再问.com,依次类推,直到找到权威服务器返回IP(多次发生)。
- 查询路径:
- 本地DNS -> 根服务器 (Root) -> 顶级域服务器 (TLD, 如 .com) -> 权威域名服务器 (Authoritative)。
- 注:根服务器不存储具体记录,只告诉下一级去哪里找;权威服务器存储该域名的真实IP映射。
- 域名层次结构(从右向左读):
- 缓存机制:
- 所有DNS服务器都会缓存结果,有效期由 TTL (Time To Live) 决定。
- TTL过期后,需重新查询。
- 正向/反向解析:
- 正向:域名 -> IP (最常见)。
- 反向:IP -> 域名 (用于日志分析、反垃圾邮件),使用 in-addr.arpa 域。
6.3 文件传输协议FTP、TFTP
- 核心考点深度解析:
- FTP (File Transfer Protocol):
- 基于TCP,可靠性高。
- 双连接机制(核心考点):
- 控制连接:端口 21。持久连接,贯穿整个会话,仅传输命令和状态码(如登录、切换目录、上传指令)。
- 数据连接:端口 20 (主动模式) 或 临时端口 (被动模式)。仅在传输文件时建立,传完即断开。
- 工作模式:
- 主动模式 (Active):客户端开启随机高位端口监听,服务器主动连接客户端的数据端口。
缺点:客户端防火墙可能拦截。 - 被动模式 (Passive):客户端发送PASV命令,服务器开启随机高位端口监听,客户端主动连接服务器数据端口。
优点:适应客户端防火墙/NAT环境(主流模式)。
- 主动模式 (Active):客户端开启随机高位端口监听,服务器主动连接客户端的数据端口。
- 认证:支持匿名登录 (user: anonymous)。
- FTP (File Transfer Protocol):
- TFTP (Trivial FTP):
- 基于UDP,端口 69。
- 特点:简单、轻量、无认证、无目录列表、不支持断点续传。
- 适用场景:局域网内小文件传输、网络设备启动时加载固件 (BootROM)、DHCP配置。
- 可靠性:依靠应用层超时重传机制实现。
6.4 万维网WWW、HTTP/HTTPS协议
- 核心考点深度解析:
- URL结构:协议://[用户:密码@]主机[:端口]/路径?查询参数#片段。
- 例:https://user:pass@example.com:8080/path/page.html?id=1#top。
- HTTP (HyperText Transfer Protocol):
- 基于TCP,默认端口 80。
- 无状态:每次请求独立,服务器不保留上下文(需Cookie/Session维持状态)。
- 请求报文结构:
- 请求行:方法 + URL + 协议版本 (GET /path HTTP/1.1)。
- 请求头:Host, User-Agent, Accept, Cookie等。
- 空行:分隔头和体。
- 请求体:POST提交的数据。
- 响应报文结构:
- 状态行:协议版本 + 状态码 + 原因短语 (HTTP/1.1 200 OK)。
- 响应头:Content-Type, Content-Length, Server等。
- 响应体:HTML/JSON/图片等。
- 常用方法:
- GET:获取资源(幂等、安全,可被缓存)。
- POST:提交数据(非幂等,通常不可缓存,适合表单提交)。
- HEAD:同GET但无响应体,用于检查元数据。
- PUT:更新资源(幂等)。
- DELETE:删除资源。
- HTTP状态码(必背):
- 2xx 成功:200 OK (正常), 201 Created (创建成功), 204 No Content (成功但无内容)。
- 3xx 重定向:301 Moved Permanently (永久重定向,SEO友好), 302 Found (临时重定向), 304 Not Modified (缓存命中,未修改)。
- 4xx 客户端错误:400 Bad Request (语法错), 401 Unauthorized (未授权/需登录), 403 Forbidden (禁止访问), 404 Not Found (资源不存在)。
- 5xx 服务器错误:500 Internal Server Error (服务器内部错), 502 Bad Gateway (网关错误), 503 Service Unavailable (服务不可用)。
- HTTPS (HTTP Secure):
- 原理:HTTP + SSL/TLS加密层。
- 端口:443。
- 优势:
- 机密性:数据加密传输,防窃听。
- 完整性:防止数据被篡改。
- 身份认证:通过数字证书验证服务器身份,防钓鱼。
- 握手过程:四次握手(交换密钥、验证证书),比HTTP慢。
- URL结构:协议://[用户:密码@]主机[:端口]/路径?查询参数#片段。
6.5 电子邮件相关协议:SMTP、POP3、IMAP
- 核心考点深度解析:
- 邮件系统组成:用户代理 (UA)、邮件服务器 (MTA/MDA/MRA)。
- SMTP (Simple Mail Transfer Protocol):
- 作用:发送邮件 (Push)。
- 端口:25 (标准), 587 (提交), 465 (SSL)。
- 特性:基于TCP,ASCII文本协议,推模式(将邮件从发件人服务器推到收件人服务器)。
- 限制:只能传输纯文本,多媒体需MIME编码。
- POP3 (Post Office Protocol v3):
- 作用:接收邮件。
- 端口:110 (明文), 995 (SSL)。
- 特性:基于TCP,拉取模式。
- 工作方式:默认下载并删除服务器上的邮件(离线阅读)。
- 缺点:多设备同步困难(手机看了,电脑看不了)。
- IMAP (Internet Message Access Protocol):
- 作用:接收邮件。
- 端口:143 (明文), 993 (SSL)。
- 特性:基于TCP,同步模式。
- 工作方式:邮件保留在服务器上,客户端只是镜像查看。支持文件夹管理、标记已读/未读等多设备同步。
- 对比:POP3像“搬家”,IMAP像“图书馆查阅”。
- MIME (Multipurpose Internet Mail Extensions):
- 扩展了SMTP,支持二进制附件、中文等非ASCII字符。
6.6 动态主机配置协议DHCP
- 核心考点深度解析:
- 作用:自动为网络中的主机分配IP地址、子网掩码、网关、DNS等配置。
- 工作原理(四步交互 DORA):
- Discover (发现):客户端广播 DHCP Discover (源IP: 0.0.0.0, 目的IP: 255.255.255.255)。寻找DHCP服务器。
- Offer (提供):服务器收到后,广播 DHCP Offer (包含一个可用IP及配置信息)。
- Request (请求):客户端广播 DHCP Request (表示接受该IP,告知其他服务器放弃)。
- Acknowledge (确认):服务器广播 DHCP ACK (正式确认分配,包含租约时间)。
- 租约期限 (Lease Time):IP地址的有效期。到期前需续租 (Rebind/Renew)。
- 中继代理 (DHCP Relay):
- 当客户端和服务器不在同一网段时,路由器充当中继代理,转发广播包为单播包,实现跨网段分配。
- 选项字段:可携带网关、DNS服务器、时间服务器等信息。
6.7 本章简答高频考点汇总(直接背诵版)
- 背诵清单:
- DNS解析流程:
- 本地缓存 -> 本地DNS -> (递归) -> 根DNS -> 顶级DNS -> 权威DNS -> 返回IP。
- 区分递归(客户端只发一次)和迭代(本地DNS多次询问)。
- HTTP状态码分类:
- 2xx成功,3xx重定向,4xx客户端错误,5xx服务器错误。
- 重点:200(OK), 301(永久), 302(临时), 404(未找到), 500(服务器错)。
- FTP主动/被动模式区别:
- 主动:服务器连客户端(端口20->随机),防火墙难配。
- 被动:客户端连服务器(随机->随机),防火墙友好。
- 共同点:控制连接始终存在 (端口21)。
- SMTP、POP3、IMAP对比:
- SMTP:发邮件 (Push, 25)。
- POP3:收邮件 (Pull, 110),下载删除,单机。
- IMAP:收邮件 (Pull, 143),服务器留存,多机同步。
- DHCP四步交互:Discover -> Offer -> Request -> Ack。
- HTTPS安全性:
- 加密传输 (防窃听)。
- 数据完整性 (防篡改)。
- 身份认证 (防假冒,CA证书)。
- C/S与P2P区别:
- C/S:中心化,易管理,扩展难。
- P2P:去中心化,扩展强,难管理。
第七章:网络安全(选填/简答,低频易得分)
导读:本章内容相对独立,主要考察基本概念和加密原理,属于“性价比”高的章节。重点在于理解CIA三要素、加密算法的区别与适用场景、数字签名的实现机制以及常见攻击的防御思路。
7.1 网络安全基本概念与攻击类型
- 核心考点深度解析:
- CIA三要素(安全基石):
- 保密性 (Confidentiality):信息仅被授权者访问。防止窃听、泄露。(手段:加密)
- 完整性 (Integrity):信息在传输或存储过程中未被篡改、破坏。(手段:哈希、数字签名)
- 可用性 (Availability):授权用户在需要时能访问信息和资源。(手段:冗余、备份、防DoS)
- 常见网络攻击:
- DoS/DDoS (拒绝服务攻击):
- 原理:通过海量请求耗尽目标服务器的带宽、CPU或内存资源,导致合法用户无法访问。
- 区别:DoS通常来自单点,DDoS来自分布式僵尸网络(Botnet)。
- 防御:流量清洗、IP黑名单、限流、CDN加速。
- 中间人攻击 (MitM, Man-in-the-Middle):
- 原理:攻击者插入通信双方之间,冒充服务器欺骗客户端,或冒充客户端欺骗服务器。可窃取数据或篡改内容。
- 典型场景:公共Wi-Fi劫持、ARP欺骗。
- 防御:使用HTTPS、证书验证、双向认证。
- SQL注入 (SQL Injection):
- 原理:在Web表单输入框中插入恶意SQL语句,欺骗后端数据库执行非授权操作(如删除表、获取密码)。
- 防御:参数化查询(预编译)、输入过滤、最小权限原则。
- XSS (跨站脚本攻击):
- 原理:攻击者在网页中注入恶意脚本(通常是JavaScript),当其他用户浏览该页时,脚本在用户浏览器中执行,窃取Cookie或会话ID。
- 分类:反射型(即时)、存储型(持久化)、DOM型。
- 防御:输出编码(转义特殊字符)、设置HttpOnly Cookie。
- 社会工程学:
- 原理:利用人性的弱点(贪婪、恐惧、信任)诱导受害者泄露敏感信息或执行危险操作。
- 形式:钓鱼邮件、假冒客服、尾随进入。
- 防御:安全意识培训、多因素认证。
- DoS/DDoS (拒绝服务攻击):
- CIA三要素(安全基石):
7.2 加密技术:对称加密、非对称加密
- 核心考点深度解析:
- 对称加密 (Symmetric Encryption):
- 特点:加密和解密使用同一把密钥。
- 代表算法:
- DES (Data Encryption Standard):56位密钥,已破,不推荐。
- 3DES:三重DES,安全性提高但速度慢。
- AES (Advanced Encryption Standard):128/192/256位密钥,目前最主流、最安全的标准。
- 优点:计算速度快,适合加密大量数据。
- 缺点:密钥分发困难。若通信双方未提前共享密钥,如何安全传输密钥?且无法解决身份认证和不可否认性问题。
- 非对称加密 (Asymmetric Encryption / Public Key Cryptography):
- 特点:使用一对密钥:公钥 (Public Key) 和 私钥 (Private Key)。
- 公钥公开,用于加密或验证签名。
- 私钥保密,用于解密或生成签名。
- 数学特性:用公钥加密的数据,只能用私钥解密;用私钥签名的数据,可用公钥验证。
- 代表算法:
- RSA:基于大数分解,应用最广。
- ECC (椭圆曲线):密钥短、安全性高,适合移动设备。
- 优点:解决了密钥分发问题;支持数字签名和身份认证;提供不可否认性。
- 缺点:计算复杂,速度极慢(比对称加密慢100-1000倍),不适合加密大数据。
- 特点:使用一对密钥:公钥 (Public Key) 和 私钥 (Private Key)。
- 混合加密机制 (Hybrid Encryption):
- 应用场景:HTTPS、SSH等协议。
- 流程:
- 使用非对称加密交换一个临时的会话密钥(Session Key)。
- 后续的大数据传输使用对称加密,并配合这个会话密钥。
- 优势:结合了非对称加密的安全性和对称加密的高效性。
- 对称加密 (Symmetric Encryption):
7.3 数字签名、身份认证、防火墙技术
- 核心考点深度解析:
- 数字签名 (Digital Signature):
- 目的:确保数据的完整性、发送者的真实性以及不可否认性(防抵赖)。
- 工作流程:
- 发送方:对原始数据计算哈希值 (Hash),然后用发送方的私钥加密该哈希值,生成数字签名,附加在数据后发送。
- 接收方:收到数据后,用发送方的公钥解密签名,得到哈希值A;同时对收到的数据重新计算哈希值B。
- 比对:若 A == B,则数据完整且确实由发送方发出;否则数据被篡改或签名无效。
- 注意:数字签名不保证机密性(数据本身是明文的),需配合加密使用。
- 数字签名 (Digital Signature):
- 身份认证 (Authentication):
- 三种基本要素:
- 你知道什么 (Something you know):口令、PIN码。
- 你拥有什么 (Something you have):智能卡、USB Key、手机令牌 (Token)、短信验证码。
- 你是什么 (Something you are):指纹、虹膜、人脸、声纹(生物特征)。
- 多因素认证 (MFA):结合两种以上要素,安全性最高(如:密码 + 手机验证码)。
- 定义:位于内部网络和外部网络之间的安全屏障,根据预设规则控制进出流量。
- 主要类型:
- 包过滤防火墙 (Packet Filtering):工作在网络层/传输层。检查IP头、端口号、协议类型。
优点:速度快、透明。
缺点:无法检测应用层内容,易受IP欺骗。 - 状态检测防火墙 (Stateful Inspection):记录连接状态(如TCP三次握手)。只允许符合状态表的回包。
优点:比包过滤更安全。
缺点:配置较复杂。 - 应用网关/代理防火墙 (Application Proxy):工作在应用层。作为中间人,完全阻断直连,检查应用层协议内容(如HTTP、FTP)。
优点:安全性极高,可过滤具体命令。
缺点:速度慢,不支持所有协议。
7.4 本章必背简答考点(高频对比与原理)
- 背诵要点:
- 对称加密 vs 非对称加密对比表:
特性对称加密非对称加密 密钥数量 1个 (共享) 2个 (公钥+私钥) 速度 快 慢 用途 加密大量数据 密钥交换、数字签名 安全性 依赖密钥保密 依赖私钥保密,公钥公开 典型算法 AES, DES RSA, ECC - 数字签名防抵赖的原理:
- 因为私钥只有发送方持有,接收方用发送方的公钥成功解密签名,证明该签名只能由发送方生成。
- 若发送方否认,可通过第三方仲裁机构验证签名,从而确证发送方身份,实现法律上的不可否认性。
- 防火墙的基本策略:
- 默认拒绝 (Default Deny):除了明确允许的,其他全部禁止(最安全)。
- 默认允许 (Default Allow):除了明确禁止的,其他全部允许(不安全,不推荐)。
- DDoS攻击的防御思路:
- 流量清洗:识别异常流量并丢弃,保留正常流量。
- 限流:限制单个IP的连接频率或带宽。
- 黑洞路由:将攻击流量直接丢弃到黑洞(牺牲局部保整体)。
- CDN/负载均衡:分散流量压力。
- 混合加密的优势:
- 解决了非对称加密速度慢的问题,同时避免了在开放网络中直接传输对称密钥的风险。
全册公式大汇总(独立背诵板块)
导读:将所有计算相关公式集中于此,方便考前突击记忆。
1. 物理层全套公式
- 奈奎斯特:C=2Hlog2VC = 2H \\log_2 VC=2Hlog2V
- 香农:C=Hlog2(1+S/N)C = H \\log_2(1+S/N)C=Hlog2(1+S/N)
- 信噪比:dB=10log10(S/N)dB = 10 \\log_{10}(S/N)dB=10log10(S/N)
- 码元/比特:Rb=RB×log2VR_b = R_B \\times \\log_2 VRb=RB×log2V
2. 数据链路层公式
- 信道利用率(停等):η=L/RL/R+2τ\\eta = \\frac{L/R}{L/R + 2\\tau}η=L/R+2τL/R
- CRC校验位:r=n−kr = n – kr=n−k(生成多项式最高次幂)
- 最小帧长:Lmin=2τ×RL_{min} = 2\\tau \\times RLmin=2τ×R
- 滑动窗口上限:GBN=2n−12^n-12n−1, SR=2n−12^{n-1}2n−1
3. 网络层地址计算相关公式
- 可用主机数:N=2h−2N = 2^h – 2N=2h−2
- 子网掩码:/n/n/n 对应 255.255.255.0255.255.255.0255.255.255.0 等
- CIDR聚合:找共同前缀,新掩码长度 = 共同前缀位数
4. 运输层拥塞控制、窗口计算相关公式
- RTT更新:RTTnew=(1−α)RTTold+αRTTsampleRTT_{new} = (1-\\alpha)RTT_{old} + \\alpha RTT_{sample}RTTnew=(1−α)RTTold+αRTTsample
- 吞吐量:Throughput=WindowRTTThroughput = \\frac{Window}{RTT}Throughput=RTTWindow
- 窗口大小:Window=min(rwnd,cwnd)Window = \\min(rwnd, cwnd)Window=min(rwnd,cwnd)
5. 公式使用场景+易错点标注
- 易错点1:香农公式中的S/N必须是比值,不能直接用dB。
- 易错点2:子网主机数必须减2(网络号+广播号)。
- 易错点3:SR窗口上限是2n−12^{n-1}2n−1,不是2n−12^n-12n−1。
- 易错点4:最小帧长计算时,记得乘以带宽(速率)。
期末典型计算题专项集训(按章节分类)
导读:精选历年真题风格题目,强化解题思维。本章内容涵盖从物理层到运输层的核心计算模型,是期末考试中拉开分数的关键。
1. 物理层计算题综合练习
- 题型:已知带宽和调制阶数求最大速率;已知信噪比求信道容量;时延与传输延迟计算。
- 核心公式与解题模板:
- 奈氏准则 (无噪声):C=2Blog2VC = 2B \\log_2 VC=2Blog2V (bps)
- BBB:信道带宽 (Hz);VVV:信号离散电平数(调制阶数)。
- 注意:若给出码元速率 RBR_BRB(波特率),则 C=RBlog2VC = R_B \\log_2 VC=RBlog2V。
- 香农公式 (有噪声):C=Blog2(1+S/N)C = B \\log_2(1 + S/N)C=Blog2(1+S/N) (bps)
- S/NS/NS/N:信噪比(比值,非分贝)。
- 单位换算:若给分贝(dB),需先转换:dB=10log10(S/N)⇒S/N=10(dB/10)dB = 10 \\log_{10}(S/N) \\Rightarrow S/N = 10^{(dB/10)}dB=10log10(S/N)⇒S/N=10(dB/10)。
- 时延计算:
- 发送时延 = 数据帧长度(bit) / 信道带宽(bps)。
- 传播时延 = 信道长度(m) / 电磁波在信道上的传播速率(m/s)。
- 总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延(通常后两项忽略)。
- 奈氏准则 (无噪声):C=2Blog2VC = 2B \\log_2 VC=2Blog2V (bps)
2. 数据链路层CRC+滑动窗口大题
- 题型:给定生成多项式计算CRC校验码;不同窗口大小下信道利用率比较;最短帧长计算。
- 解题模板:
- CRC计算:
- 确定除数:根据生成多项式 G(x)G(x)G(x) 写出二进制形式(如 x3+x+1→1011x^3+x+1 \\rightarrow 1011x3+x+1→1011)。
- 补0:在原始数据后补 rrr 个0(rrr为生成多项式最高次幂)。
- 模2除法:用补0后的数据除以除数(异或运算,不借位),得到 rrr 位余数 FCSFCSFCS。
- 结果:余数即为应添加的校验码。
- 信道利用率 (UUU):
- 停等协议:U=L/RL/R+2TpropU = \\frac{L/R}{L/R + 2T_{prop}}U=L/R+2TpropL/R。
- 连续ARQ (GBN/SR):U=min(1,W1+2a)U = \\min\\left(1, \\frac{W}{1+2a}\\right)U=min(1,1+2aW),其中 a=TpropL/Ra = \\frac{T_{prop}}{L/R}a=L/RTprop。
- 最短帧长:
- 条件:发送时延 ≥2\\ge 2≥2倍传播时延。
- 公式:Lmin=2×Bandwidth×TpropL_{min} = 2 \\times \\text{Bandwidth} \\times T_{prop}Lmin=2×Bandwidth×Tprop。
3. 网络层子网划分+路由聚合压轴题
- 题型:复杂子网划分(VLSM);多个CIDR块聚合;最长前缀匹配查表。
- 解题模板:
- 子网划分 (VLSM):
- 分析需求:按主机数从大到小排序。
- 确定掩码:2h≥N+22^h \\ge N+22h≥N+2,则主机位为 hhh,子网掩码为 /32−h/32-h/32−h。
- 分配地址:从起始地址开始按块大小依次分配。
- CIDR路由聚合:
- 转二进制:将变化的字节转为二进制。
- 找公共前缀:从左向右对比,找出相同位数。
- 确定新掩码:公共位数即新前缀长度。
- 确定网络号:取公共前缀部分,后面补0。
4. 运输层TCP拥塞控制经典大题
- 题型:模拟完整拥塞控制周期;计算某时刻cwnd/rwnd/ssthresh;区分超时与3重复ACK事件。
- 解题模板:
- 初始状态:通常 cwnd=1cwnd=1cwnd=1, ssthresh=ssthresh=ssthresh= 给定值。
- 慢开始阶段:每轮 cwnd×2cwnd \\times 2cwnd×2,直到 cwnd≥ssthreshcwnd \\ge ssthreshcwnd≥ssthresh。
- 拥塞避免阶段:每轮 cwnd+1cwnd + 1cwnd+1。
- 异常处理:
- 超时:ssthresh=cwnd/2ssthresh = cwnd / 2ssthresh=cwnd/2,cwnd=1cwnd = 1cwnd=1,重新慢开始。
- 3个重复ACK:ssthresh=cwnd/2ssthresh = cwnd / 2ssthresh=cwnd/2,cwnd=ssthresh+3cwnd = ssthresh + 3cwnd=ssthresh+3,进入快恢复。
5. 综合混搭计算题
- 题型:结合物理层带宽、数据链路层帧长、网络层MTU、运输层窗口,计算端到端传输时间。
- 解题思路:
- 确定MTU:以太网标准MTU=1500字节。
- 计算单帧时延:帧长 = IP头(20) + TCP头(20) + 数据载荷。
- 考虑窗口限制:有效窗口 W=min(cwnd,rwnd)W = \\min(cwnd, rwnd)W=min(cwnd,rwnd)。
- 流水线效应:窗口足够大时,总时间 ≈\\approx≈ 第一帧到达时间 + (N−1)×发送时延(N-1) \\times \\text{发送时延}(N−1)×发送时延。
高频简答/论述题必背题库(考场直接默写)
导读:提供标准答题框架,确保阅卷老师看到关键词。建议背诵加粗部分,考试时按模板组织语言。
1. 计算机网络体系结构相关简答
- 问:为什么要采用分层结构?五层模型各层功能是什么?
- 标准答案模板:
- 分层原因(必背3点):
- 降低复杂度:将庞大的网络问题分解为多个较小的局部问题,便于理解与实现。
- 标准化:各层之间接口独立,允许使用不同的技术实现,促进异构网络互联。
- 易于维护与升级:某一层的技术更新不影响其他层,模块化设计便于排错和扩展。
- 五层模型及各层职责:
层名核心功能典型协议/数据单元 应用层 为用户应用程序提供网络服务,定义报文格式。 HTTP, DNS, SMTP;报文 运输层 进程间通信,提供端到端可靠或不可靠传输。 TCP, UDP;段/报文 网络层 选择路径(路由),实现主机到主机的逻辑寻址与分组转发。 IP, ICMP, RIP;包 数据链路层 节点到节点的帧传输,差错控制与流量控制。 Ethernet, PPP;帧 物理层 比特流在物理介质上的透明传输,定义电气特性。 电缆、光纤;比特 - 数据封装过程(关键考点):
- 发送方:应用层数据 → 运输层段 (Segment) → 网络层包 (Packet) → 链路层帧 (Frame) → 物理层比特 (Bit)。
- 接收方:逆向解封装,逐层去掉头部信息,最终还原原始数据。
- 评分关键词:降低复杂度、标准化、易维护、封装、分段、地址转换、节点间传输。
2. 各层核心协议工作原理简答
- 问:ARP、ICMP、TCP、UDP协议的工作原理及特点对比。
- 标准答案模板:
| ARP | 网络层 | IP地址→MAC地址解析(已知目标IP求物理地址)。 | 请求广播、响应单播;ARP缓存表。 | 工作机理:发送ARP请求广播帧,目标主机单播回复。 |
| ICMP | 网络层 | 差错报告与控制。如 Ping(TTL超时)、路由重定向。 | 类型字段(Type)、代码字段(Code)。 | 作用:辅助IP层,不提供可靠性保障,无端口号。 |
| TCP | 运输层 | 可靠传输。连接建立、确认、重传、流量控制、拥塞控制。 | SYN, ACK序列号(SN)/确认号(AN),窗口大小(W)。 | 全双工、基于字节流、三次握手四次挥手。 |
| UDP | 运输层 | 不可靠传输。尽最大努力交付。 | 源端口、目端口、长度、校验和。 | 轻量级、实时性强、用于视频/语音/DNS查询。 |
- 回答技巧:先说协议名称,再说所属层数,接着简述功能(必须出现“可靠/不可靠”、“封装”等词),最后补充一个应用场景。
3. 三次握手、四次挥手经典论述题
- 问:为什么TCP要建立三次握手?为什么断开需要四次挥手?TIME_WAIT状态的作用?
- 标准答案模板:
- 示意图(画图得分要点):画两条竖线代表客户端©和服务端(S),标注SYN、ACK箭头方向及序号变化(初始序号ISN随机)。
- 三次握手过程:
- C→S:SYN=1, seq=x (发起连接)
- S→C:SYN=1, ACK=1, seq=y, ack=x+1 (同意连接)
- C→S:ACK=1, seq=x+1, ack=y+1 (确认收到)
- 为什么是三次(核心理由):
- 防止失效连接初始化:旧连接的重复SYN导致服务器开启新连接占用资源。
- 同步双方序号:确保双方都能正确知道对方的收发能力(双向确认)。
- 协商初始序号:每次连接重新生成ISN,增强安全性。
- 为什么是四次挥手(核心差异):
- 因为TCP是全双工的,关闭时需要分别关闭两个方向的数据流。
- C主动关闭时发FIN,S收到后可能还有数据要传,所以先回ACK,待数据传输完再发第二个FIN。
- 特殊说明:有时可合并为三次(如果S没有数据要传),但标准描述为四次。
- TIME_WAIT状态(必考):
- 持续时间:2MSL(最长报文段寿命×2)。
- 三大作用:
- 确保最后一次ACK到达:若ACK丢失,S超时重发FIN,C仍在。
- 防止旧连接干扰:让当前连接的所有数据包在网络中消失后再释放。
- 协商新连接参数:允许下次新建连接时获取新的初始序号。
4. 流量控制、拥塞控制区别与解答
- 问:流量控制与拥塞控制的本质区别是什么?
- 标准答案模板:
- 对比维度表格:
| 控制对象 | 发送方 vs 接收方(点对点) | 发送方 vs 全网(点对面) |
| 根本目的 | 防止接收方缓冲区溢出 | 防止网络链路/路由器过载 |
| 感知依据 | 接收方的剩余缓冲空间 | 网络的丢包率/时延增加 |
| 调节变量 | rwnd (通告窗口,由接收方告知) | cwnd (拥塞窗口,发送方估算) |
| 计算公式 | 实际发送窗口 = min(rwnd, cwnd) | ssthresh阈值决定慢开始/拥塞避免 |
| 典型现象 | 接收太快 → 处理不过来 | 发送太快 → 队列满 → 丢包 |
- 核心论述要点:
- 本质不同:流量控制是“按需索取”(接收方喊慢点),拥塞控制是“自觉约束”(发现路堵了就减速)。
- 协同工作:实际发送窗口的有效值取两者最小值 (min(rwnd, cwnd)),既照顾接收能力,又兼顾网络状况。
- 动态调整:流量控制通常是线性变化,拥塞控制包含慢启动、拥塞避免、快恢复等复杂状态机。
- 评分关键词:接收方溢出、网络过载、rwnd/cwnd、点到点/全网、min函数。
5. 历年期末重复考题汇总(精选高频题)
- 题目1:简述滑动窗口协议的基本原理及其优点。
- 答:允许发送方在未收到ACK前连续发送多个数据帧。优点:提高信道利用率(流水线传输),相比停等协议效率更高;支持GBN/SR两种回退方式,适应不同延迟场景。
- 题目2:什么是虚拟专用网(VPN)?常用的隧道协议有哪些?
- 答:利用公共网络构建私有加密通道。原理:封装 + 加密。常见协议:PPTP、L2TP、IPSec。常用于远程办公、企业跨地域联网。
- 题目3:CDN是如何加速Web访问的?
- 答:内容分发网络。通过在全球部署边缘节点缓存静态内容,使用户从最近的节点下载数据,减少骨干网压力,降低延迟,提升并发能力。
- 题目4:IPv4向IPv6迁移的主要动机及关键技术。
- 答:动机:地址耗尽、安全需求、移动性支持。技术:双栈部署、隧道技术、NAT64转换。
- 题目5:如何计算子网掩码?举例说明/20的含义。
- 答:方法:借位法,2n−22^n – 22n−2为主机数,32−n32-n32−n为掩码前缀。示例:/20表示前20位为网络号,后12位为子网号+主机号。掩码为255.255.240.0。
考前速记清单(1小时冲刺版)
导读:最后1小时,只看这些,确保不丢冤枉分。
1. 各层核心设备、协议、端口速记
| 物理层 | 中继器、集线器 | – | – | 比特流传输 |
| 数据链路层 | 交换机、网桥 | Ethernet, PPP, HDLC | – | 帧传输,MAC寻址 |
| 网络层 | 路由器 | IP, ICMP, ARP | – | 路由选择,IP寻址 |
| 运输层 | 防火墙(部分) | TCP, UDP | 80, 443, 21, 22, 53 | 进程间通信 |
| 应用层 | – | HTTP, FTP, DNS, SMTP | 80, 21, 53, 25 | 具体业务 |
2. 易混淆知识点对比辨析
- TCP vs UDP:可靠/不可靠,连接/无连接,速度/效率。
- OSI vs TCP/IP:七层 vs 四层,理论 vs 实践。
- GBN vs SR:回退N帧 vs 选择重传,窗口大小差异。
- 对称 vs 非对称加密:速度快/慢,密钥分发难/易。
- HTTP vs HTTPS:明文/加密,80/443。
3. 计算题型解题通用步骤模板
- 万能模板:
- 审题:提取已知条件(带宽、时延、帧长、序列号位数)。
- 选公式:判断考查哪个知识点(物理层用香农/奈奎斯特,链路层用CRC/利用率,网络层用子网,运输层用拥塞)。
- 代入计算:注意单位统一(bps, Hz, ms)。
- 检查:结果是否合理(如利用率<1,主机数>0)。
4. 考场答题避坑提醒
- 常见失分点:
- 漏写单位(bps, m, dB)。
- 公式写错(如香农公式忘记加1)。
- 未画示意图(握手/挥手图)。
- 忽略边界条件(子网主机数减2)。
- 书写潦草,关键步骤缺失。
结尾:复习规划&应试小贴士
1. 三日冲刺计划
- 第一天:全面回顾,背诵第一章至第七章的核心概念,重点记忆端口号和协议功能。
- 第二天:刷题+错题整理,专攻计算题(子网、CRC、拥塞控制),确保公式熟练。
- 第三天:模拟卷+查漏补缺,重点看错题本,复习“速记清单”和“简答模板”。
2. 心态调整
- 遇到难题:先跳过,确保会做的拿满分,不要在一道题上卡太久。
- 计算题:步骤分更重要,即使结果算错,只要公式对、步骤清,依然能拿大部分分数。
- 自信:计算机网络逻辑清晰,只要掌握了框架和公式,高分可期!
3. 考场技巧
- 选择题:排除法优先,注意“最”、“主要”、“首先”等限定词。
- 简答题:关键词得分,条理清晰(1、2、3…),适当画图辅助。
- 计算题:写清公式,代入数值,最后写单位。
- 检查:最后留5分钟检查,重点看有没有漏题、单位是否遗漏。
4. 资源推荐
- 教材:谢希仁《计算机网络》(课后习题必看)。
- 真题:本校历年真题(最重要)。
- 视频:B站配套讲解视频(推荐哈工大、清华公开课)。
- 工具:Anki记忆卡片(用于背诵端口号、协议功能)。
5. 鼓励语
计算机网络是一门逻辑严密、规律性强的学科。它不像文科那样需要死记硬背大量文字,也不像数学那样完全依赖天赋。只要你掌握了分层思想,记住了核心公式,刷通了典型题目,这门课的高分就在你手中!
祝你旗开得胜,一门过!拿到高分,快乐毕业!
版权声明:原创内容,转载请注明出处。禁止商业转载,欢迎个人学习与分享。
附录:计算机网络核心逻辑可视化图谱
1. TCP三次握手与四次挥手状态机
核心考点:状态迁移、SYN/ACK标志位、TIME_WAIT的作用。
#mermaid-svg-DfdsMh6hCNbnhuBf{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-DfdsMh6hCNbnhuBf .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-DfdsMh6hCNbnhuBf .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-DfdsMh6hCNbnhuBf .error-icon{fill:#552222;}#mermaid-svg-DfdsMh6hCNbnhuBf .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-DfdsMh6hCNbnhuBf .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-DfdsMh6hCNbnhuBf .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-DfdsMh6hCNbnhuBf .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-DfdsMh6hCNbnhuBf .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-DfdsMh6hCNbnhuBf .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-DfdsMh6hCNbnhuBf .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-DfdsMh6hCNbnhuBf .marker{fill:#333333;stroke:#333333;}#mermaid-svg-DfdsMh6hCNbnhuBf .marker.cross{stroke:#333333;}#mermaid-svg-DfdsMh6hCNbnhuBf svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-DfdsMh6hCNbnhuBf p{margin:0;}#mermaid-svg-DfdsMh6hCNbnhuBf defs #statediagram-barbEnd{fill:#333333;stroke:#333333;}#mermaid-svg-DfdsMh6hCNbnhuBf g.stateGroup text{fill:#9370DB;stroke:none;font-size:10px;}#mermaid-svg-DfdsMh6hCNbnhuBf g.stateGroup text{fill:#333;stroke:none;font-size:10px;}#mermaid-svg-DfdsMh6hCNbnhuBf g.stateGroup .state-title{font-weight:bolder;fill:#131300;}#mermaid-svg-DfdsMh6hCNbnhuBf g.stateGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-DfdsMh6hCNbnhuBf g.stateGroup line{stroke:#333333;stroke-width:1;}#mermaid-svg-DfdsMh6hCNbnhuBf .transition{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-DfdsMh6hCNbnhuBf .stateGroup .composit{fill:white;border-bottom:1px;}#mermaid-svg-DfdsMh6hCNbnhuBf .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px;}#mermaid-svg-DfdsMh6hCNbnhuBf .state-note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-DfdsMh6hCNbnhuBf .state-note text{fill:black;stroke:none;font-size:10px;}#mermaid-svg-DfdsMh6hCNbnhuBf .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-DfdsMh6hCNbnhuBf .edgeLabel .label rect{fill:#ECECFF;opacity:0.5;}#mermaid-svg-DfdsMh6hCNbnhuBf .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-DfdsMh6hCNbnhuBf .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-DfdsMh6hCNbnhuBf .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-DfdsMh6hCNbnhuBf .edgeLabel .label text{fill:#333;}#mermaid-svg-DfdsMh6hCNbnhuBf .label div .edgeLabel{color:#333;}#mermaid-svg-DfdsMh6hCNbnhuBf .stateLabel text{fill:#131300;font-size:10px;font-weight:bold;}#mermaid-svg-DfdsMh6hCNbnhuBf .node circle.state-start{fill:#333333;stroke:#333333;}#mermaid-svg-DfdsMh6hCNbnhuBf .node .fork-join{fill:#333333;stroke:#333333;}#mermaid-svg-DfdsMh6hCNbnhuBf .node circle.state-end{fill:#9370DB;stroke:white;stroke-width:1.5;}#mermaid-svg-DfdsMh6hCNbnhuBf .end-state-inner{fill:white;stroke-width:1.5;}#mermaid-svg-DfdsMh6hCNbnhuBf .node rect{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-DfdsMh6hCNbnhuBf .node polygon{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-DfdsMh6hCNbnhuBf #statediagram-barbEnd{fill:#333333;}#mermaid-svg-DfdsMh6hCNbnhuBf .statediagram-cluster rect{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-DfdsMh6hCNbnhuBf .cluster-label,#mermaid-svg-DfdsMh6hCNbnhuBf .nodeLabel{color:#131300;}#mermaid-svg-DfdsMh6hCNbnhuBf .statediagram-cluster rect.outer{rx:5px;ry:5px;}#mermaid-svg-DfdsMh6hCNbnhuBf .statediagram-state .divider{stroke:#9370DB;}#mermaid-svg-DfdsMh6hCNbnhuBf .statediagram-state .title-state{rx:5px;ry:5px;}#mermaid-svg-DfdsMh6hCNbnhuBf .statediagram-cluster.statediagram-cluster .inner{fill:white;}#mermaid-svg-DfdsMh6hCNbnhuBf .statediagram-cluster.statediagram-cluster-alt .inner{fill:#f0f0f0;}#mermaid-svg-DfdsMh6hCNbnhuBf .statediagram-cluster .inner{rx:0;ry:0;}#mermaid-svg-DfdsMh6hCNbnhuBf .statediagram-state rect.basic{rx:5px;ry:5px;}#mermaid-svg-DfdsMh6hCNbnhuBf .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#f0f0f0;}#mermaid-svg-DfdsMh6hCNbnhuBf .note-edge{stroke-dasharray:5;}#mermaid-svg-DfdsMh6hCNbnhuBf .statediagram-note rect{fill:#fff5ad;stroke:#aaaa33;stroke-width:1px;rx:0;ry:0;}#mermaid-svg-DfdsMh6hCNbnhuBf .statediagram-note rect{fill:#fff5ad;stroke:#aaaa33;stroke-width:1px;rx:0;ry:0;}#mermaid-svg-DfdsMh6hCNbnhuBf .statediagram-note text{fill:black;}#mermaid-svg-DfdsMh6hCNbnhuBf .statediagram-note .nodeLabel{color:black;}#mermaid-svg-DfdsMh6hCNbnhuBf .statediagram .edgeLabel{color:red;}#mermaid-svg-DfdsMh6hCNbnhuBf #dependencyStart,#mermaid-svg-DfdsMh6hCNbnhuBf #dependencyEnd{fill:#333333;stroke:#333333;stroke-width:1;}#mermaid-svg-DfdsMh6hCNbnhuBf .statediagramTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-DfdsMh6hCNbnhuBf :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
Server
Client
发送SYN(seq=x)
收到SYN+ACK, 回复ACK
应用层调用close()
收到对方的FIN
收到对方的ACK
等待2MSL后关闭
收到对方的FIN(特殊情况)
监听端口
收到SYN, 回复SYN+ACK
收到客户的ACK
收到客户的FIN
数据发完, 发送FIN
收到客户的ACK
1. SYN2. SYN+ACK3. ACK (连接建立)4. FIN (主动关闭)5. ACK (被动确认)6. FIN (数据发完)7. ACK (最终确认)
CLOSED
SYN_SENT
ESTABLISHED
FIN_WAIT_1
FIN_WAIT_2
TIME_WAIT
LAST_ACK
LISTEN
SYN_RCVD
CLOSE_WAIT
2. TCP拥塞控制四阶段流程
核心考点:慢开始、拥塞避免、快重传、快恢复的判断条件与窗口变化。
#mermaid-svg-exu9mvLlSrMcQ32n{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-exu9mvLlSrMcQ32n .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-exu9mvLlSrMcQ32n .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-exu9mvLlSrMcQ32n .error-icon{fill:#552222;}#mermaid-svg-exu9mvLlSrMcQ32n .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-exu9mvLlSrMcQ32n .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-exu9mvLlSrMcQ32n .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-exu9mvLlSrMcQ32n .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-exu9mvLlSrMcQ32n .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-exu9mvLlSrMcQ32n .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-exu9mvLlSrMcQ32n .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-exu9mvLlSrMcQ32n .marker{fill:#333333;stroke:#333333;}#mermaid-svg-exu9mvLlSrMcQ32n .marker.cross{stroke:#333333;}#mermaid-svg-exu9mvLlSrMcQ32n svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-exu9mvLlSrMcQ32n p{margin:0;}#mermaid-svg-exu9mvLlSrMcQ32n .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-exu9mvLlSrMcQ32n .cluster-label text{fill:#333;}#mermaid-svg-exu9mvLlSrMcQ32n .cluster-label span{color:#333;}#mermaid-svg-exu9mvLlSrMcQ32n .cluster-label span p{background-color:transparent;}#mermaid-svg-exu9mvLlSrMcQ32n .label text,#mermaid-svg-exu9mvLlSrMcQ32n span{fill:#333;color:#333;}#mermaid-svg-exu9mvLlSrMcQ32n .node rect,#mermaid-svg-exu9mvLlSrMcQ32n .node circle,#mermaid-svg-exu9mvLlSrMcQ32n .node ellipse,#mermaid-svg-exu9mvLlSrMcQ32n .node polygon,#mermaid-svg-exu9mvLlSrMcQ32n .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-exu9mvLlSrMcQ32n .rough-node .label text,#mermaid-svg-exu9mvLlSrMcQ32n .node .label text,#mermaid-svg-exu9mvLlSrMcQ32n .image-shape .label,#mermaid-svg-exu9mvLlSrMcQ32n .icon-shape .label{text-anchor:middle;}#mermaid-svg-exu9mvLlSrMcQ32n .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-exu9mvLlSrMcQ32n .rough-node .label,#mermaid-svg-exu9mvLlSrMcQ32n .node .label,#mermaid-svg-exu9mvLlSrMcQ32n .image-shape .label,#mermaid-svg-exu9mvLlSrMcQ32n .icon-shape .label{text-align:center;}#mermaid-svg-exu9mvLlSrMcQ32n .node.clickable{cursor:pointer;}#mermaid-svg-exu9mvLlSrMcQ32n .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-exu9mvLlSrMcQ32n .arrowheadPath{fill:#333333;}#mermaid-svg-exu9mvLlSrMcQ32n .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-exu9mvLlSrMcQ32n .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-exu9mvLlSrMcQ32n .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-exu9mvLlSrMcQ32n .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-exu9mvLlSrMcQ32n .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-exu9mvLlSrMcQ32n .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-exu9mvLlSrMcQ32n .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-exu9mvLlSrMcQ32n .cluster text{fill:#333;}#mermaid-svg-exu9mvLlSrMcQ32n .cluster span{color:#333;}#mermaid-svg-exu9mvLlSrMcQ32n div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-exu9mvLlSrMcQ32n .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-exu9mvLlSrMcQ32n rect.text{fill:none;stroke-width:0;}#mermaid-svg-exu9mvLlSrMcQ32n .icon-shape,#mermaid-svg-exu9mvLlSrMcQ32n .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-exu9mvLlSrMcQ32n .icon-shape p,#mermaid-svg-exu9mvLlSrMcQ32n .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-exu9mvLlSrMcQ32n .icon-shape .label rect,#mermaid-svg-exu9mvLlSrMcQ32n .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-exu9mvLlSrMcQ32n .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-exu9mvLlSrMcQ32n .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-exu9mvLlSrMcQ32n :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
是
否
正常接收ACK
超时 (Timeout)
3个重复ACK
开始传输
cwnd=1, ssthresh=初始值
cwnd < ssthresh?
慢开始: cwnd *= 2
发生事件?
拥塞避免: cwnd += 1
下一轮传输
严重拥塞
ssthresh = cwnd / 2
cwnd = 1
快恢复
ssthresh = cwnd / 2
cwnd = ssthresh + 3
3. 数据封装与解封装全过程
核心考点:各层PDU名称、头部添加顺序、寻址方式。
#mermaid-svg-04UAfc8JWNhCjZLi{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-04UAfc8JWNhCjZLi .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-04UAfc8JWNhCjZLi .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-04UAfc8JWNhCjZLi .error-icon{fill:#552222;}#mermaid-svg-04UAfc8JWNhCjZLi .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-04UAfc8JWNhCjZLi .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-04UAfc8JWNhCjZLi .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-04UAfc8JWNhCjZLi .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-04UAfc8JWNhCjZLi .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-04UAfc8JWNhCjZLi .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-04UAfc8JWNhCjZLi .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-04UAfc8JWNhCjZLi .marker{fill:#333333;stroke:#333333;}#mermaid-svg-04UAfc8JWNhCjZLi .marker.cross{stroke:#333333;}#mermaid-svg-04UAfc8JWNhCjZLi svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-04UAfc8JWNhCjZLi p{margin:0;}#mermaid-svg-04UAfc8JWNhCjZLi .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-04UAfc8JWNhCjZLi .cluster-label text{fill:#333;}#mermaid-svg-04UAfc8JWNhCjZLi .cluster-label span{color:#333;}#mermaid-svg-04UAfc8JWNhCjZLi .cluster-label span p{background-color:transparent;}#mermaid-svg-04UAfc8JWNhCjZLi .label text,#mermaid-svg-04UAfc8JWNhCjZLi span{fill:#333;color:#333;}#mermaid-svg-04UAfc8JWNhCjZLi .node rect,#mermaid-svg-04UAfc8JWNhCjZLi .node circle,#mermaid-svg-04UAfc8JWNhCjZLi .node ellipse,#mermaid-svg-04UAfc8JWNhCjZLi .node polygon,#mermaid-svg-04UAfc8JWNhCjZLi .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-04UAfc8JWNhCjZLi .rough-node .label text,#mermaid-svg-04UAfc8JWNhCjZLi .node .label text,#mermaid-svg-04UAfc8JWNhCjZLi .image-shape .label,#mermaid-svg-04UAfc8JWNhCjZLi .icon-shape .label{text-anchor:middle;}#mermaid-svg-04UAfc8JWNhCjZLi .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-04UAfc8JWNhCjZLi .rough-node .label,#mermaid-svg-04UAfc8JWNhCjZLi .node .label,#mermaid-svg-04UAfc8JWNhCjZLi .image-shape .label,#mermaid-svg-04UAfc8JWNhCjZLi .icon-shape .label{text-align:center;}#mermaid-svg-04UAfc8JWNhCjZLi .node.clickable{cursor:pointer;}#mermaid-svg-04UAfc8JWNhCjZLi .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-04UAfc8JWNhCjZLi .arrowheadPath{fill:#333333;}#mermaid-svg-04UAfc8JWNhCjZLi .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-04UAfc8JWNhCjZLi .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-04UAfc8JWNhCjZLi .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-04UAfc8JWNhCjZLi .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-04UAfc8JWNhCjZLi .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-04UAfc8JWNhCjZLi .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-04UAfc8JWNhCjZLi .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-04UAfc8JWNhCjZLi .cluster text{fill:#333;}#mermaid-svg-04UAfc8JWNhCjZLi .cluster span{color:#333;}#mermaid-svg-04UAfc8JWNhCjZLi div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-04UAfc8JWNhCjZLi .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-04UAfc8JWNhCjZLi rect.text{fill:none;stroke-width:0;}#mermaid-svg-04UAfc8JWNhCjZLi .icon-shape,#mermaid-svg-04UAfc8JWNhCjZLi .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-04UAfc8JWNhCjZLi .icon-shape p,#mermaid-svg-04UAfc8JWNhCjZLi .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-04UAfc8JWNhCjZLi .icon-shape .label rect,#mermaid-svg-04UAfc8JWNhCjZLi .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-04UAfc8JWNhCjZLi .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-04UAfc8JWNhCjZLi .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-04UAfc8JWNhCjZLi :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
接收端:解封装
发送端:封装
加TCP头
加IP头
加帧头和帧尾
转为比特流
去帧头尾
去IP头
去TCP头
应用层数据Data
运输层段Segment
网络层包Packet
链路层帧Frame
物理层比特Bits
物理介质传输
物理层接收比特
链路层解析帧
网络层解析包
运输层还原段
应用层获取数据
4. 子网划分与路由聚合决策树
核心考点:VLSM分配顺序、CIDR聚合前缀匹配。
#mermaid-svg-YA1CY9YBHEVMXweS{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-YA1CY9YBHEVMXweS .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-YA1CY9YBHEVMXweS .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-YA1CY9YBHEVMXweS .error-icon{fill:#552222;}#mermaid-svg-YA1CY9YBHEVMXweS .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-YA1CY9YBHEVMXweS .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-YA1CY9YBHEVMXweS .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-YA1CY9YBHEVMXweS .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-YA1CY9YBHEVMXweS .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-YA1CY9YBHEVMXweS .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-YA1CY9YBHEVMXweS .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-YA1CY9YBHEVMXweS .marker{fill:#333333;stroke:#333333;}#mermaid-svg-YA1CY9YBHEVMXweS .marker.cross{stroke:#333333;}#mermaid-svg-YA1CY9YBHEVMXweS svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-YA1CY9YBHEVMXweS p{margin:0;}#mermaid-svg-YA1CY9YBHEVMXweS .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-YA1CY9YBHEVMXweS .cluster-label text{fill:#333;}#mermaid-svg-YA1CY9YBHEVMXweS .cluster-label span{color:#333;}#mermaid-svg-YA1CY9YBHEVMXweS .cluster-label span p{background-color:transparent;}#mermaid-svg-YA1CY9YBHEVMXweS .label text,#mermaid-svg-YA1CY9YBHEVMXweS span{fill:#333;color:#333;}#mermaid-svg-YA1CY9YBHEVMXweS .node rect,#mermaid-svg-YA1CY9YBHEVMXweS .node circle,#mermaid-svg-YA1CY9YBHEVMXweS .node ellipse,#mermaid-svg-YA1CY9YBHEVMXweS .node polygon,#mermaid-svg-YA1CY9YBHEVMXweS .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-YA1CY9YBHEVMXweS .rough-node .label text,#mermaid-svg-YA1CY9YBHEVMXweS .node .label text,#mermaid-svg-YA1CY9YBHEVMXweS .image-shape .label,#mermaid-svg-YA1CY9YBHEVMXweS .icon-shape .label{text-anchor:middle;}#mermaid-svg-YA1CY9YBHEVMXweS .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-YA1CY9YBHEVMXweS .rough-node .label,#mermaid-svg-YA1CY9YBHEVMXweS .node .label,#mermaid-svg-YA1CY9YBHEVMXweS .image-shape .label,#mermaid-svg-YA1CY9YBHEVMXweS .icon-shape .label{text-align:center;}#mermaid-svg-YA1CY9YBHEVMXweS .node.clickable{cursor:pointer;}#mermaid-svg-YA1CY9YBHEVMXweS .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-YA1CY9YBHEVMXweS .arrowheadPath{fill:#333333;}#mermaid-svg-YA1CY9YBHEVMXweS .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-YA1CY9YBHEVMXweS .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-YA1CY9YBHEVMXweS .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-YA1CY9YBHEVMXweS .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-YA1CY9YBHEVMXweS .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-YA1CY9YBHEVMXweS .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-YA1CY9YBHEVMXweS .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-YA1CY9YBHEVMXweS .cluster text{fill:#333;}#mermaid-svg-YA1CY9YBHEVMXweS .cluster span{color:#333;}#mermaid-svg-YA1CY9YBHEVMXweS div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-YA1CY9YBHEVMXweS .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-YA1CY9YBHEVMXweS rect.text{fill:none;stroke-width:0;}#mermaid-svg-YA1CY9YBHEVMXweS .icon-shape,#mermaid-svg-YA1CY9YBHEVMXweS .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-YA1CY9YBHEVMXweS .icon-shape p,#mermaid-svg-YA1CY9YBHEVMXweS .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-YA1CY9YBHEVMXweS .icon-shape .label rect,#mermaid-svg-YA1CY9YBHEVMXweS .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-YA1CY9YBHEVMXweS .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-YA1CY9YBHEVMXweS .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-YA1CY9YBHEVMXweS :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
否
是
是
否
是
否
需求分析
按主机数从大到小排序?
错误:导致地址浪费或无法分配
计算所需位数
h = log2(N+2)
/32 – h/
从起始地址分配块
检查重叠?
调整起始地址或重新规划
生成子网表
多个连续网段?是否对齐2的幂次?
找公共二进制前缀
无法完美聚合需拆分或保留原网段
新掩码 = 公共位数
取公共部分补0
5. 流量控制 vs 拥塞控制 对比逻辑
核心考点:控制对象、调节变量、目的差异。
#mermaid-svg-qQmDSKK3lP6bZ7zK{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-qQmDSKK3lP6bZ7zK .error-icon{fill:#552222;}#mermaid-svg-qQmDSKK3lP6bZ7zK .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-qQmDSKK3lP6bZ7zK .marker{fill:#333333;stroke:#333333;}#mermaid-svg-qQmDSKK3lP6bZ7zK .marker.cross{stroke:#333333;}#mermaid-svg-qQmDSKK3lP6bZ7zK svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-qQmDSKK3lP6bZ7zK p{margin:0;}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge{stroke-width:3;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section–1 rect,#mermaid-svg-qQmDSKK3lP6bZ7zK .section–1 path,#mermaid-svg-qQmDSKK3lP6bZ7zK .section–1 circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .section–1 polygon,#mermaid-svg-qQmDSKK3lP6bZ7zK .section–1 path{fill:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .section–1 text{fill:#ffffff;}#mermaid-svg-qQmDSKK3lP6bZ7zK .node-icon–1{font-size:40px;color:#ffffff;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-edge–1{stroke:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge-depth–1{stroke-width:17;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section–1 line{stroke:hsl(60, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:lightgray;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:#efefef;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-0 rect,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-0 path,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-0 circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-0 polygon,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-0 path{fill:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-0 text{fill:black;}#mermaid-svg-qQmDSKK3lP6bZ7zK .node-icon-0{font-size:40px;color:black;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-edge-0{stroke:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge-depth-0{stroke-width:14;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-0 line{stroke:hsl(240, 100%, 83.5294117647%);stroke-width:3;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:lightgray;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:#efefef;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-1 rect,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-1 path,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-1 circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-1 polygon,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-1 path{fill:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-1 text{fill:black;}#mermaid-svg-qQmDSKK3lP6bZ7zK .node-icon-1{font-size:40px;color:black;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-edge-1{stroke:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge-depth-1{stroke-width:11;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-1 line{stroke:hsl(260, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:lightgray;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:#efefef;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-2 rect,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-2 path,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-2 circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-2 polygon,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-2 path{fill:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-2 text{fill:#ffffff;}#mermaid-svg-qQmDSKK3lP6bZ7zK .node-icon-2{font-size:40px;color:#ffffff;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-edge-2{stroke:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge-depth-2{stroke-width:8;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-2 line{stroke:hsl(90, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:lightgray;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:#efefef;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-3 rect,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-3 path,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-3 circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-3 polygon,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-3 path{fill:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-3 text{fill:black;}#mermaid-svg-qQmDSKK3lP6bZ7zK .node-icon-3{font-size:40px;color:black;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-edge-3{stroke:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge-depth-3{stroke-width:5;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-3 line{stroke:hsl(120, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:lightgray;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:#efefef;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-4 rect,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-4 path,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-4 circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-4 polygon,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-4 path{fill:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-4 text{fill:black;}#mermaid-svg-qQmDSKK3lP6bZ7zK .node-icon-4{font-size:40px;color:black;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-edge-4{stroke:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge-depth-4{stroke-width:2;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-4 line{stroke:hsl(150, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:lightgray;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:#efefef;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-5 rect,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-5 path,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-5 circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-5 polygon,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-5 path{fill:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-5 text{fill:black;}#mermaid-svg-qQmDSKK3lP6bZ7zK .node-icon-5{font-size:40px;color:black;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-edge-5{stroke:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge-depth-5{stroke-width:-1;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-5 line{stroke:hsl(180, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:lightgray;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:#efefef;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-6 rect,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-6 path,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-6 circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-6 polygon,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-6 path{fill:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-6 text{fill:black;}#mermaid-svg-qQmDSKK3lP6bZ7zK .node-icon-6{font-size:40px;color:black;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-edge-6{stroke:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge-depth-6{stroke-width:-4;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-6 line{stroke:hsl(210, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:lightgray;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:#efefef;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-7 rect,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-7 path,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-7 circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-7 polygon,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-7 path{fill:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-7 text{fill:black;}#mermaid-svg-qQmDSKK3lP6bZ7zK .node-icon-7{font-size:40px;color:black;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-edge-7{stroke:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge-depth-7{stroke-width:-7;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-7 line{stroke:hsl(270, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:lightgray;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:#efefef;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-8 rect,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-8 path,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-8 circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-8 polygon,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-8 path{fill:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-8 text{fill:black;}#mermaid-svg-qQmDSKK3lP6bZ7zK .node-icon-8{font-size:40px;color:black;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-edge-8{stroke:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge-depth-8{stroke-width:-10;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-8 line{stroke:hsl(330, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:lightgray;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:#efefef;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-9 rect,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-9 path,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-9 circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-9 polygon,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-9 path{fill:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-9 text{fill:black;}#mermaid-svg-qQmDSKK3lP6bZ7zK .node-icon-9{font-size:40px;color:black;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-edge-9{stroke:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge-depth-9{stroke-width:-13;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-9 line{stroke:hsl(0, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:lightgray;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:#efefef;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-10 rect,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-10 path,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-10 circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-10 polygon,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-10 path{fill:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-10 text{fill:black;}#mermaid-svg-qQmDSKK3lP6bZ7zK .node-icon-10{font-size:40px;color:black;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-edge-10{stroke:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge-depth-10{stroke-width:-16;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-10 line{stroke:hsl(30, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:lightgray;}#mermaid-svg-qQmDSKK3lP6bZ7zK .disabled text{fill:#efefef;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-root rect,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-root path,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-root circle,#mermaid-svg-qQmDSKK3lP6bZ7zK .section-root polygon{fill:hsl(240, 100%, 46.2745098039%);}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-root text{fill:#ffffff;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-root span{color:#ffffff;}#mermaid-svg-qQmDSKK3lP6bZ7zK .section-2 span{color:#ffffff;}#mermaid-svg-qQmDSKK3lP6bZ7zK .icon-container{height:100%;display:flex;justify-content:center;align-items:center;}#mermaid-svg-qQmDSKK3lP6bZ7zK .edge{fill:none;}#mermaid-svg-qQmDSKK3lP6bZ7zK .mindmap-node-label{dy:1em;alignment-baseline:middle;text-anchor:middle;dominant-baseline:middle;text-align:center;}#mermaid-svg-qQmDSKK3lP6bZ7zK :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
TCP窗口控制
流量控制 Flow Control
控制对象
接收方缓冲区
目的
防止溢出
调节变量
接收窗口
机制
接收方通告剩余空间
发送方动态调整
特点
点对点
线性增长/减少
拥塞控制 Congestion Control
控制对象
整个网络
目的
防止网络过载
调节变量
拥塞窗口
机制
慢开始/拥塞避免
快恢复/快重传
特点
点对面
指数/线性混合
实际发送窗口
rwnd, cwnd
瓶颈决定
6. 综合计算题解题路径
核心考点:多因素耦合问题的拆解思路。
#mermaid-svg-9kAHO6RL8zH3KBLk{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-9kAHO6RL8zH3KBLk .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-9kAHO6RL8zH3KBLk .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-9kAHO6RL8zH3KBLk .error-icon{fill:#552222;}#mermaid-svg-9kAHO6RL8zH3KBLk .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-9kAHO6RL8zH3KBLk .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-9kAHO6RL8zH3KBLk .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-9kAHO6RL8zH3KBLk .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-9kAHO6RL8zH3KBLk .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-9kAHO6RL8zH3KBLk .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-9kAHO6RL8zH3KBLk .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-9kAHO6RL8zH3KBLk .marker{fill:#333333;stroke:#333333;}#mermaid-svg-9kAHO6RL8zH3KBLk .marker.cross{stroke:#333333;}#mermaid-svg-9kAHO6RL8zH3KBLk svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-9kAHO6RL8zH3KBLk p{margin:0;}#mermaid-svg-9kAHO6RL8zH3KBLk .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-9kAHO6RL8zH3KBLk .cluster-label text{fill:#333;}#mermaid-svg-9kAHO6RL8zH3KBLk .cluster-label span{color:#333;}#mermaid-svg-9kAHO6RL8zH3KBLk .cluster-label span p{background-color:transparent;}#mermaid-svg-9kAHO6RL8zH3KBLk .label text,#mermaid-svg-9kAHO6RL8zH3KBLk span{fill:#333;color:#333;}#mermaid-svg-9kAHO6RL8zH3KBLk .node rect,#mermaid-svg-9kAHO6RL8zH3KBLk .node circle,#mermaid-svg-9kAHO6RL8zH3KBLk .node ellipse,#mermaid-svg-9kAHO6RL8zH3KBLk .node polygon,#mermaid-svg-9kAHO6RL8zH3KBLk .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-9kAHO6RL8zH3KBLk .rough-node .label text,#mermaid-svg-9kAHO6RL8zH3KBLk .node .label text,#mermaid-svg-9kAHO6RL8zH3KBLk .image-shape .label,#mermaid-svg-9kAHO6RL8zH3KBLk .icon-shape .label{text-anchor:middle;}#mermaid-svg-9kAHO6RL8zH3KBLk .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-9kAHO6RL8zH3KBLk .rough-node .label,#mermaid-svg-9kAHO6RL8zH3KBLk .node .label,#mermaid-svg-9kAHO6RL8zH3KBLk .image-shape .label,#mermaid-svg-9kAHO6RL8zH3KBLk .icon-shape .label{text-align:center;}#mermaid-svg-9kAHO6RL8zH3KBLk .node.clickable{cursor:pointer;}#mermaid-svg-9kAHO6RL8zH3KBLk .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-9kAHO6RL8zH3KBLk .arrowheadPath{fill:#333333;}#mermaid-svg-9kAHO6RL8zH3KBLk .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-9kAHO6RL8zH3KBLk .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-9kAHO6RL8zH3KBLk .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-9kAHO6RL8zH3KBLk .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-9kAHO6RL8zH3KBLk .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-9kAHO6RL8zH3KBLk .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-9kAHO6RL8zH3KBLk .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-9kAHO6RL8zH3KBLk .cluster text{fill:#333;}#mermaid-svg-9kAHO6RL8zH3KBLk .cluster span{color:#333;}#mermaid-svg-9kAHO6RL8zH3KBLk div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-9kAHO6RL8zH3KBLk .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-9kAHO6RL8zH3KBLk rect.text{fill:none;stroke-width:0;}#mermaid-svg-9kAHO6RL8zH3KBLk .icon-shape,#mermaid-svg-9kAHO6RL8zH3KBLk .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-9kAHO6RL8zH3KBLk .icon-shape p,#mermaid-svg-9kAHO6RL8zH3KBLk .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-9kAHO6RL8zH3KBLk .icon-shape .label rect,#mermaid-svg-9kAHO6RL8zH3KBLk .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-9kAHO6RL8zH3KBLk .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-9kAHO6RL8zH3KBLk .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-9kAHO6RL8zH3KBLk :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
窗口受限
带宽受限
题目:计算端到端时延
识别关键参数
物理层:带宽B, 距离D
数据链路层:帧长L, MTU
网络层:路由跳数, MTU分片
运输层:TCP窗口W, RTT
计算单帧发送时延
L/R
计算传播时延
D/V
判断瓶颈
受限于W, 需等待ACK
流水线传输
总时间 = N/W * RTT + …
输出结果





