网络没有地址就不能工作:只要你发送某种东西,你就需要具体说明这个东西要发到哪里和从哪里发出来的。要做一个高效率的网络工程师或者管理员,你需要全面理解IP地址:你需要能够依靠自己思考。如果发生了某些问题,很可能是某些地址分配不正确。迅速查明故障所在位置对于英雄和普通人来说是有很大区别的。普通人需要很长时间才能修复这个问题。在下一篇文章介绍子网之前,我想以最原始的格式全面介绍一下IP地址。这对于理解子网是非常重要的。
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的次方值。例如,如果我们有一个8位数11111111,我们可以简单地加:27 + 2 6 + 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是组播“本地连接”的地址。
为了提供这个讲座的下一篇文章的必要的背景知识,我们需要确认大家都理解一个本地子网的概念。一旦我们分配给一台计算机一个合法的地址,假如子网掩码设置正确,这台计算机就可以同本地网络对话。子网掩码告诉这个操作系统哪一个IP地址在本地子网上,哪一个IP地址不在本地子网上。我们希望与之对话的IP地址位于本地子网,那么,这个操作系统不用使用路由器就能够直接与它对话。换句话说,操作系统能够使用ARP协议获得目标系统的物理地址并且开始对话。IP地址和子网掩码的设置对于普通的24位网络来说是非常简单的。标准的255.255.255.0子网掩码的意思是前三个八位字节是网络地址,最后的部分是为主机保留的。例如,一台计算机被分配了10.0.0.1的IP地址和255.255.255.0的子网掩码(如果你用二进制书写的话是24位),这台计算机能够同10.0.0.1至10.0.0.255地址范围内的任何人对话。
一定要消化这里讲的一切内容,因为下一讲我们将介绍使用CIDR(无类域间路由选择)设置子网的内容。
小结
•IP地址只是32位数字。子网掩码只是一个能够上下滑动这个IP地址字节的“盖子”,以便创建更大或者更小的网络。
•一个IP地址的网络部分告诉主机它的本地子网有多大,本地子网然后告诉主机它可以直接与谁对话。
•单向广播数据包发送到一台计算机,广播数据包发送到许多台计算机。