子网划分介绍以及如何划分子网(例题详解)

子网划分这项技术用来把一个单一的IP网络地址划分成多个更小的子网(subnet)。 这种技术可使一个较大的分类IP地址能够被进一步划分为几个子网。这样就可以让使用一个大的分类地址(classful address)的企业能给该企业中处于不同地理位置的分公司分配不同的子网,对外整个企业是一个网络地址,而在内部,不同分公司则有不同的子网地址,因而不需要为每个站点都分别申请一个网络地址。

当我们对一个网络进行子网划分时,基本上就是将它分成小的网络。比如,当一组IP地址指定给一个公司时,公司可能将该网络“分割成”小的网络,每个部门一个。这样,技术部门和管理部门都可以有属于它们的小网络。通过划分子网,我们可以按照我们的需要将网络分割成小网络。这样也有助于降低流量和隐藏网络的复杂性。

子网划分通常是把IP地址中主机标识部分划出一定的位数用作本网的各个子网,剩余的主机标识作为相应子网的主机标识部分。

划分多少位给子网,主要根据实际需要划分出的子网数而定。

这样IP地址就分为‘网络-子网-主机’三部分。与传统的分类地址一样,地址中的网络部分(网络号+子网)与主机部分之间的边界是由子网掩码来定义的。

划分子网后变成了三级结构 :当没有划分子网时,IP 地址是两级结构,地址的网络号字段也就是 IP 地址的“因特网部分”,而主机号字段是 IP 地址的“本地部分”。划分子网后 IP 地址就变成了三级结构。划分子网只是将 IP 地址的本地部分进行再划分,而不改变 IP 地址的因特网部分。
在这里插入图片描述
如何划分子网

  • 确定需要划分的子网数
  • 根据子网数确定子网的位数
  • 确定每个子网的IP地址范围

看一个具体实例

一家集团公司有4家子公司(A,B,C,D),上级给出一个172.16.100.0/24的网段,让给每家子公司以及子公司的部门分配网段。
要求:A公司需要120地址,B公司需要60个地址,C公司需要20个地址,D公司需要22个地址。

方法一:(较为麻烦)
我们在划分子网时优先考虑最大主机数来划分。
A公司120个地址,所以主机位至少要保留7位(2^7-2>120)
先将172.16.100.0/24用二进制表示:
10101100 00010000 01100100 00000000/24
主机位保留7位,即在现有基础上网络位向主机位借1位(可划分出2个子网)
1.10101100 00010000 01100100 00000000/25【172.16.100.0/25】
2.10101100 00010000 01100100 10000000/25【172.16.100.128/25】
A公司从这两个子网段中选择一个即可,我们选择172.16.100.0/25

B公司使用的网段从172.16.100.128/25中再次划分得到
B公司60个地址,所以主机位至少保留6位(2^6-2>60)
172.16.100.128/25二进制表示为
10101100 00010000 01100100 10000000/25
主机位保留6位,即在现有基础上网络位向主机位借1位(可划分出2个子网)
1.10101100 00010000 01100100 10000000/26【172.16.100.128/26】
2.10101100 00010000 01100100 11000000/26【172.16.100.192/26】
B公司从这两个子网段中选择一个即可,我们选择172.16.100.128/26

C公司使用的网段从172.16.100.192/26中再次划分得到
C公司22个地址,所以主机位至少保留5位(2^5-2>22)
172.16.100.128/26二进制表示为
10101100 00010000 01100100 11000000/26
主机位保留5位,即在现有基础上网络位向主机位借1位(可划分出2个子网)
1.10101100 00010000 01100100 11000000/27【172.16.100.192/27】
2.10101100 00010000 01100100 11100000/27【172.16.100.224/27】
C公司从这两个子网段中选择一个即可,我们选择172.16.100.192/27

D公司网段就为172.16.100.224/27

A公司:
网络地址:【172.16.100.0/25】
可用地址范围:【172.16.100.1/25~172.16.100.126/25】
广播地址:【172.16.100.127/25】
子网掩码:【255.255.255.128】
B公司:
网络地址:【172.16.100.128/26】
可用地址范围:【172.16.100.129/26~172.16.100.190/26】
广播地址:【172.16.100.191/26】
子网掩码:【255.255.255.192】
C公司:
网络地址:【172.16.100.192/27】
可用地址范围:【172.16.100.193/27~172.16.100.222/27】
广播地址:【172.16.100.223/27】
子网掩码:【255.255.255.224】
D公司:
网络地址:【172.16.100.224/27】
可用地址范围:【172.16.100.225/27~172.16.100.254/27】
广播地址:【172.16.100.224/27】
子网掩码:【255.255.255.224】

