IPv4 地址分配
IPv4 - 寻址模式与结构
Section titled “IPv4 - 寻址模式与结构”IPv4 使用一个 32 位地址,通常以点分十进制表示法 (dotted-decimal notation) 表示(例如,192.168.1.1)。它支持多种寻址模式 (addressing modes) 以适应不同的通信模式:
单播寻址模式 (Unicast Addressing Mode)
Section titled “单播寻址模式 (Unicast Addressing Mode)”在单播模式下,数据从单一源发送到单一目标主机 (destination host)。数据包的目标地址 (destination address) 字段包含目标主机的唯一 32 位 IP 地址。这是最常见的通信形式,例如当您的计算机向 Web 服务器请求网页时。例如,位于 192.168.0.10 的客户端专门向位于 203.0.113.45 的服务器发送一个数据包。
广播寻址模式 (Broadcast Addressing Mode)
Section titled “广播寻址模式 (Broadcast Addressing Mode)”在广播模式下,数据包被发送到特定网络段 (network segment) 上的所有主机。目标地址字段通常包含一个特殊的广播地址 (broadcast address)。最常见的是受限广播地址 (limited broadcast address) (255.255.255.255),由本地网络段 (local network segment) 上的所有主机接收。另一种类型是定向广播 (directed broadcast)(例如,针对 192.168.1.0/24 网络的 192.168.1.255),意图发送到特定远程网络上的所有主机(尽管出于安全原因通常被路由器阻止)。当主机接收到配置为侦听的广播地址数据包时,它会处理该数据包。DHCP 等服务使用此模式来发现服务器。
组播寻址模式 (Multicast Addressing Mode)
Section titled “组播寻址模式 (Multicast Addressing Mode)”组播模式允许单一源同时向一组感兴趣的接收主机发送数据。这是一种一对多的方式。目标地址字段包含一个特殊的组播组地址 (multicast group address)(范围从 224.0.0.0 到 239.255.255.255)。主机必须加入组播组才能接收发送到该组的数据包。这对于向多个订阅者流式传输视频或在线游戏等应用非常高效。例如,服务器将视频流式传输到组播地址 239.1.2.3,并且只有订阅此组的客户端才能接收流。
每个 IP 网络都保留了两个特殊地址:网络地址 (network address)(例如,192.168.1.0),用于标识网络本身,不能分配给主机;以及广播地址 (broadcast address)(例如,对于 /24 网络为 192.168.1.255),用于寻址该网络中的所有主机。
分层寻址方案 (Hierarchical Addressing Scheme)
Section titled “分层寻址方案 (Hierarchical Addressing Scheme)”IPv4 采用分层寻址方案。一个 32 位 IP 地址在逻辑上分为两个主要部分:网络部分 (network portion) 和主机部分 (host portion)。网络部分标识设备所属的特定网络,而主机部分标识该网络上的特定设备(主机)。
例如,在 IP 地址 172.16.30.5 中,子网掩码为 255.255.0.0(或 /16),‘172.16’ 可以表示网络部分,‘30.5’ 则表示主机部分。这种层次结构可以通过子网划分 (subnetting) 来扩展,主机部分被进一步划分为子网部分和主机部分,从而实现更精细的网络组织。这种结构对于数据包在互联网上的高效路由至关重要。
子网掩码 (Subnet Mask)
Section titled “子网掩码 (Subnet Mask)”子网掩码 (subnet mask) 是一个 32 位数字,用于区分 IP 地址的网络部分和主机部分。路由器使用子网掩码来确定 IP 地址所属的网络。当 IP 地址与其子网掩码进行逻辑与运算 (logically ANDed) 时,结果就是网络地址。
让我们通过一个示例来说明。IP 地址:192.168.1.152,子网掩码:255.255.255.0。
二进制表示:
IP Address: 11000000.10101000.00000001.10011000 (192.168.1.152)Subnet Mask: 11111111.11111111.11111111.00000000 (255.255.255.0)-------------------------------------------------------------------- AND OperationNetwork Addr: 11000000.10101000.00000001.00000000 (192.168.1.0)这个计算表明网络地址是 192.168.1.0,主机是该网络上的 .152。子网掩码有效地“屏蔽”了主机部分,显露了网络部分。子网掩码开头(二进制表示时)的 ‘1’ 的数量决定了网络前缀 (network prefix) 的大小(例如,255.255.255.0 有 24 个开头的 ‘1’,因此是 /24 前缀)。
IP 地址的二进制表示
Section titled “IP 地址的二进制表示”理解二进制对于 IPv4 寻址和子网划分至关重要。一个 IPv4 地址由 32 位组成,分为四个 8 位段,称为八位字节 (octets)。每个八位字节可以转换为一个十进制数 (0-255)。
要将一个八位字节从二进制转换为十进制,我们使用位权表示法 (positional notation)。八位字节中的每个位位置都有对应的 2 的幂,从最右边的位 2^0 开始到最左边的位 2^7:
Bit Position: 8 7 6 5 4 3 2 1Binary Weight: 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0Decimal Value: 128 64 32 16 8 4 2 1例如,二进制八位字节 11000000 的转换如下:
(1 * 128) + (1 * 64) + (0 * 32) + (0 * 16) + (0 * 8) + (0 * 4) + (0 * 2) + (0 * 1) = 128 + 64 = 192.
以下是一些常见的二进制八位字节模式及其十进制等价物:
Binary Pattern | Decimal Value----------------|--------------00000000 | 010000000 | 12811000000 | 192 (128+64)11100000 | 224 (128+64+32)11110000 | 240 (128+64+32+16)11111000 | 248 (128+64+32+16+8)11111100 | 252 (128+64+32+16+8+4)11111110 | 254 (128+64+32+16+8+4+2)11111111 | 255 (128+64+32+16+8+4+2+1)扎实掌握二进制到十进制的转换对于子网划分和网络故障排除 (network troubleshooting) 至关重要。