# 计算机网络复试
# 物理层
传输比特流,规定机械特性、电气特性、功能特性。
# 数据链路层
将原始比特流封装成帧,将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路,是对物理层的一次增强。
# 网络层
传输单位是数据报,进行路由选择,实现流量控制、拥塞控制、差错控制、网际互连。
# 传输层
负责主机中两个进程通信,提供端到端的可靠传输。
端到端:进程的端口号之间
点对点:IP 之间
# 应用层
OSI 最高层,是用户与网络之间的接口。
# 信道、串行与并行
是通信的通道,即传输介质。串行适合长距离通信,并行适用于并行通信。
# 单工、半双工与全双工
单工:只单向传输。
半双工:双向,但是不能同时。
全双工:双向,允许同时。
# 奈奎斯特定理
理想信道中,为避免串码干扰极限速率。
# 香农定理
实际信道中,传输速率上界。
# 双绞线、同轴电缆、光纤与无线传输
双绞线、同轴电缆、光纤与无线传输这些都是物理层的传输介质。
# 物理层设备
中继器:信号的转发、放大、整形,以防止失真,无差错控制。
集线器:实际上集线器是一个多端口中继器。
# 帧
是数据链路层对等实体之间进行的逻辑通信单元。
# 为网络层提供的三种服务
- 无确认、无连接的服务,适用于误码率低的比如以太网
- 有确认、无连接的服务,适用于无线通信
- 有确认的面向连接的服务,适用于有高可靠要求的网络
# 封装成帧
在一点数据的头和尾加一些信息,构成帧,主要是:标志、地址、控制、信息、帧检验序列、标志组成。
# 透明传输
透明传输的作用是你无论传输了什么数据,都会保证你的传输原数据,不会被” 误解 “
# 流量控制
链路两端存在工作速率差异,为以防淹没现象,使用流量控制。接收方控制发送方。
# 差错检测
传输时可能产生错误,为修复这些错误使用差错检测机制
- 位错:用 CRC 冗余校验
- 帧错:这个是传输错误
# 字节填充法
在开头填充和末尾填充
# 零比特填充法
每遇五个‘1’在后面填充一个‘0’
# 差错控制
自动重传请求 ARQ / 前向纠错 FEC:ARQ 是一种基于重传的错误控制机制。当接收端检测到数据包错误或丢失时,会请求发送端重新发送数据。FEC 是一种通过在发送的数据中添加冗余信息来纠正错误的机制。接收端利用这些冗余信息检测并纠正错误,而无需请求重传。
差错控制又可分为:检错编码(奇偶校验码、循环冗余码)和纠错编码(海明码)
- 奇偶校验码(检错)就是让 1 的个数是奇数个还是偶数个
- 海明码(纠错)就是在信息位中加入几个就错位
# 停止 - 等待流量控制(一个一个的)
发送方每次发送一个帧,只有接收方回复确认帧才发下一帧
# 滑动窗口流量控制(一块一块的)
集中发送一块,收到最左侧的帧后向右滑动,如果未收确认消息到那就重发。
# ARQ 协议(自动重传请求)!
- 停止 - 等待 Stop-and-Wait:发送端发送一个数据包后,等待接收端的确认(ACK)。如果收到 ACK,发送下一个数据包;如果超时未收到 ACK,则重传。简单但效率较低,适合低速率通信。
- 后退 N 帧 Go-Back-N:如果某个数据包出错,接收端会丢弃该包及其后续的所有包,发送端需要从出错的数据包开始重传。
- 选择性重传 Selective Repeat:如果某个数据包出错,只重传出错的数据包,而不是后续的所有包。
1->2->3,越来越优秀。
# 介质访问控制
数据链路层的一个子层,主要负责管理多个设备共享同一通信介质时的访问权限。它的核心目标是解决多路访问问题,即如何高效、公平地协调多个设备对共享介质的访问,以避免冲突并提高网络性能。
- 频分复用 FDM:将总带宽划分为多个子频带,每个子频带分配给一个信道(用户或设备)
- 时分复用 TDM:将时间划分为固定长度的时隙,每个时隙分配给一个信道。
- 波分复用 WDM:在光纤通信中,将不同波长的光信号复用到同一根光纤中传输。
- 码分复用 CDM:每个信道使用唯一的编码序列对数据进行调制,多个信道可以在同一频率和时间内传输。
技术 | 划分依据 | 适用场景 | 优点 | 缺点 |
---|---|---|---|---|
FDM | 频率 | 广播、模拟通信 | 简单、适合恒定速率数据 | 频率利用率低 |
TDM | 时间 | 数字电话、数字通信 | 高效、适合数字信号 | 对同步要求高 |
WDM | 波长(光频率) | 光纤通信 | 高容量、长距离传输 | 设备成本高 |
CDM | 编码 | 移动通信、卫星通信 | 抗干扰、多用户同时通信 | 实现复杂 |
# ALOHA
最简单的随机访问协议,设备随时发送数据。如果发生冲突,随机等待一段时间后重传。效率较低,最大信道利用率为 18.4%。
# 载波侦听多路访问(CSMA)
设备在发送数据前先侦听介质是否空闲。如果介质空闲,则发送数据;否则等待。
-
CSMA/CD(冲突检测):用于有线以太网,检测到冲突后立即停止发送。
-
CSMA/CA(冲突避免):用于无线网络(如 Wi-Fi),通过随机退避避免冲突。
CSMA 有:1 - 坚持 CSMA、非坚持 CSMA、p - 坚持 CSMA
- “1 - 坚持” 表示设备以概率 1 发送数据(即一旦介质空闲,必定发送)。
- 设备不会持续侦听介质,而是随机退避。
- p 是一个可调参数,用于控制发送概率,结合了 1 - 坚持和非坚持的特点。
# 载波侦听多路访问 / 冲突检测 CSMA/CD (有线网络)
# 载波侦听(Carrier Sense)
- 设备在发送数据前先侦听介质是否空闲。
- 如果介质空闲,则开始发送数据。
- 如果介质忙,则等待直到介质空闲。
# 多路访问(Multiple Access)
- 多个设备共享同一通信介质,可能同时尝试发送数据。
# 冲突检测(Collision Detection)(CD)
- 设备在发送数据的同时继续侦听介质。
- 如果检测到冲突(即信号强度异常),立即停止发送数据。
- 发送一个冲突强化信号(Jamming Signal),通知其他设备发生了冲突。
# 随机退避(Random Backoff)
- 设备等待一个随机时间后重新尝试发送数据。
- 随机时间通过二进制指数退避算法计算,以减少再次冲突的概率。
先听再发、边发边听、冲突停发、随机重发
# 争用期 2τ
τ 是信号在网络中传播的单程最大传播时延,争用期(2τ) 是 CSMA/CD 协议中冲突检测的时间窗口。决定了网络的最大物理范围和最小帧长。通过合理设计争用期,可以确保冲突检测的有效性,从而提高网络的可靠性。
# 二进制指数退避算法
冲突之后要等待,等?到底等多久?利用二进制指数退避算法就能知道。
# 冲突避免(CA)
冲突避免通过预先协调和随机退避来尽量避免冲突的发生,而不是在冲突发生后再进行处理。
# 载波侦听多路访问 / 冲突避免 CSMA/CA (无线网络)
是一种用于无线网络(如 Wi-Fi)的介质访问控制协议。
# CSMA/CA 与 CSMA/CD 的区别
特性 | CSMA/CA(冲突避免) | CSMA/CD(冲突检测) |
---|---|---|
适用网络 | 无线网络(如 Wi-Fi) | 有线网络(如以太网) |
冲突处理 | 通过 RTS/CTS 和退避避免冲突 | 通过检测冲突并重发数据 |
隐藏终端问题 | 有效解决 | 无法解决 |
开销 | 较高(RTS/CTS 和退避机制) | 较低 |
延迟 | 较高 | 较低 |
# 常见拓扑结构
- 星型
- 环型
- 总线型
# 以太网
逻辑拓扑结构是总线型,物理拓扑是星型结构
以太网采用两项措施简化通信
- 采用无连接工作方式
- 使用曼彻斯特编码
# MAC 地址
设备身份证,绝对唯一的地址,MAC 地址 48 位。
# 单播、多播、广播
- 单播:一对一
- 多播:一对多
- 广播:一对所有
# 以太网的目的地址、源地址
- 目的地址:标识帧的接收方。
- 源地址:标识帧的发送方。
- 类型:指示帧内数据的协议类型。(IPV4、IPV6、ARP)
# VLAN 虚拟局域网
VLAN(Virtual Local Area Network) 是一种将物理局域网划分为多个逻辑局域网的技术。通过 VLAN,可以在同一物理网络设备(如交换机)上创建多个独立的广播域,从而实现网络的逻辑隔离和优化。
# PPP 协议(Point-to-Point Protocol)
PPP(点对点协议) 是一种数据链路层协议,用于在两个节点之间直接传输数据。它广泛应用于拨号连接、DSL、串行通信等场景,支持多种网络层协议(如 IP、IPX 等),并提供了身份验证、错误检测和压缩等功能。
- 只保证无差错接收(CRC 校验),是不可靠的服务
- 只支持全双工的点对点链路
- PPP 两端可以运行不同的网络层协议
PPP 无连接、不可靠、速度快
# 集线器
广播传输:数据会被发送到所有端口,无论目标设备是哪一个。
无智能过滤:集线器无法识别数据的目标地址,因此无法优化数据传输。
冲突域:所有设备共享同一个冲突域,容易发生数据冲突,导致网络效率低下。
带宽共享:所有端口共享总带宽(例如,10 Mbps 的集线器连接 5 台设备,每台设备平均只能使用 2 Mbps)。
# 网桥
网桥可以识别帧转发帧,解决冲突的问题
# 集线器与网桥的主要区别
特性 | 集线器(Hub) | 网桥(Bridge) |
---|---|---|
工作层次 | 物理层(Layer 1) | 数据链路层(Layer 2) |
数据传输方式 | 广播到所有端口 | 根据 MAC 地址转发到目标端口 |
冲突域 | 所有端口共享一个冲突域 | 每个端口是一个独立的冲突域 |
广播域 | 所有端口共享一个广播域 | 所有端口共享一个广播域 |
带宽管理 | 所有端口共享总带宽 | 每个端口有独立带宽 |
智能过滤 | 无 | 有(基于 MAC 地址) |
应用场景 | 小型网络或临时连接 | 连接两个局域网或扩展网络 |
现代替代品 | 交换机 | 交换机 |
# 交换机
是多接口的网桥,是网桥的增强版,拥有自学习算法
记录各个端口的 MAC 地址(交换表),冷启动阶段通过泛洪,找到对应的 MAC
# 集线器、交换机
集线器不隔离冲突域,也不隔离广播域。
交换机隔离冲突域,但不隔离广播域。
# 设备
特性 | 能否隔离冲突域 | 能否隔离广播域 |
---|---|---|
集线器 | 不能 | 不能 |
中继器 | 不能 | 不能 |
交换机 | 能 | 不能 |
网桥 | 能 | 不能 |
路由器 | 能 | 能 |
# 网络层功能
- 路由选择:选择数据从源设备到目标设备的最佳路径。
- 分组转发:根据路由表将数据包从输入接口转发到输出接口。
- 逻辑寻址:为网络中的设备分配唯一的逻辑地址(如 IP 地址)。
- 分段与重组:将大数据包分割成适合传输的小数据包,并在目标设备处重新组装。
- 拥塞控制:防止网络因数据流量过大而出现拥塞。
- 异构网络互联:连接不同类型的网络(如以太网、Wi-Fi、帧中继等)。
- 错误处理与诊断:检测和处理网络中的错误。
- 服务质量:为不同类型的数据流提供优先级和带宽保障。
- 安全性:保护网络层数据的安全性和隐私性。
# 路由器功能
- 路由选择
- 分组转发
# SDN 软件定义网络
软件定义网络(SDN,Software-Defined Networking) 是一种网络架构,旨在通过将网络控制平面与数据平面分离,提升网络的可编程性、灵活性和管理效率。SDN 的核心思想是通过集中式的控制器来管理网络设备,简化配置和优化流量。
SDN 的优势
- 集中控制:
- 通过集中控制器管理网络,简化配置和故障排查。
- 灵活性与可编程性:
- 网络行为可通过软件编程动态调整,适应不同需求。
- 自动化与智能化:
- 支持自动化配置和优化,减少人工干预。
- 网络虚拟化:
- 支持多租户网络虚拟化,提升资源利用率。
- 快速创新:
- 新功能可通过软件快速部署,无需更换硬件。
# 拥塞控制
因为网络中出现过多的分组而引起的网络性能下降。
控制拥塞的两种方法:
- 开环控制:事发前
- 闭环控制:事发中 / 后
# IPv4(32 位)
控制网络数据传送的网络协议。其主要由首部(20 字节)加数据部
网络号 + 主机号
全 0 是本机地址
全 1 是广播地址
# IPv6(128 位)
# 源地址字段、目的地址字段
# MTU(最大传送单元)
# OSI 五层模型 vs OSI 七层模型
OSI 五层模型 | OSI 七层模型 | 功能描述 |
---|---|---|
应用层 | 应用层(Application) | 提供应用程序接口和服务(如 HTTP、FTP、DNS 等)。 |
表示层(Presentation) | 数据格式化、加密和解密(如 SSL/TLS)。 | |
会话层(Session) | 建立、管理和终止会话(如 RPC、NetBIOS)。 | |
传输层 | 传输层(Transport) | 提供端到端的可靠数据传输(如 TCP、UDP)。 |
网络层 | 网络层(Network) | 负责逻辑地址寻址和路由选择(如 IP、ICMP)。 |
数据链路层 | 数据链路层(Data Link) | 提供节点到节点的可靠数据传输(如 Ethernet、PPP)。 |
物理层 | 物理层(Physical) | 传输原始的比特流(如网线、光纤、Wi-Fi)。 |
# NAT 网络地址转换
NAT(Network Address Translation,网络地址转换) 是一种用于将私有网络中的 IP 地址映射到公共 IP 地址的技术。它主要用于解决 IPv4 地址不足的问题,并提高网络的安全性。
# 子网掩码
子网掩码(Subnet Mask) 是用于划分 IP 地址的网络部分和主机部分的关键工具。它的主要作用是帮助网络设备确定一个 IP 地址属于哪个子网,从而实现高效的路由和网络管理。
- 划分网络和主机
- 支持子网划分
- 路由选择
- 广播域控制
# IP 地址的分类
类别 | 前缀 | 地址范围 | 默认子网掩码 | 用途 |
---|---|---|---|---|
A 类 | 0 |
1.0.0.0 到 126.0.0.0 |
255.0.0.0 |
大型网络 |
B 类 | 10 |
128.0.0.0 到 191.255.0.0 |
255.255.0.0 |
中型网络 |
C 类 | 110 |
192.0.0.0 到 223.255.255.0 |
255.255.255.0 |
小型网络 |
D 类 | 1110 |
224.0.0.0 到 239.255.255.255 |
无 | 多播(Multicast) |
E 类 | 1111 |
240.0.0.0 到 255.255.255.255 |
无 | 保留(实验用途) |
# 路由聚合
将好几个路由器逻辑上视为一个,是地址聚合。
# 最长前缀匹配
# ARP 地址解析协议
# DHCP 动态主机配置协议
动态分配 IP 地址,允许一台主机无需手动配置即可获取到 IP 地址,基于 UDP。
# ICMP 网际控制报文协议
ICMP 是传输了一个控制报文,专门用来报告报告错误和异常的情况
# RIP 的优势和劣势
好消息传得快、坏消息传得慢