《计算机网络(第8版)》谢希仁 ------ 期末考点详解
sdut计科各专业适用
| 序号 | 考点名称 | 所属章节 | 考察频次 | 命中试卷及题号 | 考察方式/题型 |
|---|---|---|---|---|---|
| 1 | 1.8 计算机网络体系结构(五层/TCP/IP四层各层任务与典型协议) | Ch1 | 5/5 | 卷①-一-3(简答)、卷②-七-1(论述)、卷③-(隐含于多题)、卷④-一-2(辨析)、卷⑤-四-3(简答) | 简答题:列举各层名称+功能+代表性协议;论述题:阐述五层体系各层作用 |
| 2 | 3.2 CRC循环冗余检验(含计算) | Ch3 | 4/5 | 卷①-二-1(计算)、卷③-一-1(计算+选算法)、卷④-二-1(计算)、卷⑤-一-10(选择题) | 计算题:给定数据流和生成多项式,求CRC码和发送帧;选择题:多项式与位串对应关系 |
| 3 | 3.6 扩展以太网(物理层/数据链路层设备对比) | Ch3 | 4/5 | 卷②-一-9(判断集线器)、卷③-一-4(辨析路由器和交换机)、卷④-一-3(辨析路由器和交换机)、卷④-五-2(路由器作用) | 辨析题/选择题:从工作层次、通信作用、碰撞域隔离等维度对比Hub/交换机/路由器 |
| 4 | 3.7 交换机的自学习功能 | Ch3 | 4/5 | 卷①-三-1(写交换表)、卷①-三-3(未知目的MAC处理)、卷③-二-1(写交换表)、卷③-二-2(转发过程分析)、卷④-三-1(写交换表)、卷④-三-4(未知目的处理) | 综合应用题:根据拓扑写出交换机地址表;分析收到未知/已知目的MAC时的处理行为(转发/泛洪/丢弃) |
| 5 | 3.8 VLAN(优点/划分/接入链路/汇聚链路) | Ch3 | 5/5 | 卷①-三-2(VLAN通信判断+作用)、卷②-四-4(VLAN原理/作用/是否划分)、卷③-二-3(按部门划分VLAN实现隔离)、卷④-三-2(VLAN间通信分析)、卷④-三-3(VLAN优点)、卷④-三-5(新增部门VLAN改进)、卷⑤-二-9(判断:VLAN广播隔离) | 综合应用/简答:VLAN通信隔离判断、VLAN作用与优点阐述、按部门划分方案设计 |
| 6 | 4.1 各层使用的中间设备 | Ch4 | 3/5 | 卷①-一-2(网络设备名称+作用+层次)、卷③-一-4(路由器和交换机对比)、卷④-一-3(路由器和交换机对比) | 辨析题/简答题:列举网络设备并说明工作层次与作用;重点对比路由器和交换机 |
| 7 | 4.3/4.5 IP地址(合法/非法判断) | Ch4 | 4/5 | 卷①-一-1(判断IP是否可分配给互联网主机)、卷①-四-1~2(子网地址规划)、卷②-一-8(选择可用的IP)、卷③-三-2(为主机分配IP配置)、卷⑤-一-8(选择可用的IP)、卷⑤-二-4(判断:路由器各接口IP) | 选择题/简答题/判断题:判断私有/广播/环回/非法地址;为给定网络中的主机配置合法IP |
| 8 | 4.5 分类的IP地址(A/B/C/D/E类) | Ch4 | 3/5 | 卷①-一-1(分类地址判断+特殊地址)、卷②-一-8(可用IP选判)、卷⑤-一-8(可用IP选判)、卷⑤-三-1(D类地址→IP多播) | 选择题/简答题:识别A/B/C类私有地址/广播地址/环回地址;D类用于多播 |
| 9 | 4.7 地址掩码的重要性质 | Ch4 | 3/5 | 卷②-一-3(ping使用ICMP,相关)、卷②-三-3(子网掩码→网络号位数)、卷②-四-1(子网掩码实际运用)、卷⑤-一-2(子网掩码→网络号位数) | 选择题/填空题:给定子网掩码求网络号长度;掩码与网络地址的关系 |
| 10 | 4.8 划分子网(网络号/可分配范围/广播地址) | Ch4 | 5/5 | 卷①-四-1(两个校区地址块划分)、卷①-四-2(/24等分4子网→网络地址/掩码/广播地址)、卷②-四-1(按房间类型划3个子网)、卷③-三-1(求各子网网络地址)、卷③-三-4(等分4子网→网络地址+广播地址)、卷④-四-2(按需求划分子网→地址块+可分配数量)、卷④-五-1(求子网网络地址)、卷⑤-五-1(按主机数划3个子网→完整地址表) | 计算应用题(最高频题型):给定地址块/掩码+主机数需求→划分子网并写出网络地址、子网掩码、可分配IP范围、广播地址 |
| 11 | 4.10 IP地址与MAC地址------变与不变(P132图4-6) | Ch4 | 4/5 | 卷②-五-2(A→B同网段四元组)、卷②-五-3(A→C跨网段→NAT前后四元组变化)、卷③-四-1(B→C逐段填源/目的IP和MAC)、卷⑤-五-2(X→Y/X→A/A→B/B→Z逐段填表) | 综合填表题:逐段分析源IP/目的IP(不变)和源MAC/目的MAC(逐跳变化)的取值 |
| 12 | 4.11 ARP地址解析协议的作用 | Ch4 | 4/5 | 卷①-三-6(匹配ARP场景)、卷③-四-2(3)(匹配ARP协议)、卷⑤-一-9(选择题)、卷⑤-四-1(简答ARP功能+工作过程) | 选择题/匹配题/简答题:ARP的功能(IP→MAC)、工作过程(广播请求→单播响应) |
| 13 | 4.12 IP层分组转发的过程 | Ch4 | 4/5 | 卷①-二-2(查路由表选下一跳)、卷②-五-4(补全路由表)、卷②-五-5(默认路由转发)、卷③-三-3(补全R2路由表)、卷⑤-四-4(查路由表选下一跳) | 计算填表题:根据路由表+目的IP→选择下一跳;补全路由表信息 |
| 14 | 4.13 路由选择协议的分类(IGP/EGP) | Ch4 | 4/5 | 卷①-一-4(IGP/EGP分类+代表协议)、卷②-一-9(IGP协议识别)、卷②-二-7(BGP是EGP判断)、卷③-三-5(选IGP还是EGP+理由)、卷⑤-三-3(填空:IGP/EGP分类+代表协议) | 选择题/判断题/填空题/简答题:识别IGP(RIP/OSPF)与EGP(BGP);按层次分类 |
| 15 | 4.14 每一种类别的典型协议(RIP/OSPF/BGP) | Ch4 | 4/5 | 卷①-一-4(列举RIP/OSPF/BGP)、卷②-一-9(RIP属于IGP)、卷③-三-5(写适用的具体路由协议)、卷④-五-6(静态vs动态路由策略)、卷⑤-三-3(填空IGP代表协议) | 选择题/填空题/简答题:IGP→RIP和OSPF;EGP→BGP |
| 16 | 4.16 专用网络地址块及特点 | Ch4 | 3/5 | 卷①-一-1(判断10.x和192.168.x为私有地址)、卷①-四-1(使用10.0.0.0/8作为专用地址块规划)、卷②(隐含于NAT题中) | 选择题/简答题:识别三大私有地址块;解释专用地址不可在公网路由的特点 |
| 17 | 4.17 VPN的实现 | Ch4 | 3/5 | 卷①-三-7(匹配VPN场景)、卷①-四-3(两校区VPN互联简述)、卷③-四-2(5)(匹配VPN场景) | 匹配题/简答题:VPN的应用场景识别(跨Internet安全通信);简述隧道+加密要点 |
| 18 | 4.18 NAT(使用条件与场景) | Ch4 | 4/5 | 卷①-三-5(匹配NAT场景)、卷①-四-4(学校内网访问互联网用NAT)、卷②-五-1(企业网NAT技术名称)、卷②-五-3(NAT前后IP地址变化)、卷③-四-2(2)(匹配NAT场景) | 匹配题/简答题/综合分析题:NAT应用场景识别;分析NAT转换前后源IP变化 |
| 19 | 5.1 UDP和TCP的特点与区别 | Ch5 | 5/5 | 卷①-五-6(比较TCP/UDP区别)、卷②-一-7(TCP可靠传输机制)、卷②-二-6(运输层可靠/不可靠)、卷②-六-1(2)(UDP无连接无此安全隐患)、卷③-五-2(TCP与UDP两个根本区别)、卷④-一-1(分析比较TCP与UDP特点)、卷⑤-一-1(TCP可靠传输无关机制)、卷⑤-二-7(TCP/UDP层次判断) | 辨析题/选择题/判断题:TCP(面向连接/可靠/流量控制/拥塞控制)vs UDP(无连接/不可靠/低开销)的多维对比 |
| 20 | 5.2 端口号(区分应用/熟知端口) | Ch5 | 5/5 | 卷①-五-1(源端口/目的端口识别)、卷①-六-2(端口扫描+端口分类)、卷②-一-5(端口号定义)、卷③-五-1(TCP为什么需要端口号/熟知端口目的)、卷④-四-1(2)(常用服务+熟知端口列举)、卷⑤-二-8(端口号标识应用进程) | 选择题/判断题/简答题:端口号定义与分类(熟知/登记/动态);列举HTTP=80/DNS=53等 |
| 21 | 5.3 滑动窗口机制 | Ch5 | 4/5 | 卷①-五-2(序号含义+下一序号计算)、卷①-五-3(确认号含义+对方序号)、卷②-三-1(根据窗口大小和序号推算携带字节数)、卷③-五-4(序号含义+确认号计算)、卷④-六-3(确认位/确认号/窗口字段填写) | 计算题/填空题:根据TCP序号和窗口大小推算报文段携带字节数、下一个序号、确认号 |
| 22 | 5.4 TCP流量控制和拥塞控制 | Ch5 | 4/5 | 卷①-五-4(接收窗口vs拥塞窗口)、卷①-五-5(超时后cwnd和ssthresh变化)、卷②-二-1(流量控制判断)、卷②-二-3(超时重传→慢开始+门限减半判断)、卷②-三-9(拥塞避免阶段填空)、卷③-五-6(拥塞窗口变化表分析→慢开始/拥塞避免/超时判断)、卷④-六-2(cwnd变化表→ssthresh初始值+超时/3ACK判断) | 辨析题/判断题/填空题/计算分析题:区分流量控制(rwnd)与拥塞控制(cwnd);分析cwnd变化表判断慢开始/拥塞避免/超时/快重传/快恢复 |
| 23 | 5.5 TCP三报文握手(SYN/ACK控制位) | Ch5 | 3/5 | 卷②-六-1(1)(三次握手过程描述+SYN Flood攻击分析)、卷③-五-3(6个控制位中选2说明含义)、卷④-六-1(三次握手过程+SYN Flood攻击) | 简答题/综合题:画图或文字描述三次握手过程;解释SYN/ACK等控制位的含义;分析SYN Flood攻击原理 |
| 24 | 6.6 DHCP的作用 | Ch6 | 3/5 | 卷①-一-9(为什么要有租用期)、卷②-三-4(填空题:DHCP协议名称)、卷⑤-二-1(判断题:DHCP自动获取IP) | 简答题/填空题/判断题:DHCP功能(自动获取IP/掩码/网关/DNS)和租用期机制 |
第一章 概述(P1 ~ 41)
1.1 互联网的组成部分(P9~17,§1.3)
互联网从工作方式上划分为两大块:
(1)边缘部分 (P10~12):
由连接在互联网上的所有主机组成,用户直接使用。通信方式是主机A的某个进程与主机B的另一个进程进行通信,简称"端系统之间的通信"。端系统之间的通信方式主要有客户-服务器方式(C/S)和对等方式(P2P)两种。
(2)核心部分 (P12~17):
由大量网络和连接这些网络的路由器组成,为边缘部分提供连通性和交换服务。核心部分起"接力 "作用------采用分组交换技术,路由器收到分组后查找转发表,选择合适端口转发出去。
1.2 端系统的通信方式(P10~12,§1.3.1)
(1)客户-服务器方式(Client/Server,C/S)(P10~11):
- 客户(Client) :服务请求方,主动向服务器发起通信
- 服务器(Server) :服务提供方,被动等待客户的请求
- 客户知道服务器的地址(IP地址或域名)
- 服务器不需要知道客户的地址,而且通常也不知道
- 客户之间不能直接通信(客户之间要通信必须通过服务器)
- 客户程序与服务器程序的主要区别:客户程序主动发起通信,服务器程序被动等待
(2)对等方式(Peer-to-Peer,P2P)(P11~12):
- 两台主机通信时不区分客户和服务器,只要都运行了P2P软件就可以平等通信
- 通信双方都可以下载对方存储在磁盘中的共享文档
- 本质仍是客户-服务器方式,只是每台主机既是客户又是服务器
- 对等连接方式可支持大量对等用户同时工作,例如BT下载、电驴eMule等
1.3 电路交换的特点(P12~14,§1.3.2)
电路交换源于电话交换,必须经过**"建立连接 → 通信 → 释放连接"**三个步骤。
特点:
- 通信前先建立一条专用的物理通路(经过交换机的连接)
- 通信期间双方始终占用 该端到端的物理通路,资源独占
- 数据传输可靠性高、时延小(数据直达,没有存储转发时延)
- 对突发性计算机数据效率很低:计算机数据具有突发性,线路上真正用于传送数据的时间往往不到10%,甚至不到1%
- 已占用的通信线路在空闲时不能给其他用户使用
- 线路的传输效率很低,不适合计算机通信
优点:通信时延小、有序传输、没有冲突、适用范围广(模拟信号和数字信号均可)、实时性强、控制简单
缺点:建立连接时间长、线路独占导致信道利用率低、灵活性差、难以实现差错控制
1.4 分组交换的特点(P14~17,§1.3.2)
分组交换采用存储转发 技术。在发送报文之前,先把较长的报文划分成等长数据段 ,在每个数据段前面加上首部(header,包含目的地址等控制信息),构成分组(packet) ,又称"包"。
核心工作流程:路由器收到分组后,先暂存(存储),检查首部、查找转发表、按首部中的目的地址找到合适的接口转发(转发)。
优点:
- 高效------在分组传输过程中动态分配传输带宽,通信线路利用率高
- 灵活------每个分组独立选择路由
- 迅速------不必先建立连接就可向其他主机发送分组
- 可靠------有完善的网络协议(自适应路由选择、差错检测、重传等)
缺点:
- 各分组在路由器中需要排队,造成存储转发时延
- 各分组必须携带首部,造成一定的额外开销
- 分组交换网的管理和控制比较复杂
1.5 三种交换方式在数据传送阶段的主要特点(P16~17,图1-13)
| 交换方式 | 数据传送阶段特点 |
|---|---|
| 电路交换 | 先建立一条专用物理通路,数据直接传送,不存储转发,比特流连续传送。整个通信过程独占用这条通路 |
| 报文交换 | 整个报文以存储转发方式传送,报文整体一次性转发到下一个节点。不需要预先建立连接,但传输时延较大 |
| 分组交换 | 报文被拆分成多个分组,每个分组独立存储转发。各分组可以走不同的路径到达目的地,到达目的地后再重组 |
三者的核心区别:
- 电路交换:需要建立连接 → 占用物理通路 → 通信完释放连接,资源独占
- 报文交换:以整个报文为传送单位,逐段存储转发
- 分组交换:以分组为传送单位,逐段存储转发。是当今互联网采用的交换方式
1.6 计算机网络的分类(P19~21,§1.5)
计算机网络的定义(P19):一些互相连接的、自治的计算机的集合。
按不同分类标准,结果不同:
(1)按作用范围分类:
- 广域网 WAN(Wide Area Network):几十到几千公里,跨越省/国家/洲际。是互联网的核心部分
- 城域网 MAN(Metropolitan Area Network):5~50公里,一个城市范围
- 局域网 LAN(Local Area Network):1公里左右,校园/企业/一栋建筑物内
- 个人区域网 PAN(Personal Area Network):10米左右,个人工作空间内(如蓝牙连接)
(2)按使用者分类:
- 公用网(public network):电信公司出资建设,面向所有愿意缴费的公众提供服务
- 专用网(private network):某个部门/单位为本单位业务需要而建造,不对外提供服务(如军队、政府、企业内部网)
(3)按拓扑结构分类:星形网、总线网、环形网、树形网、网状网
(4)按交换方式分类:电路交换网、报文交换网、分组交换网
1.7 计算机性能指标(P21~26,§1.6.1)
| 性能指标 | 含义与说明 |
|---|---|
| 速率 | 也称数据率(data rate)或比特率(bit rate),指数据的传送速率,单位 bit/s(b/s, bps)。当数据率很高时:k=10³, M=10⁶, G=10⁹, T=10¹² |
| 带宽(bandwidth) | 原指信号频带宽度(Hz);在计算机网络中指最高数据率,即某通道在单位时间内能传送的最大比特数,单位 bit/s |
| 吞吐量(throughput) | 单位时间内通过某个网络(或信道、接口)的实际数据量。受网络带宽或额定速率限制 |
| 时延(delay/latency) | 数据从网络的一端传送到另一端的时间。= 发送时延 + 传播时延 + 处理时延 + 排队时延 |
| 发送时延 | = 数据帧长度(bit) ÷ 发送速率(bit/s),发生在主机/路由器的发送缓存中 |
| 传播时延 | = 信道长度(m) ÷ 信号在信道上的传播速率(m/s),电磁波在光纤≈2.0×10⁸m/s |
| 处理时延 | 主机/路由器对分组进行处理(分析首部、差错检验、查找路由等)所需时间 |
| 排队时延 | 分组在路由器输入队列/输出队列中排队等待的时间,取决于网络通信量 |
| 时延带宽积 | = 传播时延 × 带宽,表示按比特计的链路长度,即管道中可以容纳的比特数 |
| 往返时间 RTT | 从发送方发送数据开始,到发送方收到接收方发来的确认总共经历的时间 |
| 利用率 | 信道利用率:某信道有百分之几的时间有数据通过;网络利用率:全网信道利用率的加权平均值。利用率越高则时延越大------D = D₀/(1-U) |
1.8 计算机网络体系结构的概念(P27~38,§1.7)
协议及三要素(P29)
协议(protocol):为进行网络中的数据交换而建立的规则、标准或约定。由三个要素组成:
- 语法------数据与控制信息的结构或格式
- 语义------需要发出何种控制信息、完成何种动作、做出何种响应
- 同步 ------事件实现顺序的详细说明(即时序)
五层协议体系结构(P31~34,§1.7.3)
| 层次 | 任务 | 典型协议 | 传输单元 |
|---|---|---|---|
| 应用层 | 通过应用进程间的交互完成特定网络应用(直接为用户提供服务) | HTTP, SMTP, FTP, DNS, DHCP, RIP | 报文(message) |
| 运输层 | 向两台主机中进程之间的通信提供通用的数据传输服务(复用和分用) | TCP, UDP | 报文段(segment)/用户数据报 |
| 网络层 | 负责为分组交换网上的不同主机提供通信服务;选择合适的路由,使源主机运输层传下来的分组能到达目的主机 | IP(核心), ICMP, ARP, IGMP, OSPF, BGP | IP数据报(分组) |
| 数据链路层 | 在两个相邻节点 之间传送数据,将网络层交下来的IP数据报组装成帧(frame),帧中包含必要的控制信息(同步、地址、差错控制等) | PPP, CSMA/CD(以太网协议) | 帧(frame) |
| 物理层 | 透明地传送比特流,规定与传输媒体接口有关的特性(机械、电气、功能、规程) | 各种物理层接口标准(EIA/TIA) | 比特(bit) |
TCP/IP 四层协议体系结构(P36~38,§1.7.5)
| TCP/IP层次 | 对应OSI | 代表性协议 |
|---|---|---|
| 应用层 | 应用层 + 表示层 + 会话层 | HTTP, FTP, SMTP, DNS, RIP, DHCP, SNMP, TELNET |
| 运输层 | 运输层 | TCP (可靠)、UDP(不可靠) |
| 网际层 | 网络层 | IP(IPv4 / IPv6)、ICMP、IGMP、ARP、RARP |
| 网络接口层 | 数据链路层 + 物理层 | 各种物理网络接口(以太网、Wi-Fi等),无具体协议规定 |
第二章 物理层(P42 ~ 70)
2.1 模拟信号、数字信号的概念(P44~46,§2.2.2)
模拟信号(analog signal)------连续信号:
- 代表消息的参数的取值是连续的
- 例如:用户说话的音频信号(声音强度连续变化)
数字信号(digital signal)------离散信号:
- 代表消息的参数的取值是离散的
- 例如:计算机输出的代表"0"和"1"的电压脉冲序列
- 码元(code element) :在使用时间域(时域)波形表示数字信号时,代表不同离散数值的基本波形。一个码元可以携带1个或多个比特的信息量
通信方式(P44~45):
- 单工通信:只能一个方向通信,无反向交互(如广播、电视)
- 半双工通信:双方都可发送,但不能同时(如对讲机)
- 全双工通信:双方可同时发送和接收(如电话、计算机网络)
基带信号与调制(P45):
- 基带信号(baseband signal):来自信源的原始信号,包含低频分量甚至直流分量,许多信道不能传输
- 调制(modulation) :将基带信号变换为适合在信道中传输的形式
- 基带调制(编码):仅对基带信号的波形进行变换,仍为基带信号
- 带通调制:使用载波(carrier)进行调制,将基带信号的频率范围搬移到较高频段,转换为模拟信号
2.2 常用编码方式(P43~47,§2.2)
| 编码方式 | 特点与规则 | 优劣 |
|---|---|---|
| 不归零制(NRZ) | 正电平→1,负电平→0;整个码元周期内电平不变 | 无法携带时钟信号(无自同步能力),存在同步问题 |
| 归零制(RZ) | 正脉冲→1,负脉冲→0;每个脉冲中间回到零电平 | 可自同步,但信号带宽较宽 |
| 曼彻斯特编码 | 位周期中心跳变:上跳变(低→高)→0,下跳变(高→低)→1(或相反);以太网使用 | 自带时钟信号(自同步);但信号频率比NRZ高一倍,频带利用率低 |
| 差分曼彻斯特编码 | 位周期中心始终 有跳变(时钟信号);位开始边界:有跳变→0,无跳变→1 | 抗干扰能力比曼彻斯特更强 |
| NRZI(不归零逆转编码) | 电平翻转→1,不翻转→0 | USB使用 |
曼彻斯特编码的核心特点 :每个码元中间都有一次跳变,跳变既作为时钟信号 (便于接收方提取同步信号),又代表数据 (跳变方向区分0和1),因此称为自同步编码。
2.3 常用的信道复用技术有哪些(P56~60,§2.4)
| 复用技术 | 复用原理 | 特点 |
|---|---|---|
| 频分复用 FDM | 将信道的总频带划分为多个子频带,各子频带间有隔离频带(保护频带),每个用户始终占用一个子频带 | 适合模拟信号;用户在分配到子频带后自始至终都占用此信道 |
| 时分复用 TDM | 将时间划分为等长的TDM帧,每个用户固定占用一个时隙 | 每个用户周期性地在自己的时隙中发送数据;用户无数据时,时隙空闲浪费 |
| 统计时分复用 STDM | 动态按需分配时隙,只在用户有数据要发送时才分配时隙 | 提高了信道利用率;但帧中必须携带地址信息以区分各用户数据 |
| 波分复用 WDM | 光的频分复用;不同波长(频率)的光信号在同一根光纤中同时传输 | 大大提高光纤传输容量,是光纤通信扩容的主要方法 |
| 码分复用 CDM/CDMA | 各用户使用经特殊挑选的不同码型(码片序列),在同一时间同一频带通信而互不干扰 | 抗干扰能力强、保密性好;各用户信号在时间和频率上都重叠(不是分割),靠码型区分 |
CDMA(码分多址)关键原理(P60):
- 每个比特时间再划分为 m 个短的间隔,称为码片(chip)
- 每个站被指派一个唯一的 m 位码片序列(chip sequence)
- 若要发1,就发送码片序列本身;若要发0,就发送码片序列的反码
- 不同站的码片序列必须互相正交(规格化内积为 0)
- 接收端用发送方的码片序列做规格化内积:结果 = 1 → 收到1;结果 = -1 → 收到0;结果 = 0 → 该站未发送
第三章 数据链路层(P71 ~ 114)
3.1 数据链路层协议的三个基本问题(P73~78,§3.1.2)
数据链路层协议必须解决的三个基本问题:封装成帧、透明传输、差错检测。
(1)封装成帧(P73~74)
- 在一段数据的前后分别添加首部 和尾部,构成一个帧(frame)
- 首部和尾部包含帧定界信息(帧开始符 SOH 和帧结束符 EOT),标志帧的开始和结束
- 首部和尾部的作用之一就是进行帧定界
- MTU(最大传送单元,Maximum Transfer Unit) :数据链路层协议规定的帧中数据部分的长度上限(以太网MTU=1500字节)
(2)透明传输(P74~75)
- 无论什么样的比特组合的数据,都能原样在数据链路层上传送
- 如果数据中恰好出现了与帧定界符(SOH/EOT等)相同的比特组合,必须采取措施避免被误解释为帧边界
- 字节填充法(字符填充) :在数据中出现的控制字符(SOH/EOT等)前插入转义字符 ESC;若转义字符本身也出现在数据中,则在转义字符前再加一个转义字符
- 比特填充法(零比特填充,PPP协议使用):发送方在数据中每出现5个连续的"1"时,在其后自动填入一个"0";接收方收到5个连续"1"后,将后面的"0"删去
(3)差错检测(P75~78)
- 实际的通信链路中,比特在传输过程中可能产生差错:1可能变成0,0也可能变成1
- 误码率 BER(Bit Error Rate):在一段时间内,传输错误的比特占所传输比特总数的比率
- 差错检测的常用方法:循环冗余检验 CRC(Cyclic Redundancy Check)
3.2 循环冗余检验 CRC,会计算(P75~78,§3.1.2)
原理
- 在发送端,将数据划分为组,假定每组 k 个比特
- 发送方和接收方预先约定一个生成多项式 G(x)(n+1位)
- 发送方在每组数据 M 后面添加 n 位冗余码(n 是生成多项式位数减1),构成 (k+n) 位的帧,使得增添后的帧能被 G(x) 整除
- 接收方用同样的 G(x) 除以收到的帧,若余数为 0 → 无差错(接受);余数非 0 → 有差错(丢弃)
计算步骤
- 把要发送的数据 M 后面添上 n 个 0(n = 生成多项式位数 − 1),得到 2ⁿM
- 用模2除法(异或运算 XOR,无进位无借位)计算 2ⁿM ÷ G(x),得到 n 位余数 R
- 把 R 作为冗余码(帧检验序列 FCS)拼接在 M 后面,发送出去
- 接收方用 G(x) 对整个 (M+R) 做模2除法,若余数 = 0 则接受,否则丢弃
计算示例
设数据 M = 101001,生成多项式 G(x) = x³ + x² + 1(即 1101,n=3):
① 数据后补3个0:101001000
② 模2除法:101001000 ÷ 1101
↓
101001000
1101 (异或)
─────
11101
1101
────
1110
1101
────
1100
1101
────
1 ← 余数 R = 001(不足3位补0)
③ 发送数据 = 101001001 (M + R)
④ 接收方用1101除101001001,余数 = 0,接受
注意 :CRC只能做到无差错接收 (凡是接收端数据链路层接收的帧都能以非常接近1的概率认为没有差错),即"无比特差错"(并不是"可靠传输"------可靠传输还需要确认和重传)。
3.3 CSMA/CD 协议要点(P87~92,§3.3.2)
CSMA/CD = Carrier Sense Multiple Access with Collision Detection
载波监听多点接入 / 碰撞检测
三大要点:
-
多点接入(MA,Multiple Access):总线型网络,多个站以多点接入的方式连接在一根总线上
-
载波监听(CS,Carrier Sense):每一个站在发送数据之前先要检测一下总线上是否有其他站在发送数据。如果有,则暂时不发送,等待信道空闲;如果没有,则发送
-
碰撞检测(CD,Collision Detection):边发送数据边检测信道上的信号电压。当检测到碰撞时,立即停止发送,等待一段随机时间后重新发送
争用期(碰撞窗口):
- 以太网端到端传播时延记为 τ
- 最迟经过 2τ(两倍端到端传播时延)才能知道是否发生碰撞
- 争用期 = 2τ,10Mbps以太网中规定为 51.2μs ,即 512比特时间
截断二进制指数退避算法:
- 碰撞后,退避时间 = 基本退避时间 × r,其中 r 是从 0, 1, ..., (2ᵏ−1) 中随机选出的数
- k = min(重传次数, 10)
- 重传16次仍失败则丢弃该帧,并向上层报告
CSMA/CD发送流程:
① 准备发送 → ② 检测信道 → ③ 信道忙?→ 是 :继续监听,等待空闲 → 否 :发送数据并继续监听
→ ④ 检测到碰撞?→ 否 :发送完成,结束 → 是:停止发送,发干扰信号,按退避算法等待后回到②
为什么有最短帧长的要求?
- 帧太短时,可能在检测到碰撞前已经发送完毕,无法重传
- 以太网规定最小帧长 = 64 字节(对应 512 比特时间 = 争用期)
- 若帧长不足64字节需要填充
3.4 MAC 帧格式,MAC 地址(P95~99,§3.3.5)
MAC 地址(硬件地址 / 物理地址)(P95~97)
- 48位(6字节),固化在网卡的 ROM 中
- 前3字节:组织唯一标识符 OUI(Organizationally Unique Identifier),由IEEE注册管理机构 RA 分配给厂商
- 后3字节:扩展标识符,由厂商自行分配
- 表示法:xx-xx-xx-xx-xx-xx(十六进制,如 00-1A-2B-3C-4D-5E)
- I/G 位(第一个字节的最低位):0 → 单播 (unicast),1 → 多播/组播(multicast)
- G/L 位(第一个字节的次低位):0 → 全球管理 ,1 → 本地管理
以太网 V2 的 MAC 帧格式(P97~99)
| 字段 | 字节数 | 字段内容及说明 |
|---|---|---|
| 前同步码(Preamble) | 7 | 101010......共56位,使接收方实现比特同步(物理层添加,不算MAC帧) |
| 帧开始定界符(SFD) | 1 | 10101011,标志帧开始(物理层添加,不算MAC帧) |
| 目的MAC地址 | 6 | 接收方的MAC地址 |
| 源MAC地址 | 6 | 发送方的MAC地址 |
| 类型 | 2 | 上层协议标识(0x0800→IPv4;0x0806→ARP;0x86DD→IPv6) |
| 数据 | 46~1500 | 上层数据 + 填充字段(最小46字节,不足则用填充字段补足) |
| FCS(帧检验序列) | 4 | CRC-32 校验值,校验范围:目的地址~数据字段(不含前同步码和SFD) |
最小帧长 :6+6+2+46+4 = 64字节(对应512比特时间=争用期)
最大帧长 :6+6+2+1500+4 = 1518字节
3.5 什么是碰撞域(冲突域),广播域(P9294,P101104)
碰撞域 / 冲突域(Collision Domain)
- 定义:同一时间只能有一台主机发送数据的网络范围。在这段范围内,若有两台以上主机同时发送数据,就会发生碰撞
- 连接在同一台集线器(Hub)的所有主机都在同一个碰撞域中
- 集线器不隔离碰撞域------反而扩大碰撞域
广播域(Broadcast Domain)
- 定义:网络中能收到同一广播帧的所有节点组成的集合
- 交换机的每个端口都是一个独立的碰撞域,但所有端口仍属于同一个广播域
- 交换机隔离碰撞域,但不隔离广播域
- 路由器既隔离碰撞域,也隔离广播域(路由器不转发广播包)
各设备对域的隔离情况
| 设备 | 隔离碰撞域? | 隔离广播域? |
|---|---|---|
| 集线器(Hub) | ❌ 不隔离 | ❌ 不隔离 |
| 网桥(Bridge) | ✅ 隔离 | ❌ 不隔离 |
| 交换机(Switch) | ✅ 隔离 | ❌ 不隔离 |
| 路由器(Router) | ✅ 隔离 | ✅ 隔离 |
3.6 扩展以太网在物理层和数据链路层,分别用什么设备,有什么不同(P99~104,§3.4)
在物理层扩展以太网(P99~101,§3.4.1)
- 使用设备 :集线器(Hub) ,或光纤调制解调器(光纤modem)
- 原理 :将信号放大/再生后转发到所有端口(不区分帧结构,直接转发比特流)
- 碰撞域 :不隔离 碰撞域------通过集线器连接的所有主机处于同一个碰撞域
- 带宽 :所有主机共享带宽
- 安全性:低(所有主机都可收到其他主机的通信)
在数据链路层扩展以太网(P101~104,§3.4.2)
- 使用设备 :网桥(Bridge)或交换机(Switch,多端口网桥)
- 原理 :收到帧后暂存、查MAC地址交换表、按目的MAC地址选择转发端口(存储转发,过滤帧)
- 碰撞域 :每个端口是一个独立的碰撞域,隔离了碰撞域
- 带宽 :每个端口独占带宽
- 过滤能力:根据MAC交换表,只向目的端口转发(或泛洪),不是向所有端口广播
- 安全性:较高(可根据策略过滤帧)
对比总结
| 对比项 | 物理层扩展(集线器) | 数据链路层扩展(交换机) |
|---|---|---|
| 使用设备 | 集线器(Hub) | 网桥/交换机(Bridge/Switch) |
| 工作原理 | 信号放大再生,转发所有比特 | 存储转发帧,按MAC地址过滤转发 |
| 碰撞域 | 不隔离(同一碰撞域) | 隔离(按端口隔离) |
| 带宽 | 共享带宽 | 独占带宽 |
| 能否过滤帧 | 不能 | 能 |
3.7 交换机的自学习功能(P101~104,§3.4.2)
交换机通过自学习算法自动建立和维护交换表(MAC地址表),无需人工配置。
自学习算法步骤
- 交换表初始为空
- 交换机收到帧后,记录源MAC地址 与进入端口号的映射关系,写入交换表
- 查目的MAC地址:
- 若交换表中无 该目的地址 → 泛洪(向除进入端口外的所有端口转发该帧)
- 若交换表中有 该目的地址,且对应端口 ≠ 进入端口 → 转发到对应端口
- 若交换表中有 该目的地址,但对应端口 = 进入端口 → 丢弃(目的主机与源主机在同一端口,不需要转发)
- 交换表中的每个项目都有老化时间(aging time),到达老化时间后自动删除(以太网交换机通常默认300秒)
特点
- 交换机是即插即用设备,无需人工配置
- 自学习使得交换机能够"记住"网络中每台主机的位置
- 老化机制确保交换表反映网络最新拓扑(主机可能移动或更换端口)
3.8 VLAN:优点,划分方法,接入链路,汇聚链路(P104~106,§3.4.3)
VLAN 概念
VLAN(Virtual LAN,虚拟局域网):将物理局域网在逻辑上划分为多个相互隔离的广播域。每个VLAN就是一个独立的广播域,相当于一个独立的局域网。
VLAN 的优点
- 隔离广播域------将大的广播域划分为小的广播域,减少广播风暴
- 提高安全性------不同VLAN之间不能直接通信(必须经过路由器或三层交换机),实现访问控制
- 灵活管理------用户可根据需要随时改变所属VLAN,无需改变物理连接
- 降低移动和变更成本------用户移动到不同物理端口后仍然可以保持原始VLAN归属
VLAN 的划分方法
- 基于交换机端口划分(最常用):将交换机某些端口指定为某个VLAN,简单直观
- 基于MAC地址划分:按用户MAC地址决定属于哪个VLAN,用户移动到其他端口后自动归属原VLAN
- 基于协议类型/网络层地址划分:根据帧中的协议类型(如IP、IPX)或IP子网来划分
接入链路(Access Link)
- 连接主机与交换机之间的链路
- 链路只属于一个VLAN
- 帧在接入链路上传输时不加VLAN标记(就是普通的以太网帧)
- 端口类型:Access端口
汇聚链路(Trunk Link)
- 连接**交换机与交换机(或交换机与路由器)**之间的链路
- 链路可以属于多个VLAN,同时承载多个VLAN的流量
- 帧在汇聚链路上传输时必须添加VLAN标记(Tag),以区分该帧属于哪个VLAN
- 端口类型:Trunk端口
- 使用标准:IEEE 802.1Q------在帧中插入4字节VLAN标签(其中12位VLAN ID,支持4096个VLAN)
第四章 网络层(P115 ~ 210)
4.1 各层使用的中间设备(P34, P115~117)
| 层次 | 中间设备 | 功能 |
|---|---|---|
| 物理层 | 转发器(Repeater) ,也称中继器;集线器(Hub) | 将衰减的信号放大/再生后转发出去,扩展网络物理连接范围 |
| 数据链路层 | 网桥(Bridge) ;交换机(Switch,多端口网桥) | 根据MAC帧的目的地址转发帧,可隔离碰撞域 |
| 网络层 | 路由器(Router) | 根据IP数据报的目的地址转发分组,连接异构网络,选择合适路由 |
| 网络层以上 | 网关(Gateway) | 在运输层及以上层次连接不同协议体系的网络,进行协议转换 |
4.2 虚拟互联网络的概念(P119~122,§4.2.1)
问题
互联网中互联的是各种异构物理网络------以太网、令牌环网、ATM网、FDDI等,它们的帧格式、地址格式、最大分组长度各不相同,如何将它们统一起来?
解决方案------虚拟互联网络
- 使用**网际协议 IP(Internet Protocol)**作为统一的标准
- 各物理网络之间通过路由器 连接,路由器在网络层工作
- IP协议把各种异构的物理网络在逻辑上连接起来,形成一个统一的虚拟IP网络
- 从用户角度看,好像在同一个网络上通信,屏蔽了底层物理网络的差异
核心思想
- 虚拟互联网络就是所谓逻辑互联网络 ,意思是互联起来的各种物理网络的异构性是客观存在的 ,但我们利用IP协议就可以使这些性能各异的网络在网络层上看起来好像是一个统一的网络
- IP网是虚拟的,因为并不存在一个独立的物理IP网络
4.3 IP 地址(P122~130,§4.2.2)
IP 地址的定义
IP地址是给互联网上每一台主机(或路由器)的每一个接口分配的一个全世界范围内唯一的**32位(4字节)**标识符。
IP 地址的编址方式经历了三个阶段
- 分类的IP地址(1981年)------最基本的编址方法
- 子网划分(1985年)------对最基本的编址方法的改进
- 构成超网(CIDR)(1993年)------无分类编址方法,目前广泛使用
4.4 IP 地址结构(P122~124,§4.2.2)
IP地址 ::= { <网络号>, <主机号> }
- 网络号(net-id) :标识主机(或路由器)所连接到的网络------一个网络号在整个互联网范围内必须是唯一的
- 主机号(host-id) :标识该网络(网络号所标识的网络)中的某台主机(或路由器)------一个主机号在它前面的网络号所指明的网络范围内必须是唯一的
因此,一个IP地址在整个互联网范围内是唯一的。
4.5 分类的 IP 地址(P122~126,§4.2.2)
| 类别 | 网络号长度 | 主机号长度 | 第一字节范围 | 最大网络数 | 每个网络最大主机数 | 最高位标识 |
|---|---|---|---|---|---|---|
| A类 | 1字节 | 3字节 | 1 ~ 126 | 126(2⁷-2) | 16,777,214(2²⁴-2) | 0 |
| B类 | 2字节 | 2字节 | 128.0 ~ 191.255 | 16,384(2¹⁴) | 65,534(2¹⁶-2) | 10 |
| C类 | 3字节 | 1字节 | 192.0.0 ~ 223.255.255 | 2,097,152(2²¹) | 254(2⁸-2) | 110 |
| D类 | --- | --- | 224.0.0.0 ~ 239.255.255.255 | ---(多播地址) | --- | 1110 |
| E类 | --- | --- | 240.0.0.0 ~ 255.255.255.255 | ---(保留) | --- | 1111 |
特殊IP地址(一般不指派给主机)
| 网络号 | 主机号 | 含义 |
|---|---|---|
| 全0 | 全0 | 本网络上的本主机(源地址,仅在启动时使用) |
| 全0 | host-id | 本网络上的某台主机 |
| 全1 | 全1 | 受限广播(255.255.255.255),只在本网络上广播,路由器不转发 |
| net-id | 全0 | 某个网络的网络地址 |
| net-id | 全1 | 向 net-id 网络上所有主机定向广播 |
| 127 | 任意(非全0全1) | 环回地址(loopback),用于本机进程间通信(127.0.0.1) |
4.6 CIDR(无分类域间路由选择)(P142~144,§4.3.2)
CIDR = Classless Inter-Domain Routing(无分类域间路由选择)
核心特点
- 取消了传统的A、B、C类地址概念,使用**网络前缀(network-prefix)**来代替网络号
- IP地址 = { <网络前缀> , <主机号> }
- 表示法:IP地址 / 前缀位数 (斜线记法),如 192.168.1.0/24
CIDR 地址块
- 前缀长度 = n,则地址块共有 2^(32−n) 个IP地址
- 全0和全1的主机号一般不分配(网络地址和广播地址)
- 可分配地址数 = 2^(32−n) − 2
路由聚合(route aggregation)------构成超网
- 多个连续的网络前缀可聚合为一个更短的前缀
- 例如:192.168.0.0/24 和 192.168.1.0/24 → 聚合成 192.168.0.0/23
- 聚合条件:网络前缀必须是连续的、且具有公共前缀
- 路由聚合有利于减少路由表中的项目数量
4.7 地址掩码的重要性质(P142~143,§4.3.2)
地址掩码(address mask),也称子网掩码(subnet mask)
- 长度 32位
- 由一串1 和接着的一串0组成
- 1的个数 = 网络前缀的位数
- 例如:/24 → 掩码 255.255.255.0(24个1 + 8个0)
- /26 → 掩码 255.255.255.192(26个1 + 6个0)
关键性质
IP地址 AND 地址掩码 = 网络地址(网络前缀)
- 如果两台主机的 IP地址 AND 各自子网掩码 得到的结果相同,则它们在同一个子网中
- 与分类的IP地址(A/B/C类)不同,CIDR 中掩码不受分类限制,前缀长度可以是任意值
4.8 划分子网,网络号,可分配地址的范围,广播地址(P126130,P142144)
为什么要划分子网
- 分类IP地址利用率太低(一个A类网络理论上可有1600多万台主机,实际不可能)
- 两级IP地址不够灵活
- 单位内部需要隔离不同部门,又不希望申请多个网络号
子网划分方法
- 从主机号中借位 作为子网号(subnet-id)
- IP地址 = { <网络号>, <子网号> , <主机号> }
- 子网掩码:网络号 + 子网号对应位全为1,主机号对应位全为0
计算示例
某单位获得一个C类地址 192.168.1.0/24,需要分成6个子网,每个子网25台主机。
- 借位计算:6个子网需要借 3 位(2³=8 ≥ 6),剩余 5 位给主机号(2⁵−2=30 ≥ 25),满足要求
- 子网掩码 = /27 = 255.255.255.224
- 每个子网有 2⁵ = 32 个地址,可分配 = 30 个
| 子网号 | 网络地址 | 可分配IP地址范围 | 广播地址 |
|---|---|---|---|
| 000 | 192.168.1.0 | 192.168.1.1 ~ 192.168.1.30 | 192.168.1.31 |
| 001 | 192.168.1.32 | 192.168.1.33 ~ 192.168.1.62 | 192.168.1.63 |
| 010 | 192.168.1.64 | 192.168.1.65 ~ 192.168.1.94 | 192.168.1.95 |
| 011 | 192.168.1.96 | 192.168.1.97 ~ 192.168.1.126 | 192.168.1.127 |
| 100 | 192.168.1.128 | 192.168.1.129 ~ 192.168.1.158 | 192.168.1.159 |
| 101 | 192.168.1.160 | 192.168.1.161 ~ 192.168.1.190 | 192.168.1.191 |
| 110 | 192.168.1.192 | 192.168.1.193 ~ 192.168.1.222 | 192.168.1.223 |
| 111 | 192.168.1.224 | 192.168.1.225 ~ 192.168.1.254 | 192.168.1.255 |
4.9 会地址汇聚(P142~144,§4.3.2)
最长前缀匹配(longest prefix matching)
路由器在查找路由表时,可能有多个表项与目的地址匹配,则选择网络前缀最长 的那条(即最具体的那条路由)。例如目的地址同时匹配 /22 和 /24 的路由,则选择 /24。
地址汇聚(路由聚合)方法
- 将各个网络地址写成二进制形式
- 找出它们共有的最长公共前缀
- 以该公共前缀作为聚合后的网络地址,掩码长度 = 公共前缀长度
地址汇聚示例
将以下4个网络聚合:
- 192.168.0.0/24 →
11000000.10101000.000000|00.00000000 - 192.168.1.0/24 →
11000000.10101000.000000|01.00000000 - 192.168.2.0/24 →
11000000.10101000.000000|10.00000000 - 192.168.3.0/24 →
11000000.10101000.000000|11.00000000
最长公共前缀 = 22 位 → 汇聚为 192.168.0.0/22
4.10 IP 地址与 MAC 地址,变与不变------P132 图4-6(P130~132,§4.2.3)
核心结论(P132 图4-6 重点)
| IP 地址 | MAC 地址 | |
|---|---|---|
| 作用范围 | 端到端(从源主机到目的主机) | 逐段链路(相邻节点之间) |
| 在传输过程中 | 不变(源IP和目的IP始终保持不变) | 逐跳变化(每经过一个路由器,源MAC和目的MAC都要改变) |
| 性质 | 逻辑地址(软件实现) | 物理地址/硬件地址(固化在网卡ROM中) |
图4-6 的理解(P132)
数据从源主机 H1 到目的主机 H2,经过路由器 R1 和 R2:
- H1 → R1:源MAC=H1的MAC,目的MAC=R1的MAC(源IP=H1,目的IP=H2,不变)
- R1 → R2:源MAC=R1的MAC,目的MAC=R2的MAC(源IP=H1,目的IP=H2,不变)
- R2 → H2:源MAC=R2的MAC,目的MAC=H2的MAC(源IP=H1,目的IP=H2,不变)
IP 地址负责"端到端 "寻址(从北京到上海),MAC 地址负责"一跳一跳"寻址(每经过一个十字路口换一辆车的车牌)。
4.11 地址解析协议 ARP 的作用(P133~136,§4.2.4)
ARP 的定义
ARP(Address Resolution Protocol,地址解析协议):从IP地址解析出对应的MAC地址(硬件地址)。
ARP 工作原理
- 主机A要向同一个局域网上的主机B发送IP数据报,知道B的IP地址,但不知道B的MAC地址
- A在局域网内广播ARP请求分组:"谁的IP地址是 xxx ?请告诉我你的MAC地址"
- 所有主机(包括B)都收到广播,只有B识别出自己的IP地址,向A单播回应ARP响应分组:"我的MAC地址是 xxx"
- A收到后,把B的IP-MAC映射关系写入**ARP高速缓存(ARP cache)**中
- A用B的MAC地址封装MAC帧并发送
ARP 高速缓存
- 每个主机都有一个ARP高速缓存,存放IP地址 → MAC地址的映射表
- 每个映射项有生存时间(TTL),过期则删除(防止IP-MAC对应关系发生变化)
- 发送数据时先在缓存中查找,查不到再发ARP请求
ARP 的四种典型情况
| 场景 | ARP 获取的是谁的MAC地址 |
|---|---|
| 同一局域网内,主机A → 主机B | 目的主机B的MAC地址 |
| 不同局域网,主机A → 路由器 → 主机B | 路由器(网关)的MAC地址 |
| 路由器 → 同一局域网内的目的主机 | 目的主机的MAC地址 |
| 路由器 → 下一跳路由器 | 下一跳路由器的MAC地址 |
4.12 IP 层分组转发的过程(P140~146,§4.3)
路由器转发分组的基本流程
- 从收到的MAC帧中提取IP数据报
- 检查IP数据报首部的首部检验和,若有差错则丢弃
- 检查目的IP地址,查找路由表
- 按最长前缀匹配原则找到最佳匹配的路由表项
- 确定下一跳路由器的IP地址和本路由器的转发接口
- 通过ARP获取下一跳路由器的MAC地址
- 将IP数据报重新封装成帧(源MAC = 本接口MAC,目的MAC = 下一跳MAC)
- 从指定接口将帧发送出去
路由表查找:最长前缀匹配
- 在路由表中逐项比较目的IP地址与各表项的网络前缀是否匹配
- 从所有匹配的表项中选择网络前缀最长的(最具体的)那条
- 若没有匹配项,使用默认路由(0.0.0.0/0)
4.13 路由选择协议的分类(P157~159,§4.6.1)
按层次(作用范围)分类
| 协议类型 | 英文全称 | 中文名称 | 作用范围 | 典型协议 |
|---|---|---|---|---|
| IGP | Interior Gateway Protocol | 内部网关协议 | 一个自治系统AS内部 | RIP (距离向量)、OSPF(链路状态) |
| EGP | Exterior Gateway Protocol | 外部网关协议 | 不同自治系统AS之间 | BGP-4(路径向量) |
自治系统 AS(Autonomous System) :在单一技术管理下的一组路由器,这些路由器使用一种AS内部的路由选择协议和共同的度量。一个AS对其他AS表现出的是一个单一的和一致的路由选择策略。
按能否自适应(动态性)分类
| 类型 | 特点 | 典型代表 |
|---|---|---|
| 静态路由选择策略 | 人工配置路由表,不能自动适应网络拓扑的变化,适用于小型、变化不大的网络 | 管理员手工配置 |
| 动态路由选择策略 | 能自动适应网络拓扑变化,通过路由选择协议自动更新路由表,适用于大型复杂网络 | RIP, OSPF, BGP |
动态路由算法中又分为:① 距离向量算法 (如RIP)------每个路由器只知道到邻居的距离和方向 ② 链路状态算法(如OSPF)------每个路由器拥有完整拓扑图,独立计算最短路径
4.14 每一种类别的典型协议有哪些(P157175,§4.6.1§4.6.4)
| 协议 | 全称 | 类别 | 算法 | 度量 | 适用规模 |
|---|---|---|---|---|---|
| RIP | Routing Information Protocol | IGP | 距离向量(Bellman-Ford) | 跳数(最大15,16不可达) | 小型网络 |
| OSPF | Open Shortest Path First | IGP | 链路状态(Dijkstra SPF) | 代价(带宽等) | 大型网络 |
| BGP-4 | Border Gateway Protocol version 4 | EGP | 路径向量 | AS路径等属性 | 互联网AS之间 |
4.15 RIP 路由表的更新(P159~164,§4.6.2)
RIP 协议基本特征
- 基于距离向量算法
- 距离 = 跳数(hop count):直接相连的网络距离=1,每经过一个路由器+1
- 最大距离 = 16(不可达)
- 每隔约30秒 向相邻路由器广播自己的完整路由表(UDP端口520)
路由表更新规则(距离向量算法)
收到邻居路由器R发来的路由更新信息(每个目的网络的距离):
对于更新中的每个目的网络 N(R到N的距离为 d):
| 当前路由表情况 | 处理方式 |
|---|---|
| N 不在路由表中 | 添加:目的网络=N,下一跳=R,距离=d+1 |
| N 在路由表中,且路由表中的下一跳=R | 更新:距离改为 d+1 |
| N 在路由表中,且路由表中的下一跳≠R | 若 d+1 < 当前距离,则更新 :下一跳改为R,距离改为 d+1;否则不更新 |
RIP 优缺点
- 优点:实现简单、开销小
- 缺点:
- 好消息传播快,坏消息传播慢(慢收敛问题 → "无穷计数"问题)
- 最大距离16限制了网络规模
- 交换整个路由表,开销较大
4.16 专用网络地址块有哪些,专用网络地址的特点(P185~188,§4.8.1)
专用网络地址(私有地址)------RFC 1918
| 地址块 | CIDR 记法 | IP地址范围 |
|---|---|---|
| 1个A类地址块 | 10.0.0.0/8 | 10.0.0.0 ~ 10.255.255.255 |
| 16个B类地址块 | 172.16.0.0/12 | 172.16.0.0 ~ 172.31.255.255 |
| 256个C类地址块 | 192.168.0.0/16 | 192.168.0.0 ~ 192.168.255.255 |
专用地址的特点
- 这些地址只能用于机构的内部通信,不能用于和互联网上的主机通信
- 在互联网中的所有路由器对目的地址是专用地址的数据报一律不进行转发
- 不同机构可以各自独立地重复使用相同的专用地址,互不影响
- 如果机构内部主机要与互联网通信,必须经过NAT(网络地址转换)
4.17 VPN 的实现(P185~188,§4.8.1)
VPN(虚拟专用网)概念
在公用互联网上为机构内部的通信建立一个逻辑上的专用网络 。机构不同地点部门之间通过隧道技术在互联网上传送内部数据,效果上好像在机构自己专用的网络上通信。
实现原理(隧道技术)
- 内部主机(如部门A的主机)发送数据报,使用专用地址作为源地址和目的地址
- 该数据报到达部门A的网关路由器后,网关将整个内部IP数据报加密
- 加密后的内部数据报被封装在一个新的IP数据报中(新数据报的源地址 = 部门A网关的公网地址,目的地址 = 部门B网关的公网地址)
- 这个新数据报可以在互联网上正常路由到达部门B的网关
- 部门B的网关收到后,解封装、解密,还原出原始内部数据报
- 根据内部数据报的目的地址,发给部门B内部的目的主机
关键
- 加密保证了数据机密性
- 封装使得使用专用地址的内部数据报可以通过互联网传送
- 隧道是逻辑上的概念,两端网关之间形成虚拟的直连通路
4.18 什么情况下用 NAT,需要哪些条件(P188~189,§4.8.2)
NAT 使用场景
- 机构的内部网络使用专用IP地址,但需要和互联网上的主机通信
- IP地址紧缺,整个机构只有少量(甚至1个)合法的全球IP地址
NAT 工作原理
- 内部主机(专用地址)发包给互联网某主机
- NAT路由器将IP数据报的源IP地址 由专用地址替换为NAT路由器的全球IP地址
- NAT路由器在NAT转换表中记录该映射关系
- NAT路由器收到来自互联网的响应数据报后,根据转换表把目的IP地址替换回原专用地址,转发给内部主机
必要条件
- NAT路由器至少拥有一个全球IP地址
- NAT路由器必须维护NAT地址转换表,记录专用地址 ↔ 全球地址的映射
- 当多个内部主机共享一个全球IP时(NAPT ,即网络地址与端口号转换),NAT路由器还需记录端口号的映射,通过不同端口号区分内部不同的主机
第五章 运输层(P211 ~ 259)
5.1 UDP 和 TCP 的特点与区别(P213~220,§5.1.2, §5.2.1, §5.3.1)
| 对比维度 | UDP(用户数据报协议) | TCP(传输控制协议) |
|---|---|---|
| 是否需要连接 | 无连接------发送数据前不需建立连接 | 面向连接------必须先建立连接,通信完毕释放连接 |
| 可靠性 | 不可靠------尽最大努力交付,不保证不丢失、不乱序 | 可靠------通过确认、重传、按序交付保证 |
| 传输单元 | UDP用户数据报(UDP报文) | TCP报文段(segment) |
| 首部开销 | 8字节(开销小) | 最小20字节(开销大) |
| 流量控制 | 无 | 有(滑动窗口机制) |
| 拥塞控制 | 无 | 有(慢启动、拥塞避免、快重传、快恢复) |
| 通信方式 | 一对一、一对多、多对一、多对多(支持广播、多播) | 只能一对一(单播,点对点,全双工) |
| 数据边界 | 面向报文------保留应用层下发的报文边界,一次发送一个完整报文 | 面向字节流------不保留报文边界,应用层数据被看作无结构的字节流 |
| 适用场景 | DNS, DHCP, RIP, SNMP, VoIP, 实时视频流 | HTTP, FTP, SMTP, TELNET, SSH |
| 传输效率 | 高(无连接无确认,实时性好) | 较低(有连接建立和确认开销) |
核心速记
UDP = 无连接 + 不可靠 + 低开销 + 实时性好 + 支持多播
TCP = 面向连接 + 可靠 + 全双工 + 流量控制 + 拥塞控制 + 仅点对点
5.2 如何区分不同的应用------端口号(P214~215,§5.1.3)
运输层通过**端口号(port number)**来区分主机中不同的应用进程。
- 端口号用一个16位的数表示,范围 0 ~ 65535
- IP地址 + 端口号 = 套接字(Socket)------唯一标识网络中的某个应用进程
- 运输层的复用和分用就是通过端口号实现的
端口号的分类
| 类别 | 范围 | 说明 | 示例 |
|---|---|---|---|
| 熟知端口(系统端口/Well-known Ports) | 0 ~ 1023 | 由IANA分配给重要的应用协议 | HTTP=80, HTTPS=443, FTP控制=21, FTP数据=20, SMTP=25, DNS=53, DHCP服务器=67, DHCP客户端=68, RIPv2=520, TELNET=23 |
| 登记端口(Registered Ports) | 1024 ~ 49151 | 为没有熟知端口号的应用保留,用户可注册使用 | 数据库、私有应用 |
| 动态/私有端口(Dynamic/Private Ports) | 49152 ~ 65535 | 客户进程临时使用(客户端发起通信时由操作系统动态分配) | 浏览器发起HTTP请求时的临时端口 |
5.3 滑动窗口机制(P229~233,§5.6.1)
基本概念
TCP使用以字节为单位的滑动窗口来实现可靠传输和流量控制。
- 发送窗口:发送方在没有收到确认的情况下,可以连续发送的字节范围
- 窗口大小 由接收方通过确认报文中的窗口字段告知发送方(同时受拥塞窗口限制)
- 收到确认后,发送窗口前移(滑动),腾出空间让新的数据可以发送
两种基本的自动重传请求(ARQ)方式
| 方式 | 原理 |
|---|---|
| 停止等待协议(P221~224,§5.4.1) | 发送方每发一个分组就停下来等待确认;收到确认后再发下一个。效率低,信道利用率差 |
| 连续ARQ协议(P224,§5.4.2) | 发送方连续发送窗口内的数据而不必逐个等待确认。Go-Back-N(后退N帧):接收方只按序接收,出错则丢弃后续所有帧,发送方超时后重传从出错帧起的所有帧 |
TCP 滑动窗口的特点(P229~233)
- 以字节为单位的滑动窗口
- 接收方累积确认------确认号 n 表示 n-1 及之前的所有字节都已收到
- 发送窗口大小由**接收方窗口(rwnd)和拥塞窗口(cwnd)**共同决定:发送窗口 = min(rwnd, cwnd)
5.4 TCP 流量控制和拥塞控制的不同,分别如何实现(P236245,§5.7§5.8)
流量控制 vs 拥塞控制
| 对比维度 | 流量控制(Flow Control) | 拥塞控制(Congestion Control) |
|---|---|---|
| 目的 | 控制发送方速率,防止接收方处理不过来 | 控制发送方速率,防止整个网络过载 |
| 关注对象 | 端到端(发送方 ↔ 接收方) | 全局(整个网络的承载能力) |
| 依据 | 接收方通告的接收窗口 rwnd | 网络拥塞状态(通过超时或重复ACK推断) |
| 实现位置 | 发送方根据 rwnd 调整发送量 | 发送方根据拥塞状态调整拥塞窗口 cwnd |
| 关系 | 实际发送窗口 = min(rwnd, cwnd) |
流量控制的实现(§5.7.1,P236~237)
- 接收方在TCP报文段首部的窗口字段 中写入
rwnd(接收窗口大小) - 发送方保证:已发送但未确认的数据量 ≤ rwnd
- rwnd=0 时发送方暂停发送,等待接收方发送窗口更新通知
- 设置持续计时器(persistence timer):防止窗口更新通知丢失导致死锁,定时器到期后发送零窗口探测报文
TCP 拥塞控制的实现------四种算法(§5.8.2,P241~245)
发送方需维护两个变量:拥塞窗口 cwnd 和 慢启动门限 ssthresh
| 算法 | 触发条件 | 行为 |
|---|---|---|
| 慢启动(Slow Start) | TCP连接刚建立 / 发生超时后 | cwnd 初始 = 1 MSS;每收到一个ACK确认,cwnd += 1 → 指数增长(每轮RTT翻倍),直到 cwnd ≥ ssthresh |
| 拥塞避免(Congestion Avoidance) | cwnd ≥ ssthresh 时 | 每经过一个RTT,cwnd += 1 → 线性增长(加法增大) |
| 快重传(Fast Retransmit) | 收到3个重复ACK | 不等超时重传计时器到期,立即重传丢失的报文段 |
| 快恢复(Fast Recovery) | 快重传之后 | ssthresh = cwnd/2;cwnd = ssthresh;直接进入拥塞避免(不降到1,不走慢启动) |
超时(RTO超时)时的处理 :ssthresh = cwnd/2;cwnd = 1;重新进入慢启动
5.5 TCP 运输连接管理------三报文握手的过程及对应控制位取值(P247~248,§5.9.1)
TCP 连接建立------三报文握手(Three-Way Handshake)
| 握手 | 方向 | 报文 | 关键标志位 | 序号和确认号 |
|---|---|---|---|---|
| 第一次 | 客户 → 服务器 | SYN报文 | SYN=1, ACK=0 | seq=x(客户初始序号,随机产生) |
| 第二次 | 服务器 → 客户 | SYN+ACK报文 | SYN=1 , ACK=1 | seq=y (服务器初始序号),ack=x+1 |
| 第三次 | 客户 → 服务器 | ACK报文 | SYN=0, ACK=1 | seq=x+1 , ack=y+1 |
控制位取值汇总
| 报文 | SYN | ACK | seq 值 | ack 值 |
|---|---|---|---|---|
| 第一次握手(SYN) | 1 | 0 | x(随机) | (无意义,通常为0) |
| 第二次握手(SYN+ACK) | 1 | 1 | y(随机) | x + 1 |
| 第三次握手(ACK) | 0 | 1 | x + 1 | y + 1 |
为什么要三次握手(而不是两次)
防止已失效的连接请求报文突然又传送到了服务器,导致服务器错误地以为需要建立连接,从而白白浪费服务器资源。
例如:客户第一次发SYN,因网络延迟没有到达服务器。客户重发SYN,成功建立连接,通信完毕释放。此后,那个在网络中延迟的旧SYN突然到达了服务器。如果是两次握手,服务器就会以为客户又要建立连接,分配资源等待客户数据,造成资源浪费。三次握手中,服务器收到旧SYN后发出SYN+ACK,但客户不会回应第三个ACK,服务器就不会误建连接。
TCP 连接释放(四次握手/四次挥手,P248~250)
- 客户 → 服务器:FIN=1, seq=u(客户进入 FIN-WAIT-1)
- 服务器 → 客户:ACK=1, seq=v, ack=u+1(服务器进入 CLOSE-WAIT,客户进入 FIN-WAIT-2)
- 服务器 → 客户:FIN=1, ACK=1, seq=w, ack=u+1(服务器进入 LAST-ACK)
- 客户 → 服务器:ACK=1 , seq=u+1, ack=w+1(客户进入 TIME-WAIT,等待 2MSL 后关闭)
TIME-WAIT 状态等待 2MSL(Maximum Segment Lifetime,最长报文段寿命,通常2分钟)的原因:① 确保最后一个ACK能到达服务器 ② 让旧连接的所有报文都从网络中消失
第六章 应用层(P260 ~ 333)
6.1 DNS 的解析过程(P261~269,§6.1)
DNS(Domain Name System,域名系统)
- 将域名 (如 www.example.com)解析为IP地址(如 93.184.216.34)
- 采用分布式 的域名服务器和层次化的域名结构
- DNS协议基于UDP,端口号53
域名解析过程(P262~264)
① 递归查询(主机 → 本地域名服务器) :
主机向本地域名服务器查询时,本地域名服务器以DNS客户身份代替主机向其他域名服务器逐级查询到底,最后将结果返回给主机。
② 迭代查询(本地域名服务器 → 各级域名服务器):
本地域名服务器 ──→ 根域名服务器:"www.example.com 的IP?"
← 根:"我不知道,但你可以问 .com 顶级域名服务器(IP=x.x.x.x)"
本地域名服务器 ──→ .com 顶级域名服务器:"www.example.com 的IP?"
← .com:"我不知道,但你可以问 example.com 权限域名服务器(IP=y.y.y.y)"
本地域名服务器 ──→ example.com 权限域名服务器:"www.example.com 的IP?"
← example.com:"IP = 93.184.216.34"
本地域名服务器 → 返回结果给主机
高速缓存(DNS Cache) :各级域名服务器将最近查询到的域名→IP映射缓存一段时间(TTL),以提高查询效率、减少网络负载。
6.2 四种域名服务器的作用(P264~269,§6.1.3)
| 域名服务器类型 | 英文 | 详细作用 |
|---|---|---|
| 根域名服务器 | Root Name Server | 知道所有顶级域名服务器的域名和IP地址。共有13组(a ~ m .root-servers.net),采用**任播(anycast)**技术在全球部署。是最重要但也是最少的服务器 |
| 顶级域名服务器 | TLD Name Server (Top Level Domain) | 管理在该顶级域名下注册的所有二级域名。例如 .com 顶级域名服务器管理所有以 .com 结尾的域名 |
| 权限域名服务器 | Authoritative Name Server | 负责一个区(zone)的域名解析工作。保存该区中所有主机的域名→IP映射。是DNS查询的最终来源 |
| 本地域名服务器 | Local Name Server | 也称默认域名服务器,不属于 DNS层次结构。由ISP或机构设置,距离用户最近。主机DNS配置中指定的就是它。接收主机查询请求,代理主机完成查询 |
6.3 FTP 工作原理(P269~271,§6.2)
FTP(File Transfer Protocol,文件传送协议)
FTP采用两个并行的TCP连接来传送文件:
| 连接 | 端口 | 用途 | 生命周期 |
|---|---|---|---|
| 控制连接(Control Connection) | 服务器端口 21 | 在客户和服务器之间传送控制命令和响应(如登录、切换目录、请求传输等) | 在整个FTP会话过程中始终保持 |
| 数据连接(Data Connection) | 服务器端口 20 | 实际传送文件数据 | 每次文件传输临时建立,传输完毕立即释放 |
FTP 基本工作流程
- 客户向FTP服务器的21号端口 发起TCP连接 → 建立控制连接
- 客户通过控制连接发送登录信息(用户名和密码)进行身份验证
- 需要传输文件时,客户通过控制连接发送 PORT(主动模式)或 PASV(被动模式)命令
- 服务器从20号端口 向客户的数据端口发起TCP数据连接
- 文件数据通过数据连接传输
- 文件传输完毕,释放数据连接
- 控制连接继续保持,可以发送其他命令或传输其他文件
- 客户发送QUIT命令 → 控制连接释放 → FTP会话结束
主动模式(PORT)vs 被动模式(PASV)
- PORT(主动) :客户用PORT命令告诉服务器自己开放的数据端口号,服务器主动向客户发起数据连接
- PASV(被动) :服务器开放一个临时数据端口并告知客户,客户主动连接该端口
6.4 代理服务器的作用(P276~283,§6.4.3)
代理服务器(Proxy Server)又称万维网高速缓存(Web Cache):
- 代表浏览器向万维网服务器发送HTTP请求
- 将万维网服务器返回的对象(网页、图片等)先缓存
- 再把缓存内容转发给请求的浏览器
- 后续如有相同请求,直接从缓存中返回,不再向远端万维网服务器请求
作用
- 减少网络流量------避免反复下载相同的内容,节省互联网带宽
- 减少用户感知的访问时延------缓存邻近用户,访问速度比从远端服务器快得多
- 提高安全性------可配置策略过滤恶意网站或敏感内容;记录访问日志供审计
- 实现访问控制------可限制用户访问特定网站
- 突破访问限制------某些情况下用户可通过代理访问受限资源(如翻墙代理)
6.5 HTTP 报文结构(P276~283,§6.4.3,重点P281)
HTTP报文的基本结构
HTTP报文分为请求报文 和响应报文,结构基本相同:
┌─────────────────────────────────────┐
│ 开始行(Start Line) │ 请求报文:请求行 / 响应报文:状态行
├─────────────────────────────────────┤
│ 首部行(Header Lines) │ 多个字段行,格式为 字段名: 值
├─────────────────────────────────────┤
│ 空行(CRLF) │ 必须!用于分隔首部与实体主体
├─────────────────────────────────────┤
│ 实体主体(Entity Body) │ 可选,携带的数据(请求的参数或响应的HTML)
└─────────────────────────────────────┘
请求报文的请求行(P281)
GET /index.html HTTP/1.1
方法 URL(路径) 版本
常用HTTP方法:
- GET:请求读取由URL标识的资源
- POST:向服务器提交数据(如表单)
- HEAD:与GET类似但不返回实体主体(仅返回首部)
- PUT:向指定URL上传资源
- DELETE:删除指定资源
响应报文的状态行(P281)
HTTP/1.1 200 OK
版本 状态码 原因短语
状态码分类:
- 1xx:信息性状态码------请求已接收,继续处理
- 2xx:成功------200 OK(请求成功)、201 Created
- 3xx:重定向------301 永久移动、302 临时移动、304 未修改(使用缓存)
- 4xx :客户端错误------400 错误请求、404 Not Found、403 禁止访问
- 5xx:服务器错误------500 内部服务器错误、503 服务不可用
常用首部行
Host, Connection, User-Agent, Accept, Referer, Content-Type, Content-Length, Cookie, Set-Cookie, Cache-Control, Location
6.6 DHCP 的作用(P304~306,§6.6)
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)
- 使一台新加入网络的主机能够自动获取IP地址、子网掩码、默认网关、DNS服务器等网络配置参数
- 基于UDP:客户端使用端口 68 ,服务器端使用端口 67
- 实现即插即用联网(Plug-and-Play)
DHCP 工作过程(四次交互)
DHCP客户 (端口68) DHCP服务器 (端口67)
│ │
│──── DHCPDISCOVER(广播,发现DHCP服务器)─────→│ "谁是DHCP服务器?我需要IP地址"
│ │
│←─── DHCPOFFER(单播/广播,提供IP等参数)─────│ "我可以提供IP: 192.168.1.100"
│ │
│──── DHCPREQUEST(广播,确认使用该IP)────────→│ "好,我就用192.168.1.100"
│ │
│←─── DHCPACK(单播,最终确认)──────────────│ "确认,租用期8小时"
│ │
IP地址租用期(lease time)
- DHCP分配的IP地址不是永久的,有使用期限
- 租用期过了一半时,客户向DHCP服务器发送DHCPREQUEST 要求续租
- 若续租失败,可在租用期到87.5%时向任何DHCP服务器广播DHCPREQUEST重新申请
第七章 网络安全(P334 ~ 369)
7.1 计算机网络的通信面临的两大威胁(P334~336,§7.1.1)
| 威胁类型 | 攻击方式 | 具体举例 |
|---|---|---|
| 被动攻击(Passive Attack) | 截获 ------窃听通信内容,不篡改数据 | 搭线窃听、网络嗅探(sniffing)、流量分析 |
| 主动攻击(Active Attack) | 篡改、恶意程序、拒绝服务------主动修改/伪造/中断通信 | 篡改报文内容、伪造身份(假冒)、植入病毒/蠕虫/木马/逻辑炸弹、DoS/DDoS攻击、重放攻击 |
重要结论
- 被动攻击 :非常难以检测 ,但可以预防(通过加密)
- 主动攻击 :很难预防 ,但可以检测
7.2 安全的计算机网络的四个目标(P336~337,§7.1.2)
| 目标 | 英文 | 含义 | 实现手段 |
|---|---|---|---|
| 机密性 | Confidentiality | 信息不泄露给非授权用户/实体 | 加密 |
| 完整性 | Integrity | 信息在存储或传输过程中保持未被修改、破坏和丢失 | 报文鉴别(数字签名/HMAC) |
| 可用性 | Availability | 授权用户需要时可以随时访问信息 | 防御DoS/DDoS、备份、冗余 |
| 不可否认性 | Non-repudiation | 通信双方事后不能抵赖已进行的通信行为 | 数字签名 |
7.3 数据加密模型(P337~338,§7.1.3)
加密密钥 Ke 解密密钥 Kd
│ │
↓ ↓
明文 X ──→ [加密算法 E] ──→ 密文 Y ──→ [解密算法 D] ──→ 明文 X
↑ ↑
E(X, Ke) = Y D(Y, Kd) = X
截获者即使获得密文 Y,也无法得知明文 X
- 明文 X:未加密的原始数据
- 加密算法 E:对明文进行加密操作时所使用的变换规则
- 密文 Y:加密后的数据,在信道上传输
- 解密算法 D:对密文进行解密操作时所使用的变换规则
- 加密密钥 Ke 和 解密密钥 Kd:算法中使用的参数
Kerckhoffs 原则
密码体制的安全性不依赖于加密算法的保密,而仅应依赖于对密钥的保密。即使密码算法公开,只要密钥保密好,密码体制仍是安全的。
7.4 两类密码体制的区别及适用环境(P338~341,§7.2)
| 对比维度 | 对称密钥密码体制 | 公钥密码体制(非对称) |
|---|---|---|
| 密钥关系 | 加密密钥 = 解密密钥(收发双方共享同一个密钥) | 加密密钥(公钥 PK)≠ 解密密钥(私钥 SK) |
| 密钥数量 | n个用户通信需 n(n-1)/2 个密钥(O(n²)),密钥管理困难 | n个用户只需 2n 个密钥(每人一对:公钥+私钥),即 O(n) |
| 加密/解密速度 | 快(DES算法比RSA快约100倍) | 慢(涉及大数模幂运算) |
| 算法安全性基础 | 代换和置换的复杂组合 | 数学难题(大整数因子分解、离散对数等) |
| 典型算法 | DES (56位密钥,已不够安全,被淘汰)、3DES 、AES(128/192/256位,当前主流) | RSA (大数分解难)、ECC (椭圆曲线,密钥短安全性高)、DSA |
| 适用场景 | 对大量数据进行加解密(速度优势) | ①密钥分配 (用公钥加密对称会话密钥) ②数字签名 (用私钥签名) ③少量数据的加密 |
混合密码系统(实际应用中的普遍做法)
- 用公钥密码体制 安全地分配对称密钥(会话密钥)
- 实际数据传输使用对称密钥加密(因为速度快)
- 这样既解决了密钥分配的难题,又保证了数据加密的效率
7.5 数字签名的原理、可保密的数字签名(P341~348,§7.3)
数字签名的三个功能
- 报文鉴别------接收方能够验证报文确实来自声称的发送方
- 不可否认性------发送方事后不能抵赖已发送的报文
- 完整性------接收方能验证报文在传输过程中未被篡改
基于公钥密码的数字签名原理
A 发送签名的报文给 B:
① A 用散列函数对报文计算 → 报文摘要 H
② A 用自己的私钥 SK_A 加密报文摘要 H → 数字签名 S
③ A 将 报文 + 数字签名 S 发送给 B
B 验证签名:
① B 用A的公钥 PK_A 解密数字签名 S → 得到报文摘要 H₁
② B 对收到的报文用同样的散列函数计算 → 得到报文摘要 H₂
③ 比较 H₁ == H₂ → 相等则签名有效(报文确实来自A且未被篡改)
为什么要用报文摘要而不用私钥直接签名报文全文?
- 公钥密码算法加密/解密非常慢
- 直接用私钥对长报文全文加密效率太低
- 先用散列函数 (Hash Function,如 SHA-256)生成定长短的报文摘要(message digest)
- 只对摘要签名,速度大大提高
- 常用的散列函数:MD5 (128位,已不安全)、SHA-1 (160位,已不安全)、SHA-256(256位,当前推荐)
可保密的数字签名(同时实现数字签名 + 保密)
A → B 发送过程:
① A用自己的私钥 SK_A 对报文摘要签名 → 数字签名
② A用B的公钥 PK_B 对(报文 + 数字签名)加密 → 密文
③ 将密文发送给 B
B → 收到后:
① B用自己的私钥 SK_B 解密密文 → 报文 + 数字签名
② B用A的公钥 PK_A 验证签名 → 确认来源和完整性
这样就同时实现了:
- 签名------A事后不能否认(不可否认性)
- 保密------只有B能解密看到内容(机密性)
7.6 防火墙技术,分类级别(P364~365,§7.6.1)
防火墙定义
防火墙是位于内部网络 与外部互联网 之间的一个系统(硬件/软件),根据预定义的安全策略对进出网络的数据分组进行检查和过滤。
防火墙分类及安全级别
| 防火墙类型 | 工作层次 | 功能原理 | 安全级别 |
|---|---|---|---|
| 包过滤路由器(分组过滤防火墙) | 网络层 / 运输层 | 根据IP数据报的源/目的IP地址、端口号、协议类型等决定放行或丢弃,工作在网络层和运输层 | 最低 |
| 状态检测防火墙 | 网络层 ~ 应用层 | 不仅检查单个分组的首部,还跟踪每个TCP连接的状态,根据上下文(状态表)做出决策 | 较高 |
| 应用网关(应用代理防火墙) | 应用层 | 为每种应用服务单独安装代理程序,在应用层对数据进行检查和过滤,能理解应用协议的内容 | 最高 |
防火墙的局限性
- 不能防御内部攻击(防火墙防外不防内)
- 不能防绕过防火墙的连接(如通过电话拨号、移动热点等)
- 一般不能防御病毒(需要配合杀毒软件)
- 不能防御数据驱动的攻击(表面合法的数据中隐藏的恶意代码)
- 不能防御全新的还未认识的攻击
7.7 入侵检测系统的作用(P365~366,§7.6.2)
IDS(Intrusion Detection System,入侵检测系统)
- 在入侵已经开始但还未造成危害或造成的危害还不大时,及时检测到入侵,以便尽快阻止入侵
- 是对防火墙的合理补充 ------防火墙提供了静态防御,IDS实现了动态监测和主动响应
作用
- 实时监测------持续监控网络流量和系统日志,识别可疑行为
- 及时报警------发现入侵后立即通知管理员采取应对措施
- 记录证据------详细记录入侵行为,为事后取证和追查提供依据
- 主动响应------可自动触发防护措施(如断开连接、阻断源IP、关闭服务等)
两种类型
| 类型 | 部署位置 | 监测对象 |
|---|---|---|
| 基于网络的 IDS(NIDS) | 部署在关键网段/网络边界 | 网络流量、数据包特征 |
| 基于主机的 IDS(HIDS) | 部署在关键服务器/主机上 | 系统日志、文件完整性、进程活动 |
IDS 与防火墙的关系
- 防火墙 = 门卫------静态防御,阻止未授权者进入
- IDS = 监控摄像头 + 报警器------动态监测,发现异常及时报警
- 两者互为补充,共同构成纵深防御体系