3. IP 地址
3. IP 地址
3.1 IP 地址概述
- 物理地址:
- 定义:物理网络中结点的机器可识别地址,又称硬件地址、MAC 地址或第二层地址。
- 特点:不一致性(不同物理网络编址方式不同)、不唯一性(不同网络中地址可能重复)。
- IP 地址的作用:
因特网在网络层(IP 层)通过 IP 地址实现地址统一,屏蔽物理地址差异,确保全球唯一性和格式一致性。 - IP 地址结构:
- 层次化结构:由网络号和主机号组成,表达式为
IP-address ::= {<Network-number>, <Host-number>}
。 - 本质:标识主机的网络连接,主机更换网络时需修改 IP 地址。
- 层次化结构:由网络号和主机号组成,表达式为
- IPv4 地址特性:
- 长度:32 比特,地址空间为 2³²(约 42.9 亿个)。
- 表示方法:
- 点分十进制(如 202.119.84.120,最常用);
- 二进制(如 11001010 01110111 01010100 01111000);
- 十六进制(如 0XCA775478,较少使用)。
3.2 分类 IP 地址
传统 IP 地址按类别划分,共 5 类(A、B、C、D、E),核心差异在于网络号与主机号的位数分配。
类别 | 首位特征 | 网络号位数 | 主机号位数 | 第一个字节范围 | 可用网络数 | 每个网络最大主机数 | 用途 |
---|---|---|---|---|---|---|---|
A 类 | 最高位为 0 | 8 比特(1 字节) | 24 比特(3 字节) | 0~127 | 126(排除 0 和 127) | 2²⁴-2=1677214 | 大型网络 |
B 类 | 最高两位为 10 | 16 比特(2 字节) | 16 比特(2 字节) | 128~191 | 2¹⁴=16384 | 2¹⁶-2=65534 | 中型网络 |
C 类 | 最高三位为 110 | 24 比特(3 字节) | 8 比特(1 字节) | 192~223 | 2²¹=2097152 | 2⁸-2=254 | 小型网络 |
D 类 | 最高四位为 1110 | 无明确网络 / 主机划分 | 无 | 224~239 | - | - | 组播(数据发送给特定组所有成员) |
E 类 | 最高四位为 1111 | 无 | 无 | 240~255 | - | - | 保留(实验用途) |
- 特殊说明:
- D 类地址部分特殊用途:如 224.0.0.1(本子网所有系统)、224.0.0.2(本子网所有路由器)等。
- 多宿主设备:连接多个网络的设备(如路由器、多网卡主机),每个网络连接对应一个 IP 地址,且地址分属不同网络。
- 地址分配:由因特网网络信息中心(InterNIC)分配网络前缀,组织内部负责主机地址分配,兼顾全局唯一性和管理分散性。
3.3 特殊 IP 地址
特殊 IP 地址不用于标识主机,具有特定功能,包括以下类型:
类型 | 定义 | 表达式 | 示例 | 用途与限制 |
---|---|---|---|---|
网络地址 | 主机号全为 “0” 的地址 | {<Network-number>, 0} | A 类:120.0.0.0;B 类:139.22.0.0;C 类:203.120.16.0 | 标识网络,不可分配给主机,不能作为源 / 目的地址 |
直接广播地址 | 主机号全为 “1” 的地址 | {<Network-number>, -1}(“-1” 表示全 1) | A 类:120.255.255.255;B 类:139.22.255.255 | 向目标网络所有主机广播,仅作为目的地址 |
受限广播地址 | 32 比特全为 “1” | { -1, -1 } | 255.255.255.255 | 本网络内广播,路由器不转发,仅作为目的地址 |
本网络地址 | 网络号全为 “0” | 本网络特定主机:{0, <Host-number>};本网络本主机:{0, 0}(0.0.0.0) | 0.0.0.5(特定主机);0.0.0.0(本主机) | 仅作为源地址(如无盘工作站启动时) |
环回地址 | A 类地址中以 127 开头的地址 | {127, <any>} | 127.0.0.1(常用,命名为 localhost) | 用于网络软件测试或本机进程通信,数据不发送到网络 |
3.4 私有网络地址
- 定义:因特网地址分配机构保留的、仅用于私有网络(不直接连接因特网)的地址块,避免与公网地址冲突。
- 三组保留地址:
- A 类:10.0.0.0~10.255.255.255
- B 类:172.16.0.0~172.31.255.255
- C 类:192.168.0.0~192.168.255.255
- APIPA 地址:
- 范围:169.254.0.0~169.254.255.255,默认掩码 255.255.0.0。
- 用途:DHCP 故障时自动分配,支持无 DHCP 服务器的小型网络,每隔 5 分钟尝试联系 DHCP 服务器。
- 好处:节省公网 IP 地址,通过代理服务器的网络地址转换(NAT)隐藏私有网络结构,提升安全性。
3.5 IP 地址配置
- 配置原则:
- 同一网络内主机需相同网络号,主机号必须唯一;
- 主机号不能全 “0”(网络地址)或全 “1”(广播地址);
- 网络号不能全 “0”(本地网)、全 “1”、以 127 开头(环回地址);
- 公网网络号必须全局唯一。
- 常见问题:
- 错误 IP 地址:如主机网络号与所在网络不符,导致通信失败;
- 重复 IP 地址:多台主机使用同一地址,引发通信异常(Windows 启动时会通过 ARP 广播检测冲突,部分系统无此机制)。
- 解决方案:使用动态主机配置协议(DHCP)自动分配 IP 地址,避免重复。
3.6 子网及子网掩码
- 子网划分目的:
- 提高大型网络(A 类、B 类)地址利用率;
- 按部门划分子网,便于管理;
- 隔离广播,减少网络拥塞;
- 分离管理与服务网络,提升安全性;
- 适配不同物理网络的互联需求。
- 子网结构:
- 将 IP 地址主机号划分为子网号和主机号,结构变为
IP-address ::= {<Network-number>, <Subnet-number>, <Host-number>}
。
- 将 IP 地址主机号划分为子网号和主机号,结构变为
- 子网掩码:
- 定义:32 比特二进制数,网络号 + 子网号对应位为 “1”,主机号对应位为 “0”,用于区分子网结构。
- 作用:通过与 IP 地址进行按位 “与” 运算,获取子网地址(判断主机是否在本地子网)。
- 子网数量与主机数量计算:
- 设从主机号中取 m 比特作为子网号,剩余 n 比特作为主机号(A 类 p=24、B 类 p=16、C 类 p=8,n=p-m):
- 子网数:理论上 2ᵐ个,早期因路由协议限制,排除全 “0” 和全 “1” 子网,实际可用 2ᵐ-2 个(RFC 1878 后允许全 “0”/ 全 “1” 子网,需路由协议支持掩码);
- 主机数:每个子网可用主机为 2ⁿ-2 个(排除全 “0” 子网地址和全 “1” 子网广播地址)。
- 设从主机号中取 m 比特作为子网号,剩余 n 比特作为主机号(A 类 p=24、B 类 p=16、C 类 p=8,n=p-m):
- 示例:
- B 类网络 172.16.0.0,m=2(取 2 比特子网号):
- 子网掩码:255.255.192.0(二进制 11111111 11111111 11000000 00000000);
- 子网:172.16.0.0(子网号 00)、172.16.64.0(01)、172.16.128.0(10)、172.16.192.0(11);
- 每个子网主机数:2¹⁴-2=16382 台。
- B 类网络 172.16.0.0,m=2(取 2 比特子网号):
- 可变长子网掩码(VLSM):
- 允许同一网络中不同子网使用不同掩码,按需求划分不同规模子网(如部分子网需多主机,部分需少主机),提高地址利用率。
3.7 超网
- 定义:将多个连续的小型网络(如 C 类)合并为一个大地址块,适用于需要大量地址的单位(难以获得 A 类、B 类地址时)。
- 超网构造方法:
- 从网络号中取部分比特加入主机号,扩大主机地址空间;
- 超网掩码:“1” 的位数比默认掩码少(与子网掩码相反),通过与 IP 地址 “与” 运算获取超网地址。
- 构造条件:
- 地址块必须连续;
- 地址块数量为 2ᵐ(m=1,2,…);
- 第一个地址块的第三字节值是地址块数量的整数倍(针对 C 类网络)。
- 示例:合并 8 个连续 C 类地址块(192.168.168.0~192.168.175.0):
- 超网掩码:255.255.248.0(二进制 11111111 11111111 11111000 00000000);
- 超网地址:192.168.168.0(通过掩码与任意地址 “与” 运算得到);
- 作用:减少路由表条目,简化路由管理。
3.8 无类地址(CIDR)
- 定义:1996 年引入的无类别域间路由(Classless Interdomain Routing),取消 A、B、C 类划分,按前缀长度灵活划分网络与主机。
- 地址块要求:
- 地址连续;
- 数量为 2ⁿ(n 为整数);
- 起始地址能被地址块数量整除(简化判断:如数量 < 2⁸,仅检查最后一字节;<2¹⁶检查最后两字节)。
- 表示方法:斜线表示法(CIDR 表示法),格式为
W.X.Y.Z/n
,其中n
为前缀长度(掩码中 “1” 的位数)。 - 示例:
- 地址块 10.126.60.40/29(前缀长度 29):
- 掩码:255.255.255.248(29 个 “1”);
- 地址范围:10.126.60.40~10.126.60.47(共 8 个地址,2³=8);
- 网络地址:10.126.60.40,广播地址:10.126.60.47。
- 地址块 10.126.60.40/29(前缀长度 29):
本章要点
- 物理地址(MAC 地址)存在不一致性和不唯一性,IP 地址在网络层实现地址统一。
- IPv4 为 32 比特,由网络号和主机号组成,点分十进制表示,本质是标识主机的网络连接。
- 分类 IP 地址分 A、B、C(单播)、D(组播)、E(保留),各有明确范围和规模。
- 特殊 IP 地址包括网络地址、广播地址、环回地址等,具有特定功能和使用限制。
- 私有网络地址(如 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)用于内部网络,节省公网地址。
- 子网划分通过子网掩码将主机号拆分,超网将连续网络合并,CIDR(无类地址)通过前缀长度灵活划分地址块,三者均用于优化地址利用率。