软件架构师-第六章 计算机网络
计算机网络
计算机网络概述 ⭐
计算机网络技术概述
计算机网络的功能:
- 数据通信:实现计算机间的信息传输,是网络的基础功能。
- 资源共享:支持硬件(如打印机)、软件(如应用程序)、数据(如文件)等资源的共享,提升利用率。
- 管理集中化:对网络中的资源、用户权限等进行集中管理,简化运维。
- 实现分布式处理:将复杂任务分解到网络中的多台计算机协同完成,提高效率。
- 负载均衡:平衡网络中设备的工作负荷,避免局部过载。
计算机网络的作用:
- 强调计算机网络通过扩展计算机系统功能与应用范围,提升可靠性,为用户提供便利,同时降低整体系统费用。但最后 “降低了系统性价比” 表述可能存在误差(通常网络应提升性价比),或为原文笔误,实际意图应为优化系统成本与性能的平衡。
计算机网络性能指标范畴
- 从 速率、带宽、吞吐量、时延 等维度衡量计算机网络性能,其中重点阐释了 “时延” 这一指标。
时延的定义与组成
- 定义:时延指数据(如报文、分组、比特)从网络(或链路)一端传至另一端所需的时间,也称为延迟或迟延,是关键性能指标。
- 组成部分:
- 发送时延:发送数据时,数据块从发送端进入链路所需时间。
- 传播时延:数据在链路中物理传输的时间。
- 处理时延:设备处理数据(如校验、分析)的时间。
- 排队时延:数据在队列中等待转发的时间。
- 公式:网络延迟 = 处理延迟 + 排队延迟 + 发送延迟 + 传播延迟。
- 补充说明:若不考虑网络环境,服务器延迟主要受队列延迟和磁盘 I/O 延迟影响;
- 路由器发送时延大于交换机。
分布范围和拓扑结构两个维度对计算机网络技术进行分类
按分布范围分类
- 有线网络:
- 局域网(LAN):覆盖范围小(如办公室、校园),用于短距离内设备互联。
- 城域网(MAN):覆盖城市范围,连接多个局域网,提供城市级网络服务。
- 广域网(WAN):覆盖国家或洲际范围,通过长途通信链路(如光纤、卫星)连接远距离网络。
- 因特网:全球最大的互联网络,整合各类局域网、城域网、广域网。
- 无线网络:
- 无线个人网(WPAN):典型技术如蓝牙(IEEE 802.15 标准),用于个人设备短距离连接。
- 无线局域网(WLAN):如 Wi-Fi(IEEE 802.11 标准),实现局域网内无线互联。
- 无线城域网(WMAN):基于 IEEE 802.16 标准(如 WiMax),覆盖城市区域的无线接入。
- 无线广域网(WWAN):通过 3G/4G 等移动网络技术实现广域无线通信。
按拓扑结构分类
- 总线型:所有设备连接到一条共享总线,结构简单,如早期以太网。
- 星型:以中心节点(如交换机)为核心,各设备通过独立链路连接中心节点,易于管理和故障排查。
- 环型:设备首尾相连形成环形,数据沿环单向传输,常见于早期令牌环网络。
- 树型:基于星型拓扑扩展,呈分层分支结构,适用于大型网络的分级管理。
移动通信技术 ——5G 技术
5G 网络的主要特征
-
服务化架构:
- 5G 核心网引入 SBA(Service-Based Architecture,服务化架构),通过这一架构实现网络功能的灵活定制与按需组合。例如,可根据不同业务场景(如高清视频、工业互联网)动态调用网络功能,提升服务适配性。
-
网络切片:
- 利用网络切片技术,在单一物理网络上划分出多个逻辑网络。每个逻辑网络可独立适配不同业务需求(如自动驾驶的高可靠网络、物联网的低功耗网络),避免为每种服务单独建设专用物理网络,显著降低网络建设与运维成本,同时提高资源利用率。
组网技术⭐⭐⭐
OSI/RM 七层模型
物理层(第 1 层)
- 功能:实现二进制数据的物理传输,关注电缆、信号、电压等物理介质特性。
- 设备:中继器、集线器(多端口中继器)。
数据链路层(第 2 层)
- 功能:将物理层数据封装成 帧 ,负责帧的传输、错误检测与纠正,管理物理链路连接。
- **设备:**网桥、交换机(多端口网桥)、网卡;
- 协议: PPTP、L2TP、SLIP、PPP。
- 以太网帧最小长度 64 字节,由 “网络中检测冲突的最长时间” 决定
网络层(第 3 层)
- 功能:处理分组(数据包)的传输、路由选择,确定数据从源到目标的路径。
- 设备及协议:三层交换机、路由器;
- 协议:ARP、RARP、IP、ICMP、IGMP。
- Internet 网络核心采用分组交换。
传输层(第 4 层)
- 功能:建立端到端的连接,确保数据可靠传输(如 TCP)或高效传输(如 UDP)。
- 协议:TCP、UDP。
会话层(第 5 层)
- 功能:管理会话的建立、维护和终止,如会话同步、故障恢复。
表示层(第 6 层)
- 功能:处理数据格式转换(如加密、解密)、压缩 / 解压缩、编码转换等,确保不同系统间数据表示一致。
应用层(第 7 层)
- 功能:直接为用户应用程序提供服务,实现具体应用功能(如文件传输、网页访问)。
- 设备及协议:
- TCP常用协议及对应端口,如:
- POP3(110 端口):接收邮件协议;
- FTP(20/21 端口):文件传输协议;
- HTTP(80 端口):网页浏览协议;
- Telnet(23 端口):远程登录协议;
- SMTP(25 端口):发送邮件协议;
- UDP常用协议及对应端口,如:
- DHCP(67 端口):动态 IP 分配协议;
- TFTP(69 端口):简单文件传输协议;
- SNMP(161 端口):网络管理协议;
- DNS(53 端口):域名解析协议。
- TCP常用协议及对应端口,如:
交换技术
交换机功能(交换技术)
- 强调交换机在网络数据转发中的核心作用,其功能包括:
- 集线功能:汇聚网络中的多个设备,实现数据集中传输。
- 中继功能:放大、再生信号,延长信号传输距离,类似物理层中继设备的作用。
- 桥接功能:连接不同网段,基于 MAC 地址转发数据帧,实现网络分段。
- 隔离冲突域功能:通过划分冲突域,减少网络冲突,提升传输效率(如传统共享式网络中,交换机替代集线器,每个端口独立冲突域)。
基本交换原理
- 交换机的工作机制:
- 基于 MAC 地址识别:交换机通过分析数据帧中的源 MAC 地址,“学习” 网络中设备的 MAC 地址,并记录到内部地址表。
- 封装转发数据包:当接收到数据时,交换机查询地址表,找到目标 MAC 地址对应的端口,在源设备和目标设备间建立临时交换路径,直接转发数据,实现从源地址到目的地址的高效传输,避免广播泛滥,提升网络传输的针对性和效率。
交换机需实现的核心功能
(1)转发路径学习
- 交换机通过分析接收数据中的 源 MAC 地址,建立该 MAC 地址与交换机端口的映射关系,并将映射信息写入内部的 MAC 地址表。这是交换机 “学习” 网络中设备位置的基础机制。
(2)数据转发
- 当交换机处理数据时,会根据数据中的 目的 MAC 地址 查询已建立的 MAC 地址表。若查询到匹配项,便将数据转发至对应的端口,实现精准的数据传输。
(3)数据泛洪
- 若数据中的 目的 MAC 地址不在 MAC 地址表 中,交换机无法确定转发端口,此时会将数据向 所有端口(除源端口外)转发,这一过程称为 “泛洪”。此外,广播帧和组播帧也会通过泛洪方式向所有非源端口转发,确保目标设备能接收数据。
(4)链路地址更新
- MAC 地址表会定期更新(如每 300 秒 一次),以适应网络中设备的变动。同时,交换机初始状态时地址表为空;若交换机重启或手动清空地址表,其中的映射信息也会被清除,需重新学习网络设备的 MAC 地址。
TCP/IP 协议族
TCP/IP 模型 与 OSI 七层模型 的层次对应关系
TCP/IP 模型(四层):
- 应用层:整合 OSI 的应用层、表示层、会话层功能;
- 传输层:与 OSI 传输层功能一致;
- 网际层:对应 OSI 网络层;
- 网络接口层:涵盖 OSI 的数据链路层和物理层。
OSI 七层模型:分层更细致,包括应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
DHCP(动态主机配置协议)
客户机 / 服务器模型:
- 一个园区网可部署多个 DHCP 服务器,提升配置灵活性;
- 单个 DHCP 服务器支持为多个网段分配 IP,扩展应用范围;
- DHCP 服务器的服务功能需手动开启,而非默认启用,体现配置的主动性。
DHCP 的 IP 分配方式及 动态分配的租约规则:
分配方式:
- 固定分配:由管理员手动分配固定 IP,针对性强。
- 动态分配(重点标注):分配有有效期限的 IP 地址,到期后需续期,体现 “动态” 特性。
- 自动分配:分配无使用期限的 IP 地址,类似 “永久占用”。
- 额外说明 无效地址:如 169.254.X.X 和 0.0.0.0,这类地址无法正常联网。
动态分配的租约规则:
- 租约默认时长为 8 天;
- 当租约使用过半(50%),客户机需向原 DHCP 服务器申请续期;
- 若租约使用超 87.5% 仍未联系上原 DHCP 服务器,则客户机会尝试联系其他 DHCP 服务器获取服务。
DHCP 自动获取 IP 的工作原理
- DHCP 发现(DISCOVER):客户端首次启动或请求新 IP 时,以广播形式发送
DISCOVER
报文,寻找网络中的 DHCP 服务器。 - DHCP 提供(OFFER):DHCP 服务器收到
DISCOVER
后,选择可用 IP 及配置参数,向客户端返回OFFER
报文,包含拟分配的 IP 地址等信息。 - DHCP 请求(REQUEST):客户端收到多个
OFFER
时,选择其中一个服务器,发送REQUEST
报文,正式申请该服务器提供的 IP 地址。 - DHCP 确认(ACK):服务器收到
REQUEST
后,确认 IP 分配合法,通过ACK
报文最终确认分配,客户端成功获取 IP。
其他状态:
- 拒绝(NACK):若服务器发现 IP 分配异常(如冲突),发送
NACK
拒绝分配。 - 客户端释放(RELEASE):客户端主动释放 IP 时,发送
RELEASE
报文告知服务器。 - 客户端拒绝分配(Decline):客户端发现分配的 IP 不可用(如冲突),通过
Decline
报文拒绝该 IP。
DNS(域名系统)
重点展示域名解析中的 递归查询 和 迭代查询 机制,具体内容如下:
核心功能
DNS 的作用是将域名(如 www.baidu.com
)解析为对应的 IP 地址,实现网络中主机的地址映射。
查询流程示例
以查询 y.abc.com
的 IP 地址为例:
- 主机发起递归查询(步骤①):主机向本地域名服务器(
dns.xyz.com
)发送递归查询请求,要求必须返回目标域名的 IP。 - 本地域名服务器处理:
- 若本地无缓存,向根域名服务器发起迭代查询(步骤②-③)。根域名服务器不直接返回结果,而是告知顶级域名服务器(如
dns.com
)地址。 - 本地域名服务器继续向顶级域名服务器迭代查询(步骤④-⑤),顶级域名服务器再指引至权限域名服务器(
dns.abc.com
)。 - 最终从权限域名服务器获取
y.abc.com
的 IP(步骤⑥-⑧),并通过递归查询路径回复给主机。
- 若本地无缓存,向根域名服务器发起迭代查询(步骤②-③)。根域名服务器不直接返回结果,而是告知顶级域名服务器(如
查询类型定义
- 递归查询:服务器必须最终回复目标域名与 IP 的映射关系(如主机→本地域名服务器的查询)。
- 迭代查询:服务器每次回复一个中间结果(可能是其他 DNS 服务器地址),由查询方继续发起新查询(如本地域名服务器→根域名服务器的查询)。
DNS 解析场景的流程:
-
浏览器输入域名的解析流程(解析顺序)
-
HOSTS:先查找本地 HOSTS 文件(系统本地域名映射文件);
-
本地 DNS 缓存:查询本地设备的 DNS 缓存记录;
-
本地 DNS 服务器:若前两者无结果,请求本地 DNS 服务器;
-
根域名服务器:本地 DNS 服务器向根域名服务器查询;
-
顶级域名服务器:根域名服务器指引至顶级域名服务器;
-
权限域名服务器:最终由负责该域名的权限域名服务器返回解析结果。
-
-
主域名服务器收到域名请求的处理流程(接收解析请求)
-
本地缓存记录:先检查自身缓存的域名记录;
-
区域记录:查询本服务器管辖区域内的域名记录;
-
转发域名服务器:若无果,转发请求至其他转发域名服务器;
-
根域名服务器:最终通过根域名服务器启动层级查询,完成解析。
解析
-
-
通过服务器名称解析 IP 属于正向解析,
-
通过 IP 解析服务器名称需依赖 反向解析。
-
DNS 中 PTR 记录(指针记录) 专门用于反向解析,建立 IP 到域名的映射关系。
网络规划与设计 ⭐
网络冗余设计中通信线路的两大核心目标:备用路径与负载分担
备用路径
- 定义:通过路由器、交换机等设备间的独立备用链路构建,用于提升网络可用性。正常情况下,备用路径仅在主路径失效时启用。
- 设计考量:
- 备用路径带宽:需确保备用链路带宽满足业务基本需求;
- 切换时间:关注主路径故障时切换到备用路径的耗时,保障业务连续性;
- 非对称:考虑主备路径在带宽、性能等方面的非对称特性;
- 自动切换:要求网络设备具备自动检测主路径故障并切换到备用路径的能力;
- 测试:需验证备用路径的有效性和可靠性。
负载分担
- 定义:对备用路径的功能扩展,通过并行链路同时传输流量,实现流量分担,提升网络性能。
- 设计策略:
- 若网络已存在备用路径 / 链路,可进一步融入负载分担设计;
- 主备路径相同:采用 “负载均衡” 特例,使流量均匀分配到相同的主备路径;
- 主备路径不同:通过 “策略路由” 机制,将部分应用流量引导至备用路径,实现差异化流量分担。
磁盘阵列(RAID)
- Raid0(条块化):通过并行处理提升性能,无数据冗余,若磁盘损坏数据无法恢复,是性能最高但安全性最低的方案。
- Raid1(镜像结构):采用镜像存储,数据可修复性与可用性强,但磁盘利用率仅 50%(如两块盘仅用一块存数据)。
- Raid10(Raid0+1):融合 Raid0 的高性能与 Raid1 的高可靠性,既高效又具备数据冗余能力。
- Raid3(奇偶校验并行传送):采用 N+1 模式,有固定校验盘,允许损坏一块磁盘,通过校验恢复数据。
- Raid5(分布式奇偶校验):同样是 N+1 模式,但校验信息分布式存储(无固定校验盘),支持单盘损坏恢复,兼顾性能与冗余。
- Raid6(双重奇偶校验):采用 N+2 模式,无固定校验盘,支持同时损坏两块磁盘的数据恢复,冗余能力更强。
RAID 5 的容量计算方法。RAID 5 的磁盘利用率是 (n-1)/n,n 是磁盘数量。
-
第一个情况:3 块 80G 的硬盘。计算容量:3 块,所以 (n-1)=2,2×80G=160G。这时候看选项,B 选项 160G。
-
第二个情况:2 块 80G 和 1 块 40G。RAID 5 要求所有磁盘容量一致,因为以最小的磁盘容量为准。这里 40G 是最小的。所以每块盘可用 40G,n=3,(3-1)×40=80G。
IPv6 对比 IPv4
- 基本定位:IPv6 是用于替代 IPv4 的下一代 IP 协议。
- 核心特性:
- 寻址能力扩展:IPv6 地址长度为 128 位(IPv4 为 32 位),地址空间扩大至 $$2^{96}$$ 倍,解决 IPv4 地址不足问题。
- 灵活的报文头部格式:采用固定格式的扩展头部替代 IPv4 中可变长度的选项字段,路由器可跳过选项处理,加快报文处理速度。
- 简化头部结构:IPv6 报文头部仅 8 个字段,简化设计加速报文转发,提升网络吞吐量。
- 安全性提升:集成身份认证和隐私保护特性,强化网络安全。
- 服务类型丰富:支持更多样化的网络服务类型。
- 协议扩展性:允许协议持续演进,可新增功能以适配未来技术发展。
IPv6 地址格式
-
地址表示对比:
- IPv4 采用 “点分十进制” 表示,IPv6 采用 “冒分十六进制” 表示。
-
IPv6 地址结构:
- 由 8 个 16 进制字段构成,例如:
2001:0db8:85a3:0000:1319:8a2e:0370:7344
。
- 由 8 个 16 进制字段构成,例如:
-
地址简写规则:
-
高位 0 省略:字段前导零可多次省略,如
0DB8
可简化为DB8
。 -
整段 0 简化:某一字段全为 0 时,可用单个
0
表示,如0000
写成0
。 -
**连续多段 0 压缩:**连续多个全 0 字段,可用::省略,但整个地址中::只能出现一次
-
-
等价地址示例:通过简写规则,不同形式的 IPv6 地址实质等价,如
2001:0DB8:02de::0e13
与2001:DB8:2de::e13
为同一地址的不同合法表示。
IPv6 网卡基础地址
IPv6 规定每个网卡至少拥有 3 个地址:
- 链路本地地址:前缀为
1111 1110 10
(以fe80
开头),用于本地链路通信。 - 全球单播地址:可全局路由的地址,用于互联网通信。
- 回送地址:原文标注存在矛盾(括号内 “站点本地地址” 错误,实际回送地址为
::1
,类似 IPv4 的127.0.0.1
),属于基础测试地址。
自动地址配置机制
全状态自动配置:继承 IPv4 的 DHCP 服务,通过动态主机配置协议获取地址。
无状态自动配置:分两阶段完成:
- 第一阶段:生成链路本地地址
主机将网卡 MAC 地址附加到链路本地地址前缀后,生成初始地址,通过 ICMPv6 邻居发现请求验证唯一性;若冲突,则用随机接口 ID 重新生成。 - 第二阶段:获取全球单播地址
以链路本地地址为源,向本地链路路由器组播 ICMPv6 路由请求,获取可聚合全球单播地址前缀,结合自身接口 ID,自动配置全球单播地址,无需人工干预。
IPv4/IPv6 过渡技术,具体内容如下:
-
双协议栈技术
-
原理:节点同时支持 IPv4 和 IPv6 双协议栈,使设备能同时处理两种协议的业务。
-
作用:实现 IPv4、IPv6 业务在同一节点的共存,确保网络过渡期间两种协议的兼容运行。
-
-
隧道技术
-
原理:在 IPv4 网络中构建 “隧道”,承载 IPv6 业务数据,使 IPv6 数据包能穿越 IPv4 网络。
-
类型:
- 6to4 隧道:通过 IPv4 地址嵌入 IPv6 地址,实现 IPv6 网络互通。
- 6over4 隧道:将 IPv6 数据包封装在 IPv4 数据包中传输。
- ISATAP 隧道:利用 IPv4 网络为 IPv6 设备分配链路本地地址,促进过渡。
-
-
NAT-PT 技术
-
原理:通过网关设备连接 IPv4、IPv6 网络,当两类节点互访时,网关执行协议转换、翻译及地址映射。
-
作用:解决 IPv4 与 IPv6 网络间的互通问题,确保不同协议节点的通信兼容性。
-
网络规划与设计的流程
- 需求分析:
- 任务:明确业务需求、用户需求、应用需求、计算机平台需求、网络通信需求等。
- 产物:形成《需求规范》文档,作为后续设计的基础。
- 通信规范分析:
- 任务:分析现有网络体系,估算通信流量、测量设备利用率,掌握网络通信特征。
- 产物:输出《通信规范》,为网络设计提供数据支撑。
- 逻辑网络设计:
- 任务:根据需求和通信规范,选择适配的设计方案,确定网络逻辑结构(如拓扑、协议、子网划分等)。
- 产物:输出《逻辑设计文档》,定义网络逻辑层面的实现方案。
- 物理网络设计:
- 任务:将逻辑设计转化为物理实现,确定网络物理结构(如设备部署、线缆规划、机房布局等)。
- 产物:形成《物理结构设计文档》,指导硬件实施。
- 实施阶段:
- 任务:按照设计文档完成物理网络搭建、设备安装,并进行后期维护,确保网络落地运行。
“网络规划与设计 — 逻辑网络设计”
逻辑网络设计的定位
- 是网络设计的核心阶段,基于 需求规范 和 通信规范,选择适宜的网络逻辑结构,并开展资源分配规划、安全规划等。最终输出 逻辑网络设计文档,指导后续实施。
逻辑网络设计工作内容
- 网络结构设计:规划网络逻辑拓扑、架构。
- 技术选择:包括物理层技术、局域网技术、广域网技术的选型与应用。
- 地址与命名:设计 IP 地址方案、网络设备命名模型。
- 协议与管理:确定路由选择协议,规划网络管理策略。
- 安全设计:制定网络安全方案,保障网络安全。
- 文档输出:形成逻辑网络设计文档,汇总设计成果。
逻辑网络设计输出内容
- 设计成果:逻辑网络设计图、IP 地址方案、安全管理方案。
- 实施细节:具体软 / 硬件设备、广域网连接设备、基础网络服务的规划。
- 人力与成本:包含网络员工招聘培训说明,以及软 / 硬件、服务、员工培训等费用的初步估算。
网络规划与设计 — 物理网络设计
物理网络设计的定位
- 是对逻辑网络设计的物理实现,通过规划设备的物理分布、运行环境等,确保网络的物理连接满足逻辑设计要求。需确定具体的软 / 硬件、连接设备、布线及服务部署方案。
物理网络设计的输出内容
- 物理部署文档:
- 网络物理结构图:呈现设备物理连接关系;
- 布线方案:规划线缆铺设路径、类型(如网线、光纤)等。
- 设备与成本清单:
- 设备和部件详细列表:罗列服务器、交换机、路由器等硬件及配件;
- 软硬件和安装费用估算:对设备采购、安装调试等成本进行预估。
- 实施与维护计划:
- 安装日程表:明确设备安装、服务部署的时间节点和期限;
- 安装后测试计划:规划网络连通性、性能等测试方案;
- 用户培训计划:制定针对用户的操作培训内容,确保网络使用规范性。
分层设计模型
核心层
- 设备:核心交换机,连接防火墙与 Internet。
- 功能:
- 承担高速数据交换,保障网络骨干链路的高速数据传输;
- 负责出口路由,实现内部网络与 Internet 的连接;
- 常用冗余机制(如双核心交换机),确保网络高可靠性。
汇聚层
- 设备:汇聚交换机,承上启下连接核心层与接入层。
- 功能:
- 实施网络访问策略控制,过滤数据包;
- 执行策略路由、广播域定义及网络寻址,优化流量转发;
- 整合接入层流量,减轻核心层处理压力。
接入层
- 设备:接入交换机(也可使用集线器),直接连接用户终端。
- 功能:
- 实现用户接入,管理用户认证(如 MAC 地址认证)、过滤;
- 执行计费管理,收集用户信息,满足终端接入的基础网络需求。
该分层设计通过明确各层级职责,实现网络流量高效处理、策略精准控制及用户便捷接入,是大型网络架构的经典规划方式。