1. IPv6 过渡技术特征


  • 所有设备必须支持 IPv4/IPv6 协议栈(Dual Stack)
  • 连接双栈网络的接口必须同时配置 IPv4/IPv6 地址
  • 兼容地址格式:::ipv4/96
  • IPv4 映射 IPv6 地址格式:::FFFF:ipv4/64
  • 6 to 4 自动隧道地址格式:2002:ipv4 HEX::/48,后49~64为站点标识符(用于区分网段)
  • ISATAP Link-Local 地址格式:FE80::5EFE
  • ISATAP 地址格式:64位前缀::5EFE:ipv4 HEX/64

    2. Dual Stack 协议


image.png
image.png

3. IPv6 Over IPv4 隧道


image.png

  • 过渡初期使用
  • 分为手动隧道和自动隧道
  • IPv4 网络为主体,IPv6 网络是孤岛,通过隧道技术将 IPV4 网络将 IPv6 网络互联在一起,使 IPv6 报文在 IPv4 网络中传输

    1)手工隧道

  • 必须手工配置

  • 适用于任何 IPv6 穿越 IPv4 的环境,通用性好
  • 手动隧道通常用于两个边界路由器之间,为两个 IPv6 网络提供连接
  • 如果一个边界设备要与多个设备建立手动隧道,就需要在设备上配置多个隧道,配置比较麻烦

    ① 转发机制

  1. 当隧道边界设备的 IPv6 侧收到一个 IPv6 报文后,根据 IPv6 报文的目的地址查找 IPv6 路由转发表
    • 如果该报文是从此虚拟隧道接口转发出去,则根据隧道接口配置的隧道源和目的端的 IPv4 地址进行封装
  2. 封装后的报文变成一个 IPv4 报文,交给 IPv4 协议栈处理
  3. 报文通过 IPv4 网络转发到隧道的终点
  4. 隧道终点收到一个隧道协议报文后,进行隧道解封装
  5. 并将解封装后的报文交给 IPv6 协议栈处理

    ② 工作原理

    image.png
    image.png
    image.png

  6. 当 PC1 访问 PC2 时,R1 会将收到的 IPv6 报文送入隧道口,完成隧道封装

  7. 封装协议为 IPv6-IPv4 手工隧道封装模式(会在该 IPv6 报文外层添加 IPv4 头部)
  8. 源、目 IP 为隧道口指定的源、目 IP
  9. 中间的 IPv4 网络路由器仅需要根据外层 IPv4 进行转发即可
  10. 当报文到达 R2 后,解封装得到内层原始 IPv6 报文,根据目的地址转发即可

    2)GRE 手工隧道

    使用标准的 GRE 隧道技术提供了点到点连接服务,需要手工指定隧道的端点地址

  • GRE 隧道本身并不限制被封装的协议和传输协议,一个 GRE 隧道中被封装的协议可以是协议中允许的任意协议(可以是 IPv4、IPv6、OSI、MPLS 等)
  • 和 IPv6 over IPv4 手工隧道的区别在于在外层 IPv4 和内层 IPv6 中间存在 GRE 头部
  • 比 Pv6 over IPv4 手工隧道更安全,可以保证数据的安全性,因为有简单认证字段

image.png

3)兼容自动隧道

使用专用的 IPv4 兼容 IPv6 地址实现:”::IPv4地址/96

  • 要求每一个主机都要有一个合法的 IPv6 地址,而且通讯的主机要支持双栈、且支持兼容隧道

image.png

① 转发机制

  • IPv6 报文会经过隧道接口的 IPv4 外层封装,该隧道口需要配置封装的协议模式为 IPv4 兼容 IPv6 自动隧道封装

    • 需要配置隧道的源 IP 地址为 RouterA 某个 IPv4 接口地址
    • 需要配置隧道的 IPv6 地址是通过隧道源地址得到的 IPv4 兼容 IPv6 地址

      ② 工作原理

      image.png
      RouterA 向 RouterB 发送报文时,该 IPv6 的报文源 IP 为 RouterA 的 IPv6 地址,而目的 IP 为 RouterB 的 IPv6 地址(::2.1.1.1/96,是通过 IPv4 兼容 IPv6 地址得到的)

      4)6 to 4 自动隧道

      使用专用地址前缀:”2002:ipv4 HEX::/48

  • FP:可聚合全球单播地址的格式前缀(Format Prefix),其二进制为 001

  • TLA:顶级聚合标识符(Top Level Aggregator),有 13 个比特位,其二进制值为 0 0000 0000 0010
  • SLA:站点级聚合标识符(Site Level Aggregator)

