分享好友 站长动态首页 网站导航

IPv4到IPv6的过渡机制简介(上)

网友发布 2022-10-20 14:22 · 头闻号站长动态

注:本文为译文,部分语法可能不是很到位,还请大家指出,本文的目的在于学术交流,共同进步。

为了确保IPv4到IPv6的顺利过渡,IPv6主机和路由器需要实现IPv4兼容机制,本文分析了IPv6/IPv4路由协议在IPv4兼容机制上的不同转换机制。这些机制包括提供两个版本的internet协议的完全实现,以及在IPv4路由基础设施上建立IPv6数据包的通道。这些设计允许IPv6节点与IPv4保持完全兼容,这将大大简化IPv6在internet中的部署,并促进整个internet最终向IPv6过渡。

1.引言

IPv6转换的成功关键是与包括大量IPv4主机和路由器的现行基础设施的兼容性。在部署IPv6时,保持与IPv4的兼容性将简化将internet转换为IPv6的任务。为了与IPv4主机和路由器兼容,本文定义了IPv6主机和路由器可以实现的一组机制。

本文设计的机制适用于“需要与IPv4主机互操作并利用IPv4路由基础设施”的IPv6主机和路由器。我们预计,在未来很长一段时间内,甚至可能无限期地,Internet中的大多数节点都需要这种兼容性。

但是,在某些不需要与IPv4互操作的环境中,可以使用IPv6,其中的IPv6节点不需要使用甚至实现这些机制。

上文中指定的机制包括:

双IP层:提供完整的支持主机和路由器中的Internet协议。

IPv4上IPv6的配置隧道:通过将IPv6数据包封装在IPv4报头中以在IPv4路由基础设施上承载它们而形成的单向点对点隧道。

IPv4上IPv6的自动隧道:一种使用IPv4兼容地址在IPv4网络上自动构建传递IPv6数据包的隧道的机制。IPv4兼容的IPv6地址是采用嵌入式IPv4地址的IPv6地址格式。

这里定义的机制旨在成为过渡工具箱的一部分,该工具箱包括不断产生的用来简化转换的技术。这些工具可以根据需要使用。具体实现和部署环境决定了哪些技术适合它们的特定需求。本文考虑了转换机制的核心集,但这些机制并不是唯一可用的工具。其他过渡和兼容机制预计将将在未来开发,并编写新的文档来详细说明。

2.现有的转换机制2.1定义

本文主要考虑IPv4向IPv6过渡的路由问题。这里概述的方法被设计为与现有的IPv6过渡机制兼容。

在一个很长的从IPv4到IPv6的过渡期间,基于IPv6的系统必须与IPv4系统的现行基础共存。在这样一个双重互联协议环境中,IPv4和IPv6路由基础设施都将存在。最初,部署的支持IPv6的域可能无法通过支持IPv6的Internet基础设施进行全局互连,因此可能需要跨仅支持IPv4的路由区域进行通信。为了在这种混合环境中实现动态路由,需要有在分布的IPv6路由区域之间全局地分发IPv6网络层可达性信息的机制。在IPv4到IPv6转换的后期阶段,可以使用相同的技术在IPv6基础设施上,为独立的仅支持IPv4路由区域之间传递IPv4数据包。

IPng转换提供了一个可在必要和适当的地方使用封装来增强的双IP层转换。与此转换相关的路由问题包括:

1)IPv4数据包的路由

2)IPv6数据包的路由

1 具有IPv6被本地地址的IPv6数据包

2 具有IPv4兼容地址的IPv6数据包

3)手动配置静态隧道的操作

4)自动封装操作

1 定位封装器 2 确保路由与封装一致

实现这些目标所需的基本机制包括:

1)双IP层路由计算;2)点对点隧道的手动配置;3)路由泄漏以支持自动封装

2.2转换机制中的地址问题

转换使用两种特殊的IPv6地址格式,这两种格式都包含嵌入的IPv4地址:与IPv4兼容的IPv6地址格式和IPv4映射的IPv6地址格式。

IPv4兼容地址分配给支持自动隧道的IPv6/IPv4节点,并具有以下结构:

仅IPv4节点的地址表示为IPv4映射的IPv6地址。这些地址具有以下结构:

除上述地址,IPv6地址空间的其余部分称为“仅IPv6地址空间”,因为它只能由IPv6节点使用。

与IPv4兼容的IPv6地址指希望与IPv4节点互操作的IPv6节点。这些地址在IPv6“AAAA”记录和IPv4“A”记录中的DNS中列出。AAAA记录保存整个128位地址,而“A”记录保存IPv4地址部分。

这两种类型的地址记录都被列出,以便对来自IPv4和IPv6主机的查询做出正确的响应。

IPv4映射的IPv6地址仅用于表示IPv4节点的地址。它们从未分配给IPv6节点。因此,它们只在DNS中的“A”记录中列出。尽管所有IPv4节点的地址都可以表示为IPv4映射的IPv6地址,但它们不在“AAAA”记录中列出。这种做法简化了DNS管理。

仅IPv6地址仅分配给IPv6节点,不能用于与IPv4节点的互操作。因此,这些地址仅在“AAAA”记录中列出在DNS中。它们不能在“A”记录中列出,因为它们不包含嵌入的IPv4地址。

当管理员向IPv6节点分配与IPv4兼容的IPv6地址时,他们必须根据该节点所连接的子网上使用的IPv4编号计划,来分配低阶32位。IPv4地址部分必须是有效的全局唯一的IPv4地址。

只有仅IPv6地址的整个空间可用于全局IPv6,解决没有过渡要求的计划。例如,这允许独立于转换机制,来开发自动配置地址的寻址计划。

