一、IPv6地址结构、命名与分类
IPv6 地址由 128 位组成,通常以 : 分隔为 8 组 16 位。
1.IPv6地址压缩
1).前导0可以省略
2).全为0的组可以用::替代
2.IPv6地址分类
3.EUI-64最新标识接口的方法
比mac地址更多
插入FFFE
将第7bit进行反转,后得到一个路由器的id
4.常见地址类型:
a.全球单播地址
全球单播地址(Global Unicast Address, GUA) 是 IPv6 网络中的一种地址类型,类似于 IPv4 的 公网 IP 地址。这些地址可以在全球范围内唯一标识一台设备,并通过互联网直接访问
特点:
a1.范围和前缀:
全球单播地址通常以 2000::/3 开头,即范围是:
2000:0000:0000:0000:0000:0000:0000:0000
到
3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
这是全球分配的 IPv6 地址空间,占整个 IPv6 地址空间的 1/8
a2.唯一性:每个全球单播地址在全球范围内都是唯一的,由 IANA(互联网编号分配机构)分配给各大洲或地区的 RIR(区域互联网注册机构),再由 RIR 分配给 ISP 或组织。
a3.用途:用于标识在互联网中可直接路由的设备。每个设备可以有一个或多个全球单播地址。
a4.结构:全球单播地址通常由两部分组成:
网络前缀:由 ISP 或上级组织分配,例如 /48 或 /56。
主机标识:由本地网络生成,例如通过 SLAAC(基于 MAC 地址)或手动配置。
全球单播地址与其他 IPv6 地址的区别
地址类型 | 前缀 | 用途 | 示例 |
全球单播地址 | 2000::/3 | 在全球范围内可路由的公网地址 | 2001:db8::1 |
链路本地地址 | fe80::/10 | 用于同一链路上的通信,不可路由 | fe80::1 |
唯一本地地址(ULA) | fc00::/7 | 本地网络内部使用的私有地址,不可路由 | fd00::1 |
多播地址 | ff00::/8 | 用于组播通信,目标为多个设备 | ff02::1(所有节点) |
全球单播地址的组成
一个典型的全球单播地址通常由以下部分组成(以 2001:db8:abcd:0001::1/64 为例):
1.前缀:前缀部分由网络服务提供商或上级分配,通常是 /32、/48 或 /56。示例中,2001:db8 是一个前缀
2.子网id:子网 ID 部分用于本地子网划分,例如 abcd:0001 表示第一个子网。
3.接口 ID:剩余的 64 位用于标识设备接口,通常由 SLAAC 自动生成。
全球单播地址的应用
1家用网络:
1.家庭用户从 ISP 获取一个 IPv6 全球单播前缀IPv6-PD(如 XXXX: /60)。
2.路由器分发该前缀到本地设备,设备直接获取全球单播地址。
2企业网络:
企业从 ISP 获取一个较大的前缀(如/48),然后将其划分为多个子网,每个子网分配一个全球单播前缀。
3服务器部署:
云服务、网站或公共服务(如 DNS、API)通常配置全球单播地址,便于全球访问。
全球单播地址的优点
1全球路由可达性:与 IPv4 公网 IP 类似,但地址空间更大,不易耗尽。
2易于配置:通过 DHCPv6 或 SLAAC 自动配置,无需手动指定地址。
3支持多地址绑定:一个设备可以同时绑定多个全球单播地址,用于负载均衡或多链路通信。
b.按需回来填坑
c.。。。
d.。。。
二、前缀划分
2.1前缀组成
IPv6 地址由 128 位组成,通常表示为 8 个 16 位的十六进制数,每个数以冒号分隔。IPv6 的地址结构如下:
2408:8214:51xx:exxx::/xx
前缀:2408:8214:51xx:exxx::/xx 中的 /xx 部分表示网络地址的长度,xx 代表网络前缀的长度(以位为单位)。这个前缀确定了该地址段的范围。
前缀长度:/xx 是网络地址的前缀长度。例如 /48 或 /60,后面的部分则可以划分为子网。
2.2如何划分/60子网
IPv6 子网划分通常使用 /64 作为子网掩码(这是大多数IPv6网络的标准子网大小)。因此,从 /60 划分出多个 /64 子网,每个 /64 子网包含 64 位可用地址。
计算子网数量
/60前缀有 128 - 60 = 68 位可用来划分子网。
每个子网的大小为/60(即每个子网有 64 位地址)。因此,剩余的 68 位中有 64 位被用于划分子网。
每个 /60 前缀可以划分多少个 /64 子网?通过计算:
剩余位数 = 68 - 64 = 4 位 ,
这意味着可以将 4 位用于子网划分。
计算子网数量:2^4 = 16 个子网
所以,2408:8214:51xx:exxx::/60 可以划分为 16 个 /64子网。
再举个例子:
/48前缀的划分
前缀长度:/48,意味着前 48 位是网络前缀。
剩余位数:128 - 48 = 80 位可以用于划分子网。
如果您仍然使用 /64 作为每个子网的大小,则每个子网仍然占 64 位。
从 80 位中使用 64 位划分出子网,剩余的 80 - 64 = 16 位可以用来进一步划分子网。
计算子网数量:2^16 = 65536 个子网
所以,2408:8214:51xx:exxx::/48 可以划分出 65536 个 /64 子网。
IPv6-PD(Prefix Delegation) 是一种机制,用于动态分配 IPv6 前缀给下游设备或路由器。在这种机制下,ISP(互联网服务提供商)会分配给用户一个较大的 IPv6 前缀(如 /60 或 /48),然后用户可以通过 DHCPv6-PD 或手动配置将该前缀划分为多个更小的子网(通常为 /64)。
如果你还想在划分更多子网,要确保ISP运营商给你的前缀一定不是 /64 的前缀。
128-64=64
64-64=0
2^0=1只能划分一个子网
2.3OpenWRT 中 IPv6 前缀的设置
在 OpenWRT 中,IPv6 前缀的设置通常涉及以下参数:
ip6assign:指定接口应分配多少个 IPv6 地址前缀。
ip6prefix:指定接口的 IPv6 地址前缀。
reqprefix:当使用 IPv6-PD 时,表示从上游路由器请求的前缀长度。
ip6hint:用于指定接口的 IPv6 地址后缀的某些位(例如,/64 子网中的后缀部分)。
ip6assign
这是一个常见的配置选项,通常用来为指定接口分配一定数量的 IPv6 地址前缀,通常为 /64。
默认值:ip6assign 的默认值为 64,即为每个接口分配一个 /64 的子网。
config interface 'lan'
option ip6assign '64'
ip6prefix
ip6prefix 用于设置接口的 IPv6 地址前缀,适用于静态配置。通常,它是 ip6assign 配置的补充部分,用来指定网络前缀。
config interface 'lan'
option ip6prefix '2408:8214:51xx:exxx::/64'
reqprefix
- 当使用 IPv6-PD(Prefix Delegation) 时,reqprefix 用于向上游路由器请求 IPv6 前缀的长度。例如,如果 ISP 给你分配了一个 /60 前缀,您可以使用 reqprefix 参数向上游路由器请求该前缀。
- reqprefix 参数通常设置为 60、48 等,具体取决于 ISP 分配的前缀长度。(/60 /48的意思)
config interface 'wan'
option proto 'pppoe'
option ipv6 '1'
option reqprefix '60'
在上面的配置中,reqprefix 设置为 60,表示请求一个 /60 前缀。这会允许 OpenWRT 从 ISP 那里获取一个 /60 的前缀。
ip6hint
ip6hint 用于指定 IPv6 地址的后缀位数,通常用于子网的划分,尤其是在静态配置时。
三、子网
概念
IPv6 子网(Subnet)是对一个 IPv6 地址范围的划分。与 IPv4 类似,IPv6 也需要使用子网来管理和分配地址,使得网络更加灵活和可扩展。IPv6 子网的基本概念与 IPv4 子网类似,但因为 IPv6 地址空间庞大,它为每个网络提供了更多的灵活性。
在 IPv6 中,子网通常通过 网络前缀 来定义,网络前缀的长度决定了该子网的范围。网络前缀后面的部分(即主机部分)可以被用于设备的唯一标识。
子网的划分
IPv6 子网划分主要通过 前缀长度 来实现,表示网络中可用的地址范围。
子网的前缀长度
- /128:表示单个设备的地址,无法进一步划分。
- /64:是最常见的子网大小,通常用来划分网络和分配给每个设备。/64 为网络前缀的长度,剩下的 64 位用于设备的地址分配。
- /56、/60、/48 等:用于更大的网络范围,可以分配给企业或 ISP,进而划分更多的子网。
四、实例:
wan_6:
IPv6: 2408:8215:51xx:1xxx:b938:4acd:1d21:600c/64
IPv6-PD: 2408:8214:51xx:exxx::/60
-
IPv6 地址结构
- IPv6 地址长度为 128 位,通常用冒号十六进制表示法书写,每 16 位为一组,组与组之间用冒号 “:” 分隔。例如,一个 IPv6 地址可以写成 “xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx” 的形式,其中 “xxxx” 是一个 4 位十六进制数。
-
分析 IPv6 地址 2408:821x:51xx:1xxx:b938:4acd:1d21:600c/64
- 网络前缀部分:“/64” 表示网络前缀长度为 64 位。对于这个地址,前 64 位 “2408:8215:5100:1898” 用于标识网络。在一个 IPv6 网络中,同一网络前缀下的设备被认为在同一个子网中,它们可以直接相互通信(在没有访问限制的情况下)。
- 接口标识符部分:后 64 位 “b938:4acd:1d21:600c” 用于标识接口。接口标识符在子网内唯一地标识一个网络接口,类似于 IPv4 地址中的主机部分,但 IPv6 的接口标识符具有更多的灵活性和功能。
- 地址类型推测:由于这是一个完整的全球单播 IPv6 地址(根据其格式和前缀长度判断),它可以在全球 IPv6 互联网中进行路由,用于设备与其他网络中的设备进行通信,例如访问互联网上的网站、与其他远程服务器交互等。
-
分析 IPv6 - PD 地址 2408:8214:51xx:exxx::/60
- 网络前缀部分:“/60” 表示网络前缀长度为 60 位。这意味着前 60 位 “2408:8214:51xx:exxx” 用于标识一个较大的网络范围,这个前缀通常是由互联网服务提供商(ISP)分配给用户网络的。它可以被进一步划分成更小的子网,用于组织内部的网络布局。
- 缩写部分解释:“::” 是 IPv6 地址中的一种缩写机制。当连续的 16 位组(每组 4 位十六进制数)为 0 时,可以用 “::” 来代替,以简化地址表示。在这里,使用 “::” 表示从第 60 位之后到结尾的部分,在完整表示时可能包含多个 0 组,但具体数量和内容未明确,只是为了简洁而省略。
- 用途说明:IPv6 - PD(Prefix Delegation)主要用于网络地址分配管理。在网络分层架构中,上级网络设备(如 ISP 的路由器)可以将这个 / 60 前缀的地址块分配给下级设备(如企业网络的边界路由器)。下级设备可以根据自己的网络规划,将这个大的前缀划分成更小的子网(例如划分成 / 64 前缀的子网),然后分配给内部的网络设备,从而实现高效的 IPv6 网络地址分配和管理。