IPv4地址和32位数字
IP地址只是32位二进制数字。但是,它们是重要的二进制数字:你需要知道如何处理这些数字。当处理子网掩码的时候,新的网络管理员一般会混淆他们没有记住的子网掩码。所有这些子网掩码的总和是移动代表一个“网络”的地址部分与代表一台“主机”的部分之间的界限。一旦你适应了这种关于IP地址和子网掩码的思维方式,你就掌握了IP地址的方法。
二进制非常简单。在二进制中,数码只有0和1。一个32位数码有32个0和1。我们都适应十进制数码。在十进制中,数码中的每一个位置都可以是0至9之间的任何一个数字。在二进制中,每一个位置或者是一个0,或者是一个1。下面是以二进制表示的255.255.255.0的地址。
11111111.11111111.11111111.00000000
为了方便,网络工程师一般把IP地址分为4个8位字段,或者称作8位字节。在8位数字中,如果所有的字节都设置为1,那么,这个数码等于255。在上面的地址中,11111111代表255,00000000代表0。
二进制发挥作用的方法是以二次方为基础的。每一个字节代表一个不同的二次方。从左手端开始,最有意义的数位,数字以下列方式组成:
2的次方
|
232
|
...
|
27
|
26
|
25
|
24
|
23
|
22
|
21
|
20
|
小数
|
4,294,967,296
|
...
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
2 5 + 2 4 + 2 3 + 2 2 + 2 1 + 2 0 = 255
现在我们设法理解一个不平凡的例子:11110000
我们可以看到,在上述8位数中,有4位数是“固定的”。把这些位置上的2的次方的值加起来,结果是:27 + 26 + 2 5 + 2 4 = 240
就是这样简单。如果你能把二进制数字转换为小数形式,你就很容易猜出子网掩码和网络地址。我们将在下一篇文章中介绍这个问题。
现在,把重点集中在32位IPv4地址本身,有一些不同的类型需要了解。所有的IP地址都可以在0.0.0.0至255.255.255.255的数字范围内。但是,有些地址有特殊用途。
环回地址(loopback):
不离开主机的数据包(也就是说,这些数据包不会通过外部网络接口)。例如:127.0.0.1
单播地址:
指定向一个IP地址发送的数据包。例如:2.2.2.2
多播地址:
被路由器复制并且最终由组播路由机制转发的数据包。例如:226.0.0.2
有限广播:
一个广播数据包,发送给每一台主机,仅限于本地子网。例如:255.255.255.255
定向广播:
发送到一个具体子网的数据包,然后进行广播。例如,假如我们不在这个子网,使用的地址是:1.1.1.255
还有一些IP地址的特殊情况,包括专用和组播地址。在224.0.0.0至239.255.255.255之间的地址范围是为组播保留的。在互联网上,任何低于这个范围的地址都可能成为被攻击的目标,除非为RFC 1918保留的地址和为一些其它特殊用途分配的地址。这些1918地址是专用地址,这就意味着互联网路由器不会发送这些地址。这个地址范围包括:
• 10.0.0.0 -10.255.255.255
• 172.16.0.0 - 172.31.255.255
• 192.168.0.0 - 192.168.255.255
这些IP地址能够分配给本地的许多计算机,你愿意分配给多少台计算机都可以。但是,在这些计算机访问互联网之前,这些地址必须翻译成能够全球路由的地址。这个工作通常由网络地址转换(NAT)完成。1918地址并不是惟一保留的地址空间。但是,这些地址的定义为“本地站点”。组播也有一个保留的地址范围。这个地址范围并不是连接到互联网的:224.0.0.0 至224.0.0.255是组播“本地连接”的地址。