LFCA:学习网络中的二进制和十进制数 - 第 10 部分
在LFCA 系列的第 9 部分中,我们介绍了IP 寻址的基础知识。为了更好地理解 IP 寻址,我们需要更多地关注这两种类型的 IP 地址表示 -二进制和十进制点分四重表示法。如前所述,IP 地址是一个 32 位二进制数,通常以十进制格式表示,以便于阅读。
二进制格式仅使用数字1和0。这是计算机可以理解的格式,数据通过该格式在网络上发送。
但是,为了使地址易于阅读,它以点分十进制格式表示,然后计算机将其转换为二进制格式。如前所述,IP 地址由 4 个八位字节组成。让我们分析一下 IP 地址192.168.1.5。
在点分十进制格式中,192是第一个八位字节,168是第二个八位字节,1是第三个八位字节,最后5是第四个八位字节。
以二进制格式表示的 IP 地址如下:
11000000 => 1st Octet 10101000 => 2nd Octet 00000001 => 3rd Octet 00000101 => 4th Octet
在二进制中,一个位可以打开或关闭。“打开”位用1表示,而关闭位用0表示。在十进制格式中,
要得到十进制数,需要对所有二进制数字进行2次方求和。下表给出了八位字节中每个位的位置值。例如,十进制值1相当于二进制00000001。
在更好的格式中,这也可以如图所示表示。
2º = 1 = 00000001 2¹ = 2 = 00000010 2² = 4 = 00000100 2³ = 8 = 00001000 2⁴ = 16 = 00010000 2⁵ = 32 = 00100000 2⁶ = 64 = 01000000 2⁷ = 128 = 10000000
让我们尝试将点分十进制格式的 IP 地址转换为二进制。
将十进制格式转换为二进制
让我们以192.168.1.5为例。要从十进制转换为二进制,我们将从左到右开始。对于表中的每个值,我们都会问一个问题,您是否可以从 IP 地址中的十进制值中减去表中的值。如果答案是“是”,我们记下“ 1 ”。如果答案是“否”,我们输入零。
让我们从第一个八位字节192开始。你能从192中减去128吗?答案是肯定的。因此,我们将写下对应于128 的1 。
192-128 = 64
您能从64中减去64吗?答案是“可以”。我们再次记下对应于 64 的 1。
64-64 = 0由于我们已经用完了小数,因此我们将 0 分配给剩余的值。
因此,十进制值192转换为二进制11000000。如果将下表中与 1 对应的值相加,最终结果为192。即128 + 64 = 192。有道理吧?
我们继续计算第二个八位字节 - 168。我们可以从168中减去128吗?可以。
168-128 = 40
接下来,我们可以从 40 中减去 64 吗?不行。因此,我们指定 0。
我们转到下一个值。我们可以从 40 中减去 32 吗?可以。我们将其赋值为 1。
40 - 32 = 8
接下来,我们可以从 8 中减去 18 吗?不行。我们赋值为 0。
接下来,我们可以从 8 中减去 8 吗?可以。我们将其赋值为 1。
8-8 = 0
由于我们已经用尽了十进制值,因此将为表中剩余的值分配 0,如下所示。
最终,十进制168转换为二进制格式10101000。同样,如果将底行中与 1 对应的十进制值相加,最终结果为 168。即128 + 32+8 = 168。
对于第三个八位字节,我们有 1。在我们的表中,唯一可以从 1 中完全减去的数字是 1。因此,我们将在表中将值 1 分配给 1,并添加前面的零,如下所示。
因此十进制值 1 等于二进制值00000001。
最后,我们得到 5。从表中可以看出,唯一可以从 5 中完全减去的数字从 4 开始。左边的所有值都将被分配为 0。
我们可以从 5 中减去 4 吗?可以。我们将 1 分配给 4。
5-4 = 1
接下来,我们可以从 2 中减去 1 吗?不行。我们赋值为 0。
最后,我们可以从 1 中减去 1 吗?可以。我们赋值为 1。
十进制数字 5 对应二进制00000101。
最终,我们得到以下转换。
192 => 11000000 168 => 10101000 1 => 00000001 5 => 00000101
因此,192.168.1.5以二进制形式转换为11000000.10101000.00000001.00000101 。
了解子网掩码/网络掩码
我们之前已经说过,TCP/IP网络中的每个主机都应该有一个唯一的 IP 地址,在大多数情况下,该地址由路由器使用DHCP协议动态分配。DHCP协议(动态主机配置协议)是一种为 IP 网络中的主机动态分配 IP 地址的服务。
但是,如何确定 IP 的哪一部分为网络部分保留,哪一部分可供主机系统使用?这就是子网掩码或网络掩码的作用所在。
子网是 IP 地址的附加组件,用于区分网络的网络和主机部分。与 IP 地址一样,子网也是 32 位地址,可以以十进制或二进制表示。
子网的作用是划定 IP 地址的网络部分和主机部分的界限。子网或网络掩码为 IP 地址的每一位分配一个值。
对于网络部分,它打开该位并分配值 1,对于主机部分,它关闭该位并分配值 0。因此,所有设置为 1 的位对应于 IP 地址中代表网络部分的位,而所有设置为 0 的位对应于 IP 地址中代表主机地址的位。
常用的子网掩码是C 类子网,即255.255.255.0。
下表显示了十进制和二进制的网络掩码。
这就是我们网络基础知识系列的第 2 部分。我们介绍了十进制到二进制的 IP 转换、子网掩码以及每类 IP 地址的默认子网掩码。