先来看看掩码的作用,为什么学习它?
可以这么理解:A主机要与B主机通信,A和B各自的IP地址与A主机的子网掩码进行And与运算,看得出的结果:
1、结果如果相同,则说明这两台主机是处于同一个网段,这样A可以通过ARP广播发现B的MAC地址,B也可以发现A的MAC地址来实现正常通信。
2、如果结果不同,ARP广播会在本地网关终结,这时候A会把发给B的数据包先发给本地网关,网关再根据B主机的IP地址来查询路由表,再将数据包继续传递转发,最终送达到目的地B。
所以学习子网掩码在网络学习中非常重要。
一、子网掩码的作用:
1、用于将一个大的IP网络划分为若干小的子网络:
因为随着互联网的发展,越来越多的网络产生,有的网络多则几百台,有的只有区区几台,这样就浪费了很多IP地址,所以要划分子网。使用子网可以提高网络应用的效率。
2、用于屏蔽IP地址的一部分,子网掩码是一种用来指明一个IP地址所标示的主机处于哪个子网中。子网掩码不能单独存在,它必须结合IP地址一起使用。将某个IP地址划分成网络地址和主机地址两部分。
二、IP地址与子网掩码的关系:
IP地址被用来给Internet上的电脑一个编号,每台联网的PC上都有IP地址,才能正常通信。IP地址包含 网络地址 主机地址,即IP地址=网络地址 主机地址。
子网掩码是用来判断任意两台主机的IP地址是否属于同一网络的依据,就是拿双方主机的IP地址和自己主机的子网掩码做与运算,如结果为同一网络,就可以直接通信。
三、子网掩码分类:
子网掩码一共分为两类。一类是缺省(自动生成)子网掩码,一类是自定义子网掩码。缺省子网掩码即未划分子网,对应的网络号的位都置1,主机号都置0。
1、A类网络缺省子网掩码:255.0.0.0,用CIDR表示为/8
2、B类网络缺省子网掩码:255.255.0.0,用CIDR表示为/16
3、C类网络缺省子网掩码:255.255.255.0,用CIDR表示为/24
四、子网掩码计算:
4.1 与运算:
与运算是计算机中一种基本的逻辑运算方式,符号表示为&,也可以表示为 and。
参加运算的两个数据,按二进制位进行“与”运算。
运算规则:0&0=0;0&1=0;1&0=0;1&1=1;
即:两位同时为“1”,结果才为“1”,否则为0
4.2、利用子网数来计算
在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。
步骤如下:
1)将子网数目转化为二进制来表示
2)取得该二进制的位数,为 N
3)取得该 IP地址的类子网掩码,将其主机地址部分的的前N位置 1 即得出该IP地址划分子网的子网掩码。
例如欲将C类IP地址192.168.10.0划分成4个子网:
1)4=100
2)该二进制为三位数,N = 3
3)将C类地址的子网掩码255.255.255.0的主机地址前3位置为 1,得到子网掩码255.255.255.224。(具体见下图)
4.3、利用主机数来计算
步骤如下:
1)将主机数目转化为二进制来表示
2)如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数。
3)将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。
例如将C类IP地址192.168.10.0划分成若干子网,每个子网内有主机25台:
1) 25=11001
2)该二进制为十位数,N = 5
3)将该C类地址的子网掩码 255.255.255.0的主机地址全部置 1,得到255.255.255.255,然后再从后向前将后5位置0,即为:11111111.11111111.11111111.11100000,即255.255.252.224。
本文主要学了子网掩码的基础,下次我会在仔细发一篇子网划分,欢迎关注。