下面的图3总结了三种类型的IPv6地址,包括可以将哪种类型的节点分配给哪种类型的地址,以及该地址是否包含嵌入的IPv4地址:

图4描述了配置有各种类型地址的,仅IPv4、IPv6/IPv4和仅IPv6节点的互操作能力。

2.3转换机制的类型

本节介绍IPv6/IPv4转换机制的类型。

2.3.1双IP层

IPv6节点保持与仅IPv4节点兼容的最直接方法是提供完全的IPv4实现。这种节点称为IPv6/IPv4节点。IPv6/IPv4节点能够发送和接收IPv4和IPv6数据包。它们可以使用IPv6数据包直接与IPv6节点进行互操作。概念上,IPv6/IPv4双节点中的协议分层如图5所示。

双IP层技术可以也可以不与第3.3节中描述的IPv6-over-IPv4隧道技术一起使用。支持隧道的IPv6/IPv4节点可以同时支持手动配置和自动隧道,也可以仅支持手动配置的隧道。因此,可以有三种配置:

-不执行隧道的IPv6/IPv4节点;

-执行手动配置隧道和自动隧道的IPv6/IPv4节点;

-仅执行手动配置的隧道的IPv6/IPv4节点。

“自动隧道”用于将IPv6数据包一直传送到其末端目的地。“手动配置的隧道”用于将IPv6数据包传递到中间IPv6/IPv4路由器。

2.3.2手动配置隧道和自动隧道

通过使用IPv6-over-IPv4隧道技术,IPv6数据包可以跨IPv4完全拓扑的数据段进行传输。一个IPv6/IPv4节点可以通过将IPv6数据包封装在IPv4数据包中来向该节点发送IPv6数据包来实现对另一IPv6/IPv4节点的IPv4可访问性。为了使该技术能够工作,必须为两个节点分配与IPv4兼容的IPv6地址。这是必要的,因为这些地址的低阶32位用作封装IPv4数据包的源地址和目标地址。

两种类型的隧道被使用。“自动隧道”用于把IPv6数据包一直到传输它们的最终目的地。“配置的隧道”用于将IPv6数据包传递到中间IPv6/IPv4路由器。

这两种类型的隧道都利用了嵌入在与IPv4兼容的IPv6地址中的IPv4地址。在自动隧道中,隧道终点地址取自嵌入IPv6目标地址中的IPv4地址。不需要额外的配置信息,因为目标地址是在被隧道化的IPv6数据包中携带的。

在配置的隧道中,如果隧道终点地址是中间层的IPv6/IPv4路由器,则必须配置该地址。此配置信息可以从主机上的路由表条目或路由器上的邻居配置信息而得到。

自动隧道是这种转换的一个基本特征。当仍有大量的IPv4路由基础设施时,主机和路由器将广泛使用自动隧道。主机很少使用配置的隧道,而路由器通常使用配置的隧道。

在这两种类型的隧道中,隧道数据包的IPv4头的源地址是执行封装的节点的IPv4兼容IPv6地址的低阶32位。IPv4目标地址是隧道终点的IPv4兼容IPv6地址的低阶32位。

除了头转换路由器的情况外,封装节点和解封节点之间的路径上的中间路由器不看包的IPv6头。它们完全基于其IPv4报头来路由数据包。即使路径上的路由器是IPv6/IPv4路由器,情况也是如此。图7总结了两种类型的隧道。

2.3.3报头转换

报头转换是一种可选机制,当希望仅允许IPv6节点与仅IPv4节点互操作时使用。报头转换由报头转换路由器执行,该路由器将IPv4完全区域和IPv6完全区域互连。跨越这些地区边界的大部分流量必须转换。这种流量有多种形式:

i)终止IPv4流量—目标地址为IPv6完全区域内的节点的IPv4数据包;

ii)传输IPv4流量—必须通过IPv6完全区域来发往IPv6完全区域之外的节点的IPv4数据包;

iii)终止IPv6流量—目标地址为IPv4完全区域内的节点的IPv6数据包;

iv)传输IPv6流量—必须通过IPv4完全区域来发往IPv4完全区域之外的节点的IPv6数据包;

v)封装的IPv6流量—封装在IPv4数据包中的IPv6数据包

报头转换器是IPv6/IPv4路由器。它们通过将IPv4数据包的报头转换为IPv6,将IPv6数据包的报头转换为IPv4来操作。它们需要一些配置信息,以便知道哪些数据包应该被转换,哪些数据包应该被简单地未经修改地转发。

图8说明了使用报头转换在IPv4完全区域和IPv6完全区域之间进行通信的情况。如果IPv4数据包目标地址为IPv6完全区域内的节点,则报头转换器必须转换它们,因为它们必须要通过IPv6完全区域。

将IPv6数据包转换为IPv4时,转换路由器使用源和目标IPv6地址的低32位来生成IPv4数据包的地址。源和目标都必须是与IPv4兼容的IPv6地址,才能转换数据包。

将IPv4数据包转换为IPv6时,转换路由器将前缀0:0:0:0:0:0:0添加到IPv4源地址,以生成IPv6数据包的源地址;添加前缀0:0:0:0:0:FFFF或0:0:0:0:0:0:0以生成目标地址。确定要添加的前缀需要一些配置信息。如果目标位于附加的IPv6完全区域内,则转换器使用0:0:0:0:0:0前缀;如果目标位于外部,则转换器使用0:0:0:0:FFFF前缀。

鉴于篇幅,后续内容将在下一篇文章中列出。

免责声明:本平台仅供信息发布交流之途,请谨慎判断信息真伪。如遇虚假诈骗信息,请立即举报

举报
反对 0
打赏 0
更多相关文章

评论

0

收藏

点赞