为IP v6划分子网

以下内容摘自笔者编著的《网管员必读――超级网管经验谈》(第2版)一书。

3.8 IP v6划分子网

在对 IP v6 地址空间进行子网划分时,需要使用子网划分技术,以一种允许将剩余地址空间的摘要和委派路由到 IP v6 Intranet 的不同部分的方式,为 48 位全局地址前缀划分 16 位子网 ID 字段。不过,目前因为 IP v6 技术本身都没有普及使用,加上 IP v6 地址数本身就非常庞大,所以对 IP v6 地址进行子网划分,在目前来说可能还没有得到实质应用,也没有什么需求。在此介绍这一新 IP 地址协议下的子网划分方法,纯是为了各位进行积累考虑的。
不需要以任何特定的方式进行子网划分。此处介绍的子网划分技术假定是通过使用子网 ID 字段的高序位划分其地址空间的可变部分来进行子网划分的。虽然此方法有助于分层寻址和路由,但此方法并不是非用不可。例如,在只有少数子网的小型组织中,可以通过为子网编号(从 0 开始),轻松地为全局地址创建平面寻址空间。
对于全局地址, Internet 编号分配机构( IANA )或 ISP 会分配一个前 48 位均为固定位的 IP v6 地址前缀。若要对 48 位全局地址前缀的子网 ID 字段进行子网划分,需要执行一个包含两步的过程:
1 )确定用于子网划分的位数。
2 )枚举出新的子网网络前缀。

3.8.1 确定用于子网划分的位数

用于子网划分的位数决定着可以分配给的网络各部分(基于地理区划或部门分类)的新子网网络前缀的可能的数量。在分层路由基础结构中,必须确定在层次结构的各层需要的网络前缀数,进而确定各层需要的位数。为层次结构的各层选择的位越多,拥有的用于枚举层次结构最后一层中的单个子网的位越少。
例如,可以实施一个包含两层的层次结构来反映地理 / 部门结构, 4 位用于地理层, 6 位用于部门层。这一方案允许 16 个地理区域,各个区域中的各个部门只占剩余的子网划分空间的 6 16 - 6 - 4 )位,或者说每个部门只有 64 = 26 )个子网。
在层次结构中任何给定的层上,许多位已被层次结构中的上一层固定了( f ),许多位被用来在层次结构中的当前层进行子网划分( s ),还有许多位留给层次结构中的下一层使用( r )。下面这个等式始终成立: f +s+r = 16 。图 3-6 显示了这种关系。
3-6  对全局 IP v6 地址的子网 ID 字段进行子网划分

3.8.2 枚举子网网络前缀

