IPv6 子网划分

IPv6 从左至右一共有8段地址
例如:2001:0DB8:0001:0000:0000:0000:0000:0000
第1段的子网掩码为是 0~16         0+16=16
第2段的子网掩码为是 17~32       16+16=32
第3段的子网掩码为是 33~48       32+16=48
第4段的子网掩码为是 49~64       48+16=64
第5段的子网掩码为是 65~80       64+16=80
第6段的子网掩码为是 81~96       80+16=96
第7段的子网掩码为是 97~112      96+16=112
第8段的子网掩码为是 113~128     112+16=128

16      32      48      64      80      96      112      128

2101:db6::/64 这个子网我想拆成有8个子网, 那8个子网分别是多少?

首先我们要知道IPv6 地址位有128位,一个IPv6由8个地址节组成,每个地址节为16位,所以2101:db6::/64  完整的16进制表达方式及二进制方式如下图 

IPv6 子网划分 _子网

2101这样一个地址节有16位,拆成二进制表达方式为 0010 0001 0000 0001

所以以上要拆成8个子网(2^3=8)需要在原来的64位在往后延伸 3位,所以需要向下一个地址节中的第一个16进制数字中借用三位   0000 

IPv6 子网划分 _16进制_02

 所以2101:db6::/64 这个子网拆成有8个子网有以下

IPv6 子网划分 _16进制_03

所以完整的8个子网的地址网段为 

简写:2101:db6::/64

完整写法:2101:0DB6:0000:0000:0000:0000:0000:0000/64

网络地址2101:0DB6:0000:0000:0000:0000:0000:0000
起始地址2101:0DB6:0000:0000:0000:0000:0000:0000
结束地址2101:0DB6:0000:0000:FFFF:FFFF:FFFF:FFFF
IP 数量18446744073709551616

子网1:2101:0db6:0000:0000:0000:0000:0000:0000/67

网络地址2101:0DB6:0000:0000:0000:0000:0000:0000
起始地址2101:0DB6:0000:0000:0000:0000:0000:0000
结束地址2101:0DB6:0000:0000:1FFF:FFFF:FFFF:FFFF
IP 数量2305843009213693952

子网2:2101:0db6:0000:0000:2000:0000:0000:0000/67

网络地址2101:0DB6:0000:0000:2000:0000:0000:0000
起始地址2101:0DB6:0000:0000:2000:0000:0000:0000
结束地址2101:0DB6:0000:0000:3FFF:FFFF:FFFF:FFFF
IP 数量2305843009213693952

子网3:2101:0db6:0000:0000:4000:0000:0000:0000/67

网络地址2101:0DB6:0000:0000:4000:0000:0000:0000
起始地址2101:0DB6:0000:0000:4000:0000:0000:0000
结束地址2101:0DB6:0000:0000:5FFF:FFFF:FFFF:FFFF
IP 数量2305843009213693952

子网4:2101:0db6:0000:0000:6000:0000:0000:0000/67

网络地址2101:0DB6:0000:0000:6000:0000:0000:0000
起始地址2101:0DB6:0000:0000:6000:0000:0000:0000
结束地址2101:0DB6:0000:0000:7FFF:FFFF:FFFF:FFFF
IP 数量2305843009213693952

子网5:2101:0db6:0000:0000:8000:0000:0000:0000/67

网络地址2101:0DB6:0000:0000:8000:0000:0000:0000
起始地址2101:0DB6:0000:0000:8000:0000:0000:0000
结束地址2101:0DB6:0000:0000:9FFF:FFFF:FFFF:FFFF
IP 数量2305843009213693952

子网6:2101:0db6:0000:0000:a000:0000:0000:0000/67

网络地址2101:0DB6:0000:0000:A000:0000:0000:0000
起始地址2101:0DB6:0000:0000:A000:0000:0000:0000
结束地址2101:0DB6:0000:0000:BFFF:FFFF:FFFF:FFFF
IP 数量2305843009213693952

子网7:2101:0db6:0000:0000:c000:0000:0000:0000/67

网络地址2101:0DB6:0000:0000:C000:0000:0000:0000
起始地址2101:0DB6:0000:0000:C000:0000:0000:0000
结束地址2101:0DB6:0000:0000:DFFF:FFFF:FFFF:FFFF
IP 数量2305843009213693952

子网8:2101:0db6:0000:0000:e000:0000:0000:0000/67

网络地址2101:0DB6:0000:0000:E000:0000:0000:0000
起始地址2101:0DB6:0000:0000:E000:0000:0000:0000
结束地址2101:0DB6:0000:0000:FFFF:FFFF:FFFF:FFFF
IP 数量2305843009213693952


2001:0DB8:1111::/120 拆分成8个子网

2001这样一个地址节有16位,拆成二进制表达方式为 0010 0000 0000 0001

所以以上要拆成8个子网(2^3=8)需要在原来的64位在往后延伸 3位,所以需要向下一个地址节中的第一个16进制数字中借用三位   0000 

2001:0DB8:1111::/120

网络地址2001:0DB8:1111:0000:0000:0000:0000:0000
起始地址2001:0DB8:1111:0000:0000:0000:0000:0000
结束地址2001:0DB8:1111:0000:0000:0000:0000:00FF
IP 数量256

网络运营商提供的IPv6公网大网段:2001:0DB8:1111:0000:0000:0000:0000:0000/120

下面拆分成8个小网段 子网

子网1:2001:0DB8:1111:0000:0000:0000:0000:0000/122

网络地址2001:0DB8:1111:0000:0000:0000:0000:0000
起始地址2001:0DB8:1111:0000:0000:0000:0000:0000
结束地址2001:0DB8:1111:0000:0000:0000:0000:003F
IP 数量64

子网2:2001:0DB8:1111:0000:0000:0000:0000:0040/123

网络地址2001:0DB8:1111:0000:0000:0000:0000:0040
起始地址2001:0DB8:1111:0000:0000:0000:0000:0040
结束地址2001:0DB8:1111:0000:0000:0000:0000:005F
IP 数量32

子网3:2001:0DB8:1111:0000:0000:0000:0000:0060/123

网络地址2001:0DB8:1111:0000:0000:0000:0000:0060
起始地址2001:0DB8:1111:0000:0000:0000:0000:0060
结束地址2001:0DB8:1111:0000:0000:0000:0000:007F
IP 数量32

子网4:2001:0DB8:1111:0000:0000:0000:0000:0080/123

网络地址2001:0DB8:1111:0000:0000:0000:0000:0080
起始地址2001:0DB8:1111:0000:0000:0000:0000:0080
结束地址2001:0DB8:1111:0000:0000:0000:0000:009F
IP 数量32

子网5:2001:0DB8:1111:0000:0000:0000:0000:00a0/123

网络地址2001:0DB8:1111:0000:0000:0000:0000:00A0
起始地址2001:0DB8:1111:0000:0000:0000:0000:00A0
结束地址2001:0DB8:1111:0000:0000:0000:0000:00BF
IP 数量32

子网6:2001:0DB8:1111:0000:0000:0000:0000:00c0/123

网络地址2001:0DB8:1111:0000:0000:0000:0000:00C0
起始地址2001:0DB8:1111:0000:0000:0000:0000:00C0
结束地址2001:0DB8:1111:0000:0000:0000:0000:00DF
IP 数量32

子网7:2001:0DB8:1111:0000:0000:0000:0000:00e0/123

网络地址2001:0DB8:1111:0000:0000:0000:0000:00E0
起始地址2001:0DB8:1111:0000:0000:0000:0000:00E0
结束地址2001:0DB8:1111:0000:0000:0000:0000:00FF
IP 数量32
### IPv6子网划分工具概述 对于希望简化IPv6子网划分过程的用户而言,存在多种解决方案可以满足需求。一种推荐的方式是利用专门设计的在线计算器和服务。 #### 推荐的IPv6子网划分工具 一个特别值得提及的是来自开源社区的支持工具[^1]。此工具不仅提供了图形界面操作选项,还支持命令行模式下的批量处理任务。通过访问指定链接,用户可以获得详细的安装指南以及使用说明文档。该应用程序具备直观的操作流程,使得即使是初次接触IPv6技术的人也能快速上手并完成所需配置工作。 此外,还有其他基于Web浏览器运行的在线服务可供选择。这些平台通常不需要额外软件安装即可实现基本功能,如输入前缀长度后自动生成对应的网络范围等信息。然而,在考虑长期稳定性和安全性方面,则建议优先选用经过广泛测试验证过的本地部署型应用。 ```python import ipaddress def calculate_subnets(prefix, num_of_subnets): network = ipaddress.IPv6Network(prefix) subnets = list(network.subnets(new_prefix=network.prefixlen + (num_of_subnets.bit_length() - 1))) return subnets prefix_example = "2001:db8::/48" subnets_result = calculate_subnets(prefix_example, 4) for subnet in subnets_result: print(subnet) ``` 上述代码片段展示了如何借助Python标准库`ipaddress`模块来进行简单的IPv6子网分割计算。这只是一个基础示例,实际应用场景可能更加复杂多变。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值