IP地址被用来给Internet上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信。我们可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”,而Internet中的路由器,就相当于电信局的“程控式交换机”。
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。
概念 | 特征 | 网络范围 | 默认掩码 |
A类地址 | 第1个8位中的第1位始终为0 | 0-127.x.x.x | 255.0.0.0/8 |
B类地址 | 第1个8位中的第1、2位始终为10 | 128-191.x.x.x | 255.255.0.0/16 |
C类地址 | 第1个8位中的第1、2、3位始终为110 | 192-y.x.x.x | 255.255.255.0/24 |
IP地址包含 网络地址+主机地址,即IP地址=网络地址+主机地址
那么,问题来了 :
怎么划分子网网段?
为什么要遮掩IP地址?怎么个遮掩法?
现在我们有这么个IP地址:192.168.1.129
我们并不知道它的网络号,也不知道它属于哪部分子网网段。我们现在就需要一个东西来划分出子网网段,这个东西就叫:子网掩码。
再,我们给出具体子网掩码:255.255.255.0
什么要这么给?因为子网掩码的长度要和IP地址相同32位,每8位预先被划分为一段。255的二进制就是1111 1111。
那么我们把子网掩码设置为255.255.255.193行不行?
这需要看它的二进制,子网掩码还需要满足一个条件才可以使用:它的二进制中1和0必须是连续的。
255.255.255.193的二进制:
1111 1111.1111 1111.1111 1111.1100 0001
可以看出它1并不连续,所以255.255.255.193不能作为子网掩码使用。
255.255.255.0就很符合条件。
那子网掩码怎么用?
答:用乘法来遮掩IP地址。1×1=1、1×0=0、0×0=0、0×1=0
IP地址:192.168.1.129
二进制:
1100 0000.1010 1000.0000 0001.1000 0001
子网掩码:255.255.255.0
二进制:
1111 1111.1111 1111.1111 1111.0000 0000
计算:
1100 0000.1010 1000.0000 0001.1000 0001
1111 1111.1111 1111.1111 1111.0000 0000
————————————————————
1100 0000.1010 1000.0000 0001.0000 0000
计算后的这段二进制代码相比于原来的IP地址,后面8位被用0遮掩了。
为什么要遮掩?因为我们不必关心后面8位是1还是0了。子网网段已经被划分出来了。
1100 0000.1010 1000.0000 0001.0000 0000的十进制:192.168.1.0
也就是说,从192.168.1.0到192.168.1.255都是同一个子网网段,里面的0—255号可以分配给不同的机器。
0—255号都是机器的号码,IP地址显示的就是其中129号。
192.168.1.0就是所谓的网络号,也可以写作192.168.1或者192.168.1.0\24(24指的是IP地址中有24位未被遮掩)
IP地址的意思就很明白了,网段(网络号)加上机器号码。同一个IP地址根据不同子网掩码,会划分出不同的网络号和机器号。
—————————————————————————————————————
但是,现在就出现了个问题,我子网掩码的最后8位全是0,要是最后8位不全为0怎么办?又是什么意思呢?
现在我们就要看上面子网掩码为255.255.255.0的时候机器号码是从0到255的,那如果我想在0到255里再划分一部分呢?
给出新IP地址:192.168.1.188 再给出新的子网掩码:255.255.255.224
现在IP的网络号就不是192.168.1.0了,不再是网段192.168.1.0到192.168.1.255了
1100 0000.1010 1000.0000 0001.1011 1100
1111 1111.1111 1111.1111 1111.1110 0000
————————————————————
1100 0000.1010 1000.0000 0001.1010 0000
不再是24位未被遮掩了,而是27位未被遮掩。被遮掩的后5位,我们不必再关心它是1还是0了。
这就意味着:后5位不论怎么变换,都是在同一个网段里。
后5位的变化是在
1100 0000.1010 1000.0000 0001.1010 0000
到
1100 0000.1010 1000.0000 0001.1011 1111
之间的。
它的十进制:192.168.1.160到192.168.1.191是由新的子网掩码划分出来的子网网段。
我们称192.168.1.160\27是它的网络号,它的机器号是在160到191之间任意分配出去。之前的IP地址:192.168.1.188属于其中。
总结:子网掩码就是用来遮掩IP地址并划分网段的工具,根据遮掩的位数不同来划分不同的网段。