子网掩码是网络工程中一个很重要的知识点,什么是子网掩码呢,很多对网络了解不深的朋友都对子网掩码有些困惑, 不了解它有什么用?其实子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。通俗的来说,就是用来区分哪些ip是同一个网段的,哪些不是同一网段的,用来划分子网的。
例如,两个人都叫李四,但一个李四是甲村的,另一个李四是乙村的,那么如何区分这两个李四分别是属于那个村的呢?得让村长来区分,就可以准确的把各自的李四领回村,那么子网掩码就相当于村长,它就是用来区分该ip地址是属于哪个网段的。
具体到实际项目中:
ip地址:192.168.2.1 子网掩码:255.255.255.0
ip地址:192.168.2.2 子网掩码:255.255.255.0
我们可以直接的判断,他们是同属于一个网段的ip地址。
那么对于下面这样的如何判断呢?
ip地址:192.168.2.1 子网掩码:255.255.255.0
ip地址:192.168.2.2 子网掩码:255.255.0.0
这两个ip地址虽然在不看子网掩码的情况下,长得比较像,但实际上他们并不是同一个网段内的。
这个可以从子网掩码来判断:
192.168.2.1 子网掩码:255.255.255.0是属于192.168.2.0网段的。
192.168.2.2 子网掩码: 255.255.0.0是属于192.168.0.0网段的。
一、如何根据子网掩码来确定网段
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地址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、举例2
创建vlan1:ip地址:192.168.1.1 子网掩码:255.255.252.0
创建vlan2: ip地址:192.168.2.1 子网掩码:255.255.252.0
这和上面的唯一变化就是子网掩码从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地址推算子网掩码
大部分的情况下,网络中只要不超过254台主机的的话,子网掩码都可以设置成255.255.255.0。那么超过了254台主机的话怎么办呢?可以划分vlan,也可以设置成一个大网段,如何确定这个大网段里面的子网掩码呢?
假设网络中有600台电脑,只想用一个网段给这600台电脑分配ip地址,如何设置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地址,问题来了,如果要使这三个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
也就是说他们共同的子网掩码二进制前面22个都是1。
11111111 11111111 11111100 00000000
转换成十进制,那就是255.255.252.0,所以他们共同的子网掩码就是255.255.252.0。
三、总结
子网掩码在网络中的重要性是不言而喻的,要实际工作重要多多掌握,希望这篇文章对你有所帮助。
本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/194526.html
如有侵犯您的合法权益请发邮件951076433@qq.com联系删除