计算可用IP地址段和子网掩码的方法

文章目录

为网络设置子网的用处:

首先我们要知道,实际上我们使用的IP地址的数量是固定的、有限的,例如:我们现在生活、工作中常用的IPv4协议规定我们所使用的的IP地址是32位地址长度的,所以可容纳的IP地址数量为 2 32 2^{32} 232,并且该协议中的32位地址长度分四段式表述,那么每段为8位,而 2 8 = 256 2^8=256 28=256 ,故理论上我们可以使用的IP地址区间为0.0.0.0至255.255.255.255。

现如今,全球计算机体量如此巨大,甚至在今天不只有计算机可以接入网络,由此可知,网络的IP地址逐渐成为了“稀缺资源”。所以逐渐发展起来的IPv6协议网络已然流行起来。

 那么分划子网的好处有:

1. 节约IP地址,避免浪费。
2. 限定广播的传播。
3. 保证网络的安全。
4. 有助于覆盖大型地理区域。

可现在发生了问题:你只获得了一个IP地址,可是你的几个部门或者几个不同的地方都需要使用网络,那么就可以分配子网,即将IP地址的主机位拿来划分子网。

具体计算方法(例题引入):

1)Try to divide the network 172.16.20.0/24 into 4 subnetworks and tell the available IP addresses and their corresponding masks for each subnet. Please write down the main steps and results in detail.

尝试将网络172.16.20.0/24划分为4个子网,并告诉每个子网的可用IP地址及其对应的掩码。 请详细写下主要步骤和结果。
说明:172.16.20.0/24中的“/24”意为网络地址为24位。

解题思路:

  • Step1:

首先我们从网络地址为24bits入手,默认网络协议为IPv4协议,所以根据公式:
I P ( i d ) = N e t w o r k ( i d ) + H o s t ( i d ) IP(id)=Network(id)+Host(id) IP(id)=Network(id)+Host(id)我们可以计算出主机地址(Host_ID)长度为 32 b i t s − 24 b i t s = 8 b i t s 32bits-24bits=8bits 32bits24bits=8bits

  • Step2:

由于我们需要将一个IP划分为4个子网(Subnets),我们可以根据公式:
2 N ≥ S u b n e t N u m b e r ( 4 ) 2^N\geq{Subnet Number(4)} 2NSubnetNumber(4)求出我们需要向主机地址(Host_ID)中借取N位来做计算,由题可知我们需要借取2bits来做计算。

  • Step3:

这时候我们将8bits的Host_ID分为了两块,第一块是借取的2bits,第二块是Host_ID本身拥有的6bits,接下来我们用一张表格来列出情况:

Subnet_IDHost_ID’
00000000
01
10
11111111

注意:表格中表示的并不是一一对应关系,而是一对多关系,一个Subnet_ID就表示一个子网的可用IP段,即一个Subnet_ID对应整个的Hots_ID区间: 000000~111111。

我们逐个计算(第一个子网下标从0开始):
  • 子网1可用IP段(Subnet_ID=00=0):

我们将两个ID段(Subnet_ID、Host_ID’)拼接(下文用“+”表示,表示拼接,不表示数学运算符)在一起做二进制转十进制计算:Subnet_ID + Host_ID’(最小值)为 00000000(8个0,全0),我们得出子网1的可用下限为0;Subnet_ID + Host_ID’(最大值)为 00111111(6个1),我们可以得出子网1的可用上限为64。其次由于当主机(Host_ID)全为0时,表示网络端本身,不可以使用,当主机(Host_ID)全为1时,表示广播段,所以,子网1的可用区间为:

Subnet1: 172.16.20.1~172.16.20.62

  • 子网2可用IP段(Subnet_ID=01=1):

我们将两个ID段(Subnet_ID、Host_ID’)拼接在一起做二进制转十进制计算:Subnet_ID + Host_ID’(最小值)为 01000000(6个0),我们得出子网1的可用下限为64;Subnet_ID + Host_ID’(最大值)为 01111111(7个1),我们可以得出子网1的可用上限为127。其次由于当主机(Host_ID)全为0时,表示网络端本身,不可以使用,当主机(Host_ID)全为1时,表示广播段,所以,子网2的可用区间为:

Subnet2: 172.16.20.65~172.16.20.126

下面的两个子网大家可以自己试着算一下,答案在下面。

  • 子网3可用IP段(Subnet_ID=10=2):

Subnet3: 172.16.20.129~172.16.20.190

  • 子网4可用IP段(Subnet_ID=11=3):

Subnet3: 172.16.20.193~172.16.20.254

子网掩码计算

由上文我们已经求出了,需要借位的N = 2,那么我们将主机位的前两位置1,得出11000000=192,又因为IP地址中,网络位占24bits,主机位占8bits,为3/1关系,所以子网掩码为255.255.255.192。

如果有什么问题可以评论区留言交流。

    原文作者:F_yChen
    原文地址: https://blog.csdn.net/weixin_57225558/article/details/121629943
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