什么是子网掩码?它的作用和用途是什么


在网络配置中 , 有一个必不可少的配置就是子网掩码 , 很多人 并不具体明白何谓子网掩码?导致在填子网掩码的时候一律按照255.255.255.0来填 , 其实这样是非常不正确的 。会给网络带来一定的安全隐患 。
子网掩码简单可以理解为限定IP地址的直接通信范围 。有些人可能会知道A类地址掩码255.0.0.0 , B类地址255.255.0.0, C类地址255.255.255.0 , 但在实际网络中 , 我们多用变长子网掩码 , 很少再用A , B , C来分类 , 其意义也并不大 。
子网掩码如何限定IP地址的直接通信范围呢?比如 , 192.168.1.10 255.255.255.0限定了ip地址192.168.1.10能够直接通信的ip地址范围为192.168.1.1~192.168.1.254(去掉了192.168.1.0的网络地址 , 192.168.1.255的广播地址) , 就是前24位(IP地址由4段8位二进制共32位组成)相同的地址可以直接通信 。那么他能与192.168.1.17 255.255.255.240的ip地址通信吗?我们通过这个子网掩码可以知道192.168.1.17的通信范围是192.168.1.16~31, 192.168.1.10不在这个地址范围内 , 两者直接互联 , 192.168.1.10能够将信息发送到192.168.1.17 , 但192.168.1.17无法进行回复 , 因为192.168.1.10不在它的直接通信范围内 。
简单介绍下如何求子网掩码能够直接通信的范围 , 比如 , 求ip地址10.10.10.58 255.255.255.224能够直接通信的范围 , 先看子网掩码 , 前三位都是255, 那么能够直接与其通信的ip地址前三位必须是10.10.10 , 再看第四位 , 子网掩码分解为二进制为11100000 , 所以在第四位的8位二进制中前三位必须相同才能通信 , 而58的分解为二进制为00111010其八进制前3位为001 , 后5位随便变化都可以与该ip地址相通信 , 前3位转化为十进制为32 , 后5位可变范围为0~31 , 所以总的可变范围为32~63 , 也即第四位58能够直接通信范围为32~63 , 从而原ip地址10.10.10.58 255.255.255.224可直接通信范围为10.10.10.32~10.10.10.63 。当然我们通常说的这个范围第一个为网络地址10.10.10.32 ,  最后一个为广播地址10.10.10.63 , 这两个一般是不能使用的 , 实际可直接通信范围为10.10.10.33~10.10.10.62 。
【什么是子网掩码?它的作用和用途是什么】应用举例:某公司有四个部门分别使用192.168.0.0/24 , 192.168.1.0/24,192.168.2.0/24,192.168.3.0/24的ip地址 , 怎么让四个部门之间可以直接通信?不做路由没有三层交换机 。
从我们上面的分析可以看出 , 这4个地址段可直接通信范围都没有交集 , 可以考虑将子网掩码放大 , 放大可直接通信的范围 , 只需考虑第三位也就是二进制的17~24位 , 将0,1,2,3分别分解为8位二进制00000000 00000001 00000010 00000011 可以看到这4个数只是最后2位不同 , 只需要将前面6位相同即可通信 , 前面6位相同的子网掩码为11111100=252 , 因此四个部门可直接通信的最小子网掩码为255.255.252.0
子网掩码的应用
网络配置中的子网掩码配置网络IP时 , 子网掩码越大 , 也就是位数越长越好 , 这让需要通信的设备之间的通信范围尽可能小 , 防止非法设备进入通信范围 。我们在实际工作中仅需要2台设备互通的连接中 ,  通常用的/30掩码255.255.255.252来配置 , 确保两者之间通信不被其它设备干扰 。

什么是子网掩码?它的作用和用途是什么

文章插图
路由配置中的子网掩码路由配置中的子网掩码同样是在确保路由可达范围内 , 掩码越长越好 , 因为路由的匹配规则中 , 最长掩码将最优匹配 , 同样可达的路由 , 掩码最长的将优先采用 。
什么是子网掩码?它的作用和用途是什么

文章插图
上面两条路由对于133.250.233.0/29的路由都是可达的 , 但下面一条掩码更长 , 将会匹配下面一条路由 , 数据会从192.168.110.89走 , 而不会从192.168.110.85走 。
在动态路由中进行精确路由控制时 , 也会用到 。
什么是子网掩码?它的作用和用途是什么

文章插图
反掩码的应用反掩码顾名思义就是跟子网掩码相反的表示方法 , 反掩码+子网掩码=255.255.255.255 对于路由来说255.255.255.255的掩码表示一个32位主机路由 , 反掩码0.0.0.0则也是表示一个匹配一个32位主机 。反掩码多用于访问列表中 , 跟策略路由 , 路由策略等进行配合使用 。