2. IP地址基础:IPv4地址结构、分类(A/B/C/D/E)、子网掩码与CIDR表示法
2.1 IPv4地址结构
IPv4地址是TCP/IP网络中用于标识每个网络接口的32位逻辑地址。它由网络号和主机号两部分组成,采用点分十进制表示法。
核心结构:32位二进制 → 4个8位字节 → 点分十进制(如 192.168.1.10)
2.2 IPv4地址分类(A/B/C/D/E)
IPv4地址根据首字节的高位比特划分为5类,其中A、B、C类用于单播通信,D类用于组播,E类保留。
| 类别 | 首字节范围 | 默认子网掩码 | 网络数 | 每网络主机数 | 用途 |
|---|---|---|---|---|---|
| A类 | 1 ~ 126 | 255.0.0.0 | 126 | 16,777,214 | 大型网络 |
| B类 | 128 ~ 191 | 255.255.0.0 | 16,384 | 65,534 | 中型网络 |
| C类 | 192 ~ 223 | 255.255.255.0 | 2,097,152 | 254 | 小型网络 |
| D类 | 224 ~ 239 | — | — | — | 组播 |
| E类 | 240 ~ 255 | — | — | — | 保留/实验 |
注意:127.0.0.0/8 保留为环回地址(Loopback),用于本地测试,不属于任何分类。
2.3 子网掩码
子网掩码是一个32位二进制掩码,用于将IP地址划分为网络号和主机号。掩码中连续的1表示网络位,0表示主机位。
子网掩码作用:通过IP地址与子网掩码进行按位与运算,得到网络地址。
示例:IP地址 192.168.1.10,子网掩码 255.255.255.0
二进制运算:
192.168.1.10 → 11000000.10101000.00000001.00001010
255.255.255.0 → 11111111.11111111.11111111.00000000
按位与结果 → 11000000.10101000.00000001.00000000
网络地址 → 192.168.1.0
2.4 CIDR表示法
CIDR(无类域间路由)使用斜杠记法,在IP地址后加上/N表示网络前缀长度(即子网掩码中连续1的个数)。
| CIDR表示 | 子网掩码 | 可用主机数 | 说明 |
|---|---|---|---|
10.0.0.0/8 |
255.0.0.0 | 16,777,214 | A类默认 |
172.16.0.0/16 |
255.255.0.0 | 65,534 | B类默认 |
192.168.1.0/24 |
255.255.255.0 | 254 | C类默认 |
192.168.1.0/25 |
255.255.255.128 | 126 | 子网划分 |
192.168.1.0/26 |
255.255.255.192 | 62 | 子网划分 |
注意:CIDR消除了传统A/B/C类的边界,允许任意长度的网络前缀,提高了IP地址利用率。
2.5 特殊地址与保留地址
- 网络地址:主机位全0,如 192.168.1.0,用于标识网络本身。
- 广播地址:主机位全1,如 192.168.1.255,用于向该网络所有主机发送数据。
- 环回地址:127.0.0.0/8,用于本地测试,数据不离开本机。
- 私有地址:10.0.0.0/8、172.16.0.0/12、192.168.0.0/16,用于内部网络,不路由到公网。
- 链路本地地址:169.254.0.0/16,DHCP失败时自动分配。
嵌入式开发提示:在配置设备端IP时,优先使用私有地址段(如192.168.x.x),避免与公网地址冲突。
2.6 子网划分与VLSM
VLSM(可变长子网掩码)允许在同一网络中使用不同长度的子网掩码,提高IP地址利用率。子网划分时,从主机位中借位作为子网位。
示例:将 192.168.1.0/24 划分为4个子网
借2位主机位 → 子网掩码 /26 (255.255.255.192)
子网1:192.168.1.0/26 (192.168.1.1 ~ 192.168.1.62)
子网2:192.168.1.64/26 (192.168.1.65 ~ 192.168.1.126)
子网3:192.168.1.128/26 (192.168.1.129 ~ 192.168.1.190)
子网4:192.168.1.192/26 (192.168.1.193 ~ 192.168.1.254)
子网划分公式:子网数 = 2^借位数,每个子网主机数 = 2^(32 - 新前缀长度) - 2
2.7 常见问题与避坑指南
- 子网掩码配置错误:导致设备无法跨网段通信,检查掩码是否与网关一致。
- IP地址冲突:同一网络中两个设备使用相同IP,需使用DHCP或静态分配管理。
- 广播地址误用:不要将广播地址分配给设备,否则会导致网络风暴。
- CIDR前缀长度错误:/24与/25的网络范围不同,配置时需精确计算。
调试要点:使用
ping 127.0.0.1 测试本地协议栈,使用 ping 网关地址 测试链路连通性。