网络协议基础 — 知识地图
本笔记为 MOC(Map of Content)
网络层的核心问题只有一个:一个 IP 包如何从 A 主机到达 B 主机? 答案是一连串”接力”,而接力需要三样东西:地址结构、下一跳的 MAC、以及自动生成的路由表。
核心脉络:IP 包接力
应用数据
↓ 封装
IP 包(源 IP + 目的 IP)
↓ 查路由表决定下一跳
封装进帧(需要下一跳的 MAC)
↓ ARP 提供 IP↔MAC 映射
在局域网中逐跳传送
↑ 路由表由 RIP / BGP 自动生成与更新
地址结构
| 主题 | 核心笔记 |
|---|---|
| IPv4 地址分类与子网掩码 | IPv4地址分类与子网掩码 |
关键认知
- 子网掩码标记网络号与主机号的分界线(
255.0.0.0= 前 8 位网络号)- IP 地址识别的是网卡(NIC),不是计算机——一台机器可有多张网卡、多个 IP
- 路由器本质是配备多张网卡的专用电脑,因此能同时”待在”多个网段
转发机制
| 主题 | 核心笔记 |
|---|---|
| IP 包接力与路由表 | IP包接力与路由表 |
核心不变式
接力过程中 IP 包被反复封装入帧、再拆开,但 IP 包本身的内容(含源/目的 IP)始终不变——变的只是外层帧头部。 这正是网络层提供端到端抽象的体现。
地址解析
| 主题 | 核心笔记 |
|---|---|
| ARP:IP → MAC 的解析 | ARP协议-IP到MAC的解析 |
ARP 只用于 IPv4
IPv6 使用 Neighbor Discovery Protocol(NDP) 替代 ARP。 排查 IPv6 问题时不要找 ARP 表,应查邻居表(
ip -6 neigh)。ARP 无认证机制,是局域网中间人攻击的常见路径,生产网需启用 DAI 与 IP-MAC 绑定。
路由表的自动生成
| 主题 | 核心笔记 |
|---|---|
| RIP 与 BGP | RIP与BGP-路由表的自动生成 |
| RIP | BGP | |
|---|---|---|
| 作用范围 | 自治系统内部 | 自治系统之间 |
| 度量依据 | 跳数(hop number) | 距离 + 政策 + 性能等 |
| 规模限制 | 15 跳上限 | 面向全球互联网 |
Linux 实践
| 主题 | 核心笔记 |
|---|---|
| Linux 网络数据包处理 | Linux网络数据包处理 |
| IP 转发与路由 | Linux-IP转发与路由 |
| 连接跟踪 conntrack | Linux-连接跟踪-conntrack详解 |
| iptables 详解 | iptables详解 · iptables-扩展匹配模块 · iptables端口转发 |
| IPVS 虚拟服务器 | IPVS-IP虚拟服务器详解 · IPVS-Director与Real-Server · ipvsadm命令详解 |
| Windows 端口转发 | Windows端口转发-proxy |
常用命令速查
ip route # 查看路由表(route -n 为旧写法)
arp -a # 查看 ARP 缓存(IPv4)
ip -6 neigh # 查看 IPv6 邻居表
ip addr # 查看网卡与 IP三个协议的分工
| 协议 | 解决的问题 |
|---|---|
| ARP | 下一跳的 MAC 是谁(实现 IP 包到帧的封装) |
| RIP | 自治系统内部该怎么走 |
| BGP | 自治系统之间该怎么走 |
参考链接
- Linux网络数据包处理 — 数据包在 Linux 内核中的处理路径