image.png

  • 支持 Router 到 Router、Host 到 Router、Router 到 Host、 Host 到 Host
  • 6 to 4 地址的网络前缀长度为 64bit,其中前 48bit(2002:a.b.c.d)被分配给路由器上的 IPv4 地址决定了,用户不能改变,而后 16 位(SLA)是由用户自己定义
  • 一个 IPv4 地址只能用于一个 6to4 隧道的源地址,如果一个边界路由器连接了多个 6 to 4 网络并使用同样的 IPv4 地址做为隧道的源地址,则使用 6 to 4 地址中的 SLA ID 来区分,但他们共用一个隧道
  • 通过 6 to 4 中继路由器方式,可以实现普通 IPv6 网络与 6 to 4 网络通过 IPv4 网络互通
  • 通过 6 to 4 隧道转发的 IPv6 报文的目的地址不是 6 to 4 地址,但转发的下一跳是 6 to 4 地址,该下一跳为路由器
  • 隧道的 IPv4 目的地址依然从下一跳的 6 to 4 地址中获得

    ① 工作原理

    image.png

  • 如果 6 to 4 网络-2 中的主机要与 IPv6 网络互通,在其边界路由器上配置路由指向的下一跳为 6 to 4 中继路由器的 6 to 4 地址,中继路由器的 6 to 4 地址是与中继路由器的 6 to 4 隧道的源地址相匹配的

    1. 6 to 4 网络-2 中去往普通 IPv6 网络的报文都会按照路由表指示的下一跳发送到 6 to 4 中继路由器
    2. 6 to 4 中继路由器再将此报文转发到纯 IPv6 网络中去
    3. 当报文返回时,6 to 4 中继路由器根据返回报文的目的地址(为 6 to 4地址)进行 IPv4 报文头封装,数据才能顺利到达 6 to 4 网络

      5)ISATAP 自动隧道

      使用专用Link-Local地址前缀:”FE80::5EFE

  • 如果 IPv4 地址是全局唯一的,则 u 位为 1,否则 u 位为 0

  • g 位是 IEEE 群体/个体标志

image.png

  • ISATAP 隧道同样使用了内嵌 IPv4 地址的特殊 IPv6 地址形式,于 6 to 4 不同的是:
    • 6 to 4 是使用 IPv4 地址做为网络前缀,而 SATAP 用 IPv4 地址做为接口标识
  • 由于 ISATAP 是通过接口标识来表现的,所以,ISATAP 地址有全局单播地址、链路本地地址、ULA 地址、组播地址等形式
    • ISATAP 地址的前 64 位是通过向 ISATAP 路由器发送请求来得到的,它可以进行地址自动配置
    • 在 ISATAP 隧道的两端设备之间可以运行 ND 协议
    • ISATAP 隧道将 IPv 4网络看作一个非广播的点到多点的链路(NBMA)

      ① 工作原理

      image.png
  1. 首先配置 ISATAP 隧道接口,这时会根据 IPv4 地址生成 ISATAP 类型的接口 ID
  2. 根据接口 ID 生成一个 ISATAP 链路本地 IPv6 地址,生成链路本地地址以后,主机就有了在本地链路上进行 IPv6 通信的能力
  3. 进行自动配置,主机获得 IPv6 全球单播地址、ULA 地址等
  4. 当主机与其它 IPv6 主机进行通讯时,从隧道接口转发,将从报文的下一跳 IPv6 地址中取出 IPv4 地址作为 IPv4 封装的目的地址。如果目的主机在本站点内,则下一跳就是目的主机本身,如果目的主机不在本站点内,则下一跳为 ISATAP 路由器的地址

    4. IPv4 Over IPv6 隧道


image.png

  • 过渡后期使用
  • 通过隧道技术,使 IPv4 报文在 IPv6 网络中传输

    5. NAT64


NAT64.pdf