IP4-子网掩码

网络掩码

  子网掩码是在IPv4地址资源紧缺的背景下为了解决lP地址分配而产生的虚拟lP技术,通过子网掩码将A、B、C三类地址划分为若干子网,从而显著提高了IP地址的分配效率,有效解决了IP地址资源紧张的局面。如果是都是使用的IPV6的话是没有子网掩码的概念。IPV6是端到端的连接通信,不需要子网了。

  网络掩码做为一个辅助工具,可以帮助主机区分以上三种情况,所以网络掩码是必不可少的,和IP地址如影相随。最初的网络掩码长度为8的整数倍,8、16、24、32,这里的长度为二进制的长度,即一个字节长度的整数倍。

概念 特征 网络范围 默认掩码
A类地址 第1个8位中的第1位始终为0 0-127.x.x.x 255.0.0.0/8
B类地址 第1个8位中的第1、2位始终为10 128-191.x.x.x 255.255.0.0/16
C类地址 第1个8位中的第1、2、3位始终为110 192-y.x.x.x 255.255.255.0/24

1.1.1.1/8
这个组合经常出现的路由器的配置里,其中 1.1.1.1 为IP地址。 /8 表示网络掩码的长度,8个二进制长度。

172.16.1.1/16
172.16.1.1 为IP地址。/16 表示网络掩码的长度,16个二进制长度。

192.168.1.1/24
192.168.1.1 为IP地址。/24表示网络掩码的长度,24个二进制长度。

127.0.0.1/32
127.0.0.1 为IP地址。/32 表示网络掩码的长度,32个二进制长度。

子网掩码

如果不对掩码长度是8的整数倍做强制要求,那么就实现精细化的子网掩码。

CIDR :( Classless Inter-Domain Routing,元类域间路由选择).我们需要了解这种网络表示法。形式如:192.168.10.32/28。前面的数字是我们的网络地址,后面的28表示用28位来表示网络位,用32-28=4位来表示主机位。通过这种记法,我们能明确两个信息:
网络地址:192.168.10.32
子网掩码:255.255.255.240

通过下表我们能明确 子网掩码斜杠表示法 之间的关系:

1679092-20190709175902328-586874586.png
1679092-20190709175913957-2145237488.png

其中 /8-/15 只能用于A类网络,/16-/23 可用于A类和B类网络,而 /24-/30 可用于A类、B类和C类网络。这就是大多数公司都使用A类网络地址的一大原因,因为它们可使用所有的子网掩码,进行网络设计时的灵活性最大。

假设现有一IP地址 180.210.242.131,即 10110100.11010010.11110010.10000011
同时指定子网掩码为 255.255.248.0  即 11111111.11111111.11111000.00000000,则

网络号:两者进行与运算,即 10110100.11010010.11110000.00000000(180.210.240.0)
主机号:子网掩码取反再和IP做与运算,即 00000000.00000000.00000010.10000011(0.0.2.131)
子网号:这个IP本来是B类地址,默认的子网掩码是 255.255.0.0,所以本来的网络号是16位,但它实际网络号是21位,就是借了5位网络位,所以可以划分 2^5 个子网,即32个,实际使用30个,这个网段可以容纳主机 2^11 个,即2048个,有效2046个一头一尾分别做网络号和广播。

从前有一个地主,有256间房子,地主家的门牌号码是 192.168.1,那么他家第一间房子的门牌号码是 192.168.1.0 ,第二间是 192.168.1.1,……第256间的编号是 192.168.1.255

地主老了,需要把256间房子分给4个儿子,平均分配,每个儿子可以分64间。

请来一位先生主持公道,先生这么来操作:

192.168.1.0-192.168.1.63 分给大儿子
192.168.1.64-192.168.1.127 分给二儿子
192.168.1.128 -192.168.1.191 分给三儿子
192.168.1.192-192.168.1.255 分给四儿子

如何来描述四个儿子的子网网段呢?

1
2
3
4
192.168.1.0/26
192.168.1.64/26
192.168.1.128/26
192.168.1.192/26

/26 解析

255.255.255.192 的二进制是:11111111-11111111-11111111-11 总共是26个1,为了简化子网掩码的表示,用 /26 代替 255.255.255.192

按位与运算我们来看大儿子的网段 192.168.1.0/26 是如何得到的?

以大儿子的房间为例:192.168.1.0-192.168.1.63

二进制表示:

192.168.1.0 对于二进制:11000000.10101000.00000001.00000000

192.168.1.63 对于二进制:11000000.10101000.00000001.00111111

首尾地址完全相同的是: 11000000.10101000.00000001.00,总共26位!那么用这个 192.168.1.0/26 就可以表示大儿子所有房间。

对照房间的门牌号码 192.168.1.199,很显然属于四儿子的。

Q1:一个主机 192.168.1.199/26 能否和直连主机 192.168.1.200/24 通信?

可以的,因为都是四儿子的房间。

Q2:一个主机 192.168.1.199/26 能否和直连主机 192.168.1.1/24 通信?

不可以,因为一个是大儿子的房间,一个是四儿子的房间,无法直连通信!

参考:

子网掩码有那么难吗?