方法二:(推荐)
利用Huffman树
A:120 → 128
B:60 → 64
C:20 → 32
D:22 → 32
Huffman树

根据Huffman编码
子网号可根据上图Huffman树得到

A的网络号为 172.16.100 , 子网号为0
172.16.100.0 000 0000
172.16.100.0 111 1111
所以A的可用地址范围为:【172.16.100.1/25~172.16.100.126/25】
子网掩码为:255.255.255.128

B的网络号为 172.16.100 , 子网号为10
172.16.100.10 00 0000
172.16.100.10 11 1111
所以B的可用地址范围为:【172.16.100.129/26~172.16.100.190/26】
子网掩码为:255.255.255.192

C的网络号为 172.16.100 , 子网号为110
172.16.100.110 0 0000
172.16.100.110 1 1111
所以C的可用地址范围为:【172.16.100.193/27~172.16.100.222/27】
子网掩码为:255.255.255.224

D的网络号为 172.16.100 , 子网号为111
172.16.100.111 0 0000
172.16.100.111 1 1111
所以D的可用地址范围为:【172.16.100.225/27~172.16.100.254/27】
子网掩码为:255.255.255.255

### ABCD 类 IP 地址子网划分示例 #### A类地址子网划分实例 对于A类IP地址,其默认子网掩码为`255.0.0.0`。假设给定一个A类网络`10.0.0.0`并希望将其细分为多个较小的子网。 为了创建具有至少64个主机位的小型子网,可以借用一部分原本用于表示主机的部分来作为新的子网标识符。例如,通过增加额外的三位二进制数到标准A类子网掩码中形成一个新的子网掩码`255.224.0.0`(即前11位固定不变),这样就可以得到八个大小相等的新子网[^1]。 ```python network_address = "10.0.0.0" subnet_mask = "255.224.0.0" def calculate_subnets(network, mask): # 将十进制形式转换成二进制字符串列表 binary_network = ['{0:08b}'.format(int(x)) for x in network.split('.')] binary_mask = ['{0:08b}'.format(int(y)) for y in mask.split('.')] # 计算可变长度部分的位置以及数量 variable_start_position = ''.join(binary_mask).find('0') number_of_variable_bits = 32 - sum([int(z) for z in ''.join(binary_mask)]) print(f"Variable start position at bit {variable_start_position}, with {number_of_variable_bits} bits available.") calculate_subnets(network_address, subnet_mask) ``` #### B类地址子网划分实例 B类地址通常采用`255.255.x.x`的形式,默认情况下拥有16位分配给网络号。当需要更细致地控制内部资源时,则可以通过调整子网掩码来进行细分。比如将`172.16.0.0/16`划分为若干个能够容纳最多254台设备的子网: 此时可以选择扩展原掩码至`255.255.255.0`级别,从而获得256个独立子网,每个子网内有2^(8-1)-2=254个可用主机地址。 #### C类地址子网划分实例 考虑到C类地址范围有限(`192.168.0.0 ~ 192.168.255.255`),一般只允许定义单个局域网内的机器连接情况。然而,在某些特殊场景下仍然可能涉及到进一步分割的需求。以`192.168.1.0/24`为例,若要建立四个不同部门各自的VLAN环境而互不影响的话,那么就需要把现有的空间拆分成四份,每一份都具备足够的容量支持大约62台终端接入互联网服务——这可通过设置新掩码为`255.255.255.192`实现目标。 #### D类和E类地址的应用特点 需要注意的是,并不是所有的IPv4地址都能用来做常规意义上的路由通信。其中D类地址段(224.0.0.0~239.255.255.255)专门预留给了多播用途;而E类地址区间(240.0.0.0~255.255.255.254),尽管理论上存在,但实际上很少被实际应用所采纳,更多是用来实验研究或是保留待未来标准化过程中的特定需求。
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值