计算机网络与分布式系统
1. 计算机网络概述
1.1 计算机网络基本概念
计算机网络:是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
计算机网络的基本特征:
- 资源共享
- 信息传递
- 分布式处理
- 提高可靠性
- 负载均衡
计算机网络的分类:
| 分类标准 | 类型 | 说明 |
|---|---|---|
| 按覆盖范围 | 局域网(LAN) | 覆盖范围小,如办公室、校园 |
| 城域网(MAN) | 覆盖一个城市 | |
| 广域网(WAN) | 覆盖范围广,如国家、洲际 | |
| 按拓扑结构 | 总线型 | 所有设备连接到一条总线上 |
| 星型 | 所有设备连接到一个中心节点 | |
| 环型 | 设备首尾相连形成环 | |
| 树型 | 层次结构 | |
| 网状型 | 任意两个节点之间都有连接 |
1.2 网络体系结构
OSI参考模型:
| 层次 | 名称 | 主要功能 | 协议/设备 |
|---|---|---|---|
| 第7层 | 应用层 | 为应用程序提供网络服务 | HTTP、FTP、SMTP、DNS |
| 第6层 | 表示层 | 数据格式转换、加密解密 | SSL/TLS |
| 第5层 | 会话层 | 建立、管理和终止会话 | NetBIOS |
| 第4层 | 传输层 | 端到端的数据传输 | TCP、UDP |
| 第3层 | 网络层 | 路由选择、拥塞控制 | IP、ICMP、ARP、路由器 |
| 第2层 | 数据链路层 | 帧的传输、差错控制 | PPP、HDLC、交换机 |
| 第1层 | 物理层 | 比特流传输 | 集线器、中继器、网线 |
TCP/IP模型:
| 层次 | 对应OSI层 | 主要协议 |
|---|---|---|
| 应用层 | 应用层+表示层+会话层 | HTTP、FTP、SMTP、DNS、Telnet |
| 传输层 | 传输层 | TCP、UDP |
| 网际层 | 网络层 | IP、ICMP、ARP、RARP |
| 网络接口层 | 数据链路层+物理层 | Ethernet、WiFi |
1.3 网络协议
TCP协议(传输控制协议):
- 面向连接的、可靠的、基于字节流的传输层通信协议
- 提供流量控制、拥塞控制、差错控制
- 三次握手建立连接,四次挥手断开连接
UDP协议(用户数据报协议):
- 无连接的、不可靠的传输层协议
- 传输速度快,开销小
- 适用于实时应用,如视频、音频传输
IP协议(网际协议):
- 负责将数据包从源主机传输到目的主机
- IPv4:32位地址,约43亿个地址
- IPv6:128位地址,几乎无限
常用端口号:
| 服务 | 端口号 | 协议 |
|---|---|---|
| HTTP | 80 | TCP |
| HTTPS | 443 | TCP |
| FTP | 20/21 | TCP |
| SSH | 22 | TCP |
| Telnet | 23 | TCP |
| SMTP | 25 | TCP |
| DNS | 53 | UDP/TCP |
| DHCP | 67/68 | UDP |
| POP3 | 110 | TCP |
| IMAP | 143 | TCP |
2. 物理层与数据链路层
2.1 物理层
物理层功能:
- 为数据端设备提供传送数据的通路
- 传输数据
物理层特性:
- 机械特性:指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等
- 电气特性:指明在接口电缆的各条线上出现的电压的范围
- 功能特性:指明某条线上出现的某一电平的电压表示何种意义
- 规程特性:指明对于不同功能的各种可能事件的出现顺序
传输介质:
| 介质类型 | 特点 | 应用场景 |
|---|---|---|
| 双绞线 | 成本低、易安装、抗干扰能力较弱 | 局域网 |
| 同轴电缆 | 抗干扰能力强、传输距离远 | 有线电视、早期以太网 |
| 光纤 | 带宽大、传输距离远、抗干扰能力强 | 骨干网、长距离传输 |
| 无线 | 灵活、无需布线 | 移动网络、WiFi |
2.2 数据链路层
数据链路层功能:
- 链路管理:链路的建立、维持和释放
- 帧定界:确定帧的边界
- 流量控制:控制发送方的发送速率
- 差错控制:检测和纠正传输错误
- 将数据和控制信息区分开
- 透明传输
- 寻址
帧格式:

