子网掩码

问题描述

内网中192.168.1.199的前三组是网络号,后一组是主机号,子网掩码就是255.255.255.0如果IP同样是192.168.1.199 那么子网掩码可以设成255.255.255.192吗,怎么理解?如果在同一个局域网出现这两种掩码可以相互通讯吗?

 

 

 

看过我文章的读者,会知道通信大体有三种方式:

 

  • 自己与自己的通信

  • 与广播域主机通信

  • 与别的广播域主机通信

 

假如主机只有IP地址,如何知道要通信的主机IP,是以上哪一种方式?

 

网络掩码

网络掩码做为一个辅助工具,可以帮助主机区分以上三种情况,所以网络掩码是必不可少的,和IP地址如影相随。

 

最初的网络掩码长度为8的整数倍,8、16、24、32,这里的长度为二进制的长度,即一个字节长度的整数倍。

 

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个二进制长度。

 

但是,这种网络掩码的颗粒度太大,不够精细。

 

举一个例子,客户希望一个网段可以容纳1000台主机,使用哪个网络掩码呢?

 

/24掩码肯定不行,这个掩码只能容纳256个IP地址,最多容纳256台主机。

/16掩码可以是可以,可以容纳65536个IP地址,将会浪费64536个IP地址,因为这些IP地址别的网段还不能使用。

 

自然就会产生精细化的网络掩码需求,这个就是子网掩码。

 

子网掩码

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

 

将172.16.1.1/16的16扩展到22,将会产生64个子网段,每个网段可以容纳1024台主机。

 

172.16.0.0/22

172.16.4.0/22

172.16.8.0/22

172.16.12.0/22

172.16.244.0/22

172.16.248.0/22

172.16.252.0/22

 

注意了,22可不是8的整数倍!

 

如果把网络掩码16比作爸爸,那么子网掩码22自然就是儿子,因为有64个儿子分掉爸爸65536个IP地址,每个儿子分1024个IP地址。

 

如果子网掩码是23,意味着将会有128个儿子叫爸爸,儿子们将分掉爸爸的65536个IP地址,每个儿子分得512个IP地址。

 

另外需要注意的是,当172.16.0.0/22表示时,通常表示这是一个网段IP的集合,1024个IP的集合。172.16.0.1/22通常表示一个个体IP 。换句话说,一旦子网掩码没有覆盖的地方不为0时,表示一个IP地址。

 

从前有一个地主,有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 分给四儿子

如何来描述四个儿子的子网网段呢?
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”大家数数一共多少个1?不用数了,是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 通信? 

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值