CN113923188B - 用于IPv6/IPv4访问的无状态灵活映射算法 - Google Patents

用于IPv6/IPv4访问的无状态灵活映射算法 Download PDF

Info

Publication number
CN113923188B
CN113923188B CN202111487217.6A CN202111487217A CN113923188B CN 113923188 B CN113923188 B CN 113923188B CN 202111487217 A CN202111487217 A CN 202111487217A CN 113923188 B CN113923188 B CN 113923188B
Authority
CN
China
Prior art keywords
ipv6
ipv4
mapping
address
stateless
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111487217.6A
Other languages
English (en)
Other versions
CN113923188A (zh
Inventor
韩国梁
王桥倩
包丛笑
李星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Indirect Network Technology Co ltd
Original Assignee
Beijing Indirect Network Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Indirect Network Technology Co ltd filed Critical Beijing Indirect Network Technology Co ltd
Priority to CN202111487217.6A priority Critical patent/CN113923188B/zh
Publication of CN113923188A publication Critical patent/CN113923188A/zh
Application granted granted Critical
Publication of CN113923188B publication Critical patent/CN113923188B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/251Translation of Internet protocol [IP] addresses between different IP versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种用于IPv6/IPv4访问的无状态灵活映射算法,通过在翻译网关上构建IPv6/IPv4无状态灵活映射表,按需加入指定IPv6地址和指定IPv4地址之间的若干固定映射表项,并与RFC6052规定的IPv6/IPv4映射算法表项进行融合,实现统一的基于最长前缀匹配的IPv6/IPv4灵活映射表,可以适应各种不同的IPv6/IPv4访问的应用场景和用户需求。本发明支持对IPv6用户隐藏服务器的真实IPv4地址,支持IPv4服务器发布加密的IPv6地址,实现安全保护,无论内部服务器的IPv4地址如何变化,外部发布的IPv6地址总是保持不变,保持用户访问服务的稳定性。

Description

用于IPv6/IPv4访问的无状态灵活映射算法
技术领域
本公开涉及通信技术领域,尤其涉及一种用于IPv6/IPv4访问的无状态灵活映射算法、装置和控制***。
背景技术
IPv6是下一代互联网的核心网络协议。但是,IPv4和IPv6在地址和协议层面并不兼容,因此在IPv4网络和IPv6网络共存的今天,需要简单可行、可大规模扩展的IPv6/IPv4翻译技术,来帮助IPv6计算机与IPv4计算机相互通信。RFC6144定义了IPv6/IPv4翻译的场景和框架,RFC6052和RFC7915对IPv6/IPv4翻译的地址映射和协议映射分别进行了定义和规范。由此衍生出两类重要的翻译技术类别:有状态翻译技术(RFC6146)和无状态翻译技术(RFC6052/RFC7915/RFC6219)。其中,有状态翻译技术通过保存、跟踪、查找所有连接状态,实现IPv6地址和IPv4地址之间的动态映射;无状态翻译技术不保存任何连接状态,通过事先配置好的IPv6/IPv4地址映射规则来实现翻译,实现IPv6地址和IPv4地址之间的静态映射。但无论是有状态翻译技术还是无状态翻译技术,对于IPv4侧地址的翻译,即真实IPv4地址与虚拟IPv6地址之间的映射,均使用了RFC6052规定的“IPv4-Embedded IPv6地址格式”。
虽然上述IPv6地址格式与对应的IPv4地址紧耦合,可以满足大部分的应用场景,但在一些对发布IPv6格式有特殊需求的应用场景中,该算法无法很好的适应。例如某些服务器希望虚拟的IPv6地址中嵌入一些业务相关的信息比特,或者其IPv6地址的生成过程本地管理员无法管理和掌控,再或者有些运营商无法为翻译设备分配IPv6前缀,只能为翻译设备分配一个或多个IPv6地址,无法满足RFC6052的格式要求,等等。在这种情况下,就需要一个灵活的映射算法,可以对灵活生成的IPv6地址和原本的IPv4服务器地址进行静态无状态一对一映射,但目前的翻译技术无法满足上述需求。
发明内容
有鉴于此,本公开提出了一种用于IPv6/IPv4访问的无状态灵活映射算法、装置和控制***,通过按需加入指定IPv6地址和指定IPv4地址之间的若干固定映射表项,并与RFC6052规定的IPv6/IPv4映射算法表项进行融合,实现统一的基于最长前缀匹配的IPv6/IPv4灵活映射表,可以适应各种不同的IPv6/IPv4访问的应用场景和用户需求。在IPv6客户机访问IPv4服务器时,IPv4服务器可以对IPv6互联网发布用户自由定义的IPv6地址,并将该虚拟IPv6地址与服务器真实的IPv4地址实现静态映射,***到翻译网关的IPv6/IPv4无状态灵活映射表中。因此,可以在保持无状态翻译技术的高性能、安全性、溯源性等优势的基础上,实现目标地址的IPv6/IPv4灵活映射,满足用户对发布IPv6格式有特殊需求的应用场景。
根据本公开的一方面,提供了一种用于IPv6/IPv4访问的无状态灵活映射算法,包括如下步骤:
S100、在翻译网关上根据预设映射规则构建IPv6/IPv4无状态灵活映射表,其中,所述IPv6/IPv4无状态灵活映射表中的映射规则包含映射规则类型、IPv6前缀、IPv6前缀长度、IPv4前缀或IPv4前缀长度中的至少一个字段;
S200、遍历所述IPv6/IPv4无状态灵活映射表,并对其中的每个服务器端IPv4地址配置对应的DNS AAAA记录;
S300、IPv6客户机向DNS服务器请求获得所述DNS AAAA记录,将所述DNS AAAA记录中的IPv6地址作为目标地址,发送IPv6分组;
S400、通过所述翻译网关接收所述IPv6分组,根据IPv6目的地址和IPv4源地址在所述IPv6/IPv4无状态灵活映射表中分别进行二次映射,获得IPv6映射地址并发送。
在一种可能的实现方式中,可选地,在步骤S100中,所述在翻译网关上根据预设映射规则构建IPv6/IPv4无状态灵活映射表,包括:根据预设映射规则,构建至少一条IPv6地址对应IPv4地址的映射规则,其中,每条映射规则中包含如下字段:
1)映射规则类型:包括固定映射类型和/或地址嵌入映射类型,其中,固定映射类型是单个IPv6地址对应单个IPv4地址;地址嵌入映射类型是按照RFC6052规定的IPv4-Embedded IPv6地址格式;
2)IPv6前缀:本条映射规则对应的IPv6地址范围的公共前缀;
3)IPv6前缀长度:上述IPv6前缀的前缀长度;
4)IPv4前缀:本条映射规则对应的IPv4地址范围的公共前缀;
5)IPv4前缀长度:上述IPv4前缀的前缀长度。
在一种可能的实现方式中,可选地,在步骤S100中,所述在翻译网关上根据预设映射规则构建IPv6/IPv4无状态灵活映射表,还包括:
判断任意两条所述映射规则中包含的所述字段是否完全相同:
是则发出无法配置的警告信息;
否则判断所述IPv4源地址的IPv4前缀是否与所述映射规则相冲突:若所述IPv4源地址的IPv4前缀与所述映射规则相冲突,则在所述翻译网关上新建一个与步骤S100中预先构建的IPv6/IPv4无状态灵活映射表中的源IPv4地址范围相区分的新IPv6/IPv4无状态灵活映射表,并对IPv4服务器返回的报文,分别基于目标地址的路由为两个映射表引流。
在一种可能的实现方式中,可选地,在步骤S100中,所述在翻译网关上根据预设映射规则构建IPv6/IPv4无状态灵活映射表,还包括:
如果存在多个所述IPv4前缀对应相同所述IPv6前缀的映射规则,则将相同的映射规则进行聚合,获得一条聚合后的映射规则;
根据IPv6地址,从所述IPv6/IPv4无状态灵活映射表中匹配获取聚合映射规则;
根据获取得到的聚合映射规则中的IPv6前缀长度,去掉所述IPv6地址的IPv6前缀,并进行映射得到对应的IPv4地址;
根据所述IPv4地址,在已匹配获取的聚合映射规则中进行遍历匹配,得到最终的映射规则。
在一种可能的实现方式中,可选地,在步骤S200中,所述遍历所述IPv6/IPv4无状态灵活映射表,并对其中的每个服务器端IPv4地址配置对应的DNS AAAA记录,包括:S210、遍历所述IPv6/IPv4无状态灵活映射表并获取匹配所述IPv4地址的映射规则,如果所述映射规则类型是固定映射类型,则根据单个IPv6地址对应单个IPv4地址的映射规则,将映射规则中的IPv6地址作为DNS AAAA记录对应的IPv6地址,并在DNS服务器上配置AAAA记录将其公布;
S220、遍历所述IPv6/IPv4无状态灵活映射表并获取匹配所述IPv4地址的映射规则,如果所述映射规则类型是地址嵌入映射类型,则按照RFC6052规定的IPv4-EmbeddedIPv6地址格式,将IPv4地址嵌入到该映射规则的IPv6前缀后、将其作为DNS AAAA记录对应的IPv6地址,并在DNS服务器上配置AAAA记录将其公布。
在一种可能的实现方式中,可选地,在步骤S400中,所述通过所述翻译网关接收所述IPv6分组,根据IPv6目的地址和IPv4源地址在所述IPv6/IPv4无状态灵活映射表中分别进行二次映射,获得IPv6映射地址并发送,包括:
S410、通过所述翻译网关接收第一类IPv6分组,并根据IPv6源地址映射得到IPv4源地址;
S420、根据IPv6目的地址和预设第一最长前缀匹配原则,判断在所述IPv6/IPv4无状态灵活映射表中是否能够查找到对应匹配所述IPv6目的地址的第一映射规则,如果查到对应的第一映射规则,则按照所述第一映射规则计算得到对应第一类IPv6分组的第一类IPv4分组的目的地址,并发送第一类IPv4分组;
S430、通过所述IPv4服务器收到第一类IPv4分组进行处理,产生并发送第二类IPv4分组到所述翻译网关;
S440、通过所述翻译网关接收所述第二类IPv4分组,并根据IPv4目的地址映射得到IPv6目的地址;
S450、根据IPv4源地址和预设第二最长前缀匹配原则,判断在所述IPv6/IPv4无状态灵活映射表中是否能够查找到对应匹配所述IPv4源地址的第二映射规则,如果查到对应的第二映射规则,则按照所述第二映射规则计算得到对应所述IPv6目的地址的第二类IPv6分组的源IPv6地址,并发送所述第二类IPv6分组。
在一种可能的实现方式中,可选地,在步骤S420中,所述根据IPv6目的地址和预设第一最长前缀匹配原则,判断在所述IPv6/IPv4无状态灵活映射表中是否能够查找到对应匹配所述IPv6目的地址的第一映射规则,包括如下步骤:
S4200、根据所述IPv6/IPv4无状态灵活映射表,对第一类IPv6分组的IPv6目的地址进行搜索匹配,找出所有匹配的映射规则,包括:
如果IPv6目的地址与当前映射规则的IPv6前缀不匹配,则记为不匹配;如果IPv6目的地址与当前映射规则的IPv6前缀匹配,则判断该映射规则的类型:如果是固定映射类型,则直接判断为匹配;如果是地址嵌入映射类型,则从IPv6目的地址中取出IPv4地址,判断IPv4地址是否与当前映射规则的某个IPv4前缀匹配:如果可以匹配,则找出IPv4前缀长度最长的匹配项,判断为匹配;如果不能匹配,则判断为不匹配;
S4201、获取所有匹配的映射规则,并根据映射规则的字段,找出第一映射规则,包括:
如果未搜索找到匹配的映射规则,则丢弃所述第一类IPv6分组;如果搜索找到匹配的映射规则,则在其中找到IPv6前缀长度最长的映射规则,将其记为第二映射规则;如果搜索找到一个IPv6前缀长度最长的映射规则,将其记为第一映射规则;如果有多个IPv6前缀长度最长的映射规则,则比较其IPv4前缀长度,找到其中IPv4前缀长度最长的映射规则,将其记为第一映射规则。
在一种可能的实现方式中,可选地,在步骤S450中,所述根据IPv4源地址和预设第二最长前缀匹配原则,判断在所述IPv6/IPv4无状态灵活映射表中是否能够查找到对应匹配所述IPv4源地址的第二映射规则,包括如下步骤:
S4500、根据所述IPv6/IPv4无状态灵活映射表,对第二类IPv4分组的IPv4源地址进行搜索匹配,找出所有匹配的映射规则;其中,判断是否匹配的规则是:根据IPv4目的地址,路由找到对应的IPv6/IPv4无状态灵活映射表;根据IPv4源地址,判断所述IPv4源地址与当前映射规则的IPv4前缀是否匹配:如果IPv4源地址与当前映射规则的IPv4前缀不匹配,则记为不匹配;如果IPv4源地址匹配当前映射规则的IPv4前缀,则记为匹配;
S4501、获取所有匹配的映射规则,并根据映射规则的字段找出第二映射规则,包括:
如果未搜索到匹配的映射规则,则丢弃第二类IPv4分组;如果搜索找到匹配的映射规则,则在其中找到IPv4前缀长度最长的映射规则,将其记为第二映射规则;如果两条映射规则的IPv4前缀相同,则在所述IPv6/IPv4无状态灵活映射表或所述新IPv6/IPv4无状态灵活映射表中找到一条最优的映射规则,将其记为第二映射规则。
根据本公开的另一方面,提供了一种实现上述所述的一种用于IPv6/IPv4访问的无状态灵活映射算法的映射装置,包括无状态灵活映射表构建模块、DNS AAAA记录配置模块、请求模块和映射模块:
无状态灵活映射表构建模块:用于在翻译网关上根据预设映射规则构建IPv6/IPv4无状态灵活映射表,其中,所述IPv6/IPv4无状态灵活映射表中的映射规则包含映射规则类型、IPv6前缀、IPv6前缀长度、IPv4前缀或IPv4前缀长度中的至少一个字段;
DNS AAAA记录配置模块:用于遍历所述IPv6/IPv4无状态灵活映射表,并对其中的每个服务器端IPv4地址配置对应的DNS AAAA记录;
请求模块:用于IPv6客户机向DNS服务器请求获得所述DNS AAAA记录,将所述DNSAAAA记录中的IPv6地址作为目标地址,发送IPv6分组;
映射模块:用于通过所述翻译网关接收所述IPv6分组,根据IPv6目的地址和IPv4源地址在所述IPv6/IPv4无状态灵活映射表中分别进行二次映射,获得IPv6映射地址并发送。
根据本公开的另一方面,还提供了一种控制***,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现上述所述的一种用于IPv6/IPv4访问的无状态灵活映射算法。
本申请的技术效果:
本发明通过在翻译网关上根据预设映射规则构建IPv6/IPv4无状态灵活映射表,其中,所述IPv6/IPv4无状态灵活映射表中的映射规则包含映射规则类型、IPv6前缀、IPv6前缀长度、IPv4前缀或IPv4前缀长度中的至少一个字段;遍历所述IPv6/IPv4无状态灵活映射表,并对其中的每个服务器端IPv4地址配置对应的DNS AAAA记录;IPv6客户机向DNS服务器请求获得所述DNS AAAA记录,将所述DNS AAAA记录中的IPv6地址作为目标地址,发送IPv6分组;通过所述翻译网关接收所述IPv6分组,根据IPv6目的地址和IPv4源地址在所述IPv6/IPv4无状态灵活映射表中分别进行二次映射,获得IPv6映射地址并发送。能够通过按需加入指定IPv6地址和指定IPv4地址之间的若干固定映射表项,并与RFC6052规定的IPv6/IPv4映射算法表项进行融合,实现统一的基于最长前缀匹配的IPv6/IPv4灵活映射表,可以适应各种不同的IPv6/IPv4访问的应用场景和用户需求。
如果运营商只能为翻译设备分配有限选择的IPv6地址,无法满足RFC6052的需求,上述算法可以实现动态分配的IPv6地址与服务器IPv4地址之间的静态映射,满足任意部署场景。
本发明支持对IPv6用户隐藏服务器的真实IPv4地址,支持IPv4服务器发布加密的IPv6地址,实现一定程度的安全保护效果。以及,本发明支持固定的IPv6地址发布,无论内部服务器的IPv4地址如何变化,外部发布的IPv6地址总是保持不变,保持用户访问服务的稳定性。可应用于基于云服务的IPv4服务升级到IPv6服务。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出为本发明用于IPv6/IPv4访问的无状态灵活映射算法的实施流程示意图;
图2示出为本发明IPv6客户机、IPv4服务器和翻译网关之间的连接关系示意图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
实施例1
本申请通过按需加入指定IPv6地址和指定IPv4地址之间的若干固定映射表项,并与RFC6052规定的IPv6/IPv4映射算法表项进行融合,实现统一的基于最长前缀匹配的IPv6/IPv4灵活映射表,可以适应各种不同的IPv6/IPv4访问的应用场景和用户需求。
如图1所示,公开了根据本公开的一方面,提供了一种用于IPv6/IPv4访问的无状态灵活映射算法,包括如下步骤:
S100、在翻译网关上根据预设映射规则构建IPv6/IPv4无状态灵活映射表,其中,所述IPv6/IPv4无状态灵活映射表中的映射规则包含映射规则类型、IPv6前缀、IPv6前缀长度、IPv4前缀或IPv4前缀长度中的至少一个字段;
如图2所示,首先在翻译网关中配置构建好的IPv6/IPv4无状态灵活映射表,IPv6/IPv4无状态灵活映射表的构建规则按照预设映射规则来构建,预设映射规则由用户具体设计。上述翻译网关配置界面的实现方式、翻译网关设备部署位置等细节本发明不进行限定。
IPv6/IPv4无状态灵活映射表表示目标地址的IPv6/IPv4静态映射关系,即真实的IPv4服务器地址与虚拟的IPv6公布地址之间的静态映射关系。
作为一种优选的构建方式,可以包括如下构建方式:在IPv6/IPv4无状态灵活映射表中,每一行表示一条IPv6/IPv4映射规则,每条映射规则可以是一对一,即一个IPv6地址对应一个IPv4地址,也可以是聚合后的多对多,即一个IPv6前缀A中的多个IPv6地址与一个IPv4前缀B中的多个IPv4地址实现一一映射的关系。IPv6/IPv4无状态灵活映射表中,可以包含多条映射规则,不同映射规则之间可以有重叠的IPv6地址范围和/或重叠的IPv4地址范围,如果有重叠,按照最长前缀匹配规则,选取最优规则。
在IPv6/IPv4无状态灵活映射表中,每条映射规则包括5个字段:
1)映射规则类型:包括固定映射类型和/或地址嵌入映射类型。其中,固定映射类型是单个IPv6地址对应单个IPv4地址;地址嵌入映射类型是按照RFC6052规定的“IPv4-Embedded IPv6地址格式”。
2)IPv6前缀:本条映射规则对应的IPv6地址范围的公共前缀。
3)IPv6前缀长度:上述IPv6前缀的前缀长度。
4)IPv4前缀:本条映射规则对应的IPv6地址范围的公共前缀。
5)IPv4前缀长度:上述IPv4前缀的前缀长度。
其中,任意两条IPv6/IPv4无状态灵活映射规则,上述5个字段不能完全相同;如果发生该现象,***发出无法配置的警告。
如果配置一条映射规则时,IPv4前缀与已有的某条映射规则冲突,则在翻译网关上新建一个IPv6/IPv4无状态灵活映射表E1,并区分两个映射表的源IPv4地址范围,对于IPv4服务器返回的报文,基于目标地址的路由为两个映射表引流。
如果存在多个IPv4前缀对应相同的IPv6前缀,则映射规则可以进行聚合为一条映射规则,聚合之后,在IPv6到IPv4映射过程中,先根据IPv6地址查找到若干映射规则,根据查找到的规则中的IPv6前缀长度,去掉IPv6前缀,得到IPv4地址,再根据IPv4地址在已查找到的映射规则中进行遍历匹配,得到最终的映射规则。
在IPv6客户机访问IPv4服务器时,IPv4服务器可以对IPv6互联网发布用户自由定义的IPv6地址,并将该虚拟IPv6地址与服务器真实的IPv4地址实现静态映射,***到翻译网关的IPv6/IPv4无状态灵活映射表中。
上述IPv6/IPv4无状态灵活映射表仅对应服务器真实IPv4地址的IPv6/IPv4映射算法,另一个方向的IPv6/IPv4映射算法不做限定。以及添加IPv6/IPv4灵活映射表项的上层接口和操作方式不做限定。
S200、遍历所述IPv6/IPv4无状态灵活映射表,并对其中的每个服务器端IPv4地址配置对应的DNS AAAA记录;
本实施例,根据映射规则的字段的映射规则类型进行配置DNS AAAA记录以及发布,其中,如果映射规则类型是固定映射类型,则将映射规则中的IPv6地址作为DNS AAAA记录对应的IPv6地址,并在DNS服务器上配置AAAA记录将其公布;如果映射规则类型是地址嵌入映射类型,则根据RFC6052地址映射规则,将IPv4地址嵌入到该映射规则的IPv6前缀后,并将其作为DNS AAAA记录对应的IPv6地址,在DNS服务器上配置AAAA记录将其公布。
S300、IPv6客户机向DNS服务器请求获得所述DNS AAAA记录,将所述DNS AAAA记录中的IPv6地址作为目标地址,发送IPv6分组;
IPv6互联网中的IPv6客户机向DNS服务器请求IPv4服务器的AAAA记录,DNS服务器返回此IPv4服务器的AAAA记录给IPv6客户机,IPv6客户机发送IPv6分组。
S400、通过所述翻译网关接收所述IPv6分组,根据IPv6目的地址和IPv4源地址在所述IPv6/IPv4无状态灵活映射表中分别进行二次映射,获得IPv6映射地址并发送。
此处,IPv6分组首先经过第一类IPv6分组的映射处理,基于所述IPv6/IPv4无状态灵活映射表并根据IPv6目的地址映射得到第一类IPv4分组;其次,IPv4服务器收到第一类IPv4分组进行处理,产生并发送第二类IPv4分组到翻译网关进行二次映射,最终得到第二类IPv6分组的源IPv6地址。
本申请通过按需加入指定IPv6地址和指定IPv4地址之间的若干固定映射表项,并与RFC6052规定的IPv6/IPv4映射算法表项进行融合,实现统一的基于最长前缀匹配的IPv6/IPv4灵活映射表,可以适应各种不同的IPv6/IPv4访问的应用场景和用户需求。如果运营商只能为翻译设备分配有限选择的IPv6地址,无法满足RFC6052的需求,上述算法可以实现动态分配的IPv6地址与服务器IPv4地址之间的静态映射,满足任意部署场景。支持对IPv6用户隐藏服务器的真实IPv4地址,支持IPv4服务器发布加密的IPv6地址,实现一定程度的安全保护效果。支持固定的IPv6地址发布,无论内部服务器的IPv4地址如何变化,外部发布的IPv6地址总是保持不变,保持用户访问服务的稳定性。可应用于基于云服务的IPv4服务升级到IPv6服务。
在一种可能的实现方式中,可选地,在步骤S100中,所述在翻译网关上根据预设映射规则构建IPv6/IPv4无状态灵活映射表,包括:根据预设映射规则,构建至少一条IPv6地址对应IPv4地址的映射规则,其中,每条映射规则中包含如下字段:
1)映射规则类型:包括固定映射类型和/或地址嵌入映射类型,其中,固定映射类型是单个IPv6地址对应单个IPv4地址;地址嵌入映射类型是按照RFC6052规定的IPv4-Embedded IPv6地址格式;
2)IPv6前缀:本条映射规则对应的IPv6地址范围的公共前缀;
3)IPv6前缀长度:上述IPv6前缀的前缀长度;
4)IPv4前缀:本条映射规则对应的IPv4地址范围的公共前缀;
5)IPv4前缀长度:上述IPv4前缀的前缀长度。
结合映射规则中的字段,可以通过按需加入指定IPv6地址和指定IPv4地址之间的若干固定映射表项,并与RFC6052规定的IPv6/IPv4映射算法表项进行融合,实现统一的基于最长前缀匹配的IPv6/IPv4灵活映射表,可以适应各种不同的IPv6/IPv4访问的应用场景和用户需求。其中,地址嵌入映射不一定按照RFC6052中前缀长度的限制,不一定只能等于32/40/48/56/64/96,也可以是小于等于128位的任意长度。
在一种可能的实现方式中,可选地,在步骤S100中,所述在翻译网关上根据预设映射规则构建IPv6/IPv4无状态灵活映射表,还包括:判断任意两条所述映射规则中包含的所述字段是否完全相同:是则发出无法配置的警告信息;否则判断所述IPv4源地址的IPv4前缀是否与所述映射规则相冲突:若所述IPv4源地址的IPv4前缀与所述映射规则相冲突,则在所述翻译网关上新建一个与步骤S100中预先构建的IPv6/IPv4无状态灵活映射表中的源IPv4地址范围相区分的新IPv6/IPv4无状态灵活映射表,并对IPv4服务器返回的报文,分别基于目标地址的路由为两个映射表引流。
在一种可能的实现方式中,可选地,在步骤S100中,所述在翻译网关上根据预设映射规则构建IPv6/IPv4无状态灵活映射表,还包括:
如果存在多个所述IPv4前缀对应相同所述IPv6前缀的映射规则,则将相同的映射规则进行聚合,获得一条聚合后的映射规则;根据IPv6地址,从所述IPv6/IPv4无状态灵活映射表中匹配获取聚合映射规则;根据获取得到的聚合映射规则中的IPv6前缀长度,去掉所述IPv6地址的IPv6前缀,并进行映射得到对应的IPv4地址;根据所述IPv4地址,在已匹配获取的聚合映射规则中进行遍历匹配,得到最终的映射规则。
根据上述映射规则的创建方式,可以按照字段对多个规则进行分类建立,使得建立的规则不冲突、不重复以及可以多元化利用,节省资源。
在一种可能的实现方式中,可选地,在步骤S200中,所述遍历所述IPv6/IPv4无状态灵活映射表,并对其中的每个服务器端IPv4地址配置对应的DNS AAAA记录,包括:
S210、遍历所述IPv6/IPv4无状态灵活映射表并获取匹配所述IPv4地址的映射规则,如果所述映射规则类型是固定映射类型,则根据单个IPv6地址对应单个IPv4地址的映射规则,将映射规则中的IPv6地址作为DNS AAAA记录对应的IPv6地址,并在DNS服务器上配置AAAA记录将其公布;
S220、遍历所述IPv6/IPv4无状态灵活映射表并获取匹配所述IPv4地址的映射规则,如果所述映射规则类型是地址嵌入映射类型,则按照RFC6052规定的IPv4-EmbeddedIPv6地址格式,将IPv4地址嵌入到该映射规则的IPv6前缀后、将其作为DNS AAAA记录对应的IPv6地址,并在DNS服务器上配置AAAA记录将其公布。
根据映射规则类型的字段信息匹配映射规则,进而实现与RFC6052规定的IPv6/IPv4映射算法表项进行融合,实现统一的基于最长前缀匹配的IPv6/IPv4灵活映射表,可以适应各种不同的IPv6/IPv4访问的应用场景和用户需求。
在一种可能的实现方式中,可选地,在步骤S400中,所述通过所述翻译网关接收所述IPv6分组,根据IPv6目的地址和IPv4源地址在所述IPv6/IPv4无状态灵活映射表中分别进行二次映射,获得IPv6映射地址并发送,包括:
S410、通过所述翻译网关接收第一类IPv6分组,并根据IPv6源地址映射得到IPv4源地址;
S420、根据IPv6目的地址和预设第一最长前缀匹配原则,判断在所述IPv6/IPv4无状态灵活映射表中是否能够查找到对应匹配所述IPv6目的地址的第一映射规则,如果查到对应的第一映射规则,则按照所述第一映射规则计算得到对应第一类IPv6分组的第一类IPv4分组的目的地址,并发送第一类IPv4分组;
S430、通过所述IPv4服务器收到第一类IPv4分组进行处理,产生并发送第二类IPv4分组到所述翻译网关;
S440、通过所述翻译网关接收所述第二类IPv4分组,并根据IPv4目的地址映射得到IPv6目的地址;
S450、根据IPv4源地址和预设第二最长前缀匹配原则,判断在所述IPv6/IPv4无状态灵活映射表中是否能够查找到对应匹配所述IPv4源地址的第二映射规则,如果查到对应的第二映射规则,则按照所述第二映射规则计算得到对应所述IPv6目的地址的第二类IPv6分组的源IPv6地址,并发送所述第二类IPv6分组。
通过二次映射,上述算法可以实现动态分配的IPv6地址与服务器IPv4地址之间的静态映射,满足任意部署场景。
支持对IPv6用户隐藏服务器的真实IPv4地址,支持IPv4服务器发布加密的IPv6地址,实现一定程度的安全保护效果。
支持固定的IPv6地址发布,无论内部服务器的IPv4地址如何变化,外部发布的IPv6地址总是保持不变,保持用户访问服务的稳定性。可应用于基于云服务的IPv4服务升级到IPv6服务。
在一种可能的实现方式中,可选地,在步骤S420中,所述根据IPv6目的地址和预设第一最长前缀匹配原则,判断在所述IPv6/IPv4无状态灵活映射表中是否能够查找到对应匹配所述IPv6目的地址的第一映射规则,包括如下步骤:
S4200、根据所述IPv6/IPv4无状态灵活映射表,对第一类IPv6分组的IPv6目的地址进行搜索匹配,找出所有匹配的映射规则,包括:
如果IPv6目的地址与当前映射规则的IPv6前缀不匹配,则记为不匹配;如果IPv6目的地址与当前映射规则的IPv6前缀匹配,则判断该映射规则的类型:如果是固定映射类型,则直接判断为匹配;如果是地址嵌入映射类型,则从IPv6目的地址中取出IPv4地址,判断IPv4地址是否与当前映射规则的某个IPv4前缀匹配:如果可以匹配,则找出IPv4前缀长度最长的匹配项,判断为匹配;如果不能匹配,则判断为不匹配。
上述搜索的算法,无论是线性或非线性,无论时间复杂度或空间复杂度,本专利不进行限定。
S4201、获取所有匹配的映射规则,并根据映射规则的字段,找出第一映射规则,包括:
如果未搜索找到匹配的映射规则,则丢弃所述第一类IPv6分组;如果搜索找到匹配的映射规则,则在其中找到IPv6前缀长度最长的映射规则,将其记为第二映射规则;如果搜索找到一个IPv6前缀长度最长的映射规则,将其记为第一映射规则;如果有多个IPv6前缀长度最长的映射规则,则比较其IPv4前缀长度,找到其中IPv4前缀长度最长的映射规则,将其记为第一映射规则。
最长前缀匹配的搜索算法可以使用任何算法,不做限定。
在一种可能的实现方式中,可选地,在步骤S450中,所述根据IPv4源地址和预设第二最长前缀匹配原则,判断在所述IPv6/IPv4无状态灵活映射表中是否能够查找到对应匹配所述IPv4源地址的第二映射规则,包括如下步骤:
S4500、根据所述IPv6/IPv4无状态灵活映射表,对第二类IPv4分组的IPv4源地址进行搜索匹配,找出所有匹配的映射规则;其中,判断是否匹配的规则是:根据IPv4目的地址,路由找到对应的IPv6/IPv4无状态灵活映射表;根据IPv4源地址,判断所述IPv4源地址与当前映射规则的IPv4前缀是否匹配:如果IPv4源地址与当前映射规则的IPv4前缀不匹配,则记为不匹配;如果IPv4源地址匹配当前映射规则的IPv4前缀,则记为匹配。
上述搜索的算法,无论是线性或非线性,无论时间复杂度或空间复杂度,本专利不进行限定。
S4501、获取所有匹配的映射规则,并根据映射规则的字段找出第二映射规则,包括:
如果未搜索到匹配的映射规则,则丢弃第二类IPv4分组;如果搜索找到匹配的映射规则,则在其中找到IPv4前缀长度最长的映射规则,将其记为第二映射规则;如果两条映射规则的IPv4前缀相同,则在所述IPv6/IPv4无状态灵活映射表或所述新IPv6/IPv4无状态灵活映射表中找到一条最优的映射规则,将其记为第二映射规则。
上述步骤最长前缀匹配的搜索算法可以使用任何算法,不做限定。
需要说明的是,尽管根据IPv6/IPv4无状态灵活映射表作了上述根据IPv6分组地址映射得到IPv4目的地址的如上示例介绍,但本领域技术人员能够理解,本公开应不限于此。事实上,用户完全可根据个人喜好和/或实际应用场景灵活设定映射表的构架条件。
这样,通过在翻译网关上根据预设映射规则构建IPv6/IPv4无状态灵活映射表,其中,所述IPv6/IPv4无状态灵活映射表中的映射规则包含映射规则类型、IPv6前缀、IPv6前缀长度、IPv4前缀或IPv4前缀长度中的至少一个字段;遍历所述IPv6/IPv4无状态灵活映射表,并对其中的每个服务器端IPv4地址配置对应的DNS AAAA记录;IPv6客户机向DNS服务器请求获得所述DNS AAAA记录,将所述DNS AAAA记录中的IPv6地址作为目标地址,发送IPv6分组;通过所述翻译网关接收所述IPv6分组,根据IPv6目的地址和IPv4源地址在所述IPv6/IPv4无状态灵活映射表中分别进行二次映射,获得IPv6映射地址并发送。能够通过按需加入指定IPv6地址和指定IPv4地址之间的若干固定映射表项,并与RFC6052规定的IPv6/IPv4映射算法表项进行融合,实现统一的基于最长前缀匹配的IPv6/IPv4灵活映射表,可以适应各种不同的IPv6/IPv4访问的应用场景和用户需求。
如果运营商只能为翻译设备分配有限选择的IPv6地址,无法满足RFC6052的需求,上述算法可以实现动态分配的IPv6地址与服务器IPv4地址之间的静态映射,满足任意部署场景。
本发明支持对IPv6用户隐藏服务器的真实IPv4地址,支持IPv4服务器发布加密的IPv6地址,实现一定程度的安全保护效果。以及,本发明支持固定的IPv6地址发布,无论内部服务器的IPv4地址如何变化,外部发布的IPv6地址总是保持不变,保持用户访问服务的稳定性。可应用于基于云服务的IPv4服务升级到IPv6服务。
在本申请的另一个实施例中,基于上述技术的实施原理,还可以增设如下步骤和功能:
IPv4地址自动检测:管理员可以配置IPv4地址自动检测功能,对每条映射规则关联一个服务器域名,并开启自动持续监测。如果自动监测算法发现,IPv6/IPv4灵活映射表中某个、某些或全部映射规则对应的IPv4服务器地址发生变化时,即时更新IPv6/IPv4灵活映射表中的相应表项。以及,
IPv6地址自动检测:管理员可以配置IPv6地址自动检测功能,对每条映射规则关联在动态IPv6接入环境下,如果翻译网关被分配到的IPv6地址发生变化,则通知对应的映射规则及时更新,并通知管理员修改对应的AAAA记录。
实施例2
基于实施例1的技术实施原理,本实施例对应提供一种映射装置,通过无状态灵活映射表构建模块、DNS AAAA记录配置模块、请求模块和映射模块,来实现实施例1所提供的算法,模块的具体功能和实施原理,可以参见实施例1的记载,本处不再描述。其中,模块之间的连接方式,可以是有线或者无线,不做限制。
根据本公开的另一方面,提供了一种实现上述所述的一种用于IPv6/IPv4访问的无状态灵活映射算法的映射装置,包括无状态灵活映射表构建模块、DNS AAAA记录配置模块、请求模块和映射模块:
无状态灵活映射表构建模块:用于在翻译网关上根据预设映射规则构建IPv6/IPv4无状态灵活映射表,其中,所述IPv6/IPv4无状态灵活映射表中的映射规则包含映射规则类型、IPv6前缀、IPv6前缀长度、IPv4前缀或IPv4前缀长度中的至少一个字段;
DNS AAAA记录配置模块:用于遍历所述IPv6/IPv4无状态灵活映射表,并对其中的每个服务器端IPv4地址配置对应的DNS AAAA记录;
请求模块:用于IPv6客户机向DNS服务器请求获得所述DNS AAAA记录,将所述DNSAAAA记录中的IPv6地址作为目标地址,发送IPv6分组;
映射模块:用于通过所述翻译网关接收所述IPv6分组,根据IPv6目的地址和IPv4源地址在所述IPv6/IPv4无状态灵活映射表中分别进行二次映射,获得IPv6映射地址并发送。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
实施例3
更进一步地,根据本公开的另一方面,还提供了一种控制***,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现上述所述的一种用于IPv6/IPv4访问的无状态灵活映射算法。
本公开实施例控制***包括处理器以及用于存储处理器可执行指令的存储器。其中,处理器被配置为执行可执行指令时实现前面任一所述的一种用于IPv6/IPv4访问的无状态灵活映射算法。
此处,应当指出的是,处理器的个数可以为一个或多个。同时,在本公开实施例的控制***中,还可以包括输入装置和输出装置。其中,处理器、存储器、输入装置和输出装置之间可以通过总线连接,也可以通过其他方式连接,此处不进行具体限定。
存储器作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序和各种模块,如:本公开实施例的一种用于IPv6/IPv4访问的无状态灵活映射算法所对应的程序或模块。处理器通过运行存储在存储器中的软件程序或模块,从而执行控制***的各种功能应用及数据处理。
输入装置可用于接收输入的数字或信号。其中,信号可以为产生与设备/终端/服务器的用户设置以及功能控制有关的键信号。输出装置可以包括显示屏等显示设备。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (10)

1.一种用于IPv6/IPv4访问的无状态灵活映射方法,其特征在于,包括如下步骤:
S100、在翻译网关上根据预设映射规则构建IPv6/IPv4无状态灵活映射表,其中,所述IPv6/IPv4无状态灵活映射表中的映射规则包含映射规则类型、IPv6前缀、IPv6前缀长度、IPv4前缀和IPv4前缀长度中的至少一个五个字段;映射规则类型:包括固定映射类型和/或地址嵌入映射类型,其中,固定映射类型是单个IPv6地址对应单个IPv4地址;地址嵌入映射类型是按照RFC6052规定的IPv4-Embedded IPv6地址格式;
其中,任意两条IPv6/IPv4无状态灵活映射规则,上述五个字段不能完全相同;如果发生该现象,***发出无法配置的警告;
如果配置一条映射规则时,IPv4前缀与已有的某条映射规则冲突,则在翻译网关上新建一个IPv6/IPv4无状态灵活映射表E1,并区分两个映射表的源IPv4地址范围,对于IPv4服务器返回的报文,基于目标地址的路由为两个映射表引流;
如果存在多个IPv4前缀对应相同的IPv6前缀,则映射规则进行聚合为一条映射规则,聚合之后,在IPv6到IPv4映射过程中,先根据IPv6地址查找到若干映射规则,根据查找到的规则中的IPv6前缀长度,去掉IPv6前缀,得到IPv4地址,再根据IPv4地址在已查找到的映射规则中进行遍历匹配,得到最终的映射规则;
在IPv6客户机访问IPv4服务器时,IPv4服务器对IPv6互联网发布用户自由定义的IPv6地址,并将该IPv6地址与服务器真实的IPv4地址实现静态映射,***到翻译网关的IPv6/IPv4无状态灵活映射表中;通过按需加入指定IPv6地址和指定IPv4地址之间的若干固定映射表项,并与RFC6052规定的IPv6/IPv4映射方法表项进行融合,实现统一的基于最长前缀匹配的IPv6/IPv4灵活映射表,适应各种不同的IPv6/IPv4访问的应用场景和用户需求;
S200、遍历所述IPv6/IPv4无状态灵活映射表,并对其中的每个服务器端IPv4地址配置对应的DNS AAAA记录;
S300、IPv6客户机向DNS服务器请求获得所述DNS AAAA记录,将所述DNS AAAA记录中的IPv6地址作为目标地址,发送IPv6分组;
S400、通过所述翻译网关接收所述IPv6分组,根据IPv6目的地址和IPv4源地址在所述IPv6/IPv4无状态灵活映射表中分别进行二次映射,获得IPv6映射地址并发送。
2.根据权利要求1所述的用于IPv6/IPv4访问的无状态灵活映射方法,其特征在于,在步骤S100中,所述在翻译网关上根据预设映射规则构建IPv6/IPv4无状态灵活映射表,包括:根据预设映射规则,构建至少一条IPv6地址对应IPv4地址的映射规则,其中,每条映射规则中包含如下字段:
1)映射规则类型:包括固定映射类型和/或地址嵌入映射类型,其中,固定映射类型是单个IPv6地址对应单个IPv4地址;地址嵌入映射类型是按照RFC6052规定的IPv4-EmbeddedIPv6地址格式;
2)IPv6前缀:本条映射规则对应的IPv6地址范围的公共前缀;
3)IPv6前缀长度:上述IPv6前缀的前缀长度;
4)IPv4前缀:本条映射规则对应的IPv4地址范围的公共前缀;
5)IPv4前缀长度:上述IPv4前缀的前缀长度。
3.根据权利要求2所述的用于IPv6/IPv4访问的无状态灵活映射方法,其特征在于,在步骤S100中,所述在翻译网关上根据预设映射规则构建IPv6/IPv4无状态灵活映射表,还包括:
判断任意两条所述映射规则中包含的所述字段是否完全相同:是则发出无法配置的警告信息;
否则判断所述IPv4源地址的IPv4前缀是否与所述映射规则相冲突:若所述IPv4源地址的IPv4前缀与所述映射规则相冲突,则在所述翻译网关上新建一个与步骤S100中预先构建的IPv6/IPv4无状态灵活映射表中的源IPv4地址范围相区分的新IPv6/IPv4无状态灵活映射表,并对IPv4服务器返回的报文,分别基于目标地址的路由为两个映射表引流。
4.根据权利要求3所述的用于IPv6/IPv4访问的无状态灵活映射方法,其特征在于,在步骤S100中,所述在翻译网关上根据预设映射规则构建IPv6/IPv4无状态灵活映射表,还包括:
如果存在多个所述IPv4前缀对应相同所述IPv6前缀的映射规则,则将相同的映射规则进行聚合,获得一条聚合后的映射规则;
根据IPv6地址,从所述IPv6/IPv4无状态灵活映射表中匹配获取聚合映射规则;
根据获取得到的聚合映射规则中的IPv6前缀长度,去掉所述IPv6地址的IPv6前缀,并进行映射得到对应的IPv4地址;
根据所述IPv4地址,在已匹配获取的聚合映射规则中进行遍历匹配,得到最终的映射规则。
5.根据权利要求1所述的用于IPv6/IPv4访问的无状态灵活映射方法,其特征在于,在步骤S200中,所述遍历所述IPv6/IPv4无状态灵活映射表,并对其中的每个服务器端IPv4地址配置对应的DNS AAAA记录,包括:
S210、遍历所述IPv6/IPv4无状态灵活映射表并获取匹配所述IPv4地址的映射规则,如果所述映射规则类型是固定映射类型,则根据单个IPv6地址对应单个IPv4地址的映射规则,将映射规则中的IPv6地址作为DNS AAAA记录对应的IPv6地址,并在DNS服务器上配置AAAA记录将其公布;
S220、遍历所述IPv6/IPv4无状态灵活映射表并获取匹配所述IPv4地址的映射规则,如果所述映射规则类型是地址嵌入映射类型,则按照RFC6052规定的IPv4-Embedded IPv6地址格式,将IPv4地址嵌入到该映射规则的IPv6前缀后、将其作为DNS AAAA记录对应的IPv6地址,并在DNS服务器上配置AAAA记录将其公布。
6.根据权利要求3或4所述的用于IPv6/IPv4访问的无状态灵活映射方法,其特征在于,在步骤S400中,所述通过所述翻译网关接收所述IPv6分组,根据IPv6目的地址和IPv4源地址在所述IPv6/IPv4无状态灵活映射表中分别进行二次映射,获得IPv6映射地址并发送,包括:
S410、通过所述翻译网关接收第一类IPv6分组,并根据IPv6源地址映射得到IPv4源地址;
S420、根据IPv6目的地址和预设第一最长前缀匹配原则,判断在所述IPv6/IPv4无状态灵活映射表中是否能够查找到对应匹配所述IPv6目的地址的第一映射规则,如果查到对应的第一映射规则,则按照所述第一映射规则计算得到对应第一类IPv6分组的第一类IPv4分组的目的地址,并发送第一类IPv4分组;
S430、通过IPv4服务器收到第一类IPv4分组进行处理,产生并发送第二类IPv4分组到所述翻译网关;
S440、通过所述翻译网关接收所述第二类IPv4分组,并根据IPv4目的地址映射得到IPv6目的地址;
S450、根据IPv4源地址和预设第二最长前缀匹配原则,判断在所述IPv6/IPv4无状态灵活映射表中是否能够查找到对应匹配所述IPv4源地址的第二映射规则,如果查到对应的第二映射规则,则按照所述第二映射规则计算得到对应所述IPv6目的地址的第二类IPv6分组的源IPv6地址,并发送所述第二类IPv6分组。
7.根据权利要求6所述的用于IPv6/IPv4访问的无状态灵活映射方法,其特征在于,在步骤S420中,所述根据IPv6目的地址和预设第一最长前缀匹配原则,判断在所述IPv6/IPv4无状态灵活映射表中是否能够查找到对应匹配所述IPv6目的地址的第一映射规则,包括如下步骤:
S4200、根据所述IPv6/IPv4无状态灵活映射表,对第一类IPv6分组的IPv6目的地址进行搜索匹配,找出所有匹配的映射规则,包括:
如果IPv6目的地址与当前映射规则的IPv6前缀不匹配,则记为不匹配;如果IPv6目的地址与当前映射规则的IPv6前缀匹配,则判断该映射规则的类型:如果是固定映射类型,则直接判断为匹配;如果是地址嵌入映射类型,则从IPv6目的地址中取出IPv4地址,判断IPv4地址是否与当前映射规则的某个IPv4前缀匹配:如果可以匹配,则找出IPv4前缀长度最长的匹配项,判断为匹配;如果不能匹配,则判断为不匹配;
S4201、获取所有匹配的映射规则,并根据映射规则的字段,找出第一映射规则,包括:
如果未搜索找到匹配的映射规则,则丢弃所述第一类IPv6分组;如果搜索找到匹配的映射规则,则在其中找到IPv6前缀长度最长的映射规则,将其记为第二映射规则;如果搜索找到一个IPv6前缀长度最长的映射规则,将其记为第一映射规则;如果有多个IPv6前缀长度最长的映射规则,则比较其IPv4前缀长度,找到其中IPv4前缀长度最长的映射规则,将其记为第一映射规则。
8.根据权利要求6所述的用于IPv6/IPv4访问的无状态灵活映射方法,其特征在于,在步骤S450中,所述根据IPv4源地址和预设第二最长前缀匹配原则,判断在所述IPv6/IPv4无状态灵活映射表中是否能够查找到对应匹配所述IPv4源地址的第二映射规则,包括如下步骤:
S4500、根据所述IPv6/IPv4无状态灵活映射表,对第二类IPv4分组的IPv4源地址进行搜索匹配,找出所有匹配的映射规则;其中,判断是否匹配的规则是:根据IPv4目的地址,路由找到对应的IPv6/IPv4无状态灵活映射表;根据IPv4源地址,判断所述IPv4源地址与当前映射规则的IPv4前缀是否匹配:如果IPv4源地址与当前映射规则的IPv4前缀不匹配,则记为不匹配;如果IPv4源地址匹配当前映射规则的IPv4前缀,则记为匹配;
S4501、获取所有匹配的映射规则,并根据映射规则的字段找出第二映射规则,包括:
如果未搜索到匹配的映射规则,则丢弃第二类IPv4分组;如果搜索找到匹配的映射规则,则在其中找到IPv4前缀长度最长的映射规则,将其记为第二映射规则;如果两条映射规则的IPv4前缀相同,则在所述IPv6/IPv4无状态灵活映射表或所述新IPv6/IPv4无状态灵活映射表中找到一条最优的映射规则,将其记为第二映射规则。
9.一种实现权利要求1-8任一项所述的一种用于IPv6/IPv4访问的无状态灵活映射方法的装置,其特征在于,包括无状态灵活映射表构建模块、DNS AAAA记录配置模块、请求模块和映射模块:
无状态灵活映射表构建模块:用于在翻译网关上根据预设映射规则构建IPv6/IPv4无状态灵活映射表,其中,所述IPv6/IPv4无状态灵活映射表中的映射规则包含映射规则类型、IPv6前缀、IPv6前缀长度、IPv4前缀或IPv4前缀长度中的至少一个字段;
DNS AAAA记录配置模块:用于遍历所述IPv6/IPv4无状态灵活映射表,并对其中的每个服务器端IPv4地址配置对应的DNS AAAA记录;
请求模块:用于IPv6客户机向DNS服务器请求获得所述DNS AAAA记录,将所述DNS AAAA记录中的IPv6地址作为目标地址,发送IPv6分组;
映射模块:用于通过所述翻译网关接收所述IPv6分组,根据IPv6目的地址和IPv4源地址在所述IPv6/IPv4无状态灵活映射表中分别进行二次映射,获得IPv6映射地址并发送。
10.一种控制***,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现权利要求1至8中任意一项所述的用于IPv6/IPv4访问的无状态灵活映射方法。
CN202111487217.6A 2021-12-08 2021-12-08 用于IPv6/IPv4访问的无状态灵活映射算法 Active CN113923188B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111487217.6A CN113923188B (zh) 2021-12-08 2021-12-08 用于IPv6/IPv4访问的无状态灵活映射算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111487217.6A CN113923188B (zh) 2021-12-08 2021-12-08 用于IPv6/IPv4访问的无状态灵活映射算法

