众所周知,单纯按照IPv4地址结构与分类是不满足我们现在大量个人电脑的使用需求的。为了应对这种问题,产生了构成子网与构成超网这么两个变种。
构成子网是在原IP(Net id+Host id)上加入了Subnet id(变成了Net id+Subnet id+Host id)。我们在分析这类IP的时候,需要与掩码配合进行分析。
掩码(Mask)表示网络或者子网的大小,它是一串32bit大小的二进制数。在这串二进制数当中,掩码用1来表示网络部分,也就是Net id+Subnet id这一部分;用0来表示主机(Host id)的部分。我们知道网络地址分为五种(A、B、C、D、E)。在这五种网络地址,Net id 长度不变的,Host id分出一部分表示Subnet id用来表示子网。这样也可以减少地址浪费的情况。说到这里各位是否还是感觉有点迷糊呢?我们来看看下面的表格:
地址名称 | 说明 |
网络地址(Net Address) | IP地址由特定的Net id+全为0的Subnet id+全0的Host id组成。表示方式:20.0.0.0 255.0.0.0->20.0.0.0/8 |
网络地址的直接广播地址 | IP地址由特定的Net id+全为0的Subnet id+全1的Host id组成 |
子网地址(Subnet address) | 特定的Net id+特定的Subnet id+全0的Host id组成。表示方法:20.1.0.0 255.255.0.0->20.1.0.0/16 |
子网地址的直接广播地址 | IP地址由特定的Net id+特定的Subnet id+全1的Host id组成。 |
主机地址(Host address) | 特定的Net id+特定的Subnet id+特定的Host id。 |
计算公式如下:
Net address = IP address & Mask
Host address = IP address & Mask的反码
地址范围Address range = {Net address,Net address+Mask的反码}
子网构成有两种方法:
定长子网划分:共享同一IP网络前缀的子网大小相同(Netid 相同,掩码值是一样的)。划分依据是子网数量与子网内主机数量折中。其特点为划分简单,地址分配比较浪费。
变长子网划分:共享同一IP网络前缀的子网大小不同(Netid 相同,掩码值不一样,变长子网掩码),划分依据是子网内主机的数量,特点是灵活高效的利用地址空间。
构成超网在实现的方式是“聚合”而构成子网在实现的方式上是“拆分”。在实现方式上是完全相反的。构成超网将几个C类网合并成一个更大的地址范围。方法便是将Net id中的某些1改为0。改变之后,原Net id部分变成Host id,剩下的Net id部分变成Supernet id。也就是 Supernet id+Host id。一般在一个含多个物理网络的组织申请地址是用的到(CIDR)。