什么是子网掩码

一般和IP地址一起使用,如255.255.255.0(又可以表示/24,代表前24位均为1),真正使用是将其转化为二进制后,对比IP,网络地址的所有位都置为1,主机地址的所有位都置为0,将IP地址划分为网络标识(Net.ID)和主机标识(Host.ID),用逻辑运算&,计算出(划分出)子网

255 255 255 0
11111111 11111111 11111111 00000000

划分的过程,后面绿色部分为主机地址,前面黑色部分为网络地址

IP 192 168 5 155 /27
IP二进制 11000000 10101000 00000101 10011011
子网掩码 255 255 255 224
子网掩码二进制 11111111 11111111 11111111 11100000 /27
子网 192 168 5 128
子网二进制 11000000 10101000 00000101 10000000
第一台主机 192 168 5 10000001=129
最后一台主句 192 168 5 10011110=158
定向广播 192 168 5 10011111=159
下一个子网 192 168 5 10100000=160

加入掩码长度变成28,又会怎么样

IP 192 168 5 155 /28
IP二进制 11000000 10101000 00000101 10011011
子网掩码 255 255 255 240
子网掩码二进制 11111111 11111111 11111111 11110000 /28
子网 192 168 5 144
子网二进制 11000000 10101000 00000101 10010000
第一台主机 192 168 5 10010001=145
最后一台主句 192 168 5 10011110=158
定向广播 192 168 5 10011111=159
下一个子网 192 168 5 10100000=160


网络标识(Net.ID)和主机标识(Host.ID)

通过计算机的子网掩码判断两台计算机是否属于同一网段的方法是,将计算机十进制的IP地址和子网掩码转换为二进制的形式,然后进行二进制“与”(AND)计算(全1则得1,不全1则得0),如果得出的结果是相同的,那么这两台计算机就属于同一网段,
根据RFC950定义,子网掩码是一个32位的2进制数, 其对应网络地址的所有位都置为1,对应于主机地址的所有位都置为0。子网掩码告知路由器,地址的哪一部分是网络地址,哪一部分是主机地址,使路由器正确判断任意IP地址是否是本网段的,从而正确地进行路由。网络上,数据从一个地方传到另外一个地方,是依靠IP寻址。从逻辑上来讲,是两步的。第一步,从IP中找到所属的网络,好比是去找这个人是哪个小区的;第二步,再从IP 中找到主机在这个网络中的位置,好比是在小区里面找到这个人

CIDR

(Classless Inter-Domain Routing)无分类域间路由选择CIDR,取消了私网网段ABC类路由的区分,直接使用掩码长度来进行网段划分