根据用于子网划分的位数,必须列出新的子网网络前缀,可以使用下面两种主要方法之一:
l         使用子网 ID 和递增值的十六进制表示形式来枚举新的子网网络前缀。
l         使用子网 ID 和递增值的十进制表示形式来枚举新的子网网络前缀。
这两种方法产生的结果相同,都会生成子网网络前缀的一个枚举列表。
要使用十六进制方法创建子网网络前缀的枚举列表,请执行以下步骤:
1 )根据为子网划分选择的位数 s 和进行子网划分的网络前缀的前缀长度 m ,计算以下各值:
l         f = m-48 f 是子网 ID 中已固定的位的数目。
l         n = 2s n 是将获得的网络前缀的数目。
l         I = 216- f+s i 是以十六进制表示的各个连续子网 ID 之间的递增值。
l         P = m+s P 是新的子网网络前缀的前缀长度。
2 )创建一个包含 n 行、两列的表。第一列存放网络前缀编号(从 1 开始),第二列存放新的子网网络前缀。
3 )将使用新的前缀长度的原始网络前缀放在第一行的第二列中。例如,根据进行子网划分的子网 ID 的十六进制值 F ,子网网络前缀为 [48 位前缀 ]:F::/P
4 )将站点本地地址或全局地址的子网 ID 部分中的值加上 i ,将结果放在下一行的第二列中。例如,在第二行中,子网前缀为 [48 位前缀 ]:F+i::/P
5 )重复步骤 4 ,直到完成该表。
【示例 16 】对全局地址前缀 3FFE:FFFF:0:C000::/51 进行 3 位子网划分。
首先计算前缀数量值、递增值和新前缀长度值。起始值是 F =0xC000 s =3 m =51 ,因此 f =51-48=3 。前缀的数量是 8 n =23 )。递增值是 0x400 i =216- 3+3 =1024=0x400 )。新的前缀长度是 54 P =51+3 )。
接下来,构造一个包含 8 行的表,如表 3-20 所示。将 3FFE:FFFF:0:C000::/54 放在网络前缀 1 所在的那一行的第二列,然后让网络前缀的子网 ID 部分依次递增 0x400 ,将结果分别填入后面的各行中。
3-20   使用十六进制技术对 3FFE:FFFF:0:C000::/51 进行 3 位子网划分
网络前缀
子网网络前缀
1
3FFE:FFFF:0:C000::/54
2
3FFE:FFFF:0:C400::/54
3
3FFE:FFFF:0:C800::/54
4
3FFE:FFFF:0:CC00::/54
5
3FFE:FFFF:0:D000::/54
6
3FFE:FFFF:0:D400::/54
7
3FFE:FFFF:0:D800::/54
8
3FFE:FFFF:0:DC00::/54
要使用十进制方法创建子网网络前缀的枚举列表,请执行以下步骤:
1 )根据用于子网划分的位数 s 、进行子网划分的网络前缀的前缀长度 m 和进行子网划分的子网 ID 的十六进制值 F ,计算以下各值:
l         f = m-48 f 是子网 ID 中已固定的位的数目。
l         n = 2s n 是将获得的网络前缀的数目。
l         I = 216- f+s i 是各个连续子网 ID 之间的递增值。
l         P = m+s P 是新的子网网络前缀的前缀长度。
l         D = F 的十进制表示形式
2 )创建一个包含 n 行、三列的表。第一列存放网络前缀编号(从 1 开始),第二列存放新的子网网络前缀的子网 ID 部分的十进制表示形式,第三列存放新的子网网络前缀。
3 )将子网 ID 的十进制表示形式( D )放在第一行的第一列,将子网前缀 [48 位前缀 ]:F::/P 放在第一行的第二列。
4 )用子网 ID 十进制表示形式的值加上 i ,将结果放在下一行的第二列。例如,第二行的子网 ID 的十进制表示形式是 D +i
5 )在第三列中,将子网 ID 的十进制表示形式转换为十六进制,并构造前缀 [48 位前缀 ]:[SubnetID]::/P 。例如,在第二行中,子网网络前缀为 [48 位前缀 ]:[D+i (转换为十六进制) ]::/P
6 )重复步骤 4 5 ,直到完成该表。
【示例 17 】对站点本地网络前缀 3FFE:FFFF:0:C000::/51 进行 3 位子网划分。
首先计算前缀数量值、递增值、新前缀长度值和起始子网 ID 十进制表示形式。我们的起始值是 F =0xC000 s =3 m =51 ,这样 f =51-48=3 。前缀数量是 8 n =23 )。递增值是 1024 i =216- 3+3 )。新的前缀长度是 54 P =51+3 )。起始子网 ID 的十进制表示形式是 49152 D=0xC000=49152 )。
接下来,构造一个包含 8 行的表,如表 1-20 所示。将 49192 放在网络前缀 1 所在的那一行的第一列,将 3FFE:FFFF:0:C000::/54 放在该行的第二列。让网络前缀的子网 ID 部分(第四个十六进制块)依次递增 1024 ,然后将结果转换为十六进制并分别填入后面的各行中。
3-21   使用十进制技术对 3FFE:FFFF:0:C000::/51 进行 3 位子网划分
网络前缀
子网 ID 的十进制表示形式
子网网络前缀
1
49192
3FFE:FFFF:0:C000::/54
2
50176
3FFE:FFFF:0:C400::/54
3
51200
3FFE:FFFF:0:C800::/54
4
52224
3FFE:FFFF:0:CC00::/54
5
53248
3FFE:FFFF:0:D000::/54
6
54272
3FFE:FFFF:0:D400::/54
7
55296
3FFE:FFFF:0:D800::/54
8
56320
3FFE:FFFF:0:DC00::/54

本文出自 “王达博客” 博客,转载请与作者联系!

你可能感兴趣的:(职场,ipv6,休闲,子网划分)