欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 手游 > OpenWRT下深入了解IPv6——IPv6 地址结构、前缀划分、子网的概念

OpenWRT下深入了解IPv6——IPv6 地址结构、前缀划分、子网的概念

2025/9/15 12:40:34 来源:https://blog.csdn.net/KeyBordkiller/article/details/144305549  浏览:    关键词:OpenWRT下深入了解IPv6——IPv6 地址结构、前缀划分、子网的概念

一、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

  1. IPv6 地址结构

    • IPv6 地址长度为 128 位,通常用冒号十六进制表示法书写,每 16 位为一组,组与组之间用冒号 “:” 分隔。例如,一个 IPv6 地址可以写成 “xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx” 的形式,其中 “xxxx” 是一个 4 位十六进制数。
  2. 分析 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 互联网中进行路由,用于设备与其他网络中的设备进行通信,例如访问互联网上的网站、与其他远程服务器交互等。
  3. 分析 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 网络地址分配和管理。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词