在IPv4中,一个IP地址由 一个32位 的二进制数构成。

为了方便人类阅读和记忆,这32位二进制数被分成了 4个部分,每个部分8位(即1个字节),这4个部分用点号()分隔开,形成了我们熟悉的“点分十进制”格式。
详细分解
二进制形式(底层结构)
一个IPv4地址本质上是32个0和1组成的序列。
11000000 10101000 00000001 00000001
这是一个32位的二进制数。
点分十进制形式(人类可读格式)
为了管理方便,人们将这32位二进制数从左到右,每8位为一组,共4组,将每一组8位二进制数转换成一个十进制数(范围从0到255),并用点号隔开。

我们以上面的二进制地址为例:
- 第一组:
11000000-> 128 + 64 = 192 - 第二组:
10101000-> 128 + 32 + 8 = 168 - 第三组:
00000001-> 1 - 第四组:
00000001-> 1
组合起来,我们就得到了人类常用的点分十进制IP地址:168.1.1
网络部分与主机部分
一个IP地址不仅仅是一个标识,它包含了两个关键信息:网络地址 和 主机地址,这两部分由 子网掩码 来区分。
- 网络地址: 用于标识设备所在的特定网络,就像你家的地址中的“城市”和“街道”部分,它决定了你的家在哪个区域。
- 主机地址: 用于标识该网络中的特定设备,就像你家的地址中的“门牌号”,它在街道上是独一无二的。
举例说明:
假设我们有一个IP地址:168.1.10,并且它的子网掩码是 255.255.0。

-
将IP地址和子网掩码都转换为二进制:
- IP地址:
10101000.00000001.00001010 - 子网掩码:
11111111.11111111.00000000
- IP地址:
-
通过“与”运算来确定网络部分和主机部分:
- 网络部分: IP地址和子网掩码中,所有“1”对应的部分,在这个例子中,前三个字节(24位)是网络部分。
10101000.00000001(对应十进制的168.1)
- 主机部分: IP地址和子网掩码中,所有“0”对应的部分,在这个例子中,是最后一个字节(8位)。
00001010(对应十进制的10)
- 网络部分: IP地址和子网掩码中,所有“1”对应的部分,在这个例子中,前三个字节(24位)是网络部分。
在这个网络中:
- 网络地址 是
168.1.0 - 主机地址 是
10
IPv4中的IP地址由 一个32位的二进制数 构成,为了方便使用,它被表示为 4个8位的字节,并以 点分十进制 的形式呈现,这个地址通过子网掩码被划分为 网络部分 和 主机部分,以实现全球范围内的网络寻址和设备定位。
