vault backup: 2026-05-27 00:12:00
This commit is contained in:
@@ -48,7 +48,7 @@ sequenceDiagram
|
||||
|
||||
Src->>Bcast: ARP Request "192.168.1.20 是谁?→ ff:ff:ff:ff:ff:ff"
|
||||
Dst-->>Src: ARP Reply "我是!MAC = aa:bb:cc:11:22:33"
|
||||
Src->>Cache: 写入缓存条目 (TTL ≈ 15~30 分钟)
|
||||
Src->>Cache: 写入缓存条目 (Linux 默认 ≈ 30s, Windows ≈ 15~45s, 可配置)
|
||||
Note over Src,Dst: 之后的通信直接用此 MAC,不再发 ARP
|
||||
```
|
||||
|
||||
@@ -67,7 +67,7 @@ $ arp -a
|
||||
|
||||
## 二、IP 地址(IPv4 32 位 / IPv6 128 位)
|
||||
|
||||
### IPv4 地址结构
|
||||
### IPv4 首部结构
|
||||
|
||||
```
|
||||
版本(4 bits) IHL(4 bits) DSCP(8 bits) Total Length(16 bits)
|
||||
@@ -91,6 +91,31 @@ Options (可选)...
|
||||
| NAT | 广泛使用(缓解地址耗尽) | 不需要(地址充足) |
|
||||
| SLAAC | — | 支持无状态自动配置 |
|
||||
| 组播 | 有限支持 | 原生支持 |
|
||||
| 地址解析 | ARP(广播) | NDP / Neighbor Discovery(组播,替代 ARP) |
|
||||
|
||||
### IPv6 地址表示与压缩
|
||||
|
||||
IPv6 地址共 128 位,用冒号分隔为 8 组,每组 4 个十六进制数:
|
||||
|
||||
```
|
||||
完整写法: 2001:0db8:0000:0000:0000:0000:0000:0001
|
||||
压缩规则 1 — 每组前导零可省略: 2001:db8:0:0:0:0:0:1
|
||||
压缩规则 2 — 连续全零组用 :: 替代(仅一次): 2001:db8::1
|
||||
```
|
||||
|
||||
> [!QUESTION] `::` 能用几次?
|
||||
> 只能用**一次**。如果出现两个 `::`,解析器无法确定每组省略了多少个零,地址就会歧义。
|
||||
|
||||
### IPv6 特殊地址
|
||||
|
||||
| 地址 | 用途 |
|
||||
|------|------|
|
||||
| `::1` | 环回地址,等价于 IPv4 的 `127.0.0.1` |
|
||||
| `::` | 未指定地址,等价于 IPv4 的 `0.0.0.0` |
|
||||
| `fe80::/10` | 链路本地地址(Link-Local),同一链路自动通信 |
|
||||
| `ff00::/8` | 组播地址 |
|
||||
|
||||
> 更多 IPv6 细节见 [[hhs/NETWORK/03-网络层/03-IPv6地址与扩展头部]]。
|
||||
|
||||
### IP 地址分类(历史)
|
||||
|
||||
@@ -104,6 +129,29 @@ Options (可选)...
|
||||
|
||||
> [!warning] CIDR 已淘汰分类编址
|
||||
> 现代网络全部使用 **CIDR(Classless Inter-Domain Routing)** 无类编址,子网掩码可以是任意位数(如 /23、/27)。
|
||||
> CIDR 用"前缀长度"取代了固定的 A/B/C 类划分,例如 `192.168.1.0/24` 表示前 24 位是网络号,剩余 8 位是主机号。
|
||||
> 更多细节见 [[hhs/NETWORK/03-网络层/02-CIDR与子网划分]]。
|
||||
|
||||
### 特殊 IP 地址
|
||||
|
||||
| 地址 | 用途 |
|
||||
|------|------|
|
||||
| `127.0.0.1` / `::1` | 环回地址(Loopback),本机内部通信 |
|
||||
| `0.0.0.0` | 表示"本机所有网卡"(服务端 bind 时常用) |
|
||||
| `169.254.x.x` | 链路本地地址(DHCP 失败时自动分配) |
|
||||
|
||||
### 私有 IP 地址段
|
||||
|
||||
互联网上的路由器**不会转发**来自以下范围的数据包,它们仅用于内网,通过 NAT 转换为公网 IP 后才能访问互联网:
|
||||
|
||||
| 类别 | 地址范围 | CIDR | 可用地址数 |
|
||||
|------|---------|------|-----------|
|
||||
| A 类 | `10.0.0.0` ~ `10.255.255.255` | `10.0.0.0/8` | ~1677 万 |
|
||||
| B 类 | `172.16.0.0` ~ `172.31.255.255` | `172.16.0.0/12` | ~104 万 |
|
||||
| C 类 | `192.168.0.0` ~ `192.168.255.255` | `192.168.0.0/16` | ~6.5 万 |
|
||||
|
||||
> [!tip] 私有地址 + NAT = 解决 IPv4 耗尽
|
||||
> 一个公网 IP 可以通过 NAT 映射背后成百上千个私有 IP,这就是为什么 IPv4 至今仍在大规模使用。详见 [[hhs/NETWORK/03-网络层/08-NAT原理与应用]]。
|
||||
|
||||
## 三、端口号(16 位)
|
||||
|
||||
@@ -134,7 +182,8 @@ flowchart LR
|
||||
|
||||
| 端口 | 协议 | 服务 |
|
||||
|------|------|------|
|
||||
| 21 | FTP | 文件传输控制 |
|
||||
| 20 | FTP-Data | 文件传输数据通道 |
|
||||
| 21 | FTP | 文件传输控制通道 |
|
||||
| 22 | SSH | 安全远程登录 |
|
||||
| 25 | SMTP | 邮件发送 |
|
||||
| 53 | DNS | 域名解析 |
|
||||
@@ -164,6 +213,7 @@ flowchart TD
|
||||
|
||||
## 关联笔记
|
||||
|
||||
- [[hhs/NETWORK/OSI与TCP-IP模型对比]] — 三层地址对应 OSI 的不同层级
|
||||
- [[hhs/NETWORK/IPv4协议详解]] — IP 地址的详细编码与 CIDR 计算
|
||||
- [[hhs/NETWORK/TCP状态机详解]] — 四元组如何唯一标识 TCP 连接
|
||||
- [[hhs/NETWORK/01-基础概念/01-OSI与TCP-IP模型对比]] — 三层地址对应 OSI 的不同层级
|
||||
- [[hhs/NETWORK/03-网络层/01-IPv4首部与分段重组]] — IP 首部的详细字段与分段机制
|
||||
- [[hhs/NETWORK/03-网络层/02-CIDR与子网划分]] — CIDR 计算与子网划分实战
|
||||
- [[hhs/NETWORK/04-传输层/01-TCP段结构与状态机]] — 四元组如何唯一标识 TCP 连接
|
||||
|
||||
Reference in New Issue
Block a user