一、子网掩码
子网掩码是一种用来指明一个 IP 地址的哪些标识是主机所在的子网,以及哪些位标识的是主机的位掩码。
子网掩码只有一个作用,就是将某个 IP 地址划分成网络地址和主机地址两部分。
子网掩码书写规则:与二进制 IP 地址相同,子网掩码由1和0组成,且1和0分别连续。子网掩码的长度也是32位,左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。
C 类网络(192.0.0.0~233.255.255.255)的组成结构是24+8,即前24位表示网络地址,后8位表示主机地址,此时的主机数是:2^8-2=254(因为主机号全为1时表示该网络广播地址,全为0时表示该网络的网络号,这是两个特殊地址)。
C 类网络默认掩码是24位:255.255.255.0(/24),写成二进制就是(111111111.11111111.111111111.00000000)。
示例一
比如说我们公司的办公电脑,其 IP 都是192.168.12.xxx。这些 IP 全都是在一个网段内,没有划分子网,那么我们这些 IP 的掩码就是24位。
现在有一个需求:我们公司有6个部门,要求这些部门分别属于一个子网。
那么我们需要有6(2³﹥6)个子网,这时候需要从主机地址的的高位借3位作为子网地址,这样可以得到8个子网络(多出的2个可以留作备用),子网 ID 是:000、001、010、011、100、101、110、111;此时我们的子网掩码就变成了255.255.255.224,写成二进制就是(11111111.1111111111.11111111.11100000)。此时每个子网就只有主机数2^5-2=30个。
计算
题:将 B 类网络130.1.0.0/16划分为32个子网,划分后的每个子网包含的可用主机数地址为多少?写出第1个子网(从小到大的顺序)的子网掩码和可用主机地址范围。
注意:B类网络的 IP 地址是16+16的结构,即前16位表示网络地址,后16位表示主机地址。
分析:
1、要划分出32个子网,需要从主机位借5位作为新的子网位。每个子网的主机位是16-5=11位。每个子网支持的可用主机地址数是:2^11-2=2046。
2、子网划分如下:
130.1.00000 000.0划分的32个子网如下:
130.1.00000 000.0
130.1.00001 000.0
130.1.00010 000.0
130.1.***** 000.0
130.1.11111 000.0
主机号全为0的地址就是网络地址。这里后面11位是主机号,全部置为0,前面21位的组合就是网络地址。
每个子网的网络号为16+5=21,子网掩码为:
- 11111111 11111111 11111000 00000000 ---二进制写法
- 255.255.248.0 --- 点分十进制写法
- /21 --- 前缀法
从小到大顺序,第1个子网为:
130.1.00000 000.0/21
这个子网最小可用 IP 地址为:130.1.00000 000.00000001
即:130.1.0.1
全 0 IP 不可用。
这个子网最大可用 IP 地址为:130.1.00000 111.11111110
即:130.1.7.254
全 1 IP 不可用。
二、可变长子网掩码
上面示例一划分子网的方式,会有一个问题,就是每一个子网所支持的主机数都是一样的,即每一个子网都支持有30个。但是如果我们的部门有一个部门需要40台主机,一个部门只需要10台主机。该如何解决这个问题呢?此时就需要可变长子网掩码。
下面举一个示例说明这个问题:
示例二
某单位 IP 地址需求数如下表所示,给定地址192.168.1.0/24,按照可变长子网掩码的设计思想,部门3的子网掩码为()。
A、255.255.255.128
B、255.255.255.192
C、255.255.255.224
D、255.255.255.240
二级单位名称 | IP 地址需求数 |
---|---|
部门1 | 100 |
部门2 | 50 |
部门3 | 30 |
部门4 | 10 |
部门5 | 10 |
分析:
题中一共有5个部门,如果是常规的划分子网的方法,需要向主机位借3位,这样可以划分的子网数为2³个。
主机位还剩5位,此时每一个子网支持的 IP 数为2^5-2=30。显然是不符合部门1和部门2的需求的。所以我们需要使用可变长子网掩码的方法划分子网。
部门1:
只需要从主机位借1位,此时主机位还剩7位,满足的 IP 数是2^7-2=124。这样就满足了部门1。
部门2:
需要50个 IP 地址,那么主机数至少是6位(2^6-2=62>50),所以需要从主机位借2位做网络位。
部门3:
需要30个 IP 地址,那么主机数至少是5位(2^5-2=30),所以需要从主机位借3位作为网络位。
部门4和部门5:
需要 从主机位借4位。
从以上分析可以看出,部门3需要借3位,此时网络位就是24+3=27位,即掩码位就是27位。写成点分十进制就是255.255.255.224。
三、无类域间路由(CIDR)技术
CIDR 技术的应用:
- 构建超网
- 路由聚合
构建超网
示例三
题:已知某高校申请了4个连续的 C 类网络,分别是200.24.16.0~200.24.19.0,若希望学校的整个网络在路由表中聚合成一条,可以将此聚合成多少?
分析:
假设4个 iP 地址的分配如下,我们先将这些 IP 地址写成对应的二进制形式:
计算系:200.24.16.0 11001000 00011000 00010000 00000000
自动系:200.24.17.0 11001000 00011000 00010001 00000000
电子系:200.24.18.0 11001000 00011000 00010010 00000000
物理系:200.24.19.0 11001000 00011000 00010011 00000000
这4个 IP 地址前22位都是相同的,可以将其看成22位的网络地址相同。
聚合后的地址为:200.24.16.0/22
举一个网工的真题进一步解释:
题1:CIDR 技术解决了路由缩放问题,例如2048个 C 类网络组成一个地址块,网络号从192.24.0.0~192.31.255.0这样的超网号应为-----,其地址掩码应为-----。
分析:
我们想要将多个 IP 地址聚合成一个超网,我们就需要知道这些 IP 地址相同位数是多少位,将相同位数写成点分十进制,后面的全部置为0(即主机号为0),即为超网号。同时掩码地址也就出来了。
网络号不管有多少个,只要知道最小和最大的,他们相同的部分也就是所有网络号相同的部分。
题目中说2048个网络号,我们写出最小和最大的网络号的二进制形式:
点分十进制 | 二进制 |
---|---|
192.24.0.0 | 192.00011 000.0.0 |
192.31.255.0 | 192.00011 111.0.0 |
因为第一的字节(8位)的192是一定相同的,所以这里没有写成00000000.
从二进制能够看出来这些 IP 相同的位有13位。后面还有21位全部置为0,就是超网号。
所以超网号是:192.24.0.0
掩码地址是:255.248.0.0
聚合成一个 IP 可以写成:192.24.0.0/13
示例四
题2:某公司网络的地址是192.168.192.0/20,要把该网络分成32个子网。则对应的子网掩码应该是(),每个子网可分配的主机数是()。
分析:
IP 地址分为 ABCDE 五类,但是没有一类的网络号是20位,但是题目中的网络号位数(即掩码)是20位,显然这是一个分类以后的无类 IP(不属于五类中的某一类)。
步骤:
1、IP 地址一共32位,这里网络号是20位,那么主机号就是12位;
2、现在需要将该网络分成32个子网,那么就需要从主机位借5位,此时主机位就只有7位,所以每个子网可分配的主机数就是2^7-2=126。
3、此时网络号就是20+5=25位,即掩码就是25位,写成二进制就是:
11111111 11111111 11111111 1 0000000
改写成点分十进制就是:255.255.255.128。