网络协议分析总结
此 页面针对ppt做了简单的总结,具体还得看ppt
数据链路层协议复习总结
一、数据链路层核心功能
数据链路层的核心作用是实现相邻节点间的可靠数据传输,关键功能包括封装成帧、差错检测、媒体访问控制(可选)、可靠交付和流量控制,为上层协议提供稳定的链路支持。
二、PPP 协议(点到点协议)
1. 协议概述
- 应用广泛,为点对点连接传输多协议数据包提供标准方法,支持 IP、IPX 等多种网络层协议。
- 核心组成:帧格式、LCP(链路控制协议)、NCP(网络控制协议)、PAP/CHAP 认证协议(可选)。
- 主要特点:简单、封装成帧、透明性、支持多协议和多类型链路,具备差错检测、连接状态检测等能力。
2. 工作流程(5 个阶段)
- 链路不可用阶段(Dead):链路起始和终止状态,物理层就绪后进入下一阶段。
- 链路建立阶段(Establish):通过 LCP 协商链路参数,成功则进入认证阶段,失败返回不可用阶段。
- 认证阶段(Authenticate):可选流程,支持 PAP 和 CHAP 协议,认证成功进入网络层协议阶段,失败则终止链路。
- 网络层协议阶段(Network):通过 NCP 协商网络层参数(如 IPCP 协商 IP 地址),成功后开始数据传输。
- 链路终止阶段(Terminate):可随时终止链路,物理层仍可用,载波丢失则返回不可用阶段。
3. 帧格式
- 结构:首部(Flag、Address、Control、Protocol)+ 信息部分 + 尾部(FCS、Flag)。
- 关键字段:
- Flag:0x7E,帧定界标志,连续发送帧可省略结束 Flag。
- Address:0xFF,点到点链路接收方唯一。
- Control:0x03,表示无序号信息。
- Protocol:标识封装的协议类型(如 IP 为 0x0021、LCP 为 0xC021)。
- FCS:2 字节,校验帧完整性。
- 字节填充:解决数据透明性问题,对 Flag、特殊控制字符等进行转义处理。
4. 核心子协议
- LCP(链路控制协议):Protocol 字段为 0xC021,负责链路的建立、配置、维护和终止,支持配置请求 / 确认 / 否认 / 拒绝、终止请求 / 应答、链路维护等报文类型。
- NCP(网络控制协议):针对不同网络层协议设计,IP 网络使用 IPCP(Protocol 字段 0x8021),协商 IP 地址、压缩协议等参数。
- 认证协议:
- PAP:明文传输用户名和密码,认证简单但安全性低,仅在链路建立阶段执行。
- CHAP:基于挑战握手,多次认证,使用 MD5 算法加密,安全性高,应用更广泛。
5. PPPoE 协议
- 流程:分为发现阶段(PADI→PADO→PADR→PADS)和会话阶段,终止通过 PADT 报文实现。
- 报文封装:以太网帧数据区承载,发现阶段帧类型 0x8863,会话阶段 0x8864。
三、以太网协议
1. 协议概述
- 标准:包括 DIX Ethernet V2(常用)和 IEEE 802.3,TCP/IP 体系多采用前者,部分适配器仅支持 MAC 协议。
- 体系结构:数据链路层分为 LLC(逻辑链路控制)和 MAC(媒体接入控制)子层,LLC 作用已弱化。
2. 帧格式(Ethernet V2)
- 结构:前同步码(7 字节)+ 帧开始定界符(1 字节)+ 首部(目的地址 6 字节、源地址 6 字节、类型 2 字节)+ 数据(46-1500 字节)+ FCS(4 字节)。
- 无效帧判定:长度非整数字节、FCS 校验错误、数据字段长度不在 46-1500 字节、MAC 帧长度不在 64-1518 字节。
- 帧间最小间隔:9.6μs,确保接收方缓存清理。
3. MAC 地址
- 格式:48 位,十六进制表示(如 08:00:20:0E:56:7D),前 24 位为厂商 OUI,后 24 位为设备扩展标识符。
- 类型:单播地址(一对一)、多播地址(一对多)、广播地址(FF:FF:FF:FF:FF:FF,一对全体)。
- 地址标识:最低位 I/G(0 为单播,1 为组播),次低位 G/L(0 为局部管理,1 为全局管理)。
4. CSMA/CD 协议(载波监听多点接入 / 碰撞检测)
- 核心机制:
- 载波监听:发送前检测信道是否空闲。
- 碰撞检测:发送中监测信号电压,判断是否冲突。
- 碰撞处理:立即停止发送,发送干扰信号,采用截断二进制指数退避算法重传。
- 争用期:51.2μs(10Mb/s 以太网可发送 512bit),最短帧长 64 字节,前 64 字节无冲突则后续无冲突。
四、IEEE 802.11 协议(无线局域网 WLAN)
1. 网络组成
- 分类:有固定基础设施(星形拓扑,核心为 AP 接入点)和无固定基础设施(自组网络)。
- 基本服务集(BSS):最小构件,含 1 个 AP 和多个移动站,标识为 SSID(服务集标识符)和 BSSID(AP 的 MAC 地址)。
- 扩展服务集(ESS):多个 BSS 通过分配系统(DS)连接,支持漫游,标识为 ESSID。
2. 物理层标准
| 标准 | 别名 | 频段 | 最高数据率 | 核心技术 | 特点 |
|---|---|---|---|---|---|
| 802.11b | Wi-Fi 1 | 2.4GHz | 11Mbit/s | 扩频 | 传播远、价格低、速率低 |
| 802.11a | Wi-Fi 2 | 5GHz | 54Mbit/s | OFDM | 速率高、支持多用户、传播近 |
| 802.11g | Wi-Fi 3 | 2.4GHz | 54Mbit/s | OFDM | 速率高、传播远、价格适中 |
| 802.11n | Wi-Fi 4 | 2.4/5GHz | 600Mbit/s | MIMO+OFDM | 多天线、高吞吐量 |
| 802.11ac | Wi-Fi 5 | 5GHz | 7Gbit/s | MIMO+OFDM | 企业级安全、高速率 |
| 802.11ax | Wi-Fi 6 | 2.4/5GHz | 9.6Gbit/s | MIMO+OFDM | 密集环境优化、高吞吐量密度 |
3. MAC 层协议(CSMA/CA)
- 核心原因:无线环境无法实现碰撞检测,存在隐蔽站问题,故采用碰撞避免机制。
- 帧间间隔(IFS):
- SIFS(短帧间间隔):最短,用于 ACK、CTS 等帧,优先发送。
- DIFS(分布协调功能帧间间隔):用于数据帧和管理帧,空闲后需等待 DIFS 才能发送。
- 争用机制:信道忙时推迟接入,空闲后经 DIFS 进入争用期(CW),通过退避算法随机选择时隙发送。
- 信道预约(RTS/CTS):可选,发送方发 RTS,接收方回应 CTS,预约信道,减少碰撞(尤其解决隐蔽站问题)。
4. MAC 帧格式
- 类型:控制帧(RTS/CTS/ACK)、数据帧、管理帧。
- 数据帧结构:MAC 首部(30 字节,含 4 个地址字段、序号控制、持续期等)+ 帧主体(≤2312 字节)+ FCS(4 字节)。
- 地址字段:地址 1 为接收地址,地址 2 为发送地址,地址 3/4 根据 “去往 AP”“来自 AP” 字段动态确定。
5. 未来发展趋势
- 6GHz 频段开放、Wi-Fi 6/6E/7 普及、OpenRoaming 无缝连接、AI/ML 优化网络管理、与 5G/6G 融合、Matter 标准统一物联网设备。
五、核心协议对比
| 协议 | 适用场景 | 媒体访问控制 | 认证方式 | 关键特点 |
|---|---|---|---|---|
| PPP | 点对点连接(如拨号) | 无(点到点无需竞争) | PAP/CHAP | 简单、多协议支持 |
| 以太网 | 有线局域网 | CSMA/CD | 无内置认证 | 共享信道、高带宽 |
| 802.11 | 无线局域网 | CSMA/CA | WEP/WPA/WPA2 | 移动接入、抗干扰 |
| 协议模块 | 关键参数 | 流程步骤(简化) | 易错点 |
|---|---|---|---|
| PPP 协议 | 1. 帧格式:Flag=0x7E、Address=0xFF、Control=0x032. 协议字段:IP=0x0021、LCP=0xC021、IPCP=0x80213. 认证:PAP(明文)、CHAP(MD5 加密)4. 最大帧长:1500 字节(MRU 默认) | 1. 链路不可用→2. 链路建立(LCP 协商)→3. 认证(可选)→4. 网络层协商(NCP)→5. 链路终止 | 1. 认证阶段非必需,失败则终止链路2. 字节填充仅针对 Flag、0x7D 和控制字符3. 连续发送帧可省略结束 Flag |
| 以太网协议 | 1. 帧格式:数据字段 46-1500 字节,总长 64-1518 字节2. MAC 地址:48 位(前 24 位 OUI)3. CSMA/CD:争用期 51.2μs,最短帧长 64 字节4. 帧间间隔:9.6μs | 1. 载波监听→2. 空闲则发送→3. 碰撞检测→4. 冲突则退避重传 | 1. 无效帧判定含 4 种情况(长度、FCS、数据区、总长)2. 802.3 与 Ethernet V2 的区别在类型 / 长度字段3. 广播地址为 FF:FF:FF:FF:FF:FF |
| 802.11 协议 | 1. 频段:2.4GHz(802.11b/g/n)、5GHz(802.11a/n/ac/ax)2. IFS:SIFS(优先)、DIFS(数据帧)3. 认证:WEP/WPA/WPA24. 帧类型:控制帧(RTS/CTS/ACK)、数据帧、管理帧 | 1. 关联(被动 / 主动扫描)→2. CSMA/CA 争用信道→3. 数据传输 + ACK 确认→4. 漫游 / 分离 | 1. 无碰撞检测,依赖 CSMA/CA+ACK2. 隐蔽站问题通过 RTS/CTS 解决3. 数据帧含 4 个地址字段,动态映射 |
| PPPoE 协议 | 1. 帧类型:发现阶段 0x8863、会话阶段 0x88642. 发现阶段报文:PADI→PADO→PADR→PADS3. 终止报文:PADT | 1. 发现阶段(协商会话 ID)→2. PPP 协商(LCP/NCP/ 认证)→3. 数据传输→4. PADT 终止 | 1. 发现阶段为广播 / 单播混合,会话阶段为单播2. 会话阶段载荷含 PPP 帧完整内容 |
注:速记表聚焦高频考点,核心参数仅保留必背项,流程步骤简化为关键节点,易错点针对常考陷阱设计,可直接用于背诵记忆。
IP 层协议复习总结
一、IP 层核心作用
工作在网络层,定义 IP 地址和 IP 分组格式及传输规则,实现异构网络互联,提供 “尽力而为” 的无连接传输服务,不保证可靠性。
二、IPv4 协议(重点)
1. 地址管理
地址格式:32 位二进制数,点分十进制表示(如 202.117.129.108)。
分类地址
- A 类(0 开头):1.0.0.0-126.255.255.255,默认子网掩码 255.0.0.0。
- B 类(10 开头):128.0.0.0-191.255.255.255,默认子网掩码 255.255.0.0。
- C 类(110 开头):192.0.0.0-223.255.255.255,默认子网掩码 255.255.255.0。
特殊地址
- 环回地址:127.0.0.0/8(用于本机测试)。
- 专有地址:10.0.0.0/8、172.16.0.0/12、192.168.0.0/16(内网使用,路由器不转发)。
- 广播地址:主机号全 1(如 192.168.1.255)。
子网划分:从主机号借用比特作为子网号,通过子网掩码(32 位)与 IP 地址 “与运算” 获取网络 + 子网号。
CIDR(无分类域间路由)
- 斜线记法(如 192.168.1.0/24),网络前缀 + 主机号。
- 地址块分配,大小为 2 的幂次方,支持路由聚合,减小路由表规模。
2. IP 分组
格式:首部(固定 20 字节 + 可变选项)+ 数据。
核心字段
- 版本(IPv4 为 4)、总长度、TTL(跳数限制,路由器转发时减 1,为 0 则丢弃)。
- 协议(标识上层协议,如 TCP=6、UDP=17、ICMP=1)、校验和(仅校验首部)。
分片与重组
- 分片触发:分组长度超过 MTU(最大传输单元)。
- 关键字段:ID(标识同一分组的分片)、MF(1 = 非最后一片,0 = 最后一片)、DF(1 = 禁止分片)、片偏移(以 8 字节为单位,标识分片位置)。
- 重组:仅在目的主机进行,路由器不重组。
3. 分组选项
- 常用选项:记录路由(ping -r)、松散 / 严格源路由(ping -j/-k)、时间戳(ping -s)。
三、IPv6 协议(核心考点)
1. 核心改进
- 地址空间:128 位,解决 IPv4 地址耗尽问题。
- 首部:固定 40 字节,取消校验和,字段简化为 8 个,支持扩展首部。
2. 地址表示
- 冒号十六进制记法(如 2001:0DB8:85A3:0000:0000:8A2E:0370:7334)。
- 零压缩:连续全零段用 “::” 代替(如 FF05::B3)。
- 内嵌 IPv4:如::192.168.1.1。
3. 关键特性
- 地址类型:单播、多播、任播(新增,交付给最近节点)。
- 过渡技术:双协议栈(主机同时支持 IPv4/IPv6)、隧道技术(IPv6 分组封装在 IPv4 中传输)。
- 特殊地址:::(未指明地址)、::1(环回地址)、FE80::/10(链路本地地址)。
四、ARP 协议(地址解析协议)
1. 作用
将 IP 地址解析为 MAC 地址(数据链路层通信需要)。
2. 工作流程
- 发送方广播 ARP 请求(含目标 IP),全网接收。
- 目标主机单播 ARP 响应(含自身 MAC),仅发送方接收。
- 发送方缓存 IP-MAC 映射(ARP 缓存,超时自动刷新)。
3. 关键命令
- arp -a:查看 ARP 缓存。
- arp -s IP MAC:静态绑定 IP 与 MAC(防范 ARP 欺骗)。
- arp -d IP:删除缓存条目。
4. 安全问题
- ARP 欺骗:伪造 ARP 响应篡改缓存,导致通信劫持。
- 防范:静态绑定、ARP 欺骗检测工具、数据加密。
五、ICMP 协议(网际控制报文协议)
1. 作用
- 差错反馈:告知源端分组传输错误(如目的不可达、超时)。
- 网络测试:时钟同步、往返时延测量、路径探测。
2. 报文类型
- 差错报文:
- 目的不可达(代码 3 = 端口不可达、4 = 需分片但 DF=1)。
- 超时(TTL 减为 0、重组超时)。
- 重定向(告知更优路由)。
- 信息报文:
- 回送请求 / 响应(ping 命令核心,测试地址可达性)。
- 时间戳请求 / 响应(时钟同步)。
3. 常用工具
- ping:发送 ICMP 回送请求,测试连通性(支持记录路由、时间戳选项)。
- tracert(Windows)/traceroute(Unix):
- 原理:递增 TTL 值,触发路由器返回 ICMP 超时报文,追踪路径。
- 判断到达目的主机:收到 ICMP 端口不可达报文或回送响应。
六、核心考点对比
| 协议 | 核心功能 | 高频考点 |
|---|---|---|
| IPv4 | 地址分配、分组传输 | 分类地址、CIDR、分片字段、特殊地址 |
| IPv6 | 下一代 IP 协议 | 地址表示、过渡技术、特殊地址 |
| ARP | IP→MAC 解析 | 工作流程、缓存操作、ARP 欺骗防范 |
| ICMP | 差错反馈、网络测试 | 报文类型、ping/tracert 原理 |
七、IP 层协议核心考点速记表
| 协议模块 | 关键参数 | 流程步骤(简化) | 易错点 |
|---|---|---|---|
| IPv4 协议 | 1. 地址格式:32 位,点分十进制2. 分类地址:A (0 开头,1.0.0.0-126.255.255.255)、B (10 开头,128.0.0.0-191.255.255.255)、C (110 开头,192.0.0.0-223.255.255.255)3. 子网掩码:A 类 255.0.0.0、B 类 255.255.0.0、C 类 255.255.255.04. CIDR:斜线记法(如 192.168.1.0/24),网络前缀 + 主机号5. 分片字段:ID(标识分片)、MF(1 = 未完)、DF(1 = 不分片)、片偏移(8 字节为单位) | 1. 地址分配:分类→子网划分→CIDR2. 分组转发:最长前缀匹配3. 分片重组:路由器分片,目的主机重组 | 1. 特殊地址:127.0.0.0/8(环回)、专有地址(10.0.0.0/8 等)2. 片偏移需 ×8 计算实际位置3. CIDR 地址块大小为 2 的幂次方 |
| IPv6 协议 | 1. 地址格式:128 位,冒号十六进制(零压缩、内嵌 IPv4)2. 基本首部:40 字节,字段含版本 (6)、流标号、跳数限制3. 地址类型:单播、多播、任播4. 过渡技术:双协议栈、隧道技术5. 特殊地址:::(未指明)、::1(环回)、FE80::/10(链路本地) | 1. 地址表示:简化记法(零压缩 + 斜线记法)2. 数据传输:基本首部 + 扩展首部3. 过渡:双协议栈兼容 IPv4,隧道穿越 IPv4 网络 | 1. 零压缩仅能使用一次2. 扩展首部由目的主机处理,路由器不转发3. EUI-64 转换:48 位 MAC→64 位接口标识(插入 FFFE) |
| ARP 协议 | 1. 功能:IP 地址→MAC 地址解析2. 分组类型:请求(广播)、响应(单播)3. 缓存:动态缓存(超时更新)、静态绑定4. 命令:arp -a(查看)、arp -s(绑定)、arp -d(删除) | 1. 解析请求:源主机广播 ARP 请求(含目标 IP)2. 解析响应:目标主机单播 ARP 响应(含自身 MAC)3. 缓存更新:源主机存储 IP-MAC 映射 | 1. ARP 欺骗:伪造响应篡改缓存2. 不同网络通信需路由器转发 ARP 请求3. 缓存超时会自动刷新,需定期绑定静态地址 |
| ICMP 协议 | 1. 协议层级:网络层,封装于 IP 分组(协议字段 = 1)2. 报文类型:差错(目的不可达、超时等)、信息(回送请求 / 响应等)3. 工具:ping(回送请求)、tracert(利用 TTL + 超时)4. 差错报文:含原 IP 首部前 64 位数据 | 1. 差错反馈:路由器 / 主机检测错误,发送 ICMP 差错报文2. 网络测试:ping 发送 Echo Request,目标返回 Echo Reply3. 路径跟踪:tracert 递增 TTL,收集路由器超时响应 | 1. 目的不可达代码:3 = 端口不可达、4 = 需分片但 DF=12. tracert 依赖 ICMP 超时和端口不可达报文3. ICMP 不保证可靠传输,仅反馈状态 |
IP 路由协议复习总结
一、路由协议核心基础
1. 路由本质与路由表
- 路由核心:路由器通过路由表转发 IP 分组,路由表条目包含「目的网络地址、下一跳地址、转发接口、路由代价」。
- 路由获取方式:直连路由(自动生成)、静态路由(手动配置)、动态路由(协议自动协商)。
2. 路由算法分类
- 按自适应性:静态路由(简单、不适应拓扑变化)、动态路由(自适应、开销较大)。
- 按使用范围:自治系统(AS)内路由(RIP、OSPF)、AS 间路由(BGP)。
- 按工作原理:距离向量协议(RIP)、链路状态协议(OSPF)、路径向量协议(BGP)。
二、RIP 协议(路由信息协议)
1. 核心特性
- 类型:距离向量协议,基于跳数(转发次数)作为路由代价。
- 版本:RIPv1(无子网掩码、广播发送)、RIPv2(支持子网掩码、组播发送、支持认证)、RIPng(支持 IPv6)。
- 关键参数:
- 最大跳数:15(跳数 16 表示不可达)。
- 更新周期:30 秒(加 0-5 秒随机延迟,避免拥塞)。
- 定时器:更新定时器(30s)、过期定时器(180s,超时标记为不可达)、刷新定时器(120s,删除无效路由)。
2. 工作原理
- 相邻路由器周期性交换完整路由表,通过距离向量算法更新路由。
- 收敛:经过有限次路由交换,所有路由器获得全网最短路由。
3. 关键问题与改进
- 慢收敛 / 计数到无穷:网络故障时,路由信息传播慢,需等待跳数增至 16 才确认不可达。
- 改进措施:
- 水平分割:不将从邻居学习的路由回传给该邻居。
- 毒性逆转:回传路由时将代价设为 16(无穷大)。
- 触发更新:路由变化时立即发送更新,无需等待周期。
- 抑制法:路由失效后,60 秒内忽略同路由的更新。
4. 报文格式
- 传输层:UDP 端口 520。
- 报文类型:请求报文(请求路由表)、响应报文(发送路由表)、鉴别报文(RIPv2 认证用)。
三、OSPF 协议(开放最短路径优先)
1. 核心特性
- 类型:链路状态协议,基于 Dijkstra 算法计算最短路径。
- 适用场景:大型 AS 内部路由,支持负载均衡、认证、区域划分。
- 版本:OSPFv2(IPv4)、OSPFv3(IPv6)。
2. 区域划分与路由器类型
- 区域作用:将 AS 划分为多个区域,减少路由信息开销,仅区域内同步拓扑。
- 关键区域:主干区域(0.0.0.0,必选,连通所有非主干区域)、非主干区域。
- 路由器类型:
- 内部路由器:仅属于一个区域。
- 区域边界路由器(ABR):连接多个区域,需连主干区域。
- 主干路由器:属于主干区域。
- AS 边界路由器(ASBR):与其他 AS 交换路由。
3. 工作原理
- 链路状态数据库:所有路由器同步区域内的链路状态(拓扑图),基于数据库计算路由。
- 邻居与邻接关系:
- 邻居关系:通过 HELLO 报文发现(广播 / NBMA 网络选举 DR/BDR)。
- 邻接关系:仅 DR/BDR 与其他路由器建立,交换链路状态信息。
- 洪泛机制:链路状态变化时,通过 LSA(链路状态通告)洪泛同步,确保数据库一致。
4. 关键报文与 LSA 类型
- 报文类型(共 5 种):
- HELLO 报文(类型 1):发现邻居、监测链路状态、选举 DR/BDR。
- 数据库描述报文(类型 2):交换链路状态数据库摘要。
- 链路状态请求报文(类型 3):请求缺失的 LSA。
- 链路状态更新报文(类型 4):发送 LSA(核心报文)。
- 链路状态确认报文(类型 5):确认 LSA,保证可靠洪泛。
- LSA 类型(核心 5 种):
- 类型 1(路由器 LSA):描述路由器接口链路状态,区域内洪泛。
- 类型 2(网络 LSA):DR 生成,描述网络上的路由器,区域内洪泛。
- 类型 3(网络摘要 LSA):ABR 生成,描述区域间路由。
- 类型 4(ASBR 摘要 LSA):ABR 生成,指向 ASBR。
- 类型 5(AS 外部 LSA):ASBR 生成,描述 AS 外部路由,全网洪泛(除末端区域)。
四、BGP 协议(边界网关协议)
1. 核心特性
- 类型:路径向量协议,AS 间路由协议(连接不同 AS)。
- 传输层:TCP 端口 179(可靠传输,避免报文丢失)。
- 对等体类型:
- IBGP:同一 AS 内的 BGP 发言人(水平分割,不转发 IBGP 学习的路由)。
- EBGP:不同 AS 内的 BGP 发言人。
2. 工作原理
- 路由更新:增量更新(仅发送变化的路由,不周期性交换完整路由表)。
- 状态机:Idle→Connect→Active→OpenSent→OpenConfirm→Established(建立连接后交换路由)。
- 关键定时器:保持活跃定时器(30s,发送 Keepalive 报文)、保持定时器(90s,超时关闭连接)。
3. 关键报文
- 打开报文(Open):建立 TCP 连接后协商参数(BGP 标识符、保持时间)。
- 更新报文(Update):传递新增路由或撤销失效路由,包含路径属性(AS_PATH、NEXT_HOP 等)。
- 保活报文(Keepalive):维持连接,仅含报文首部(19 字节)。
- 通知报文(Notification):协议错误时发送,随后关闭连接。
五、三大协议核心对比
| 协议 | 类型 | 适用范围 | 路由代价 | 收敛速度 | 关键优势 | 缺点 |
|---|---|---|---|---|---|---|
| RIP | 距离向量 | 小型 AS 内 | 跳数 | 慢 | 简单、开销小 | 最大跳数限制、慢收敛 |
| OSPF | 链路状态 | 大型 AS 内 | 链路带宽 / 延迟 | 快 | 无跳数限制、支持负载均衡 | 配置复杂、开销较大 |
| BGP | 路径向量 | AS 间 | 路径属性(策略) | 中 | 支持路由策略、可靠传输 | 配置复杂、依赖 TCP |
六、IP 路由协议核心考点速记表
| 协议模块 | 关键参数 | 流程步骤(简化) | 易错点 |
|---|---|---|---|
| RIP 协议 | 1. 最大跳数:15(16 = 不可达)2. 更新周期:30s(加随机延迟)3. 定时器:更新 (30s)、过期 (180s)、刷新 (120s)4. 版本差异:RIPv2 支持子网掩码 + 组播 | 1. 邻居周期性交换路由表2. 距离向量算法更新路由3. 故障时触发更新或等待超时 | 1. 计数到无穷 = 慢收敛2. 水平分割 / 毒性逆转仅缓解环路,不能完全避免3. RIPv1 不支持子网划分 |
| OSPF 协议 | 1. 区域:主干区域 (0.0.0.0) 必选2. 路由器类型:ABR(跨区域)、ASBR(跨 AS)3. 报文类型:HELLO (1)、数据库描述 (2)、LSA 请求 (3)、LSA 更新 (4)、LSA 确认 (5)4. LSA 核心类型:1(路由器)、2(网络)、3(区域间)、5(AS 外部) | 1. HELLO 报文发现邻居,选举 DR/BDR2. 交换数据库摘要,同步 LSA3. 洪泛 LSA 更新,维护链路状态数据库4. Dijkstra 算法计算最短路径 | 1. 仅 DR/BDR 与其他路由器建立邻接关系2. LSA 洪泛仅在区域内(类型 1/2)或全网(类型 5)3. 末端区域不接收 AS 外部 LSA |
| BGP 协议 | 1. 传输层:TCP 端口 1792. 对等体:IBGP(同一 AS)、EBGP(不同 AS)3. 报文:Open (1)、Update (2)、Keepalive (3)、Notification (4)4. 路径属性:AS_PATH(防环路)、NEXT_HOP(下一跳) | 1. 建立 TCP 连接,交换 Open 报文协商参数2. 发送 Update 报文交换路由(增量更新)3. Keepalive 报文维持连接4. 故障时发送 Notification 关闭连接 | 1. IBGP 不转发 IBGP 学习的路由(水平分割)2. 无跳数限制,依赖 AS_PATH 防环路3. 路由决策基于路径属性而非最短路径 |
| 路由基础 | 1. 路由表条目:目的网络 + 下一跳 + 接口 + 代价2. 路由算法分类:距离向量、链路状态、路径向量3. AS:自治系统,内部路由与外部路由分离 | 1. 路由器接收分组→提取目的 IP→查询路由表→转发 / 丢弃2. 动态路由协议自动协商路由,静态路由手动配置 | 1. 直连路由仅存在于直接连接的网络2. 静态路由适用于拓扑稳定的小型网络3. 动态路由收敛 = 全网路由一致的状态 |
传输层协议复习总结
一、传输层核心基础
1. 核心作用
- 实现进程间逻辑通信(网络层是主机间通信),弥补网络层不可靠传输的缺陷,为应用层提供不同质量的服务。
- 核心功能:多路复用(多个应用进程共享传输层协议)、多路分解(将接收的报文交付给对应应用进程)、差错控制、流量控制(TCP)、拥塞控制(TCP)。
2. 端口与进程寻址
- 端口号:16 位整数(0-65535),标识主机上的应用进程。
- 知名端口(0-1023):绑定固定服务(如 HTTP=80、FTP=21、Telnet=23)。
- 动态端口(1024-65535):应用程序动态分配。
- 通信五元素:源 IP、源端口、目的 IP、目的端口、协议(TCP/UDP)。
3. 两大核心协议对比
| 协议 | 服务类型 | 核心特点 | 适用场景 |
|---|---|---|---|
| UDP | 不可靠、无连接、面向报文 | 首部开销小(8 字节)、无拥塞控制、支持多播 / 广播 | 音频 / 视频、DNS、TFTP、实时通信 |
| TCP | 可靠、面向连接、面向数据流 | 首部开销大(20 字节固定)、有流量 / 拥塞控制、按序交付 | HTTP、FTP、SMTP、Telnet、文件传输 |
二、UDP 协议(用户数据报协议)
1. 核心特性
- 无连接:发送前无需建立连接,直接投递。
- 面向报文:不合并、不拆分应用层数据,保留报文边界,一次发送一个完整报文。
- 尽最大努力交付:不保证可靠传输,无重传、无流量控制。
- 支持多对多通信:一对一、一对多、多对一、多对多。
2. 报文格式
- 首部(8 字节,固定):源端口(2 字节)、目的端口(2 字节)、长度(2 字节,含首部 + 数据)、校验和(2 字节)。
- 伪首部:计算校验和时临时添加(含源 IP、目的 IP、协议号 17、UDP 长度),不实际传输,仅用于校验。
3. 校验和计算
- 校验范围:伪首部 + UDP 首部 + 数据(数据不足偶数字节时填充 0)。
- 计算方式:二进制反码求和,结果再取反码;接收方校验结果为 0 则无差错。
4. 应用扩展
- RTP(实时传输协议):基于 UDP 实现,用于流媒体传输,提供时间戳、序列号等功能。
三、TCP 协议(传输控制协议)
1. 核心特性
- 面向连接:需经过 “三次握手” 建立连接,“四次挥手” 释放连接。
- 可靠传输:通过序号、确认、超时重传、选择性确认(SACK)保证数据不丢失、不重复、按序交付。
- 面向数据流:将应用层数据视为字节流,拆分 / 合并为报文段传输,无报文边界。
- 全双工通信:连接双方可同时发送和接收数据。
- 流量控制:通过滑动窗口防止接收方缓冲区溢出。
- 拥塞控制:通过慢启动、拥塞避免等算法避免网络过载。
2. 报文段格式(重点)
- 固定首部(20 字节):
- 源端口(2 字节)、目的端口(2 字节):标识进程。
- 序号(4 字节):本报文段数据的第一个字节的序号。
- 确认号(4 字节):期望接收的下一个字节的序号(累计确认)。
- 数据偏移(4 位):首部长度(单位:4 字节),最小值 5(20 字节)。
- 控制位(6 位):
- URG(紧急):1 表示含紧急数据,紧急指针有效。
- ACK(确认):1 表示确认号有效(连接建立后始终为 1)。
- PSH(推送):1 表示接收方立即交付应用进程。
- RST(复位):1 表示连接异常,需释放重建。
- SYN(同步):1 表示连接请求 / 响应,用于三次握手。
- FIN(终止):1 表示请求释放连接,用于四次挥手。
- 窗口(2 字节):接收方可用缓冲区大小,用于流量控制。
- 校验和(2 字节):校验首部 + 数据(含伪首部)。
- 紧急指针(2 字节):紧急数据的末尾序号(URG=1 时有效)。
- 选项(可变):常见 MSS(最大报文段长度)、SACK(选择性确认)、窗口扩大因子。
3. 连接管理(高频考点)
(1)三次握手(建立连接)
- 目的:协商初始序号(ISN)、MSS 等参数,确认双方收发能力。
- 流程:
- 客户端(主动打开):发送 SYN=1,seq=x → SYN_SENT 状态。
- 服务器(被动打开):回复 SYN=1、ACK=1,seq=y,ack=x+1 → SYN_RCVD 状态。
- 客户端:回复 ACK=1,seq=x+1,ack=y+1 → ESTABLISHED 状态(服务器同步进入)。
(2)四次挥手(释放连接)
- 目的:确保双方数据都发送完毕,释放资源。
- 流程:
- 主动关闭方:发送 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 后进入 CLOSED)。
- 2MSL 等待原因:确保最后一个 ACK 到达对方;避免旧报文段干扰新连接。
4. 可靠传输机制
- 序号与确认:每个字节编序,接收方通过确认号告知已接收的最大字节序号(累计确认)。
- 超时重传:发送方设置重传定时器,超时未收到确认则重传(定时器时长动态调整,基于 RTT)。
- 选择性确认(SACK):接收方告知已接收的非连续数据块,发送方仅重传丢失部分。
5. 流量控制(滑动窗口)
- 核心:接收方通过 “窗口字段” 告知发送方自己的接收能力,发送方未确认的数据量不超过接收窗口大小。
- 关键问题:
- 0 窗口通告:接收方缓冲区满时发送,发送方需启动 “坚持定时器”,周期性发送窗口探测报文,避免死锁。
- 糊涂窗口综合征(SWS):接收方频繁通告小窗口,导致发送方发送大量小报文段,浪费带宽。
- 解决策略:接收方推迟确认(缓冲区达一半或 MSS 时通告);发送方采用 Nagle 算法(积累数据形成大报文段)。
6. 拥塞控制(高频考点)
- 核心目标:避免网络过载,维持网络吞吐量。
- 关键变量:
- 拥塞窗口(cwnd):发送方估计的网络承载能力,动态调整。
- 慢启动门限(ssthresh):默认 64KB,cwnd 超过后进入拥塞避免阶段。
- 算法流程:
- 慢启动:cwnd 从 1MSS 开始,每 RTT 翻倍(指数增长),直到 cwnd=ssthresh。
- 拥塞避免:cwnd 每 RTT 增加 1MSS(线性增长),避免网络拥塞。
- 拥塞处理:
- 超时重传:ssthresh=cwnd/2,cwnd 重置为 1MSS,重新慢启动。
- 收到 3 个冗余 ACK:ssthresh=cwnd/2,cwnd=ssthresh,进入快速恢复(线性增长)。
7. 定时器
- 重传定时器:触发超时重传,时长基于 RTT 动态调整。
- 坚持定时器:处理 0 窗口通告,避免死锁。
- 保活定时器:服务器端检测空闲连接(默认 2 小时),发送探测报文,处理半开放连接。
四、核心协议对比总结
| 对比维度 | UDP | TCP |
|---|---|---|
| 连接性 | 无连接 | 面向连接(三次握手 / 四次挥手) |
| 可靠性 | 不可靠(无确认 / 重传) | 可靠(序号 / 确认 / 重传) |
| 数据单位 | 数据报(保留边界) | 字节流(无边界) |
| 首部开销 | 8 字节 | 20 字节固定 + 可变选项 |
| 流量控制 | 无 | 滑动窗口 |
| 拥塞控制 | 无 | 慢启动 + 拥塞避免 + 快速恢复 |
| 适用场景 | 实时通信、DNS、TFTP | 文件传输、HTTP、SMTP |
五、传输层协议核心考点速记表
| 协议模块 | 关键参数 | 流程步骤(简化) | 易错点 |
|---|---|---|---|
| UDP 协议 | 1. 首部长度:8 字节2. 端口范围:0-65535(知名端口 0-1023)3. 校验和:含伪首部(源 IP / 目的 IP / 协议 17)4. 数据单位:数据报(不拆分 / 合并) | 1. 应用层提交数据→UDP 添加首部→IP 封装2. 接收方 UDP 拆首部→原封不动交付应用层3. 校验和计算:反码求和再取反 | 1. 伪首部仅用于校验,不实际传输2. 无重传机制,丢包需应用层处理3. 数据报长度超过 MTU 时,IP 层分片 |
| TCP 协议 - 报文格式 | 1. 固定首部:20 字节2. 控制位:SYN(连接)、FIN(释放)、ACK(确认)、RST(复位)3. 序号 / 确认号:按字节编序,累计确认4. 选项:MSS(最大报文段长度)、SACK | 1. 应用层字节流→TCP 拆分报文段→添加首部2. 接收方按序号重组→交付应用层3. 控制位组合:SYN+ACK(连接响应)、FIN+ACK(释放请求) | 1. ACK=1 时确认号才有效(连接建立后始终为 1)2. 数据偏移单位是 4 字节(最小值 5=20 字节)3. MSS 仅在 SYN 报文段中协商 |
| TCP 协议 - 连接管理 | 1. 三次握手:协商 ISN、MSS2. 四次挥手:确保数据发送完毕3. TIME_WAIT:等待 2MSL(报文段最大生存时间) | 建立:SYN→SYN+ACK→ACK释放:FIN→ACK→FIN+ACK→ACK | 1. 三次握手不可省略,否则无法确认双方收发能力2. 四次挥手需两次 FIN+ACK,因全双工通信3. TIME_WAIT 状态不可跳过,避免旧报文干扰 |
| TCP 协议 - 可靠 / 流量 / 拥塞控制 | 1. 可靠传输:序号、确认、超时重传、SACK2. 流量控制:滑动窗口(接收窗口通告)3. 拥塞控制:cwnd(拥塞窗口)、ssthresh(64KB) | 可靠:超时重传 / 3 个冗余 ACK 触发重传流量控制:接收窗口动态调整,避免缓冲区溢出拥塞控制:慢启动(指数增长)→拥塞避免(线性增长)→拥塞处理 | 1. 流量控制是端到端(接收方限制),拥塞控制是全网(网络状态限制)2. 0 窗口需坚持定时器,避免死锁3. 拥塞避免阶段 cwnd 每 RTT+1MSS |
应用层协议复习总结
一、应用层核心基础
- 核心作用:为特定应用场景提供进程间通信服务,基于传输层(TCP/UDP)实现,屏蔽网络层细节,聚焦应用需求(如域名解析、IP 分配、文件传输等)。
- 关键特性:每种协议针对特定场景设计,定义了报文格式、交互流程、端口号等核心要素。
- 常用端口:DNS (53)、DHCP (服务器 67 / 客户端 68)、FTP (控制 21 / 数据 20)、SMTP (25)、POP3 (110)、HTTP (80)、HTTPS (443)。
二、DNS 协议(域名系统)
1. 核心功能
- 域名与 IP 地址互转(正向解析:域名→IP;反向解析:IP→域名)。
- 支持主机别名(CNAME)、负载分配、邮件交换器(MX)查询。
2. 域名空间
- 层次结构:根域→顶级域(TLD,如.com/.cn/.edu)→二级域→三级域→主机名(如www.cqupt.edu.cn)。
- 特殊顶级域:.arpa 用于反向解析。
3. 域名服务器类型
- 根域名服务器(13 套,知道所有顶级域服务器地址)。
- 顶级域服务器(管理二级域,如.com 服务器)。
- 权限域名服务器(管理特定区域的域名解析)。
- 本地域名服务器(默认 DNS,用户首先访问)。
4. 解析流程
- 迭代查询(常用):本地服务器向根→顶级→权限服务器逐步查询,自己获取结果返回用户。
- 递归查询:本地服务器代用户查询到底,直接返回最终 IP(较少用,服务器负载大)。
5. 关键细节
- 传输层:UDP(普通解析,响应≤512 字节)或 TCP(长响应、区域传送),端口 53。
- 记录类型:A(IPv4 地址)、AAAA(IPv6 地址)、CNAME(别名)、MX(邮件交换器)、PTR(反向解析)。
三、DHCP 协议(动态主机配置协议)
1. 核心功能
- 动态分配 IP 地址及子网掩码、网关、DNS 服务器等配置,支持即插即用,避免手动配置错误。
- 分配方式:静态分配(绑定 MAC 与 IP)、动态分配(从地址池临时分配)。
2. 工作流程(地址分配四阶段)
- 发现阶段:客户端广播
DHCP Discover,寻找 DHCP 服务器。 - 提供阶段:服务器响应
DHCP Offer,提供 IP 地址和租用期。 - 选择阶段:客户端广播
DHCP Request,选择一个服务器的 offer。 - 确认阶段:选中的服务器发送
DHCP ACK,确认配置;若拒绝则发DHCP NAK。
3. 关键参数
- 租用期:IP 地址的使用有效期,客户端需在租期过半(T1)时发送
DHCP Request续约,租期 87.5%(T2)未续约则重新申请。 - 端口:服务器 UDP 67,客户端 UDP 68。
- 报文类型:Discover(广播)、Offer(单播)、Request(广播)、ACK(单播)、NAK(广播)、Release(单播,释放 IP)。
四、FTP 协议(文件传输协议)
1. 核心特性
- 基于 TCP,可靠传输,支持文件上传(客户端→服务器)、下载(服务器→客户端)、目录浏览。
- 双连接机制:
- 控制连接(端口 21):全程保持打开,传输命令(如 USER/PASS/RETR/STOR)和响应(三位数字代码)。
- 数据连接(端口 20):临时建立,传输文件或目录列表,传输完成后关闭。
2. 关键命令与响应
- 核心命令:USER(用户名)、PASS(密码)、RETR(下载文件)、STOR(上传文件)、LIST(列目录)、QUIT(退出)。
- 响应代码:2xx(成功,如 220 就绪、250 操作完成)、3xx(中间响应,如 331 需密码)、4xx(临时错误)、5xx(永久错误)。
3. 工作模式
- 主动模式:服务器主动用端口 20 连接客户端的临时端口。
- 被动模式:服务器告知客户端临时端口,客户端主动连接(适用于客户端有防火墙的场景)。
五、邮件系统协议
1. 核心组件
- 发送协议:SMTP(简单邮件传输协议),负责邮件从客户端→发送方服务器→接收方服务器。
- 接收协议:POP3(邮局协议 v3),负责客户端从接收方服务器下载邮件。
- 扩展协议:MIME(多用途互联网邮件扩展),解决 SMTP 无法传输二进制文件(如图片 / 附件)和非 ASCII 字符(如中文)的问题。
2. SMTP 协议(端口 25)
- 工作流程:连接建立→邮件传送→连接终止。
- 核心命令:HELO(标识客户端)、MAIL FROM(发件人)、RCPT TO(收件人,多个收件人需重复执行)、DATA(传输邮件内容,以 “.” 结束)、QUIT(退出)。
3. POP3 协议(端口 110)
- 工作状态:认证状态(USER/PASS 登录)→处理状态(STAT/LIST/RETR/DELE 操作)→更新状态(QUIT 时删除标记为删除的邮件)。
- 核心命令:USER(用户名)、PASS(密码)、STAT(邮箱统计)、RETR(读取邮件)、DELE(标记删除邮件)、QUIT(退出并更新)。
4. MIME 协议
- 核心功能:扩展邮件内容格式,支持多媒体和非 ASCII 字符。
- 关键首部:Content-Type(内容类型,如 text/plain/image/jpeg)、Content-Transfer-Encoding(编码方式,如 Base64、引用可打印)。
- 编码方式:Base64(适用于二进制文件)、引用可打印(适用于少量非 ASCII 字符)。
六、HTTP 协议(超文本传输协议)
1. 核心功能
- 基于 TCP,实现万维网(WWW)的资源传输(如 HTML、图片、视频),支持客户端(浏览器)与服务器的交互。
- 核心特性:无状态(每次请求独立,无上下文关联)、HTTP/1.1 支持持续连接(减少 TCP 连接建立开销)。
2. URL 格式
- 标准格式:
协议://主机:端口/路径(如http://www.cqupt.edu.cn/index.htm),HTTP 默认端口 80 可省略。
3. 报文格式
- 请求报文:请求行(方法 + URL + 版本)+ 首部行(如 User-Agent/Accept)+ 实体主体(POST 请求常用,传输表单数据)。
- 响应报文:状态行(版本 + 状态码 + 短语)+ 首部行(如 Content-Type/Content-Length)+ 实体主体(传输的资源内容)。
4. 核心方法与状态码
- 核心方法:GET(获取资源)、POST(提交数据)、HEAD(仅获取响应首部)、DELETE(删除资源)。
- 常用状态码:200 OK(成功)、404 Not Found(资源不存在)、500 Internal Server Error(服务器错误)、301 永久重定向、302 临时重定向。
应用层协议核心考点速记表
| 协议模块 | 关键参数 | 流程步骤(简化) | 易错点 |
|---|---|---|---|
| DNS 协议 | 1. 端口:53(UDP/TCP)2. 服务器类型:根 / 顶级 / 权限 / 本地3. 解析方式:迭代(本地服务器逐步查)、递归(本地服务器代查)4. 记录类型:A(IPv4)、AAAA(IPv6)、CNAME(别名)、MX(邮件) | 1. 客户端向本地 DNS 发送查询2. 本地 DNS 迭代查询根→顶级→权限服务器3. 权限服务器返回 IP,本地 DNS 缓存并转发给客户端 | 1. 迭代 vs 递归:迭代是 “一步步问”,递归是 “问到底”2. UDP 用于普通解析,TCP 用于长响应 / 区域传送3. 反向解析依赖.arpa 域 |
| DHCP 协议 | 1. 端口:服务器 67、客户端 68(UDP)2. 租期:默认有有效期,需 T1/T2 续约3. 报文类型:Discover/Offer/Request/ACK/NAK/Release4. 分配方式:静态(绑定 MAC)、动态(地址池) | 1. 发现:客户端广播 Discover2. 提供:服务器单播 Offer3. 选择:客户端广播 Request4. 确认:服务器单播 ACK | 1. 报文传输方式:Discover/Request 是广播,Offer/ACK 是单播2. 租期续约:T1(租期过半)续约,T2(87.5%)未续约则重申请3. 无 DHCP 服务器时,客户端使用 169.254.0.0/16 网段 |
| FTP 协议 | 1. 双连接:控制连接 21(TCP)、数据连接 20(TCP)2. 核心命令:USER/PASS/RETR(下载)/STOR(上传)/QUIT3. 响应代码:2xx(成功)、3xx(中间)、4xx(临时错)、5xx(永久错) | 1. 控制连接:客户端连服务器 21 端口,发送认证和命令2. 数据连接:传输文件 / 目录列表3. 断开:QUIT 命令关闭控制连接 | 1. 控制连接 vs 数据连接:控制传命令,数据传文件2. 主动模式 vs 被动模式:主动是服务器连客户端,被动是客户端连服务器3. 响应代码 220 = 就绪,250 = 操作完成,530 = 登录失败 |
| 邮件系统协议 | 1. 发送:SMTP(25 端口)、接收:POP3(110 端口)2. MIME:解决二进制 / 非 ASCII 传输3. SMTP 命令:HELO/MAIL FROM/RCPT TO/DATA/QUIT4. POP3 命令:USER/PASS/RETR/DELE/QUIT | 发送:客户端→SMTP 服务器→接收方 SMTP 服务器接收:客户端→POP3 服务器下载邮件MIME:编码非 ASCII / 二进制内容后通过 SMTP 传输 | 1. SMTP 负责 “发送到服务器”,POP3 负责 “客户端下载”2. SMTP 的 DATA 命令后,邮件内容以 “.” 结束3. POP3 的 DELE 仅标记删除,QUIT 时才实际删除4. MIME 的 Base64 编码用于二进制附件 |
| HTTP 协议 | 1. 端口:80(HTTP)、443(HTTPS)2. 方法:GET(获取)、POST(提交)、HEAD(仅首部)3. 状态码:200(成功)、404(未找到)、500(服务器错)4. 版本:HTTP/1.1 支持持续连接 | 1. 建立 TCP 连接2. 客户端发送请求报文3. 服务器返回响应报文4. 关闭连接(或持续连接复用) | 1. GET vs POST:GET 参数在 URL,POST 参数在实体主体2. 无状态:需 Cookie/Session 维持上下文3. 持续连接:HTTP/1.1 默认开启,减少连接开销4. 状态码 3xx 是重定向,4xx 是客户端错,5xx 是服务器错 |