IPv6简记

IPv6概念

背景

随着互联网的快速发展,IPv4地址空间的耗尽问题日益严重。IPv4地址是由32位二进制数组成,能够提供的最大地址数量约为42亿个。然而,随着互联网用户的急剧增加,IPv4地址资源已经无法满足需求。为了解决这一问题,互联网工程任务组(IETF, Internet Engineering Task Force)制定了IPv6标准,它是一种新的互联网协议,旨在提供几乎无限的地址空间。

IPv6标准的制定始于20世纪90年代初,并于1998年正式发布为RFC 2460。这个新协议的主要特点之一就是扩大了地址空间,从IPv4的32位增加到了IPv6的128位。这意味着IPv6可以支持大约 3.4 × 1038 个不同的地址,足以满足未来互联网的发展需要。

3.4 × 1038 个地址是什么概念?

  • IPv4地址数量:4.3 × 109 (43亿)。
  • 截至2023年,全球的联网设备(包括但不限于计算机、智能手机、平板电脑、物联网设备等)数量估计在数亿到数十亿级别,即 109 到 1010
  • MAC 地址是一个 48 位的地址,用于标识网络设备的物理层地址。,所以理论上可以有大约 2.81 × 1014 个不同的 MAC 地址。
  • 地球表面的沙粒数量估计在 1018 到 1021 之间,每个沙粒理论上可以平均分配到大约 1019 个IPv6地址。

此外,IPv6还引入了一些重要的改进,包括简化报头格式、内置的安全功能、自动配置能力以及对移动性的更好支持等。这些改进有助于提升网络性能和安全性,并简化网络管理。

IPv6地址的长度与格式

IPv6地址由128位组成,通常被分为8组,每组包含16位(即4个十六进制数)。

IPv6地址的每个16位段可以表示为四个十六进制数字,其中每个数字代表四位二进制数。为了便于书写和阅读,IPv6地址中的每个16位段都被转换成十六进制形式,并且各段之间使用冒号(:)进行分隔。例如:

  • 2001:0db8:85a3:0000:0000:8a2e:0370:7334
  • 这里,20010db885a30000等都是16位的十六进制数。
IPv6前缀
  1. 什么是IPv6前缀?

IPv6地址由两部分组成:前缀接口标识符(Interface Identifier)。前缀通常是IPv6地址的最左端部分,用于标识网络范围。IPv6地址长度为128位,前缀长度通常从32位到64位不等,取决于网络的设计。

例如,2408:8a00:780e:bbb1:f6a:2ef0:fe28:83e0/64: 这个地址包含了两部分,前缀 (2408:8a00:780e:bbb1:) 和接口标识符 (f6a:2ef0:fe28:83e0)。/64 表示这个前缀的长度为64位,这是IPv6地址中用于标识网络部分的标准长度。

  1. 为什么需要前缀获取?

    • 路由选择:前缀用于确定数据包如何在网络间传输,即用于路由选择。
    • 子网划分:通过不同的前缀长度,可以实现子网划分,以适应不同规模的网络。
    • 地址分配:前缀用于标识特定的网络范围,以便在该范围内分配IPv6地址。
IPv6简记规则

