为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)枚举出新的子网网络前缀。

<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />3.8.1 确定用于子网划分的位数

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

3.8.2 枚举子网网络前缀

根据用于子网划分的位数,必须列出新的子网网络前缀,可以使用下面两种主要方法之一:
l         使用子网ID和递增值的十六进制表示形式来枚举新的子网网络前缀。
l         使用子网ID和递增值的十进制表示形式来枚举新的子网网络前缀。
这两种方法产生的结果相同,都会生成子网网络前缀的一个枚举列表。
要使用十六进制方法创建子网网络前缀的枚举列表,请执行以下步骤:
1)根据为子网划分选择的位数s和进行子网划分的网络前缀的前缀长度m,计算以下各值:
l         f = m-48f是子网ID中已固定的位的数目。
l         n = 2sn是将获得的网络前缀的数目。
l         I = 216-f+si是以十六进制表示的各个连续子网ID之间的递增值。
l         P = m+sP是新的子网网络前缀的前缀长度。
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=0xC000s=3m=51,因此f=51-48=3。前缀的数量是8n=23)。递增值是0x400i=216-3+3=1024=0x400)。新的前缀长度是54P=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-48f是子网ID中已固定的位的数目。
l         n = 2sn是将获得的网络前缀的数目。
l         I = 216-f+si是各个连续子网ID之间的递增值。
l         P = m+sP是新的子网网络前缀的前缀长度。
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)重复步骤45,直到完成该表。
【示例 17 】对站点本地网络前缀 3FFE:FFFF:0:C000::/51 进行 3 位子网划分。
首先计算前缀数量值、递增值、新前缀长度值和起始子网ID十进制表示形式。我们的起始值是F=0xC000s=3m=51,这样f=51-48=3。前缀数量是8n=23)。递增值是1024i=216-3+3)。新的前缀长度是54P=51+3)。起始子网ID的十进制表示形式是49152D=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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值