写点什么

IPv6 中的隧道技术

  • 2022 年 8 月 19 日
    北京
  • 本文字数:2157 字

    阅读完需:约 7 分钟

IPv6中的隧道技术

隧道模式直接利用现有 IPv4 网络实现与 IPv6 网络的通信。

1、6PE

在核心网络是 IPv4 网络的情况下,如果要构建一个 IPv6 网络,可以通过在支持 IPv6 协议的边界路由器之间建立 IPv6 隧道,由这些隧道充当支持 IPv6 协议的点到点的连接。在这些边界路由器之间交换的 IPv6 分组可以封装在 IPv4 分组中,透明地在骨干网上传输。但这种方案在网络伸缩性方面不是太理想。为解决这个问题,可采用 MPLS 技术。在启动 MPLS 的 IPv4 骨干网上传输 IPv6 数据包。这个解决方案称为 IPv6 提供商边界路由器(6PE),它提供了一种可伸缩的 IPv6 早期部署的解决方方法。它有以下一些特点。


IPv6 协议仅在特定 PE 路由器上实施。PE 路由器使用多协议 BGP(MP-BGP)会话在骨干网上交换 IPv6 路由信息。MPLS 标签被 PE 路由器赋给 IPv6 路由,并直接在 PE 路由器之间交换,类似于 VPN 路由。另外,使用两层 MPLS 标签在 MPLS 骨干网上传输 IPv6 数据包。标签栈中的第一个标签是出口 PE 路由器的指定 LDP 标签。标签栈中的第二个标签是指定 PE IPv6 标签。

ISP 可以利用现有的 IPv4 骨干网为其用户的 IPv6 网络提供接入能力。主要思想是:用户的 IPv6 路由信息转换为带有标签的 IPv6 路由信息,并且通过 IBGP 会话扩散到 ISP 的 IPv4 骨干网中。在转发 IPv6 报文时,当流量进入骨干网的隧道时,首先会被打上标签。当 ISP 想利用自己原有的 IPv4/MPLS 网络具备 IPv6 流量交换能力时,仅升级 PE 路由器就可以实现。对运营商而言,使用 6PE 特性作为 IPv6 过渡技术是一个高效的解决方案,实施风险比较低。

2、6VPE

6VPE 的技术原理来源于 IPv4 中的 BGP+MPLS+VNP,虽然叫作“IPv6VPN Provider Edge”,但并不是专门用来为 IPv6 用户提供 VPN 服务的一种技术。在 6VPE 技术中,用户网络(CE)采用的地址族既可以是 IPv4 也可以是 IPv6,骨干网同样既可以是 IPv4 网络也可以是 IPv6 网络,因此,可以说 6VPE 是对 IPv4BGP+MPLS+VPN 的一种扩展。


6VPE 的路由分发过程与 6PE 类似,也分为 6 个步骤:

  1. 由 IPv4/IPv6 IGP(如 OSPF/OSPFv3、ISIS/ISISv6 等)建立路由器之间的路由关系,将 6VPE 路由器的回环地址通知全网 IP 及其他 6VPE 路由器。

  2. 通过 IPv4/IPv6 的标签分发协议(如 LDP、RSVP-TE 等)建立 6VPE 路由器之间的 LSP,即建立 6VPE 路由器之间的 MPLS 隧道。

  3. 6VPE 路由器与 IPv4/IPv6 网络的 CE 路由器之间交换路由信息(通过 IPv4/IPv6 路由协议或配置静态路由)。

  4. 6VPE 路由器之间通过 MP-BGP 的扩展属性为各个 VPN 中的地址前缀发布路由可达性信息,并分配标签。如果 6VPE 路由器连接的用户网络使用 IPv4 协议,则路由可达性信息使用 VPN-IPv4 地址族;如果 6VPE 路由器连接的用户网络使用 IPv6 协议,则路由可达性信息使用新定义的 VNP-IPv6 地址族。

  5. 6VPE 路由器根据从 CE 及远端 6VPE 路由器发来的 IPv6 地址前缀可达性信息形成与不同 VPN 相关的 IPv4/IPv6 VRF。

  6. 6VPE 路由器将 IPv4/IPv6 路由可达信息通过 IPv4/IPv6 路由协议分发给 IPv4/IPv6 CE 节点。