IPv6简记规则允许我们以更简洁的方式书写IPv6地址,从而提高效率和可读性。IPv6简记主要包括两个方面:

  1. 前导零压缩法

    • 如果一个16位段中的所有或部分前导零可以被省略,那么这些零就可以被删除,直到第一个非零数字为止。例如,在0000:0000:2222:0000:0000:0000:0000:0000中,可以将前导零压缩,得到::2222:0:0:0:0:0。但值得注意的是,这种方法只能应用于每个16位段内部,不能跨越不同的段。
  2. 双冒号法

    • 当一个IPv6地址包含一个或多个连续的16位段全部为零时,这些零可以被替换为一个双冒号(:😃。例如,如果有一个地址0000:0000:0000:0000:0000:0000:0000:0000,它可以被简记为::。需要注意的是,一个IPv6地址中只能出现一次双冒号,否则会导致地址的不明确性。

这两种简记方法可以同时使用,但是必须确保简记后的地址仍然保持其唯一性和准确性。例如,对于地址0000:0000:0022:0000:0000:3300:0000:0000,我们可以将其简记为::22:0:0:3300:0:00:0:22::3300:0:0或者0:0:22:0:0:3300::

IPv6为什么没有流行起来

  • 过渡成本高昂

    • 从IPv4迁移到IPv6并非简单的升级过程。
    • 网络运营商、企业以及家庭用户都需要对现有设备和软件进行更新或更换,以支持IPv6。
    • 这一过程不仅需要大量资金投入,还涉及复杂的规划和技术实施。
    • 导致许多组织倾向于维持现状而非主动迁移。
  • 缺乏紧迫感

    • 由于NAT(网络地址转换,允许多个私有IP地址共享一个公共IP地址访问互联网)等技术的存在,IPv4地址的短缺并没有立即影响到大多数用户的日常上网体验。
    • 这使得很多企业和个人认为没有必要急于过渡到IPv6。
  • 技术复杂性

    • IPv6本身的技术实现比IPv4更为复杂,尤其是在实现IPv4与IPv6的互操作性方面。
    • 这意味着技术人员需要更多的时间去学习和适应新的协议栈。
    • 为了确保IPv4与IPv6之间的兼容性和互通性,在过渡期间通常采用双栈解决方案,即同时支持IPv4和IPv6两种协议。
    • 这种双栈部署增加了管理上的难度和成本。
  • 应用程序和内容的支持不足

    • 一些老旧的应用程序和服务可能不支持IPv6,导致即便用户终端支持IPv6也无法充分利用。
    • 此外,许多网站和服务提供商在部署IPv6方面进展缓慢,这也阻碍了IPv6的普及。

使用IPv6服务

正常使用IPv6服务的条件
  1. 上网设备的支持

    • 硬件和软件(系统)的支持,现在大多数设备都支持。
    • 获取或配置IPv6地址。
    • 可以同时配置IPv4和IPv6。
  2. 路由器的支持:支持IPv6功能(现在大部分路由器都支持),启用IPv6相关配置。

  3. 互联网服务提供商(ISP)的支持

    • ISP需要提供IPv6连接选项,几大运营商一般都支持。
    • ISP需要分配一个或多个IPv6前缀,启用相关配置。
  4. DNS服务器的支持:能够解析IPv6地址。大多数公共DNS服务都已经支持IPv6。

  5. 网站和服务的支持

    • 网站和服务需要支持IPv6,这通常意味着网站服务器本身需要配置IPv6地址,并且Web服务器软件需要支持IPv6。
    • 当访问一个支持IPv4和IPv6的网站(即双栈网站)时,通常会尝试先使用IPv6连接。
  6. 在浏览器中访问IPv6地址时需要添加方括号

使用IPv6服务的缺点

IPv6网络相比IPv4网络还不太成熟,覆盖面也不够广泛,经常会有如下问题:

  • 在某些情况下,IPv6连接可能依赖于性能不佳的公共隧道,这会导致延迟增加和连接不稳定。
  • 有时IPv6连接可能会遇到故障或不理想的线路,导致延迟很长,影响用户体验。
  • IPv6连接的不稳定可能导致DNS解析延迟,影响用户的访问体验。
  • 对于双栈网站,浏览器一般会等待IPv6连接超时后才尝试IPv4连接,需要等待75秒以上才会放弃IPv6连接尝试,这可能会导致用户在加载页面时经历较长的等待时间。

IPv6地址的获取

地址类型
  1. 全局唯一地址 (Global Unicast Addresses, GUA):

    • 这些地址是全局唯一的,并且可以通过互联网路由到任何地方。它们通常用于公共互联网上的通信。
  2. 链路本地地址 (Link-Local Addresses):

    • 这些地址用于同一链路上的节点之间的通信。它们不会被路由器转发到其他网络上。
  3. 站点本地地址 (Site-Local Addresses):

    • 这是IPv6早期的概念,现在已经被取消。之前用于标识同一站点内的节点。
  4. 唯一本地地址 (Unique Local Addresses):

    • 作为站点本地地址的替代品,这些地址用于标识同一站点内的节点,但不会被路由到互联网上。类似于IPv4中的私有地址(如10.0.0.0/8、172.16.0.0/12 和 192.168.0.0/16),格式通常是 fc00::/7(前7位是固定的值 0111111)。
  5. 多播地址 (Multicast Addresses):

    • 用于向一组节点发送数据包。多播地址不是用来标识单一节点,而是用来标识一组节点。
  6. 任意播地址 (Anycast Addresses):

    • 这些地址用于标识一组接口中的任何一个。数据包会被发送到最近的一个接口。
  7. 未指定地址 (Unspecified Address):

    • 该地址用于初始化阶段,表示没有特定的地址。IPv6中的未指定地址是 ::
  8. 环回地址 (Loopback Address):

    • 用于对本机的IPv6栈进行测试,类似于IPv4中的127.0.0.1。IPv6中的环回地址是 ::1
IPv6地址获取方式
  • 无状态地址自动配置 (SLAAC):

    • 设备通过接收路由器发布的**Router Advertisement (RA)**消息来获取网络前缀。
    • 设备使用RA中的前缀信息与自己的MAC地址结合,通过EUI-64转换算法来自动生成接口ID(Interface Identifier),从而形成完整的IPv6地址。
    • 不需要额外的配置服务器,简单且快速。
  • 动态主机配置协议版本6 (DHCPv6):

    • DHCPv6提供了多种模式:
      • 无状态模式: 类似于SLAAC,但通过DHCPv6服务器获取其他配置信息(如DNS服务器地址)。
      • 有状态模式: 服务器不仅分配前缀,还为客户端分配特定的地址。客户端可能获得一个或多个IPv6地址,这些地址的有效期由服务器决定。
    • 可以用于分配IPv6地址、前缀以及其他配置信息(例如DNS服务器地址、默认网关等)。
    • 需要配置DHCPv6服务器。
  • 组合使用:SLAAC + DHCPv6:

    • 设备可以通过SLAAC自动获取IPv6地址,同时通过DHCPv6获取其他配置信息,如DNS服务器地址、默认网关等。
    • 这种方式结合了SLAAC的简便性和DHCPv6的灵活性。
ISP分配的GUA和公网IP并不一样
  1. ISP 分配的 GUA

    • 定义:全局唯一地址是一种IPv6地址类型,它在全球范围内是唯一的,并且可以在互联网上进行全球路由。
    • 用途:这种类型的地址主要用于公网上终端节点之间的通信,比如网站服务器、邮件服务器等。
    • 分配方式:ISP通常会为每个客户分配一个或多个前缀,这些前缀中的地址可以作为GUA来使用。例如,ISP可能会给一个家庭用户提供一个/64的IPv6前缀,这意味着有2^64个可用的地址供这个家庭内部的设备使用。
  2. 公网 IP(能够被公网直接访问的IPv6地址)

    • 定义:公网IP是指可以直接从互联网上访问的IPv6地址,即不需要任何NAT(Network Address Translation,网络地址转换)或类似的机制来进行地址转换。
    • 用途:公网IP地址用于提供公开可访问的服务,如Web服务器、FTP服务器等。
  3. 区别

    • ISP分配给光猫的GUA是为了确保光猫能够连接到ISP的网络,并通过ISP访问公网。这个地址通常不会直接出现在公网流量中,而是通过NAT64/NAT-Prefix Translation (NPT)等机制转换为公网可识别的地址。
    • NAT64: 这是一种用于将IPv6地址转换为IPv4地址的技术,以便IPv6客户端可以与IPv4服务器通信。NAT64通常用于IPv6-only网络中的IPv4访问。
    • NAT-Prefix Translation (NPT): 这是一种用于IPv6到IPv6地址转换的技术,主要用于将私有的IPv6地址转换为全局唯一的IPv6地址,以便这些私有地址可以被公网识别。
    • 但是GUA是否能被外网直接访问,取决于ISP配置的路由策略。即使GUA和公网IP不同,也可能可以被外网直接访问。ISP可能配置了特定的路由策略,允许外部网络直接访问分配给光猫的GUA地址。有时候,ISP分配的GUA地址本身就是公网可访问的,不需要任何额外的转换或配置。

IPv6网页工具

查看本机的公网IPv6地址以及IPv6的可用性:

在线测试IPv6的可访问性:

https://ipw.cn/ipv6ping/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李小白杂货铺

打赏是一种友谊,让我们更亲密。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值