差错控制:
- 检错编码:奇偶校验码、循环冗余校验(CRC)
- 纠错编码:海明码
流量控制方法:
- 停止-等待协议:发送一帧后等待确认
- 滑动窗口协议:连续发送多帧
- 后退N帧协议(GBN)
- 选择重传协议(SR)
介质访问控制:
- 信道划分:频分多路复用(FDM)、时分多路复用(TDM)、波分多路复用(WDM)、码分多路复用(CDM)
- 随机访问:ALOHA、CSMA、CSMA/CD、CSMA/CA
- 轮询访问:令牌传递
3. 网络层
3.1 网络层功能
网络层主要功能:
- 路由选择与分组转发
- 异构网络互联
- 拥塞控制
路由算法分类:
- 静态路由算法:
- 泛洪路由算法
- 固定路由算法
- 动态路由算法:
- 距离向量路由算法(RIP)
- 链路状态路由算法(OSPF)
3.2 IP协议
IPv4地址分类:
| 类别 | 地址范围 | 默认子网掩码 | 用途 |
|---|---|---|---|
| A类 | 1.0.0.0 ~ 126.255.255.255 | 255.0.0.0 | 大型网络 |
| B类 | 128.0.0.0 ~ 191.255.255.255 | 255.255.0.0 | 中型网络 |
| C类 | 192.0.0.0 ~ 223.255.255.255 | 255.255.255.0 | 小型网络 |
| D类 | 224.0.0.0 ~ 239.255.255.255 | - | 组播 |
| E类 | 240.0.0.0 ~ 255.255.255.255 | - | 保留 |
私有IP地址范围:
- A类:10.0.0.0 ~ 10.255.255.255
- B类:172.16.0.0 ~ 172.31.255.255
- C类:192.168.0.0 ~ 192.168.255.255
子网划分: 通过借用主机位来创建子网,子网掩码用于区分网络位和主机位。
CIDR(无类别域间路由):
使用”网络前缀/前缀长度”表示法,如192.168.1.0/24。
NAT(网络地址转换): 将私有IP地址转换为公有IP地址,实现内网访问外网。
3.3 路由协议
RIP(路由信息协议):
- 距离向量路由协议
- 使用跳数作为度量标准
- 最大跳数为15
- 每30秒广播一次路由表
OSPF(开放式最短路径优先):
- 链路状态路由协议
- 使用Dijkstra算法计算最短路径
- 支持区域划分
- 收敛速度快
BGP(边界网关协议):
- 外部网关协议
- 用于自治系统之间的路由
- 路径向量协议
3.4 ICMP协议
ICMP(互联网控制报文协议):
- 用于在IP主机、路由器之间传递控制消息
- 差错报告:目的不可达、超时、参数问题
- 查询报文:回显请求/应答(Ping)、时间戳请求/应答
常用命令:
ping:测试网络连通性traceroute:跟踪路由路径
4. 传输层
4.1 TCP协议
TCP特点:
- 面向连接
- 可靠传输
- 全双工通信
- 面向字节流
TCP报文段格式:

TCP连接管理:
三次握手:
- 客户端发送SYN=1,seq=x
- 服务器发送SYN=1,ACK=1,seq=y,ack=x+1
- 客户端发送ACK=1,seq=x+1,ack=y+1
四次挥手:
- 客户端发送FIN=1,seq=u
- 服务器发送ACK=1,seq=v,ack=u+1
- 服务器发送FIN=1,ACK=1,seq=w,ack=u+1
- 客户端发送ACK=1,seq=u+1,ack=w+1
TCP可靠传输机制:
- 序号与确认:每个字节都有编号
- 超时重传:超时未收到确认则重传
- 快速重传:收到3个重复ACK立即重传
- 选择确认(SACK):只重传丢失的报文段
TCP流量控制: 使用滑动窗口机制,接收方通过窗口字段告诉发送方自己的接收缓冲区大小。
TCP拥塞控制:
- 慢开始:拥塞窗口从1开始指数增长
- 拥塞避免:达到阈值后线性增长
- 快重传:收到3个重复ACK立即重传
- 快恢复:不降到慢开始,而是降到新的阈值
4.2 UDP协议
UDP特点:
- 无连接
- 不可靠传输
- 开销小
- 支持一对一、一对多、多对一、多对多通信
UDP报文格式:

UDP适用场景:
- DNS查询
- 视频、音频流媒体
- 在线游戏
- 实时通信
5. 应用层
5.1 DNS(域名系统)
DNS功能:将域名解析为IP地址。
域名结构: 根域 → 顶级域(.com、.org、.cn) → 二级域 → 子域 → 主机
DNS查询方式:
- 递归查询:DNS服务器代替客户端进行查询
- 迭代查询:DNS服务器返回下一个应该查询的服务器地址
DNS记录类型:
| 记录类型 | 说明 |
|---|---|
| A | 主机IP地址 |
| AAAA | IPv6地址 |
| CNAME | 别名 |
| MX | 邮件交换记录 |
| NS | 域名服务器 |
| PTR | 反向解析 |
| SOA | 起始授权记录 |
5.2 HTTP协议
HTTP(超文本传输协议):
- 应用层协议
- 基于请求-响应模式
- 无状态协议
HTTP方法:
| 方法 | 说明 |
|---|---|
| GET | 获取资源 |
| POST | 提交数据 |
| PUT | 更新资源 |
| DELETE | 删除资源 |
| HEAD | 获取响应头 |
| OPTIONS | 获取支持的选项 |
HTTP状态码:
| 状态码 | 说明 |
|---|---|
| 1xx | 信息性状态码 |
| 2xx | 成功状态码(200 OK) |
| 3xx | 重定向状态码(301、302) |
| 4xx | 客户端错误(404 Not Found) |
| 5xx | 服务器错误(500 Internal Server Error) |
HTTP/1.1 vs HTTP/2:
- HTTP/1.1:串行请求、队头阻塞
- HTTP/2:多路复用、头部压缩、服务器推送
HTTPS:
- HTTP + SSL/TLS
- 提供加密、身份认证、完整性保护
5.3 FTP协议
FTP(文件传输协议):
- 使用两个连接:控制连接(21端口)和数据连接(20端口)
- 支持主动模式和被动模式
5.4 电子邮件协议
| 协议 | 功能 | 端口 |
|---|---|---|
| SMTP | 发送邮件 | 25 |
| POP3 | 接收邮件 | 110 |
| IMAP | 接收邮件,支持在线管理 | 143 |
5.5 DHCP协议
DHCP(动态主机配置协议):
- 自动分配IP地址
- 工作过程:发现(DISCOVER)→ 提供(OFFER)→ 请求(REQUEST)→ 确认(ACK)
6. 网络安全
6.1 网络安全威胁
| 威胁类型 | 说明 |
|---|---|
| 窃听 | 非法获取通信内容 |
| 篡改 | 修改传输中的数据 |
| 伪造 | 冒充他人身份 |
| 拒绝服务(DoS) | 使系统无法提供服务 |
| 中间人攻击 | 在通信双方之间插入攻击者 |
6.2 加密技术
对称加密:
- 加密和解密使用同一密钥
- 算法:DES、3DES、AES
- 优点:速度快
- 缺点:密钥分发困难
非对称加密:
- 使用公钥和私钥配对
- 算法:RSA、ECC
- 优点:密钥分发安全
- 缺点:速度慢
哈希函数:
- 将任意长度数据映射为固定长度
- 算法:MD5、SHA-1、SHA-256
- 特点:单向性、抗碰撞性
数字签名:
- 使用私钥签名,公钥验证
- 提供身份认证和不可否认性
6.3 安全协议
SSL/TLS:
- 传输层安全协议
- 提供加密、认证、完整性保护
- 握手过程协商加密算法和密钥
IPsec:
- 网络层安全协议
- 提供AH(认证头)和ESP(封装安全载荷)
VPN(虚拟专用网络):
- 在公共网络上建立加密通道
- 类型:PPTP、L2TP、IPsec VPN、SSL VPN
6.4 防火墙与入侵检测
防火墙:
- 包过滤防火墙:基于IP地址、端口过滤
- 状态检测防火墙:跟踪连接状态
- 应用层防火墙:深度包检测
IDS(入侵检测系统):
- 检测网络或系统中的恶意活动
- 类型:基于主机(HIDS)、基于网络(NIDS)
IPS(入侵防御系统):
- 主动阻止检测到的攻击
7. 网络设备
7.1 物理层设备
| 设备 | 功能 | 工作层次 |
|---|---|---|
| 中继器 | 信号放大、延长传输距离 | 物理层 |
| 集线器(Hub) | 多端口中继器,广播数据 | 物理层 |
7.2 数据链路层设备
| 设备 | 功能 | 工作层次 |
|---|---|---|
| 网桥 | 连接两个局域网,基于MAC地址转发 | 数据链路层 |
| 交换机 | 多端口网桥,基于MAC地址转发 | 数据链路层 |
交换机工作原理:
- 学习:建立MAC地址表
- 转发/过滤:根据MAC地址表转发数据帧
- 消除回路:使用生成树协议(STP)
7.3 网络层设备
| 设备 | 功能 | 工作层次 |
|---|---|---|
| 路由器 | 基于IP地址转发数据包,实现不同网络互联 | 网络层 |
路由器功能:
- 路由选择
- 分组转发
- 网络地址转换(NAT)
- 防火墙功能
7.4 高层设备
| 设备 | 功能 | 工作层次 |
|---|---|---|
| 网关 | 协议转换,连接不同体系结构的网络 | 传输层及以上 |
8. 无线网络
8.1 无线局域网(WLAN)
WiFi标准:
| 标准 | 频段 | 最大速率 |
|---|---|---|
| 802.11b | 2.4GHz | 11Mbps |
| 802.11a | 5GHz | 54Mbps |
| 802.11g | 2.4GHz | 54Mbps |
| 802.11n | 2.4/5GHz | 600Mbps |
| 802.11ac | 5GHz | 6.93Gbps |
| 802.11ax (WiFi 6) | 2.4/5GHz | 9.6Gbps |
WiFi安全:
- WEP:已淘汰,不安全
- WPA:使用TKIP加密
- WPA2:使用AES加密
- WPA3:最新安全标准
8.2 移动通信网络
蜂窝网络:
- 1G:模拟语音
- 2G:数字语音(GSM、CDMA)
- 3G:移动宽带(WCDMA、CDMA2000、TD-SCDMA)
- 4G:LTE,全IP网络
- 5G:高速率、低延迟、大连接
9. 分布式系统
9.1 分布式系统概述
分布式系统定义:由多个独立的计算机组成的系统,这些计算机通过网络进行通信和协调,对用户呈现为一个统一的系统。
分布式系统特征:
- 分布性:计算机分布在不同地理位置
- 自治性:每台计算机独立运行
- 透明性:用户无需了解系统的分布性
- 容错性:部分故障不影响整体
分布式系统优势:
- 资源共享
- 负载均衡
- 容错性
- 可扩展性
9.2 分布式系统的透明性
| 透明性类型 | 说明 |
|---|---|
| 访问透明性 | 本地和远程资源使用相同的访问方式 |
| 位置透明性 | 用户无需知道资源的位置 |
| 并发透明性 | 多个用户共享资源时互不干扰 |
| 复制透明性 | 用户无需知道资源是否被复制 |
| 故障透明性 | 用户无需知道故障的发生和恢复 |
| 迁移透明性 | 资源可以移动而无需改变名称 |
| 性能透明性 | 负载变化时系统可以重新配置 |
| 伸缩透明性 | 系统和应用可以扩展而不改变结构 |
9.3 分布式系统的通信
远程过程调用(RPC):
- 使远程调用看起来像本地调用
- 客户端存根(Stub)和服务器存根
消息传递:
- 直接通信:send/receive原语
- 间接通信:通过信箱(Mailbox)
消息队列:
- 异步通信模式
- 解耦生产者和消费者
9.4 分布式系统的同步
时钟同步:
- 物理时钟同步:外部同步(UTC)、内部同步
- 逻辑时钟:Lamport时间戳、向量时钟
互斥:
- 集中式算法
- 分布式算法(Ricart-Agrawala算法)
- 令牌环算法
选举算法:
- bully算法
- 环算法
9.5 分布式系统的容错
故障类型:
- 崩溃故障:进程停止运行
- 遗漏故障:进程遗漏某些事件
- 时序故障:进程响应时间超出规定
- 拜占庭故障:进程任意行为
容错技术:
- 冗余:信息冗余、时间冗余、物理冗余
- 检查点:定期保存系统状态
- 事务:原子性、一致性、隔离性、持久性
9.6 分布式文件系统
分布式文件系统特点:
- 文件分布在多个服务器上
- 用户透明访问
- 高可用性和可扩展性
典型系统:
- NFS(网络文件系统):Sun公司开发
- HDFS(Hadoop分布式文件系统):大数据存储
- GFS(Google文件系统):Google内部使用
9.7 分布式数据库
分布式数据库特点:
- 数据分布在多个节点上
- 每个节点可以独立处理本地数据
- 支持全局查询
数据分片:
- 水平分片:按行分割
- 垂直分片:按列分割
- 混合分片:水平和垂直结合
数据复制:
- 提高可用性和性能
- 主从复制、多主复制
9.8 云计算与分布式系统
云计算服务模型:
| 服务模型 | 说明 | 示例 |
|---|---|---|
| IaaS(基础设施即服务) | 提供虚拟机、存储、网络 | AWS EC2、阿里云ECS |
| PaaS(平台即服务) | 提供开发平台和工具 | Google App Engine |
| SaaS(软件即服务) | 提供应用软件 | Office 365、Salesforce |
云计算部署模型:
- 公有云
- 私有云
- 混合云
- 社区云
容器技术:
- Docker:容器化平台
- Kubernetes:容器编排系统
10. 网络新技术
10.1 SDN(软件定义网络)
SDN架构:
- 应用层:网络应用程序
- 控制层:SDN控制器,集中控制
- 基础设施层:网络设备(交换机、路由器)
SDN特点:
- 控制平面与数据平面分离
- 集中式控制
- 网络可编程
10.2 NFV(网络功能虚拟化)
NFV概念:将网络功能(防火墙、负载均衡等)从专用硬件迁移到通用服务器上运行。
NFV优势:
- 降低设备成本
- 加快业务部署
- 提高灵活性
10.3 物联网(IoT)
物联网架构:
- 感知层:传感器、RFID等
- 网络层:通信网络
- 应用层:各种应用服务
物联网协议:
- MQTT:轻量级消息协议
- CoAP:约束应用协议
- LoRaWAN:低功耗广域网
10.4 边缘计算
边缘计算概念:将计算和数据存储推向网络边缘,靠近数据源。
边缘计算优势:
- 降低延迟
- 减少带宽消耗
- 提高隐私性
- 支持离线运行
11. 考试真题精选
真题1:OSI模型
在OSI参考模型中,(数据链路层)利用通信子网提供的服务实现两个对等实体之间的通信,并为其上层提供服务。
真题2:TCP连接
TCP协议使用(三次握手)机制来建立连接,使用(四次挥手)机制来终止连接。
真题3:子网划分
某网络的IP地址空间为192.168.5.0/24,采用定长子网划分,子网掩码为255.255.255.248,则该网络的最大子网个数为(32),每个子网内的最大可分配地址个数为(6)。
解析:248 = 11111000,借用5位作为子网位,2^5=32个子网。主机位3位,2^3-2=6个可用地址。
真题4:路由协议
RIP协议使用(跳数)作为度量标准,OSPF协议使用(链路状态)算法计算最短路径。
真题5:网络安全
在公钥体系中,私钥用于(解密和签名),公钥用于(加密和验证)。
真题6:HTTP协议
HTTP协议工作在(应用层),使用(TCP)协议传输数据,默认端口号为(80)。
真题7:分布式系统
分布式系统的透明性包括(访问透明性、位置透明性、并发透明性、复制透明性、故障透明性、迁移透明性、性能透明性、伸缩透明性)。
真题8:DNS
DNS服务器中,(A记录)用于将域名解析为IPv4地址,(AAAA记录)用于将域名解析为IPv6地址,(CNAME记录)用于创建别名。