子网掩码主要是用于给你自己的计算机指示传输路径的,因为内网通信和外网通信在你发出报文的第一步操作就是不一样的。我们都知道IP地址是网络中每个设备的身份标识,那么如何确保其唯一性呢?答案是在前面加上一个范围标识。IP地址如果以人来比喻,它相当于三年二班周杰伦。这样就不会和三年一班的周杰伦重复了。那么问题又来了,IP地址中没有分隔符,如何正确指示地址和姓名?如何让计算机明白你说的是三年级二班的周杰伦,还是三年级的“二班周杰伦”(假设这个姓名合法)?所以就有了子网掩码。它的全1位指示了IP地址的网络号,即“三年二班”,全零位指示了IP地址的主机号,即“周杰伦”。现在你要给三年二班周杰伦发一个纸条。通过子网掩码的计算,你发现他在隔壁的班级,你们不能直接发纸条的。所以你不得不让班主任代为转交,收件人是三年二班周杰伦(目的IP),但是第一步是发给了你的班主任(网关)。假设你俩就在同一个班级,那情况就简单多啦。你直接把纸条扔给他就好了(单播)。在这中间其实还有一步。如果你连周杰伦的具体位置都不知道,你丢纸条也不知道往哪个方位丢对不对?所以你需要拿个大喇叭在教室里喊一声周杰伦你丫的座位在哪里(广播)?然后他会给你发个纸条告诉你座位号(Mac地址)。这个过程就是rarp。然后你就可以把纸条丢过去了。综上所述,子网掩码的作用是让发送消息的设备判断目标与自己是否处于同一个网络,从而采取对应的操作。所以,每个计算机都必须要设置子网掩码。当然了,路由器要进行网络数据包的转发,也需要设置子网掩码。
Prefix Length:前缀长度,mask长度,即子网掩码为1的位数。
C类IP地址的默认子网掩码为24位的,11111111.11111111.11111111.00000000,用十进制表示为255.255.255.0。这时候每个子网有256个IP地址,可用IP地址为256-2=254个。
当子网掩码为22位时,11111111.11111111.11111100.00000000,用十进制表示为255.255.252.0。这时候实际上子网掩码缩短了2位,也就是说网络位缩短了2位。因为2的2次方等于4,所以相当于4个C类子网汇聚成了一个较大的子网。
注意:
子网掩码是一个32位地址,是与IP地址结合使用的一种技术。它的主要作用有两个,一是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。二是用于将一个大的IP网络划分为若干小的子网络。
使用子网是为了减少IP的浪费。因为随着互联网的发展,越来越多的网络产生,有的网络多则几百台,有的只有区区几台,这样就浪费了很多IP地址,所以要划分子网。使用子网可以提高网络应用的效率。
通过计算机的子网掩码判断两台计算机是否属于同一网段的方法是,将计算机十进制的IP地址和子网掩码转换为二进制的形式,然后进行二进制“与”(AND)计算(全1则得1,不全1则得0),如果得出的结果是相同的,那么这两台计算机就属于同一网段。
255.255.255.0用二进制表示为11111111.11111111.11111111.00000000, 24个1。所以说网络位是24位。PREFIX=24
255.255.255.192用二进制表示为11111111.11111111.11111111.11000000, 26个1。所以说网络位是26位。PREFIX=26
255.255.255.128用二进制表示为11111111.11111111.11111111.10000000, 26个1。所以说网络位是25位。PREFIX=25
255.255.255.224用二进制表示为11111111.11111111.11111111.11100000, 27个1。所以说网络位是27位。PREFIX=27
255.255.255.240用二进制表示为11111111.11111111.11111111.11110000, 28个1。所以说网络位是28位。PREFIX=28
255.255.255.248用二进制表示为11111111.11111111.11111111.11111000, 29个1。所以说网络位是29位。PREFIX=29