综上所述,6VPE 定义了新的 VPN-IPv6 地址族,可以说 6VPE 的路由、标签信息的发布以及数据的转发过程与 IPv4 MPLS VPN 基本相同,这样也实现了从 IPv4 VPN 到 IPv6 VPN 的平滑过渡——只需要 PE 路由器支持 VPN-IPv6 地址族,并在建立 BGP 连接时使用上面所述的 AFI/SAFI 编码值进行 BGP 协商。

3、6over4

6over4 的主要目的是让没有通过物理链路直接连接到 IPv6 路由器的 IPv6 主机能拥有 IPv6 主机的所有功能。它需要 IPv4 网络具有组播功能,以模拟虚拟的本地链路。如需要到其他链路的 IPv6 路由,则至少需要一个连接到相同 IPv4 网络的 IPv6 路由器具有 6over4 功能。


6over4 可以实现在同一个 IPv4 网络内的所有主机能通过 ND 协议自动发现,同时,还可以通过路由协议自动学习到其他链路的路由信息。


6over4 技术定义了将 IPv6 组播地址映射成 IPv4 组播地址的方法。这样,ND 协议、路由协议便可以通过 6over4 隧道穿越 IPv4 网络进行传输,实现 IPv6 路由协议、邻居发现、自动配置等功能。


6over4 是一种自动建立隧道的机制,在 IPv4 的多播域上承载 IPv6 的链路本地地址。与 6to4 不同的是,6over4 利用 IPv4 的多播机制来实现虚拟链路,这种机制要求节点必须支持组播,并且要求节点内采用这种机制的主机和路由器都支持 6over4。将 IPv6 的链路本地地址映射到 IPv4 的多播域,并且支持邻居发现,相当于 IPv4 的多播机制模拟 IPv6 的邻居发现功能。一旦发现 IPv6 的邻居,IPv6 的主机就自动建立隧道通过 IPv4 网络。一台 6over4 的路由器在站点内广播它的 IPv6 网络前缀,这种机制不需要 IPv4 兼容的地址或手工配置的隧道,适用于一个站点的内部。当采用 6over4 的站点通过一台支持 6over4 的路由器与外界相连时,站点内的主机可以和外部 IPv6 站点进行通信。


具体的操作中需要注意如下两个问题。

  • MTU:在 IPv4 域内的 IPv6 数据报的缺省 MTU 大小是 1480B。因为 IPv4 的最小报头是 20B,加上 1480B 正好是 1500B,达到网络层数据报的最大值。当然,也可以通过路由通知消息来改变 MTU 的大小,或者进行手动配置,以更适合当前节点和链路的情况。有时,IPv6 数据报的 MTU 对于一些中间的 IPv4 网络来说可能太大,这种情况下需要对 IPv4 数据报进行分片。由于中间节点的情况较难控制,因此在封装 IPv6 数据报的 IPv4 报文中不能设置为不分片。

  • 数据报封装格式:6over4 隧道的封装和一般隧道的数据报的封装一样,也是把 IPv6 数据报作为 IPv4 报文的载荷进行封装的,并加上 IPv4 的 20B 的最小报头,或者带有可选项的 IPv4 报头。


6over4 隧道适用于 IPv4 网络中的 IPv6 孤立主机之间的通信,由于缺少支持 IPv4 多播功能的网络,6over4 很少使用。

发布于: 2022 年 08 月 19 日阅读数: 56
用户头像

InfoQ签约作者 2018.11.30 加入

热爱生活,收藏美好,专注技术,持续成长

评论

发布
暂无评论
IPv6中的隧道技术_ipv6_穿过生命散发芬芳_InfoQ写作社区