目录
IPv4地址结构
- 定义:IPv4地址是一个32位的二进制数,通常分为4个8位的段(如
11000000.10101000.00000001.00000001
)。 - 表示方式:常用点分十进制表示(如
192.168.1.1
)。 - 组成:
- 网络号(Network ID):标识网络。
- 主机号(Host ID):标识网络中的设备。
- 子网掩码:用于区分网络号和主机号。
IP地址的主要作用
- 唯一标识设备:每个设备在网络中都有一个唯一的IP地址。
- 路由选择:帮助数据包在网络中找到正确的路径。
- 网络管理:便于网络管理员进行设备管理和故障排查。
全球IPv4地址数量
- IPv4地址总数为(2^{32}),约43亿个。
- 由于地址耗尽问题,IPv6逐渐取代IPv4。
IP地址分类
1. 传统分类(已淘汰)
类别 | 首字节范围 | 网络数 | 主机数/网络 | 典型场景 |
---|---|---|---|---|
A | 0-127 | 126 | 1677万 | 国家级网络 |
B | 128-191 | 1.6万 | 6.5万 | 中型企业 |
C | 192-223 | 209万 | 254 | 家庭/办公室 |
D | 224-239 | 组播 | 无 | 视频流 |
E | 240-255 | 保留 | 无 | 实验用途 |
2. 现代分类(CIDR)
- CIDR(无类域间路由):取代传统分类,使用前缀长度表示网络号。
- 示例:
192.168.1.0/24
表示前24位为网络号,后8位为主机号,子网掩码为255.255.255.0
。
- 示例:
特殊地址范围
1. 私有地址(RFC 1918)
- A类:
10.0.0.0~10.255.255.255
,子网掩码255.0.0.0
(/8),约1677万个地址。 - B类:
172.16.0.0~172.31.255.255
,子网掩码255.255.0.0
(/16),约6.5万个地址。 - C类:
192.168.0.0~192.168.255.255
,子网掩码255.255.255.0
(/24),254个地址。- 常见场景:家庭或小型办公室网络,路由器默认配置。
2. 回环地址
- 范围:
127.0.0.0~127.255.255.255
。 - 用途:用于本地测试(如
127.0.0.1
)。
3. 自动配置地址(APIPA)
- 范围:
169.254.0.0~169.254.255.255
。 - 用途:当设备无法从DHCP服务器获取IP地址时自动分配。
IPv6地址结构
1. 定义
- IPv6是下一代互联网协议,使用128位地址,支持(3.4 \times 10^{38})个地址,解决IPv4地址耗尽问题。
2. 地址表示
- 标准格式:8组4位十六进制数,用冒号分隔(如
2001:0db8:85a3:0000:0000:8a2e:0370:7334
)。 - 缩写规则:
- 前导零可省略:
2001:db8:85a3:0:0:8a2e:370:7334
。 - 连续零组用
::
替代(仅一次):2001:db8:85a3::8a2e:370:7334
。
- 前导零可省略:
3. 地址类型
- 单播(Unicast):一对一通信(如
2001:db8::1
)。 - 组播(Multicast):一对多通信(如
ff02::1
)。 - 任播(Anycast):一对最近节点通信(如
2001:db8::a
)。 - 链路本地地址:同一链路内有效(如
fe80::1
)。 - 唯一本地地址(ULA):私有网络使用(如
fc00::1
)。
4. IPv6 vs IPv4核心改进
特性 | IPv4 | IPv6 |
---|---|---|
地址长度 | 32位(约43亿地址) | 128位(几乎无限地址) |
地址配置 | 手动或DHCP | 支持SLAAC(无状态自动配置) |
安全性 | 依赖额外协议(如IPSec) | 原生支持IPSec |
IP分配原理
1. DHCP(动态主机配置协议)
- 作用:自动分配IP地址、子网掩码、网关等网络配置。
- 工作原理(DORA过程):
- Discover:客户端广播寻找DHCP服务器。
- Offer:服务器提供IP地址等配置。
- Request:客户端确认接受配置。
- Acknowledge:服务器确认分配。
2. Windows中的DHCP
- 客户端:自动发送Discover请求,通过注册表管理租约。
- 服务器:通过DHCP服务器角色分配IP地址,支持地址预留和范围分配。
3. Linux中的DHCP
- 客户端:使用
dhclient
发送Discover请求,配置文件为/etc/dhcp/dhclient.conf
。 - 服务器:使用ISC DHCP Server或
dnsmasq
,配置文件为/etc/dhcp/dhcpd.conf
或/etc/dnsmasq.conf
。
总结
- IPv4:32位地址,传统分类已淘汰,现代网络使用CIDR表示法。
- IPv6:128位地址,解决地址耗尽问题,支持无状态自动配置。
- DHCP:自动分配IP地址,简化网络管理,适用于Windows和Linux系统。
进制转换方法
1. 二进制转十进制
- 规则:每位二进制数的值 × 2^(位置索引),从右到左索引为0开始。
- 示例:
10101011
(二进制)
=1×2⁷ + 0×2⁶ + 1×2⁵ + 0×2⁴ + 1×2³ + 0×2² + 1×2¹ + 1×2⁰
=128 + 0 + 32 + 0 + 8 + 0 + 2 + 1
=171
(十进制)
2. 二进制转十六进制
- 规则:每4位二进制转为1位十六进制(补足前导0),对照表如下:
0000=0, 0001=1, ..., 1001=9, 1010=A, 1011=B, 1100=C, 1101=D, 1110=E, 1111=F
- 示例:
10101011
(二进制)
分为1010
(A)和1011
(B) → 结果为0xAB
(十六进制)。
3. 十进制转二进制
- 规则:除2取余法,逆序排列余数。
- 示例:
将192
转为二进制:192 ÷ 2 = 96 余 0 96 ÷ 2 = 48 余 0 48 ÷ 2 = 24 余 0 24 ÷ 2 = 12 余 0 12 ÷ 2 = 6 余 0 6 ÷ 2 = 3 余 0 3 ÷ 2 = 1 余 1 1 ÷ 2 = 0 余 1 余数逆序:11000000
4. 十进制转十六进制
- 规则:除16取余法,余数对应十六进制符号。
- 示例:
将171
转为十六进制:171 ÷ 16 = 10 余 11 → B 10 ÷ 16 = 0 余 10 → A 结果:0xAB
IPv4地址的进制转换示例
- 二进制IPv4:
11000000.10101000.00000001.00000001
- 十进制:
192.168.1.1
- 十六进制:
C0.A8.01.01
(每段单独转换)
- 十进制: