【网络工程师基本技能】子网掩码详解在互联网的广阔天地中,IP地址不仅是一台主机的身份标识,它还承载着网络位置的讯息。子网掩码则像是划分这些网络区块的魔法画笔,同时也是网络工程师认证和工作的必备技能。我是太阁小老虎,今天就带你详细了解子网掩码是什么。
1、子网掩码:网络世界的“分界线”子网掩码的概念及作用
子网掩码的定义:
子网掩码(Subnet Mask),也被称为网络掩码或地址掩码,它与IP地址形影不离,共同发挥作用。
它的本质是一串32位的二进制数字,用来区分IP地址中的网络部分和主机部分。
子网掩码的作用:
界定网络边界:子网掩码能够明确指出一台主机所在的子网,与其他子网的区别,确保网络通信的顺畅。
“与”运算分离地址:将子网掩码与IP地址进行“与”运算,可以分离出网络地址和主机地址,从而判断通信目标是本地网络还是远程网络。
网络细分化:通过子网掩码,可以将一个大网络划分为多个小网络(子网),这样既避免了因主机过多导致的网络拥堵,也减少了IP地址的浪费。
简而言之,子网掩码就像是网络世界中的分区经理,它负责将员工(主机)分配到不同的部门(子网),确保每个部门都能高效运作,同时优化整个公司的资源分配。没有它,我们的网络世界可能会变得混乱无序。
2、 子网掩码的构成:二进制世界的“红绿灯”子网掩码是网络通信中的关键角色,它的构成其实很简单,就像交通信号灯一样,有着明确的指示作用。
子网掩码的组成要点
二进制长度的规定:
子网掩码和IP地址一样,都是由32位的二进制数字组成。这32位数字是子网掩码的全部,也是它的核心。
子网掩码与IP地址的对应关系:
子网掩码的每一位都与IP地址的对应位相匹配。如果IP地址的某位是网络地址部分,那么子网掩码对应的位就是1;如果是主机地址部分,则为0。
子网掩码的示例:
举个例子,子网掩码可以是这样的:11111111.11111111.11111111.00000000。
注释:子网掩码的“1”与“0”
连续的1:子网掩码中从左到右连续的1的个数代表了网络号的长度。这些1告诉我们,IP地址中相对应的位是网络地址部分。(通常情况下,这些1是连续的,但在某些特殊情况下,也可以不是连续的。)
连续的0:而连续的0则代表了主机号的长度。这些0所对应的是IP地址中的主机地址部分。
想象一下,子网掩码就像是给IP地址画了一条分界线,左边是网络的大本营,右边则是各个主机的私人领地。这条线上的“1”和“0”就是指示牌,告诉我们哪里是“公共区域”,哪里是“私人空间”。
3、子网掩码的两种“语言”:点分十进制与CIDR子网掩码不仅只有一种表达方式,它可以用两种不同的“语言”来描述,让我们来看看这两种表达方法。
1. 点分十进制表示法
二进制到十进制的转换:将子网掩码的32位二进制数每8位分为一组,然后每组转换成十进制数,并用点号分隔开来。
示例:将二进制的子网掩码11111111.11111111.11111111.00000000转换为点分十进制,就是255.255.255.0。
2. CIDR斜线记法
IP地址与子网掩码的结合:CIDR(Classless Inter-Domain Routing)记法将IP地址与子网掩码结合起来表示,形式为IP地址后跟一个斜线(/)和数字n。
示例:
例1:192.168.1.100/24,这里的“/24”表示子网掩码中有24个连续的1,即255.255.255.0。
例2:172.16.198.12/20,这里的“/20”表示子网掩码中有20个连续的1,即255.255.240.0。
注释:CIDR中的n含义
n的值:n是一个1到32之间的数字,它代表了子网掩码中网络号的长度。
计算主机数:通过n的值,我们可以计算出该子网的主机数,公式为2^(32-n)-2。这里的减2是因为网络地址(主机位全为0)和广播地址(主机位全为1)不能用于普通主机。
通过这两种表示方法,子网掩码既可以是传统的点分十进制,也可以是简洁的CIDR记法。无论是哪种方式,它们都为网络工程师提供了方便快捷的方式来理解和配置网络。而运营商ISP更是常常使用CIDR来高效地分配IP地址资源。
4、子网掩码的重要性:网络世界的“导航仪”子网掩码在计算机网络中扮演着至关重要的角色,它就像是网络通信中的“导航仪”,帮助我们确定数据包的传输路径。以下是为什么我们需要使用子网掩码的几个关键原因:
判断网络位置
同一网段通信:当A主机想要与B主机通信时,它会使用子网掩码来确定双方是否处于同一网段。这是通过将A和B的IP地址分别与子网掩码进行“与”运算来实现的。
如果结果相同,这意味着A和B处于同一网段。A主机可以通过ARP(Address Resolution Protocol)广播来找到B主机的MAC地址,从而直接通信,无需经过其他网关。
不同网段通信:如果A和B的运算结果不同,那么它们不在同一网段。这时,A主机需要将数据包发送给本地网关(通常是路由器的一个接口),由网关负责将数据包转发到正确的目的地。
网关的作用:网关就像是连接不同网段的大门,它负责将数据包从一个网段传送到另一个网段。网关的IP地址通常是该网段的第一个或最后一个可用地址,以避免与主机地址发生冲突。
网络拓扑示例
在如下拓扑图示例中,A与B,C与D,都可以直接相互通信(都是属于各自同一网段,不用经过路由器),但是A与C,A与D,B与C,B与D它们之间不属于同一网段,所以它们通信是要经过本地网关,然后路由器根据对方IP地址,在路由表中查找恰好有匹配到对方IP地址的直连路由,于是从另一边网关接口转发出去实现互连。
5、子网掩码的两大家族:缺省与自定义在网络的广阔天地中,子网掩码分为两大流派:缺省子网掩码和自定义子网掩码。它们各自扮演着不同的角色,下面让我们来一一揭晓。
1. 缺省子网掩码(默认子网掩码)
定义:缺省子网掩码,顾名思义,就是网络在未进行子网划分时的默认状态。在这种状态下,网络号部分全部置为1,主机号部分全部置为0。
分类:
A类网络:缺省子网掩码为255.0.0.0,CIDR表示为/8,意味着前8位是网络号。
B类网络:缺省子网掩码为255.255.0.0,CIDR表示为/16,前16位是网络号。
C类网络:缺省子网掩码为255.255.255.0,CIDR表示为/24,前24位是网络号。
2. 自定义子网掩码
定义:自定义子网掩码是在对网络进行子网划分时使用的。它将原本属于主机号的一部分位分配给子网号,从而创建更小的网络段。
结构:自定义子网掩码的形式为网络号+子网号+子网主机号。
示例:
假设有一个IP地址192.168.1.100/25,其子网掩码为255.255.255.128。这表示将C类网络192.168.1.0的最后一个字节(原本是主机号)的最高位划归为子网号,从而创建了一个更小的子网。
6、子网掩码与IP地址的默契合作:网络通信的密码锁在网络的海洋中,子网掩码与IP地址的关系就像是一对合作无间的搭档,它们共同守护着网络通信的安全和顺畅。让我们来揭秘它们之间的默契合作。
子网掩码的判断作用
同一网络的判定:子网掩码的关键作用是判断两台主机是否位于同一网络。这是通过将任意两台主机的IP地址与自己的子网掩码进行“与”运算来实现的。
直接通信:如果运算结果相同,说明这两台主机处于同一网络,它们可以直接通信,无需通过路由器转发。
And按位与运算详解
运算符号:与运算在计算机中用“&”表示,也可以写作“and”。
运算规则:参与运算的两个二进制数,只有当对应位都为1时,结果才为1,否则为0。
运算示例:0&0=0;0&1=0;1&0=0;1&1=1。
计算网络地址的步骤
二进制转换:首先,将IP地址和子网掩码都转换成二进制形式。
执行与运算:接着,将二进制形式的IP地址与子网掩码进行“与”运算。如图下图所示: