首先,让我们来了解子网掩码的基本作用。简单来说,子网掩码的作用是将一个IP地址划分为网络地址和主机地址。网络地址标识了设备所在的网络,而主机地址则标识了该网络中的具体设备。
举个例子,假设我们有这样两个IP地址和对应的子网掩码:
IP地址:192.168.1.1 子网掩码:255.255.255.0
这两个地址的子网掩码都是255.255.255.0,这意味着它们属于同一个网络。如果我们将IP地址和子网掩码转换为二进制,然后进行与运算,结果将会是192.168.1.0,这是它们共享的网络地址。
那么,如何确定两个IP地址是否属于同一个网络呢?这就要用到子网掩码与运算。将两个IP地址各自与子网掩码进行与运算,如果运算结果相同,则这两个IP地址属于同一个网络。
此外,子网掩码还可以帮助我们了解网络的规模。例如,一个子网掩码为255.255.255.0的网络,最多可以容纳254台设备。如果我们需要更大规模的网络,可以采用更小的子网掩码,例如255.255.252.0,这样就可以容纳更多设备。
在实际应用中,子网掩码还有许多用途。比如,在划分VLAN时,我们可以通过设置不同的子网掩码来隔离不同部门的网络流量。再比如,在配置IP地址时,我们也可以根据需求选择合适的子网掩码。
现在,让我们来探讨如何根据IP地址推算子网掩码。以一个包含600个点位的大型监控网络为例,如果不想划分VLAN,而只想用一个大网段来分配IP地址,那么如何确定这个大网段的子网掩码呢?
首先,将每个IP段转换为二进制,然后观察它们的前面几位是否相同。在这个例子中,三个IP段的前22位都是相同的,因此可以将它们表示为192.168.0.1/22、192.168.1.1/22、192.168.2.1/22。这意味着它们共同的子网掩码二进制前22位都是1,即11111111 11111111 11111100 00000000,转换为十进制就是255.255.252.0。
总结来说,子网掩码在网络通信中扮演着重要角色。了解子网掩码的概念、作用和计算方法,对于我们更好地管理网络、优化网络性能具有重要意义。
对于ip地址我们前面通过多次文章,大家都有一定的理解,不过通过的留言,有部分朋友还是对子网掩码、ip地址的网段有些疑问,那么今天我们一起来解下这方面的内容。
一、什么是子网掩码?
在了解ip地址的网段之前,我们先来了解子网掩码,很多对网络了解不深的朋友都对子网掩码有些迷惑, 不了解它是用来干什么的?
子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
说的通俗的话,就是用来分割子网和区分那些ip是同一个网段的,那些不是同一网段的。
例如,两个人都叫张三,但一个张三是张家村的,另一个张三是张村的,那么如何区分这两个张三分别是属于那个村的呢?得让村长来区分,就可以准确的把各自的张三领回村,那么子网掩码就相当于村长,它就是用来区分ip该ip地址是属于那个网段的。
在实际项目中,我们通常会遇到这样的ip地址。
ip地址:192.168.1.1 子网掩码:255.255.255.0
ip地址:192.168.1.2 子网掩码:255.255.255.0
我们可以直接的判断,他们是同属于一个网段的ip地址。
那么对于下面这样的呢?
ip地址:192.168.1.1 子网掩码:255.255.255.0
ip地址:192.168.1.2 子网掩码:255.255.0.0
这两个ip地址虽然在不看掩码的情况下,比较像,但他们并不是同一个网段内的。
这个可以从子网掩码来判断,
192.168.1.1 255.255.255.0是属于192.168.1.0网段的。
而192.168.1.2 255.255.0.0是属于192.168.0.0网段。
二、如何根据掩码来确定ip地址网段
上面我们已经举例了解了子网掩码的作用,接下来我们再来了解如何确定子网掩码和判断ip地址的网段。
通常我们在划分vlan的时候会使用以下例子:
例1:
创建vlan1:ip地址:192.168.1.1 子网掩码:255.255.255.0
创建vlan2: ip地址:192.168.2.1 子网掩码:255.255.255.0
那么他们是不是在同一个网段呢?平时配置ip地址较多的朋友,可以直观的判断,他们并不是属于同一个网段,那么如何计算呢?要想判断两个ip地址是不是在同一个网段,只需将ip地址与子网掩码做与运算,如果得出的结果一样,则这两个ip地址是同一个子网当中。
详细计算
将ip地址192.168.1.1转换为二进制
11000000 10101000 00000001 00000001
将子网掩码255.255.255.0转换成二进制
11111111.11111111.11111111.00000000
然后将两者相“与(and)"运算:
11000000 10101000 00000001 00000001
11111111.11111111.11111111.00000000
然后得到:
11000000 10101000 00000001 00000000
转换成网络号就是:192.168.1.0
将ip地址192.168.2.1转换为二进制
11000000 10101000 00000010 00000001
将子网掩码255.255.255.0转换成二进制
11111111.11111111.11111111.00000000
然后将两者相“与(and)"运算:
11000000 10101000 00000010 00000001
11111111.11111111.11111111.00000000
然后得到:
11000000 10101000 00000010 00000000
转换成网络号就是:192.168.2.0
很明显,二者的结果是不一样的,一个是网段192.168.1.0,一个是网段192.168.2.0,所以不是一个网段。
例2
ip地址1:192.168.1.1 子网掩码:255.255.252.0
ip地址2:192.168.2.1 子网掩码:255.255.252.0
很明显,我们这个和上面例1的ip地址是一样的,只是子网掩码不一样,如果不看子网掩码,首先可能就判断他们不是同一个网段。
这里面和上面例1中唯一变化就是子网掩码从255.255.255.0换成了255.255.252.0了,那我们来看下,他们是否属于同一个网段。
详细计算
将ip地址192.168.1.1转换为二进制
11000000 10101000 00000001 00000001
将子网掩码255.255.252.0转换成二进制
11111111.11111111.11111100.00000000
然后将两者相“与(and)"运算:
11000000 10101000 00000001 00000001
11111111.11111111.11111100.00000000
然后得到:
11000000 10101000 00000000 00000000
转换成网络号就是:192.168.0.0
将ip地址192.168.2.1转换为二进制
11000000 10101000 00000010 00000001
将子网掩码255.255.252.0转换成二进制
11111111.11111111.11111100.00000000
然后将两者相“与(and)"运算:
11000000 10101000 00000010 00000001
11111111.11111111.11111100.00000000
然后得到:
11000000 10101000 00000000 00000000
转换成网络号就是:192.168.0.0
很明显,二者的结果是一样的,都是属于192.168.0.0网段,所以他们是同属于一个网段。
当然,如果对子网较熟了就不需要经过这些运算了,大部分的网段可以通过分析子网掩码与ip地址就可以判断出来是否属于网一网段,但前提是你需要熟悉网段的原理与运算的方法。
三、如何根据ip地址推算子网掩码
确定ip地址子网掩码
大部分的情况下,我们网络中只要不超过254台主机的的话,子网掩码都可以设置成255.255.255.0。那么超过了254台主机的话怎么办呢?
可以划分vlan,也可以设置成一个大网段,划分vlan我们就不说了,上面有例子,设置成一个大网段就有一个难点,如何确定这个大网段里面的子网掩码呢?
例如
假设监控网络中有600个点位,我们现在也不想把它划分vlan(实际项目中大部分是会划分vlan的),假设只想用一个大网段把这600个点位分配ip地址,如何设置ip地址,如何确实子网掩码?
分析:首先我们知道600个点位,可以使用3个254个ip地址段来分配。
可以使用
ip段一:192.168.0.1——192.168.0.254
ip段二:192.168.1.1——192.168.1.254
ip段三:192.168.2.1——192.168.2.254
每个网段有254个ip地址,完全够600个点位用的。
那么问题来了,如果要使这三个ip段在同一个网段内,那么这个大网段共同的子网掩码是多少呢?
我们来分析下:
将ip地址192.168.0.1转换为二进制
11000000 10101000 00000000 00000001
将ip地址192.168.1.1转换为二进制
11000000 10101000 00000001 00000001
将ip地址192.168.2.1转换为二进制
11000000 10101000 00000010 00000001
转换成了二进制,可以看得出,三个ip段的二进制前面22位的是不变的,那么可以将他们表示成:
ip段一:192.168.0.1/22
ip段二:192.168.1.1/22
ip段三:192.168.2.1/22
这种192.168.2.x/22形式的ip地址相信大家平时都见过,就是已经告诉了子网掩码了。
也就是说他们共同的子网掩码二进制前面22个都是1。
11111111 11111111 11111100 00000000
转换成十进制,那就是255.255.252.0,所以他们共同的子网掩码就是255.255.252.0。
当然在实际项目中,与网络接触较多的弱电人不需要通过一系列的换算,直接可以通过简单的判断估算出来这个大网段的子网掩码,因此,今天弱电君是讲原理,方便大家理解,所以所有的换算都是通过运算出来的。