通信入行好几年,子网和子网掩码还是搞不清?
大家在进行 IPv4 地址配置时都看到过“子网掩码”这样的参数名,许多小伙伴都会疑惑这是个啥?有什么用呢?
下面文档君带领大家认识认识子网掩码以及跟其密不可分的子网!
为什么配置 IPv4 地址时要配置子网掩码,这不得不说 IP 地址、子网和子网掩码的关系。
子网掩码和 IP 地址一起使用可以判断源地址和目标地址是否在同一子网内,通过使用子网掩码可以将一个大的网络划分为多个较小网络。
我们将一个网络比喻为一个城市的街道地址系统,那么 IP 地址、子网、子网掩码的关系就像:
IP 地址是城市中每栋建筑的详细地址(例如,A 市 A 区 XX 路 02 号),它唯一标识了网络中的每一台设备。
子网是城市的各个区域或街区(例如,A 市 A 区),它将城市划分为更小的管理单元,这样做的好处是,可以更高效地管理和分配资源。
子网掩码是一个过滤器或筛选规则(例如,A 市 A 区的所有街道地址都是以 XX 路开头的地址),它决定了哪些 IP 地址属于同一个子网,同时帮助我们确定一个给定的 IP 地址是否属于特定的子网。
想要了解子网掩码,首先要知道什么是子网。
子网(subnet)是指基于某一类地址,在一个较大的网络中划分出的较小的网络区域。
举个例子,如果一家餐厅拥有一块宽敞的空间,只摆放了几张大桌子,可能会遇到一下问题:害怕社交的顾客可能会避开已占用的桌子,导致部分桌子空置或只坐一两人,而团体聚餐可能需要拼桌,这样既浪费空间又人多嘈杂不好打理。但是将空间划分成多个小包厢后,可以满足家庭和公司团体的聚餐需求,既节省空间,又为顾客提供隐私,同时便于清洁和管理。
划分子网的意义也是如此:
提高网络效率:在一个大型网络中,如果所有设备都处于同一个广播域内,那么任何设备发送的广播信息都会被该域内的所有其他设备接收,这样不仅占用大量带宽,还可能发生广播风暴。通过划分子网,可以将不同功能区域的设备分配到不同的子网中,减少广播流量对整个网络的影响。
小贴士: 广播风暴是一种网络现象,当广播数据充斥网络无法处理,并占用大量网络带宽,导致正常业务不能运行,甚至彻底瘫痪,这种现象称为广播风暴。具体介绍请跳转至
增强安全性:在一个公司网络中,通过划分子网,可以将公司网络根据不同职能部门划分为不同的子网,如果 A 部门内的某台计算机被黑客攻击,由于与其他部门的网络区域隔离在不同的子网中,可以防止攻击蔓延到整个公司网络。
优化资源分配:在一个公司内部,每个部门需要一定数量的 IP 地址,通过合理划分子网,可以更精细地控制 IP 地址的分配,确保每个部门都有足够的 IP 地址资源,并且避免 IP 地址资源浪费。
简化管理:当网络出现故障时,因为每个子网都是相对独立的,所以只需要关注有问题子网内的设备和网络配置即可,方便快速定位问题所在。
支持大规模网络扩展:对于需要频繁扩展或调整的大型网络来说,子网划分提供了灵活性,随着业务增长或组织结构调整,可以通过增加或合并子网来适应变化的需求。
子网掩码是用来识别和划分子网的好工具。
如下图所示,IPv4 地址是由网络 ID 和主机 ID 组成的,网络 ID 用于标识 Internet 上的某一个网络,主机 ID 用于标识该网络中的某台主机。
子网掩码(subnet mask)是一个 32 位二进制数,用于区分 IP 地址中网络部分和主机部分,通常表示为四个十进制形式(例如 255.255.255.0),在二进制表示(例如 1111 1111 1111 1111 1111 1111 0000 0000)中,左边的一系列连续“1”代表网络位,右边的一系列连续“0”代表主机位。
小贴士:每个子网都有自己的网络地址和广播地址,主机位全为 0 表示该网络的网络地址,主机位全为 1 表示该网络的广播地址。
在两台计算机之间进行通信时,子网掩码结合 IP 地址一起使用来确定它们是否处于同一子网内,并采取相应的通信策略,下图为基于子网掩码描述两台计算机如何通信的过程:
AB 两台计算机只知道自己的子网掩码,当 A 计算机想要访问 B 计算机时,A 用自己的子网掩码和自己的 IP 地址进行“与”运算(两位同时为“1”,结果为“1”,否则为 0),确定自己 IP 地址的网络 ID。
然后 A 用自己的子网掩码和 B 的 IP 地址进行“与”运算,确定 B 的 IP 地址的网络 ID,如果两次确定的网络 ID 相同,则判断自己与 B 在同一子网内,否则不在同一子网内,同一子网内的计算机间可以直接通信,不在同一子网内的计算机要通过网关才能通信。
通过子网掩码确定 IP 地址的网络 ID 原理是将 IP 地址和子网掩码进行“与”运算,来屏蔽掉 IP 地址中的主机部分,只保留网络部分,这里以 IP 地址:192.168.1.10,子网掩码:255.255.255.0 为例,文档君为大家详细讲解子网掩码结合 IP 地址如何确定某个主机的网络 ID。
思考:该子网的地址范围和可用主机数为多少?
子网的起始地址 = 网络位 + 最小主机位,子网的结束地址 = 网络位 + 最大主机位,那么该子网的地址范围为 11000000 10101000 00000001 00000000~11000000 10101000 00000001 11111111,转换为十进制表示:192.168.1.0~192.168.1.255。
可用主机数 = 2n-2(n 是主机位数),那么该子网可用主机数 = 2∧8-2=254,减 2 是因为网络地址和广播地址即 192.168.1.0、192.168.1.255 不能用于主机。
如下图所示,划分子网的基本原理就是从主机位中借用一些位来划分出新的子网:
假如一家公司有一个网络地址为 192.168.1.0/24 的网络(“/24”表示网络位数为 24 位),需要将现网络为 7 个部门划分出 7 个子网,以此为例带大家理解如何划分子网。
计算子网位数:根据 2m ≥ 7(m 是子网位数),计算出子网位数为 3,需要向主机位从左往右借 3 位,可划分出 8 个子网。
计算新子网掩码:将原子网掩码的主机位前 3 位置“1”,得出 11111111 11111111 11111111 11100000,转换为十进制得出每个子网的新子网掩码为 255.255.255.224。
计算每个子网的可用主机数:因为主机位被借用了 3 位,所以新主机位数为 5,可用主机数 = 2n-2(n 是主机位数)=25-2=30。
计算出 8 个子网地址:
5. 从中选择任意 7 个网络 ID 分配给 7 个部门,每个部门可为最多 30 台设备分配对应子网地址范围内的一个 IP 地址,确保不要分配网络地址和广播地址给任何设备。
思考:假如需要将一个网络地址为 192.168.1.0/24 的网络划分为若干子网,每个子网内有 100 台主机,如何划分?
可用主机数 = 2n-2(n 是主机位数)≥100,计算出 n=7,表示主机位需要占据 7 位才可以达到每个子网可容纳 100 台主机的要求,那么子网位数为 1,网络位数变为 25,主机位数变为 7,得出新子网掩码:11111111 11111111 11111111 10000000,转换为十进制:255.255.255.128,其余数据根据上文步骤完成计算。
6、为什么配置 IPv6 地址时没有看到过“子网掩码”?
IPv6 地址由 128 位组成,通常表示为八组由冒号分隔的四位十六进制数。在 IPv6 中,并没有“子网掩码”这个概念,而是使用“前缀长度”来表示网络部分的长度,例如下图,“1111:2222:3333:4444:AAAA:BBBB:CCCC:DDDD / 32”表示地址前 32 位用于标识网络部分(包括子网),后 96 位用于标识主机或接口部分。
IPv6 的子网划分原理同上文描述一致,前缀长度这种表示方法更加直观且易于理解和管理。
在互联网的世界里,数据的传输和管理依赖于复杂的网络结构,子网和子网掩码功劳大,确保了数据能够准确无误地从源地址到达目标地址。
IT之家,软媒旗下科技门户网站 - 爱科技,爱这里。
本文地址: https://lvb.baiwanlian.cn/article/c38905e618faef2a818f.html