CN108093095A - 将具有短名字的地址字符串转换为IPv6地址的方法及装置 - Google Patents

将具有短名字的地址字符串转换为IPv6地址的方法及装置 Download PDF

Info

Publication number
CN108093095A
CN108093095A CN201711332327.9A CN201711332327A CN108093095A CN 108093095 A CN108093095 A CN 108093095A CN 201711332327 A CN201711332327 A CN 201711332327A CN 108093095 A CN108093095 A CN 108093095A
Authority
CN
China
Prior art keywords
character string
address character
short name
name word
ipv6 addresses
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.)
Granted
Application number
CN201711332327.9A
Other languages
English (en)
Other versions
CN108093095B (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN201711332327.9A priority Critical patent/CN108093095B/zh
Publication of CN108093095A publication Critical patent/CN108093095A/zh
Priority to PCT/CN2018/092767 priority patent/WO2019114244A1/zh
Application granted granted Critical
Publication of CN108093095B publication Critical patent/CN108093095B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/659Internet protocol version 6 [IPv6] addresses

Abstract

本发明公开了一种具有短名字的地址字符串转换为IPv6地址方法和装置,其中,该方法通过具有短名字的地址字符串到IPv6地址的映射,来解决IPv6地址难于记忆表达的问题,进而能够实现子网内部的指定服务标识和外网到子网的公开信息获取;不依赖于第三方服务器即可实现短名字与IPv6地址的映射,避免了类似DNS之类的由于引入第三方服务器所带来的额外安全风险、服务延时以及额外的维护成本;使得短名字只需要在一个IPv6子网中唯一即可,不必像DNS服务那样需要保证全局唯一,这样使得局部公开服务成为可能。

Description

将具有短名字的地址字符串转换为IPv6地址的方法及装置
技术领域
本发明涉及计算机网络领域,尤其涉及一种将具有短名字的地址字符串转换为IPv6地址的方法及装置。
背景技术
互联网上的每一个节点都依靠IP地址互相区分和相互联系,IP地址成了整个互联网互联互通、身份区分的基础。随着互联网规模的不断扩张,IPv4地址逐渐消耗,以IPv6为基础的下一代互联网正在得到越来越广泛的应用。与IPv4地址相比,IPv6地址空间要大得多,这带来了两个方面的影响,首先,IPv6地址空间巨大,使得如何记忆、表达这些地址成为一个难题,尤其是网络运营管理人员,常常需要直接面对地址本身,因此如何去命名、记忆这些庞大的地址,变得尤为困难;此外,IPv6地址空间中,一般而言,前64比特为运营商指定,后64比特可以由用户系统本身指定,通过无状态方式生成,因此如何能够对后64比特进行规划,使得实现一些有意义的额外功能,也就成了一个重要的问题。
针对IPv6地址的表达方面,在RFC5952中,提出了IPv6地址进行文本表达的几个建议,这些建议的实施,并没有改变IPv6地址难于记忆的问题,举例而言,一般操作系统生成的IPv6地址为如下形式:2402:f000:6:1001:896:cdfe:e07e:88da,这非常不便于记忆。
因此,如何解决IPv6地址难以记忆表达成为亟待解决的技术问题。
发明内容
本发明的目的旨在至少在一定程度上解决上述的技术问题之一。
为此,本发明的第一个目的在于提出的具有短名字的地址字符串转换为IPv6地址方法,通过具有短名字的地址字符串到IPv6地址的映射,来解决IPv6地址难于记忆表达的问题,进而能够实现子网内部的指定服务标识和外网到子网的公开信息获取;不依赖于第三方服务器即可实现短名字与IPv6地址的映射,避免了类似DNS之类的由于引入第三方服务器所带来的额外安全风险、服务延时以及额外的维护成本;使得短名字只需要在一个IPv6子网中唯一即可,不必像DNS服务那样需要保证全局唯一,这样使得局部公开服务成为可能。
为此,本发明的第二个目的在于提出的具有短名字的地址字符串转换为IPv6地址的装置。
为了实现上述目的,本发明第一方面实施例的具有短名字的地址字符串转换为IPv6地址的方法,包括:
获取具有短名字的地址字符串;
判断所述具有短名字的地址字符串中是否存在预设分隔符;
若存在,根据所述预设分隔符确定前部分地址字符串和后部分地址字符串,其中,前部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符前面的部分地址字符串,后部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符后面的部分地址字符串;
根据RFC 5952规范将前部分地址字符串转换成前部分IPv6地址,以及根据预设编码规则将后部分地址字符串转换成后部分IPv6地址;
将所述前部分IPv6地址和所述后部分IPv6地址连接,形成所述具有短名字的地址字符串对应的IPv6地址。
如上所述的方法,所述根据所述预设分隔符确定前部分地址字符串和后部分地址字符串包括:
若所述预设分隔符不是所述具有短名字的地址字符串中的第一个字符和最后一个字符,则前部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符前面的部分地址字符串,后部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符后面的部分地址字符串;
若所述预设分隔符为所述具有短名字的地址字符串中的第一个字符,获取所述具有短名字的地址字符串所属主机的子网前缀,则前部分地址字符串为所述子网前缀,后部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符后面的部分地址字符串;
若所述预设分隔符为所述具有短名字的地址字符串中的最后一个字符,则前部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符前面的部分地址字符串,后部分地址字符串为空字符串。
如上所述的方法,所述将所述前部分IPv6地址和所述后部分IPv6地址连接,形成所述具有短名字的地址字符串对应的IPv6地址,包括:
利用混淆算法对所述后部分IPv6地址进行混淆处理;
将所述前部分IPv6地址和经混淆处理后的得到的所述后部分IPv6地址连接,形成所述具有短名字的地址字符串对应的IPv6地址。
如上所述的方法,所述预设编码规则为以下编码规则中的一种:用6比特编码1个字符的编码规则、用21比特编码4个字符的编码规则。
如上所述的方法,还包括:
若不存在,根据RFC 5952规范对所述具有短名字的地址字符串进行转换,以获取所述具有短名字的地址字符串对应的IPv6地址。
为了实现上述目的,本发明第二方面实施例的具有短名字的地址字符串转换为IPv6地址的装置,包括:
获取模块,用于获取具有短名字的地址字符串;
判断模块,用于判断所述具有短名字的地址字符串中是否存在预设分隔符,若存在,触发确定模块;
确定模块,用于根据所述预设分隔符确定前部分地址字符串和后部分地址字符串,其中,前部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符前面的部分地址字符串,后部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符后面的部分地址字符串;
转换模块,用于根据RFC 5952规范将前部分地址字符串转换成前部分IPv6地址,以及根据预设编码规则将后部分地址字符串转换成后部分IPv6地址;
生成模块,用于将所述前部分IPv6地址和所述后部分IPv6地址连接,生成所述具有短名字的地址字符串对应的IPv6地址。
如上所述的装置,所述确定模块具体用于:
若所述预设分隔符不是所述具有短名字的地址字符串中的第一个字符和最后一个字符,则前部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符前面的部分地址字符串,后部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符后面的部分地址字符串;
若所述预设分隔符为所述具有短名字的地址字符串中的第一个字符,获取所述具有短名字的地址字符串所属主机的子网前缀,则前部分地址字符串为所述子网前缀,后部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符后面的部分地址字符串;
若所述预设分隔符为所述具有短名字的地址字符串中的最后一个字符,则前部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符前面的部分地址字符串,后部分地址字符串为空字符串。
如上所述的装置,所述生成模块,具体用于:
利用混淆算法对所述后部分IPv6地址进行混淆处理;
将所述前部分IPv6地址和经混淆处理后的得到的所述后部分IPv6地址连接,形成所述具有短名字的地址字符串对应的IPv6地址。
如上所述的装置,所述预设编码规则为以下编码规则中的一种:用6比特编码1个字符的编码规则、用21比特编码4个字符的编码规则。
如上所述的装置,所述转换模块还用于在所述判断模块判断在所述具有短名字的地址字符串中不存在预设分隔符时,根据RFC 5952规范对所述具有短名字的地址字符串进行转换,以获取所述具有短名字的地址字符串对应的IPv6地址。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1为本发明一实施例的将具有短名字的地址字符串转换为IPv6地址的方法的流程示意图;
图2为示例性的用6比特编码1个字符的编码规则;
图3为示例性的字符与值的映射关系表;
图4为本发明一实施例的将具有短名字的地址字符串转换为IPv6地址的装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的将具有短名字的地址字符串转换为IPv6地址的方法及装置。
图1为本发明一实施例的将具有短名字的地址字符串转换为IPv6地址的方法的流程示意图。该方法的执行主体为将具有短名字的地址字符串转换为IPv6地址的装置,该装置可以由硬件和/或软件实现。
如图1所示,本实施例提供的将具有短名字的地址字符串转换为IPv6地址的方法,包括以下步骤:
S101、获取具有短名字的地址字符串。
在本实施例中,短名字的名字尽量与DNS域名相一致。例如,取DNS域名中可能使用的a-z(不区分大小写)、0-9、-这37个字符进行命名短名字。此外,在名字长度不够时,可以用“停止符”补齐,也就是,可以用a-z(不区分大小写)、0-9、-、停止符共38个字符来命名短名字。IPv6地址一般由两部分组成,前部分IPv6地址和后部分IPv6地址。前部分IPv6地址为IPv6地址的前64比特,又称子网前缀,一般由运营商指定,后部分IPv6地址为IPv6地址的后64比特,又称接口标识,可以由用户系统本身指定。在本实施例中,后部分IPv6地址可以用短名字来表示。在本实施例中,具有短名字的地址字符串可以理解为后部分IPv6地址用短名字表示的IPv6地址。
S102、判断所述具有短名字的地址字符串中是否存在预设分隔符,执行步骤S103或步骤S106。
在本实施例中,预设分隔符不应当使用DNS允许的字符串,此外,也应当避开具有SHELL、URL等之中具有转义性质的特殊字符串,预设分隔符可以选择如~、{、}、|等字符。
以‘2402:f000:6:1001~printer’这一具有短名字的地址字符串为例,短名字为‘printer’,预设分隔符为‘~’。一般而言,短名字设置在预设分隔符的后面。
S103、若存在,根据所述预设分隔符确定前部分地址字符串和后部分地址字符串,执行步骤S104。
在本实施例中,前部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符前面的部分地址字符串,后部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符后面的部分地址字符串。
在一种可能的实现方式中,“所述根据所述预设分隔符确定前部分地址字符串和后部分地址字符串”的具体实现方式为:
若所述预设分隔符不是所述具有短名字的地址字符串中的第一个字符和最后一个字符,则前部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符前面的部分地址字符串,后部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符后面的部分地址字符串。
若所述预设分隔符为所述具有短名字的地址字符串中的第一个字符,获取所述具有短名字的地址字符串所属主机的子网前缀,则前部分地址字符串为所述子网前缀,后部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符后面的部分地址字符串。
若所述预设分隔符为所述具有短名字的地址字符串中的最后一个字符,则前部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符前面的部分地址字符串,后部分地址字符串为空字符串。
以‘2402:f000:6:1001~printer’这一具有短名字的地址字符串为例,前部分地址字符串为‘2402:f000:6:1001’,后部分地址字符串为‘printer’。
以‘~printer’这一具有短名字的地址字符串为例,前部分地址字符串为所属主机的‘子网前缀’,后部分地址字符串为‘printer’。当出现诸如‘~printer’的地址字符串时,代表着该地址字符串所指的IPv6地址在本机所在的子网里,亦即与本机所含有的子网前缀相同。
以‘2402:f000:6:1001~’这一具有短名字的地址字符串为例,前部分地址字符串为‘2402:f000:6:1001’,后部分地址字符串为空字符串。后续转换时,后部分IPv6地址全部由停止符构成。
S104、根据RFC 5952规范将前部分地址字符串转换成前部分IPv6地址,以及根据预设编码规则将后部分地址字符串转换成后部分IPv6地址,执行步骤S105。
S105、将所述前部分IPv6地址和所述后部分IPv6地址连接,生成所述具有短名字的地址字符串对应的IPv6地址。
具体地,RFC(Request For Comments,请求注释)5952规范规定了IPv6地址的相关标准。标准规定对于一个完整的128位IPv6地址分成8段表示,每段4个字符,如2001:0410:0000:1234:FB00:1400:5000:45FF。为了便于表达,RFC 5952规定可以使用压缩格式将连续的多个0字段用::来省略压缩。
例如,2001:0410:0000:1234:FB00:1400:5000:45FF可以简写为2001:0410::1234:FB00:1400:5000:45FF,而0000:0000:0000:0000:0000:0000:0000:0001可以简写为::1。RFC 5952规定这样的省略只能出现一次,也就是说,3ffe:0000:0000:0000:1010:2a2a:0000:0001只能简写为3ffe:0:0:0:1010:2a2a::1或者3ffe::1010:2a2a:0:1,而不能简写为3ffe::1010:2a2a::1。在本发明中,前部分地址字符串用来表示子网前缀,需要4段来表示如2001:0410:0:1234,具有::简写的前部分地址字符串最多只能扩展到64比特长,如2001:410::被扩展为2001:0410:0000:0000。
以‘2402:f000:6:1001~printer’这一具有短名字的地址字符串为例,根据RFC5952规范将前部分地址字符串‘2402:f000:6:1001’转换成符合IPv6地址标准的前部分IPv6地址‘2402:f000:6:1001’。
在本实施例中,预设编码规则可以是用6比特编码1个字符的编码规则或用21比特编码4个字符的编码规则,但并不以此为限。
图2为示例性的用6比特编码1个字符的编码规则。图2所示,在用6比特编码1个字符的编码规则中,每6比特映射为一个字符或停止符。为了避免与IPv6网络的设置相冲突,应当避免使用‘000000’这一6比特编码字符。
需要指出的是,使用短名字表征接口标识,需要60比特以对应最长可能的10个字符,这样接口标识中有4比特空闲,在本实施例中,不使用接口标识的第1、2、3、7比特:将接口标识的第1、2、3比特设置为0以示与其他地址的区分,将接口标识的第7比特设置为0,表示并不是全球唯一的接口标识。
需要指出的是,在编码前,可以将短名字统一成10个字符,如果短名字不够10个字符,则尾部用停止符补齐成10个字符的短名字。
以‘2402:f000:6:1001~printer’这一具有短名字的地址字符串为例,在分隔符为‘~’之后的后部分地址字符串为‘printer’,利用图2所示的编码规则进行编码,填充到后64比特中的除去第1、2、3、7比特之外的部分,且第1、2、3、7比特为0,长度不足64比特部分补停止符000001,这样形成的IPv6地址的后64比特为‘0cdd:5197:c104:1041’,即后部分IPv6地址为‘0cdd:5197:c104:1041’。
将前部分IPv6地址‘2402:f000:6:1001’和后部分IPv6地址‘0cdd:5197:c104:1041’连接形成最终的IPv6地址‘2402:f000:6:1001:cdd:5197:c104:1041’。
特殊的,对于如下符号~printer,表示了本子网内部的一个系统,子网前缀可以根据IPv6前缀选择方案(如RFC3484所示),再与该短名字所对应的后64比特连接而形成。
图3为示例性的字符与值的映射关系表。用21比特编码4字符的编码规则为:按照38进制,每个字符(包括停止符)对应38进制中的一个值,四位38进制组成的数字可以使用21比特来进行编码,用21比特编码4字符的编码规则得到的IPv6地址最多可以容纳12个字符。如图3所示,针对每个字符,指定一个0到37的数字,每4个字符ABCD,将其编码为A*383+B*382+C*38+D的结果的21比特表示,一个可能的从字符到值的映射如图3所示。为了避免与IPv6网络设置相冲突,可以将‘-’设置为0。这样接口标识中有1比特空闲,在本实施例中,不使用接口标识的第7比特:将接口标识的第7比特设置为0,表示并不是全球唯一的接口标识。
以‘2402:f000:6:1001~printer’这一具有短名字的地址字符串为例,在分隔符为‘~’之后的后部分地址字符串为‘printer’,使用‘用21比特编码4字符的编码规则’对‘printer’进行编码,填充到后64比特中的除去第7比特之外的部分,且第7比特为0,这样形成地址的后64比特为‘b907:b73f:4e60:dc23’,即后部分IPv6地址为‘0cdd:5197:c104:1041’。
将前部分IPv6地址‘2402:f000:6:1001’和后部分IPv6地址‘0cdd:5197:c104:1041’连接形成最终的IPv6地址‘2402:f000:6:1001:cdd:5197:c104:1041’。
进一步地,步骤S104的具体实现方式为:“利用混淆算法对所述后部分IPv6地址进行混淆处理;将所述前部分IPv6地址和经混淆处理后的得到的所述后部分IPv6地址连接,形成所述具有短名字的地址字符串对应的IPv6地址。”在本实施例中,对后部分IPv6地址进行混淆处理可以尽可能地避免具有不同网络中具有相同短名字的系统所设置的后64比特相同,混淆算法具体不限。例如,将后部分IPv6地址和前部分IPv6地址进行异或运算得到混淆后的后部分IPv6地址。
S106、若不存在,根据RFC 5952规范对所述具有短名字的地址字符串进行转换,以获取所述具有短名字的地址字符串对应的IPv6地址。
具体地,若地址字符串不存在预设分隔符,可以理解为该地址字符串没有设置短名字,这时只需RFC 5952规范将其转化成规范的IPv6地址即可。
以下对具有短名字系统的几种场景进行介绍。IPv6网络具有短名字之后,使用将会得到较大的改善。具有短名字的地址可以用在本地服务、网络相关信息获取和报告、便于记忆的系统地址指定等方面。
1、针对本地服务场景。
对于某个指定IPv6网络,具有特定服务的主机,通过设置自己的IPv6地址的后64比特地址(后64比特地址即后部分IPv6地址)为短名字,从而便于被其他同在本网络的用户使用。具体的步骤如下:
S1:具有特定服务的主机,将自己的IPv6地址的后64比特地址设置为短名字。
S2:本网络中的其他用户通过其短名字,直接访问该主机的特定服务。
一个典型的例子如打印服务,主机可以将自己的后64比特设置为printer这样的短名字,这样,本网内的所用用户都可以通过~printer来访问,从而避免了本地服务发现的困难。此外,由于同样的短名字在不同的子网中都可以使用,因此和域名系统不同,短名字的选择空间要大得多,而且也无需域名维护的费用。
2、针对网络相关信息的获取和报告场景。
对于指定的IPv6网络,可以通过建立特定名字的主机系统,以便于外网了解该网的一些信息。具体的步骤如下:
S1:为外网提供特定服务的主机,将自己的IPv6后64比特地址设置为短名字。
S2:外网中的其他用户通过其短名字,直接访问该主机的特定服务。
一个典型的例子如攻击报告服务,目前的网络中,出现来自于某个网络的安全事件时,常常需要通知该网络的网络管理人员,然而,这一过程常常受到whois信息老化,各种联系信息存储在运营商的指定部门,而其他部门都难于访问的问题。因此,如果针对每个IPv6子网,建立一个具有短名字为report的系统,并有各个子网的网络管理人员独立维护,对于互联网络间问题的协调解决,能够提供较大的帮助。
3、针对便于记忆的系统地址指定场景。
通常系统或网络管理员在设置服务器或路由器时,需要静态设置大量的IPv6地址,通常希望这些IPv6地址能够便于记忆。现有操作系统设置方法,无论是无状态还是有状态,都使得这一过程容易犯错,而且生成的地址也难于记忆。即使后64比特只是一些简单的数字编号如::1、::IPv4地址之类,也难于和该服务器、路由器相关联。通过使用具有短名字的IPv6地址,有助于系统管理员、网络管理员对IPv6地址的命名和管理。具体的配置方法如下:
S1:通过操作系统的配置文件指定该接口为静态IPv6地址。
S2:指定该静态IPv6地址为如上所述的含有短名字的格式,如果其中不含有前64比特地址(前64比特地址即前部分IPv6地址),则说明该接口的地址前缀从IPv6邻居发现协议中获得。
S3:操作系统根据S2所设置的含有短名字的IPv6地址,将该接口设置为相应的解析后的IPv6地址,如果其中不含有前64比特地址信息,则使用IPv6邻居发现协议所获得的前64比特地址。
本发明涉及了一种对于某个指定IPv6网络,具有特定服务的主机,通过设置自己的IPv6后64比特地址,从而便于被其他同在本网络的用户使用。具体的步骤如下:
S1:具有特定服务的主机,将自己的IPv6后64比特地址设置为短名字。
S2:本网络中的其他用户通过其短名字,直接访问该主机的特定服务。
本实施例提供的具有短名字的地址字符串转换为IPv6地址的方法,包括:获取具有短名字的地址字符串,判断所述具有短名字的地址字符串中是否存在预设分隔符;若存在,根据所述预设分隔符确定前部分地址字符串和后部分地址字符串;根据RFC 5952规范将前部分地址字符串转换成前部分IPv6地址,以及根据预设编码规则将后部分地址字符串转换成后部分IPv6地址;将所述前部分IPv6地址和所述后部分IPv6地址连接,形成所述具有短名字的地址字符串对应的IPv6地址。由此,通过具有短名字的地址字符串到IPv6地址的映射,来解决IPv6地址难于记忆表达的问题,进而能够实现子网内部的指定服务标识和外网到子网的公开信息获取;不依赖于第三方服务器即可实现短名字与IPv6地址的映射,避免了类似DNS之类的由于引入第三方服务器所带来的额外安全风险、服务延时以及额外的维护成本;使得短名字只需要在一个IPv6子网中唯一即可,不必像DNS服务那样需要保证全局唯一,这样使得局部公开服务成为可能。
图4为本发明一实施例的将具有短名字的地址字符串转换为IPv6地址的装置的结构示意图。
如图4所示,本实施例的将具有短名字的地址字符串转换为IPv6地址的装置,包括:
获取模块,用于获取具有短名字的地址字符串;
判断模块,用于判断所述具有短名字的地址字符串中是否存在预设分隔符,若存在,触发确定模块;
确定模块,用于根据所述预设分隔符确定前部分地址字符串和后部分地址字符串,其中,前部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符前面的部分地址字符串,后部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符后面的部分地址字符串;
转换模块,用于根据RFC 5952规范将前部分地址字符串转换成前部分IPv6地址,以及根据预设编码规则将后部分地址字符串转换成后部分IPv6地址;
生成模块,用于将所述前部分IPv6地址和所述后部分IPv6地址连接,生成所述具有短名字的地址字符串对应的IPv6地址。
进一步地,所述确定模块具体用于:
若所述预设分隔符不是所述具有短名字的地址字符串中的第一个字符和最后一个字符,则前部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符前面的部分地址字符串,后部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符后面的部分地址字符串;
若所述预设分隔符为所述具有短名字的地址字符串中的第一个字符,获取所述具有短名字的地址字符串所属主机的子网前缀,则前部分地址字符串为所述子网前缀,后部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符后面的部分地址字符串;
若所述预设分隔符为所述具有短名字的地址字符串中的最后一个字符,则前部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符前面的部分地址字符串,后部分地址字符串为空字符串。
进一步地,所述生成模块,具体用于:
利用混淆算法对所述后部分IPv6地址进行混淆处理;
将所述前部分IPv6地址和经混淆处理后的得到的所述后部分IPv6地址连接,形成所述具有短名字的地址字符串对应的IPv6地址。
进一步地,所述预设编码规则为以下编码规则中的一种:用6比特编码1个字符的编码规则、用21比特编码4个字符的编码规则。
进一步地,所述转换模块还用于在所述判断模块判断在所述具有短名字的地址字符串中不存在预设分隔符时,根据RFC 5952规范对所述具有短名字的地址字符串进行转换,以获取所述具有短名字的地址字符串对应的IPv6地址
关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本实施例提供的具有短名字的地址字符串转换为IPv6地址的装置,包括:获取具有短名字的地址字符串,判断所述具有短名字的地址字符串中是否存在预设分隔符;若存在,根据所述预设分隔符确定前部分地址字符串和后部分地址字符串;根据RFC 5952规范将前部分地址字符串转换成前部分IPv6地址,以及根据预设编码规则将后部分地址字符串转换成后部分IPv6地址;将所述前部分IPv6地址和所述后部分IPv6地址连接,形成所述具有短名字的地址字符串对应的IPv6地址。由此,通过具有短名字的地址字符串到IPv6地址的映射,来解决IPv6地址难于记忆表达的问题,进而能够实现子网内部的指定服务标识和外网到子网的公开信息获取;不依赖于第三方服务器即可实现短名字与IPv6地址的映射,避免了类似DNS之类的由于引入第三方服务器所带来的额外安全风险、服务延时以及额外的维护成本;使得短名字只需要在一个IPv6子网中唯一即可,不必像DNS服务那样需要保证全局唯一,这样使得局部公开服务成为可能。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种将具有短名字的地址字符串转换为IPv6地址的方法,其特征在于,包括:
获取具有短名字的地址字符串;
判断所述具有短名字的地址字符串中是否存在预设分隔符;
若存在,根据所述预设分隔符确定前部分地址字符串和后部分地址字符串,其中,前部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符前面的部分地址字符串,后部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符后面的部分地址字符串;
根据RFC 5952规范将前部分地址字符串转换成前部分IPv6地址,以及根据预设编码规则将后部分地址字符串转换成后部分IPv6地址;
将所述前部分IPv6地址和所述后部分IPv6地址连接,形成所述具有短名字的地址字符串对应的IPv6地址。
2.如权利要求1所述的方法,其特征在于,所述根据所述预设分隔符确定前部分地址字符串和后部分地址字符串包括:
若所述预设分隔符不是所述具有短名字的地址字符串中的第一个字符和最后一个字符,则前部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符前面的部分地址字符串,后部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符后面的部分地址字符串;
若所述预设分隔符为所述具有短名字的地址字符串中的第一个字符,获取所述具有短名字的地址字符串所属主机的子网前缀,则前部分地址字符串为所述子网前缀,后部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符后面的部分地址字符串;
若所述预设分隔符为所述具有短名字的地址字符串中的最后一个字符,则前部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符前面的部分地址字符串,后部分地址字符串为空字符串。
3.如权利要求1所述的方法,其特征在于,所述将所述前部分IPv6地址和所述后部分IPv6地址连接,形成所述具有短名字的地址字符串对应的IPv6地址,包括:
利用混淆算法对所述后部分IPv6地址进行混淆处理;
将所述前部分IPv6地址和经混淆处理后的得到的所述后部分IPv6地址连接,形成所述具有短名字的地址字符串对应的IPv6地址。
4.如权利要求1所述的方法,其特征在于,所述预设编码规则为以下编码规则中的一种:用6比特编码1个字符的编码规则、用21比特编码4个字符的编码规则。
5.如权利要求1所述的方法,其特征在于,还包括:
若不存在,根据RFC 5952规范对所述具有短名字的地址字符串进行转换,以获取所述具有短名字的地址字符串对应的IPv6地址。
6.一种将具有短名字的地址字符串转换为IPv6地址的装置,其特征在于,包括:
获取模块,用于获取具有短名字的地址字符串;
判断模块,用于判断所述具有短名字的地址字符串中是否存在预设分隔符,若存在,触发确定模块;
确定模块,用于根据所述预设分隔符确定前部分地址字符串和后部分地址字符串,其中,前部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符前面的部分地址字符串,后部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符后面的部分地址字符串;
转换模块,用于根据RFC 5952规范将前部分地址字符串转换成前部分IPv6地址,以及根据预设编码规则将后部分地址字符串转换成后部分IPv6地址;
生成模块,用于将所述前部分IPv6地址和所述后部分IPv6地址连接,生成所述具有短名字的地址字符串对应的IPv6地址。
7.如权利要求6所述的装置,其特征在于,所述确定模块具体用于:
若所述预设分隔符不是所述具有短名字的地址字符串中的第一个字符和最后一个字符,则前部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符前面的部分地址字符串,后部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符后面的部分地址字符串;
若所述预设分隔符为所述具有短名字的地址字符串中的第一个字符,获取所述具有短名字的地址字符串所属主机的子网前缀,则前部分地址字符串为所述子网前缀,后部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符后面的部分地址字符串;
若所述预设分隔符为所述具有短名字的地址字符串中的最后一个字符,则前部分地址字符串为所述具有短名字的地址字符串中在所述预设分割符前面的部分地址字符串,后部分地址字符串为空字符串。
8.如权利要求6所述的装置,其特征在于,所述生成模块,具体用于:
利用混淆算法对所述后部分IPv6地址进行混淆处理;
将所述前部分IPv6地址和经混淆处理后的得到的所述后部分IPv6地址连接,形成所述具有短名字的地址字符串对应的IPv6地址。
9.如权利要求6所述的装置,其特征在于,所述预设编码规则为以下编码规则中的一种:用6比特编码1个字符的编码规则、用21比特编码4个字符的编码规则。
10.如权利要求6所述的装置,其特征在于,所述转换模块还用于在所述判断模块判断在所述具有短名字的地址字符串中不存在预设分隔符时,根据RFC 5952规范对所述具有短名字的地址字符串进行转换,以获取所述具有短名字的地址字符串对应的IPv6地址。
CN201711332327.9A 2017-12-13 2017-12-13 将具有短名字的地址字符串转换为IPv6地址的方法及装置 Active CN108093095B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711332327.9A CN108093095B (zh) 2017-12-13 2017-12-13 将具有短名字的地址字符串转换为IPv6地址的方法及装置
PCT/CN2018/092767 WO2019114244A1 (zh) 2017-12-13 2018-06-26 将具有短名字的地址字符串转换为IPv6地址的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711332327.9A CN108093095B (zh) 2017-12-13 2017-12-13 将具有短名字的地址字符串转换为IPv6地址的方法及装置

Publications (2)

Publication Number Publication Date
CN108093095A true CN108093095A (zh) 2018-05-29
CN108093095B CN108093095B (zh) 2020-01-21

Family

ID=62175318

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711332327.9A Active CN108093095B (zh) 2017-12-13 2017-12-13 将具有短名字的地址字符串转换为IPv6地址的方法及装置

Country Status (2)

Country Link
CN (1) CN108093095B (zh)
WO (1) WO2019114244A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019114244A1 (zh) * 2017-12-13 2019-06-20 清华大学 将具有短名字的地址字符串转换为IPv6地址的方法及装置
CN110677507A (zh) * 2019-08-30 2020-01-10 视联动力信息技术股份有限公司 一种访问视联网终端的方法、系统、设备及存储介质
CN113721853A (zh) * 2021-08-31 2021-11-30 浩鲸云计算科技股份有限公司 一种基于NVMe多路径负载均衡的实现方法
CN116149732A (zh) * 2023-02-15 2023-05-23 深圳大学 一种数据流任务的硬件自动化执行方法、系统及产品

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1514593A (zh) * 2003-08-06 2004-07-21 浙江大学 自动生成ipv9地址和查找所对应ip地址的方法及系统
CN101421999A (zh) * 2006-04-12 2009-04-29 松下电器产业株式会社 网络设备、网络系统、IPv6地址分配方法及网络设备管理方法
US7573903B2 (en) * 2005-01-13 2009-08-11 Yokogawa Electric Corporation IPv6/IPv4 translator
CN102035899A (zh) * 2009-09-24 2011-04-27 中兴通讯股份有限公司 基于IPv6的局域网内的地址确定方法与装置
CN102497456A (zh) * 2011-12-06 2012-06-13 太仓市同维电子有限公司 基于dhcp协议实现客户端地址自动生成的系统及方法
CN103297554A (zh) * 2012-03-02 2013-09-11 中兴通讯股份有限公司 IPv4和IPv6兼容处理的方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1467672A (zh) * 2003-06-18 2004-01-14 北京爱思美网科技发展有限公司 多语言电子邮件地址的转换方法
US20120259998A1 (en) * 2011-04-11 2012-10-11 Matthew Kaufman System and method for translating network addresses
CN108093095B (zh) * 2017-12-13 2020-01-21 清华大学 将具有短名字的地址字符串转换为IPv6地址的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1514593A (zh) * 2003-08-06 2004-07-21 浙江大学 自动生成ipv9地址和查找所对应ip地址的方法及系统
US7573903B2 (en) * 2005-01-13 2009-08-11 Yokogawa Electric Corporation IPv6/IPv4 translator
CN101421999A (zh) * 2006-04-12 2009-04-29 松下电器产业株式会社 网络设备、网络系统、IPv6地址分配方法及网络设备管理方法
CN102035899A (zh) * 2009-09-24 2011-04-27 中兴通讯股份有限公司 基于IPv6的局域网内的地址确定方法与装置
CN102497456A (zh) * 2011-12-06 2012-06-13 太仓市同维电子有限公司 基于dhcp协议实现客户端地址自动生成的系统及方法
CN103297554A (zh) * 2012-03-02 2013-09-11 中兴通讯股份有限公司 IPv4和IPv6兼容处理的方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019114244A1 (zh) * 2017-12-13 2019-06-20 清华大学 将具有短名字的地址字符串转换为IPv6地址的方法及装置
CN110677507A (zh) * 2019-08-30 2020-01-10 视联动力信息技术股份有限公司 一种访问视联网终端的方法、系统、设备及存储介质
CN110677507B (zh) * 2019-08-30 2022-03-11 视联动力信息技术股份有限公司 一种访问视联网终端的方法、系统、设备及存储介质
CN113721853A (zh) * 2021-08-31 2021-11-30 浩鲸云计算科技股份有限公司 一种基于NVMe多路径负载均衡的实现方法
CN116149732A (zh) * 2023-02-15 2023-05-23 深圳大学 一种数据流任务的硬件自动化执行方法、系统及产品
CN116149732B (zh) * 2023-02-15 2023-10-27 深圳大学 一种数据流任务的硬件自动化执行方法、系统及产品

Also Published As

Publication number Publication date
CN108093095B (zh) 2020-01-21
WO2019114244A1 (zh) 2019-06-20

Similar Documents

Publication Publication Date Title
CN108093095A (zh) 将具有短名字的地址字符串转换为IPv6地址的方法及装置
Mogul et al. Internet standard subnetting procedure
McCloghrie et al. Structure of management information version 2 (SMIv2)
CN103856580B (zh) 一种IPv6客户机访问IPv4服务器的方法
JP2008099251A (ja) ネットワーク機器
CN102035899A (zh) 基于IPv6的局域网内的地址确定方法与装置
JP6104406B2 (ja) ネットワークのプロトコルアドレスを扱う方法及び処理デバイス
US7948916B2 (en) Method and apparatus for discovering topology information in a network
Schoenwaelder Translation of structure of management information version 2 (SMIv2) MIB modules to YANG modules
US20070136557A1 (en) Information processing apparatus for translating IP address and program therefor
McCloghrie et al. RFC2578: Structure of Management Information version 2 (SMIv2)
JP2003304246A (ja) Ipアドレス生成方法、ネットワークに接続された端末機器のニックネーム生成方法及びその装置
CN107241457A (zh) 一种实现网络端到端通信的方法
LaBarre OSI Internet Management: Management Information Base
KR100846014B1 (ko) 물리적 매체의 유형에 독립적인 유사 EUI-64 식별자를사용하여 IPv6 링크-로컬 어드레스를 구성하는 방법
Mogul et al. RFC0950: Internet Standard Subnetting Procedure
CN107196981A (zh) 访问记录回传方法、设备和系统
Koch A dns rr type for lists of address prefixes (APL RR)
Zhan et al. A Full Decimal Method of Address Assignment for Networked Computer
KR20020075899A (ko) 전 십진 알고리즘으로 컴퓨터의 주소를 할당하기 위한네트워킹 컴퓨터의 할당 방법
CN113691641A (zh) 一种数据包传输转换方法、互联网络、数据包处理设备
WO2009151310A1 (en) System and method for representing internet protocol version 6 (ipv6) addresses
EP1097555B1 (en) Computer network addressing system
CN113691643A (zh) 一种数据包传输转换方法、互联网络、数据包处理设备
KR20040097455A (ko) 인터넷 프로토콜 주소 구성 장치 및 방법과 인터넷프로토콜 주소를 이용한 서비스 방법

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