Publications (2)

Publication Number Publication Date
CN113923188A CN113923188A (zh) 2022-01-11
CN113923188B true CN113923188B (zh) 2022-03-08

Family

ID=79248676

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111487217.6A Active CN113923188B (zh) 2021-12-08 2021-12-08 用于IPv6/IPv4访问的无状态灵活映射算法

Country Status (1)

Country Link
CN (1) CN113923188B (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9185072B2 (en) * 2012-05-14 2015-11-10 Futurewei Technologies, Inc. Stateless NAT44
CN103856580B (zh) * 2014-03-26 2017-06-13 清华大学 一种IPv6客户机访问IPv4服务器的方法
CN104270475B (zh) * 2014-09-03 2017-10-10 武汉烽火网络有限责任公司 基于NAT64实现IPv4网络与IPv6网络互通的***及方法
US9774530B2 (en) * 2015-06-30 2017-09-26 Cable Television Laboratories, Inc. Mapping of address and port (MAP) provisioning
CN113542452B (zh) * 2021-09-15 2021-12-24 北京英迪瑞讯网络科技有限公司 基于算法映射的实时IPv4-IPv6溯源方法及***
CN113645326B (zh) * 2021-10-13 2021-12-24 北京英迪瑞讯网络科技有限公司 用于IPv4/IPv6访问的准无状态自适应映射方法

Also Published As

Publication number Publication date
CN113923188A (zh) 2022-01-11

Similar Documents

Publication Publication Date Title
CN107690800B (zh) 管理动态ip地址分配
CN107733670B (zh) 一种转发策略配置方法和装置
KR101948598B1 (ko) 고립된 가상 네트워크에 대한 사설 별칭 종단점
US10574574B2 (en) System and method for BGP sFlow export
CN107528862B (zh) 域名解析的方法及装置
CN110460652B (zh) 一种资源获取方法及边缘计算调度服务器
US20200382465A1 (en) Client subnet efficiency by equivalence class aggregation
EP2191634A2 (en) A system and method for generating functional addresses
CN109729183A (zh) 请求处理方法、装置、设备及存储介质
JP4699530B2 (ja) サービスアドレス指定のための方法、システム、およびアプリケーション
US9819641B2 (en) Method of and a processing device handling a protocol address in a network
CN113923188B (zh) 用于IPv6/IPv4访问的无状态灵活映射算法
CN104092751A (zh) 一种业务访问方法和设备
CN113691650B (zh) IPv4/IPv6无状态分段安全映射方法及控制***
US7487256B2 (en) Dynamic management method for forwarding information in router having distributed architecture
CN113645326A (zh) 用于IPv4/IPv6访问的准无状态自适应映射方法
CN115150312A (zh) 一种路由方法及设备
US12010090B2 (en) Management of domain name services across multiple device and software configurations
CN114338809B (zh) 访问控制方法、装置、电子设备和存储介质
CN115665086A (zh) 基于网管设备的域名解析方法及其装置、电子设备
CN114268605A (zh) 一种智能dns实现方法、装置及计算机存储介质
JP6487870B2 (ja) 名前解決装置、名前解決方法及び名前解決プログラム
CN116155902A (zh) 支持ipv6的负载均衡方法、装置、电子设备及存储介质
CN117614938A (zh) 地址分配方法及装置、存储介质及电子装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant