网络掩码
子网掩码是在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/16172.16.1.1
为IP地址。/16
表示网络掩码的长度,16个二进制长度。
192.168.1.1/24192.168.1.1
为IP地址。/24
表示网络掩码的长度,24个二进制长度。
127.0.0.1/32127.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
通过下表我们能明确 子网掩码
和 斜杠表示法
之间的关系:
其中 /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 | 192.168.1.0/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
通信?
不可以,因为一个是大儿子的房间,一个是四儿子的房间,无法直连通信!
参考: