为网络设置子网的用处:
首先我们要知道,实际上我们使用的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位。
解题思路:
首先我们从网络地址为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
32bits?24bits=8bits。
由于我们需要将一个IP划分为4个子网(Subnets),我们可以根据公式:
2
N
≥
S
u
b
n
e
t
N
u
m
b
e
r
(
4
)
2^N\geq{Subnet Number(4)}
2N≥SubnetNumber(4)求出我们需要向主机地址(Host_ID)中借取N位来做计算,由题可知我们需要借取2bits来做计算。
这时候我们将8bits的Host_ID分为了两块,第一块是借取的2bits,第二块是Host_ID本身拥有的6bits,接下来我们用一张表格来列出情况:
Subnet_ID | Host_ID’ |
---|
00 | 000000 | 01 | … | 10 | … | 11 | 111111 |
注意:表格中表示的并不是一一对应关系,而是一对多关系,一个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。
如果有什么问题可以评论区留言交流。
|