CN102340551B - 一种构建IPv6地址池的方法与系统 - Google Patents

一种构建IPv6地址池的方法与系统 Download PDF

Info

Publication number
CN102340551B
CN102340551B CN201010239311.5A CN201010239311A CN102340551B CN 102340551 B CN102340551 B CN 102340551B CN 201010239311 A CN201010239311 A CN 201010239311A CN 102340551 B CN102340551 B CN 102340551B
Authority
CN
China
Prior art keywords
address
ipv6 address
ipv6
pool
suffix
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
CN201010239311.5A
Other languages
English (en)
Other versions
CN102340551A (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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp 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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN201010239311.5A priority Critical patent/CN102340551B/zh
Publication of CN102340551A publication Critical patent/CN102340551A/zh
Application granted granted Critical
Publication of CN102340551B publication Critical patent/CN102340551B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出一种构建IPv6地址池的方法与系统。包括以下步骤:构建IPv6地址池的地址范围,在所述地址范围内构建IPv6地址;在所述IPv6地址中构建递增位n,IPv6地址从第n位开始递增,其中,n为整数,取值范围为0~127;在后缀位中设定固定数值作为IPv6地址后缀,第0~(n-1)位为后缀位;根据IPv6地址池的地址范围、递增位和IPv6地址后缀标识IPv6地址池。本发明使IPv6地址池能满足分配非连续IPv6地址的需求。

Description

一种构建IPv6地址池的方法与系统
技术领域
本发明属于以IP网络技术为核心的数据通信领域,涉及在IPv6(InternetProtocolVersion6,互联网协议第6版)网络中为IPv6用户构建IPv6地址的通用方法,特别是使用DHCPv6服务器(DHCPv6:DynamicHostConfigurationProtocolVersion6,动态主机配置协议的IPv6版本,DHCPv6服务器:响应DHCPv6客户端请求,向DHCPv6客户端分配地址以及其它配置参数的节点)为IPv6主机/客户端(发出请求消息希望从DHCPv6服务器获取配置信息的IPv6节点)构建非连续IPv6地址的方法与系统。
背景技术
IPv6协议具有地址空间巨大的特点,但其长达128比特的IPv6地址使得手工配置IPv6地址十分困难,因此要求有一个高效合理的地址自动分配和管理策略。目前IPv6地址自动配置的方法有2种,即无状态地址配置和有状态地址配置。
IPv6无状态地址配置协议由RFC4862规定(RFC:RequestForComment,是由IETF管理的关于Internet的正式标准的文档),是目前广泛采用的IPv6地址自动配置方式。配置了该协议的主机只需相邻路由器开启IPv6路由公告功能,即可以根据公告报文包含的前缀信息自动配置本机地址。但无状态地址配置方案中路由器并不记录所连接的IPv6主机的具体地址信息,因此可管理性差。而且当前无状态地址配置方式不能使IPv6主机获取DNS服务器的地址和域名等配置信息,在可用性上有一定缺陷。
DHCPv6是动态主机配置协议的IPv6版本,协议基本规范由RFC3315定义,属于一种有状态地址自动配置协议。在地址配置过程中,DHCPv6服务器分配一个完整的IPv6地址给主机,并提供DNS服务器地址和域名等其它配置信息,这中间可能通过中继代理转交DHCPv6报文,而且最终服务器能把分配的IPv6地址和客户端的绑定关系记录在案,从而增强了网络的可管理性。
DHCPv6服务器中构建了IPv6地址池,现有的DHCPv6服务器构建了一段连续IPv6地址空间的IPv6地址池,可能有以下3种方式:
方式一:Poolminaddress-maxaddress,是以最小地址到最大地址的方式定义一个IPv6的地址范围,其中minaddress和maxaddress都是以IPv6地址格式描述。
方式二:Pooladdress/prefix-length,是以地址池前缀长度的方式描述一段IPv6地址,其中address是IPv6地址格式,而prefix-length是一个0~128之间的一个整数,定义了地址池前缀长度。
方式三:Pooladdresslist,是以逐一列出IPv6地址的方式构成,其中addresslist是由多个IPv6地址构成的,中间可用空格或逗号分开。
由于IPv6地址空间巨大,逐一列出IPv6地址的方式是比较繁琐的,因此一般使用的是前2种方式。其中方式二是最简便和最通用的构建方式。
发明内容
本发明提出一种构建IPv6地址池的方法与系统。使IPv6地址池能满足分配非连续IPv6地址的需求。
根据本发明的一方面,提出一种构建IPv6地址池的方法,包括以下步骤:构建IPv6地址池的地址范围,在所述地址范围内构建IPv6地址;在所述IPv6地址中构建递增位n,IPv6地址从第n位开始递增,其中,n为整数,取值范围为0~127;在后缀位中设定固定数值作为IPv6地址后缀,第0~(n-1)位为后缀位;根据IPv6地址池的地址范围、递增位和IPv6地址后缀标识IPv6地址池。
进一步,构建IPv6地址从第n位开始递增的操作,还包括以下步骤:递增到小于等于第(n+31)位。
进一步,根据IPv6地址池的地址范围、递增位和IPv6地址后缀标识IPv6地址池的操作,包括以下步骤:通过最小地址和最大地址表示IPv6地址池的地址范围,并标识递增位和IPv6地址后缀。
进一步,根据IPv6地址池的地址范围、递增位和IPv6地址后缀标识IPv6地址池的操作,包括以下步骤:通过起始IPv6地址与IPv6地址池前缀长度表示IPv6地址池的地址范围,并标识递增位和IPv6地址后缀,其中,设定IPv6地址从第n位开始递增直到第m位,m为整数,取值范围为n~127,所述IPv6地址池前缀长度为(127-m)。
进一步,根据IPv6地址池的地址范围、递增位和IPv6地址后缀标识IPv6地址池之后,还包括以下步骤:接收IPv6地址请求,从所述IPv6地址池中选择IPv6地址进行分配。
根据本发明的另一方面,还提出一种构建IPv6地址池的系统,包括:构建地址范围单元,构建IPv6地址池的地址范围,在所述地址范围内构建IPv6地址;构建递增位单元,在所述IPv6地址中构建递增位n,IPv6地址从第n位开始递增,其中,n为整数,取值范围为0~127;构建后缀单元,在后缀位中设定固定数值作为IPv6地址后缀,第0~(n-1)位为后缀位;地址池标识单元,根据IPv6地址池的地址范围、递增位和IPv6地址后缀标识IPv6地址池。
进一步,构建递增位单元设定递增到小于等于第(n+31)位。
进一步,地址池标识单元通过最小地址和最大地址表示IPv6地址池的地址范围,并标识递增位和IPv6地址后缀。
进一步,地址池标识单元通过起始IPv6地址与IPv6地址池前缀长度表示IPv6地址池的地址范围,并标识递增位和IPv6地址后缀,其中,设定IPv6地址从第n位开始递增直到第m位,m为整数,取值范围为n~127,所述IPv6地址池前缀长度为(127-m)。
进一步,系统还包括:IPv6地址分配服务器,当收到IPv6地址请求后,从所述IPv6地址池中选择IPv6地址进行分配。
与现有技术相比,本发明具有至少如下之一的优点和效果:
通过增加参数,使IPv6地址池能满足分配非连续IPv6地址的需求。这些地址包括嵌入了IPv4地址的IPv6地址、或使用某种特定后缀的地址等。
节省存储空间,减少由于IPv6地址不连续造成的浪费。
新增参数缺省时,与现有IPv6地址池构建方式一致,即不影响原IPv6地址池的使用,具有很好的兼容性。
只修改DHCPv6中的IPv6地址池,而不修改DHCPv6协议本身,对原有系统影响很小。
附图说明
图1为现有技术中IPv4地址。
图2为现有技术中IPv6地址。
图3为现有技术中IPv6地址分配示意图。
图4为本发明中构建IPv6地址池的方法流程图。
图5为本发明中分配IPv6地址的方法流程图。
图6为本发明中构建IPv6地址池的系统结构图。
图7为本发明构建IPv6地址池示例。
具体实施方式
当有主机向DHCPv6服务器申请地址时,DHCPv6服务器会从中按顺序或随机选取一个地址分配给该主机。但目前某些新的技术标准中所规定使用的IPv6地址并不是连续的IPv6空间,比如在IPv6地址中嵌入了IPv4地址(InternetProtocolVersion4,互联网协议第4版)或者使用某种特定后缀的地址,这样以顺序或随机方式选取的地址就可能不符合特定的地址格式,无法完成分配地址的功能。并且由于其中某些地址是不能分配的,所以这些地址浪费了存储空间。
这种情况下,只能采用逐一列举IPv6地址的方法来构建IPv6地址池,但由于IPv6地址空间巨大,逐一列出IPv6地址的方式比较繁琐,无法满足大规模部署使用的需求。因此需要一种新的构建IPv6地址池的方法,以满足分配上述特定IPv6地址的分配需求。
本发明在现有IPv6地址池的基础上加以改进,提出一种新构建的IPv6地址池,不仅可以满足分配特定IPv6地址的需求,这些地址包括嵌入了IPv4地址的IPv6地址、使用某种特定后缀的地址等,还能减少由于IPv6地址不连续造成的存储空间的浪费。
下面将结合附图和实施例对本发明进行详细说明。
IPv4地址长度为32位,如图1表示。为便于人们的使用,IPv4地址将32位分为4段,每段为8位,每一个8位位组用0~255之间的一个十进制数表示。这些数之间用点(.)隔开,这是所谓的点分十进制格式。如:202.106.0.20,192.168.1.1。
IPv6地址扩展到128位,是IPv4地址长度的4倍,如图2表示。IPv6地址采用了新的表示方法,将IPv6地址的128位(16个字节)写成8个16位的无符号整数,每个整数用四个十六进制位表示,这些数之间用冒号(:)分开,形式是X:X:X:X:X:X:X:X,其中,X是十六进制值。例如:ABCD:EF01:2345:6789:ABCD:EF01:2345:6789,2001:0DB8:0000:0000:0008:0800:200C:417A。每一组数值前面的0可以省略。如0000写成0,0008写成8,上面第二个地址可写为:2001:DB8:0:0:8:800:200C:417A。
简化地址表示形式。某些时候IPv6地址中会包含长串0位,为了简化包含0位地址的书写,可以使用两个冒号“::”简化多个0位的16位组。“::”符号在一个地址中只能出现一次。该符号也可以用来压缩地址中前部和尾部的0。举例如下:
2001:DB8:0:0:8:800:200C:417A单点传送地址
FF01:0:0:0:0:0:0:101多点传送地址
0:0:0:0:0:0:0:1回送地址
0:0:0:0:0:0:0:0未指定地址
可用下面的压缩形式表示:
2001:DB8::8:800:200C:417A单点传送地址
FF01::101多点传送地址
::1回送地址
::未指定地址
通用的IPv6地址分配系统是由IPv6地址分配服务器和IPv6主机/客户端构成,其中IPv6地址分配服务器负责分配IPv6地址,该服务器自身带有一个通用的IPv6地址池。系统中需要申请IPv6地址的设备可能是计算机、家庭网关或其他设备,这里统一用IPv6主机/客户端表示。如图3所示。由需要获得IPv6地址的IPv6主机/客户端发起IPv6地址请求到IPv6地址分配服务器,请求一个IPv6地址。IPv6地址分配服务器收到请求后,从其自身的IPv6地址池中选取一个空闲的IPv6地址。IPv6地址分配服务器使用IPv6地址响应,将其返回给申请地址的IPv6主机/客户端。
DHCPv6服务器中构建了IPv6地址池,当有主机向其申请地址时,DHCPv6服务器会从中按顺序或随机方式选取一个地址分配给该主机。目前IPv6地址池的构成主要为,方式一:Poolminaddress-maxaddress,方式二:Pooladdress/prefix-length。比如,用方式二构建了一个IPv6地址池,形式为:Pool2001:c68:300::/48,则其地址池应为如下格式,共有280个IPv6地址可以使用。
表1一般IPv6地址池示意(后面的√表示地址可用)
2001:c68:300:0:0:0:0:0
2001:c68:300:0:0:0:0:1
2001:c68:300:0:0:0:0:2
2001:c68:300:0:0:0:0:3
2001:c68:300:0:0:0:0:4
2001:c68:300:0:0:0:0:5
2001:c68:300:0:0:0:0:6
2001:c68:300:0:0:0:0:7
2001:c68:300:0:0:0:0:8
2001:c68:300:0:0:0:0:9
2001:c68:300:0:0:0:0:a
2001:c68:300:0:0:0:0:b
2001:c68:300:0:0:0:0:c
2001:c68:300:0:0:0:0:d
2001:c68:300:0:0:0:0:e
2001:c68:300:0:0:0:0:f
2001:c68:300:0:0:0:0:10
2001:c68:300:0:0:0:0:11
2001:c68:300:0:0:0:0:12
……
2001:c68:300:ffff:ffff:ffff:ffff:fffd
2001:c68:300:ffff:ffff:ffff:ffff:fffe
2001:c68:300:ffff:ffff:ffff:ffff:ffff
但目前某些新的技术标准中所规定使用的IPv6地址并不是连续的IPv6空间,比如,在IPv6地址中嵌入了IPv4地址,即在128位的IPv6地址中嵌入了32位IPv4地址,按照IPv4地址的变化组成不同的IPv6地址。或者使用某种特定后缀的地址,比如,一种IPv6地址分配要求最后的16位为1(0001),那么上面的地址池就为:
表2地址池中16位后缀为::1的IPv6地址
2001:c68:300:0:0:0:0:0
2001:c68:300:0:0:0:0:1
2001:c68:300:0:0:0:0:2
2001:c68:300:0:0:0:0:3
……
2001:c68:300:0:0:0:0:fffe
2001:c68:300:0:0:0:0:ffff
在上述情况下,只有右面一列打钩(√)的地址符合规定,以顺序或随机方式选取的地址就可能不符合这种特定的地址格式,无法完成分配地址的功能。并且由于其中某些地址是不能分配的,所以这些地址浪费了存储空间。本例中后缀为16位,在216=65536个地址中只有一个地址可用。如果后缀要求的位数更多,浪费的地址空间也更多。因此需要一种新的构建IPv6地址池的方法,以满足分配上述特定IPv6地址的分配需求。
本发明是在原有的IPv6地址池构建方式之上新增了参数step和suffix,用于描述非连续IPv6地址构成的IPv6地址池。当这2个参数缺省时,所构建的IPv6地址池与原有IPv6地址池完全相同。下面对本发明构建地址池的方式进行说明。
方式一:Poolminaddress-maxaddress,step,suffix。方式一中的地址池是以最小地址到最大地址的方式定义一个IPv6地址池的地址范围,新增的参数用于说明该地址池中的地址在哪位开始递增,以及进一步确定该地址的后缀。
最小地址minaddress为起始IPv6地址,最大地址maxaddress为结束IPv6地址。这2个地址均为128比特的IPv6地址,数据格式为IPv6地址格式。
递增位Step,用于构建所述IPv6地址池的地址从第n位开始递增,其中,n为整数,取值范围是0~127。该参数缺省不写时取值为0,与原有的IPv6地址池描述方式相同,表示从最后一位开始递增。所以,n的取值范围可以是1~127,与现有技术限定了不同的地址范围。
地址后缀Suffix,描述地址池的统一后缀,第0~(n-1)位为后缀位,在后缀位中设定固定数值作为IPv6地址后缀。该参数缺省不写时不修改后缀,所有地址的后缀与minaddress中定义的地址后缀相同。
根据上述定义,对于表2所规定的地址需求,用方式一可描述为:Pool2001:c68:300::-2001:c68:300:ffff:ffff:ffff:ffff:1,16,::1。该IPv6地址池表示起始地址为2001:c68:300::,结束地址为2001:c68:300:ffff:ffff:ffff:ffff:1,step为16表示IPv6地址从第16位开始递增。后缀::1表示后缀为1。或由minaddress来定义后缀,表示方式为:Pool2001:c68:300::1-2001:c68:300:ffff:ffff:ffff:ffff:1,16。
方式二:Pooladdress/prefix-length,step,suffix。方式二中的地址池是以地址池前缀长度的方式描述一段IPv6地址,新增的参数说明该地址池中的地址在哪位开始递增,以及进一步确定该地址的后缀。
起始IPv6地址Address,该地址为128比特的IPv6地址,数据格式为IPv6地址格式。
地址池前缀长度Prefix-length,该参数是一个0~128之间的一个整数,定义了地址池前缀长度,其与Address一起定义了一个IPv6地址池的地址范围。
递增位Step,用于构建所述IPv6地址池的地址从第n位开始递增,其中,n为整数,取值范围是0~127。该参数从128位地址的最后一位地址开始计算。该参数缺省不写时取值为0,与原有的IPv6地址池描述方式相同,表示从最后一位开始递增。所以,n的取值范围可以是1~127,与现有技术限定了不同的地址范围。
地址后缀Suffix,描述本地址池的统一后缀,第0~(n-1)位为后缀位,在后缀位中设定固定数值作为IPv6地址后缀。该参数缺省不写时表示后缀为0。
根据上述定义,对于表2所规定的地址需求,用方式二可描述为:Pool2001:c68:300::/56,16,::1。表示地址池前缀长度为56,从2001:c68:300::开始,递增位为16,后缀为::1。
IPv6地址池构建之后,其应该至少包括如下内部信息:
占用状态:可以为空闲/占用/保留。0为空闲,1为占用,3为保留。保留地址是给某个主机分配固定的IPv6地址的一种方式,不受租约时间的限制,也不会变为空闲状态分给其他用户使用;
IPv6地址:有效的IPv6地址格式;
租约:IPv6地址可继续使用的时间,单位:秒;
用户信息:地址被分配给哪个用户,可以是用户名或MAC地址。
基于上述改进的IPv6地址池,本发明提出一种构建IPv6地址池的方法,具体流程如图4所示。
在步骤401,构建IPv6地址池的地址范围,在所述地址范围内构建IPv6地址。
在步骤402,在IPv6地址中构建递增位n,IPv6地址从第n位开始递增,其中,n为整数,取值范围为0~127。进一步,构建IPv6地址从第n位开始递增的操作,还可以包括以下步骤:递增到小于等于第(n+31)位,用以表示在IPv6地址中嵌入IPv4地址。
在步骤403,在后缀位中设定固定数值作为IPv6地址后缀,第0~(n-1)位为后缀位。
在步骤404,根据IPv6地址池的地址范围、递增位和IPv6地址后缀标识IPv6地址池。
标识地址池可以通过以下两种方式,第一种:通过最小地址和最大地址表示IPv6地址池的地址范围,并标识递增位和IPv6地址后缀。第二种:通过起始IPv6地址与IPv6地址池前缀长度表示IPv6地址池的地址范围,并标识递增位和IPv6地址后缀,其中,设定IPv6地址从第n位开始递增直到第m位,m为整数,取值范围为n~127,所述IPv6地址池前缀长度为(127-m)。
本发明的上述流程已完成构建地址池的操作,即根据IPv6地址池的地址范围、递增位和IPv6地址后缀标识IPv6地址池之后,在该地址池的基础上,还可以执行地址分配的操作。如图5所示,本发明还可以包括以下步骤:
在步骤501,当IPv6地址分配服务器收到IPv6地址请求后,从所述IPv6地址池中选择一个IPv6地址。
在步骤502,查看所选择的IPv6地址的状态,如果这个地址是占用的或保留的,执行步骤503,否则执行步骤504。在地址池构建之后,根据地址的分配状况来填写上述内部信息,比如,占用状态、IPv6地址、租约、用户信息等,当分配地址时,查看已填写的内部信息。
在步骤503,继续选择,直到找到一个空闲的IPv6地址,执行步骤504。
在步骤504,将IPv6地址状态改为占用,并填写租约和用户信息等。
在租约到期之前,主机可继续申请更新及延长租约,IPv6地址分配服务器在收到请求后,可重新更新租约,以延长该地址的使用时间。如果租约到期后还没有收到更新租约的请求,则释放该IPv6地址,删除用户信息,并将其状态改为空闲。
在步骤505,IPv6地址分配服务器使用IPv6地址响应,返回已选择的IPv6地址,用于地址分配。
本发明在现有IPv6地址池的基础上加以改进,提出一种新构建的IPv6地址池,不仅可以满足分配特定IPv6地址的需求,这些地址包括嵌入了IPv4地址的IPv6地址、使用某种特定后缀的地址等,还能减少由于IPv6地址不连续造成的存储空间的浪费。
图6为本发明提出的一种构建IPv6地址池的系统结构图。所述系统包括构建地址范围单元、构建递增位单元、构建后缀单元以及地址池标识单元。下面对上述各个单元进行详细说明。
构建地址范围单元,构建IPv6地址池的地址范围,在所述地址范围内构建IPv6地址。
构建递增位单元,在所述IPv6地址中构建递增位n,IPv6地址从第n位开始递增,其中,n为整数,取值范围为0~127。所以,n的取值范围可以是1~127,与现有技术限定了不同的地址范围。其中,构建递增位单元还可以设定递增到小于等于第(n+31)位,用以表示在IPv6地址中嵌入IPv4地址。
构建后缀单元,在后缀位中设定固定数值作为IPv6地址后缀,第0~(n-1)位为后缀位。
地址池标识单元,根据IPv6地址池的地址范围、递增位和IPv6地址后缀标识IPv6地址池。
地址池标识单元可以通过最小地址和最大地址表示IPv6地址池的地址范围,并标识递增位和IPv6地址后缀。地址池标识单元也可以通过起始IPv6地址与IPv6地址池前缀长度表示IPv6地址池的地址范围,并标识递增位和IPv6地址后缀,其中,设定IPv6地址从第n位开始递增直到第m位,m为整数,取值范围为n~127,所述IPv6地址池前缀长度为(127-m)。
此外,本发明所述构建IPv6地址池的系统,还可以包括:IPv6地址分配服务器,用于在收到IPv6地址请求后,从所述IPv6地址池中选择IPv6地址进行分配。
具体的,IPv6地址分配服务器收到IPv6地址请求后,从所述IPv6地址池中选择一个IPv6地址,查看所选择的IPv6地址的状态。由于在地址池构建之后,根据地址的分配状况来填写上述内部信息,比如,占用状态、IPv6地址、租约、用户信息等,所以,当分配地址时,查看已填写的内部信息,并根据内部进行执行分配操作。如果这个地址是占用的或保留的,则继续选择,直到找到一个空闲的IPv6地址,将该地址的状态改为占用,并填写租约和用户信息等,IPv6地址分配服务器使用IPv6地址响应,返回已选择这个的IPv6地址。
下面以具体实施例对本发明的方法和系统进行说明。本发明提出的构建IPv6地址池的方法及系统,能满足分配特定IPv6地址的分配需求。这些地址包括嵌入了IPv4地址的IPv6地址、及使用某种特定后缀的地址等。
图7描述了一个特定的IPv6地址池,其中,IPv6地址由IPv6地址前缀、IPv4地址及全0后缀构成。IPv4地址范围:219.142.69.0/24,对应于16进制表示方法为DB8E:4500----DB8E:45FF,如表3所示。
表3改进后的IPv6地址池
2001:c68:db8e:4500:0000:0000:0000:0000
2001:c68:db8e:4501:0000:0000:0000:0000
2001:c68:db8e:4502:0000:0000:0000:0000
2001:c68:db8e:4503:0000:0000:0000:0000
2001:c68:db8e:4504:0000:0000:0000:0000
2001:c68:db8e:4505:0000:0000:0000:0000
2001:c68:db8e:4506:0000:0000:0000:0000
2001:c68:db8e:4507:0000:0000:0000:0000
2001:c68:db8e:4508:0000:0000:0000:0000
2001:c68:db8e:4509:0000:0000:0000:0000
2001:c68:db8e:450a:0000:0000:0000:0000
2001:c68:db8e:450b:0000:0000:0000:0000
2001:c68:db8e:450c:0000:0000:0000:0000
2001:c68:db8e:450d:0000:0000:0000:0000
2001:c68:db8e:450e:0000:0000:0000:0000
2001:c68:db8e:450f:0000:0000:0000:0000
2001:c68:db8e:4510:0000:0000:0000:0000
2001:c68:db8e:4511:0000:0000:0000:0000
2001:c68:db8e:45fd:0000:0000:0000:0000
2001:c68:db8e:45fe:0000:0000:0000:0000
2001:c68:db8e:45ff:0000:0000:0000:0000
改进后的IPv6地址池中每一个IPv6地址都是有效地址,本地址池可以用方式一构成:Pool2001:c68:db8e:4500::-2001:c68:db8e:45ff,64,::。该地址池的起始地址为2001:c68:db8e:4500::,结束地址为2001:c68:db8e:45ff::,递增位为第64位,后缀为0。或省略后缀,简化为:Pool2001:c68:db8e:4500::-2001:c68:db8e:45ff,64。
或者该地址池可以用方式二构成:Pool2001:c68:db8e:4500::/56,64,::。从图6可以看出,IPv6地址前缀长度为32位,在IPv6地址中嵌入的IPv4地址的高24位不变,也就是说,对于IPv6地址而言,有32+24=56位是固定不变的,并且作为IPv6地址池的前缀,那么,IPv6地址池前缀长度为56。或者从递增位的角度看,是从第64位开始递增,即n=64,因为IPv4地址的高24位不变,只有低8位在递增,所以递增8位就是一直递增到第71位,即m=71。所述IPv6地址池前缀长度为127-m=56。递增位为第64位,后缀为0。或省略后缀,简化为:Pool2001:c68:db8e:4500::/56,64。
本发明在原有IPv6地址池之上,增加递增位和地址后缀2个参数,使其构成通用IPv6地址池,满足分配非连续IPv6地址的需求,这些地址包括嵌入了IPv4地址的IPv6地址、或使用某种特定后缀的地址等。新增加的参数如果缺省,与原有IPv6地址池完全相同,因此与原有IPv6地址池完全兼容。本发明涉及到的系统和方法适用在所有可能分配IPv6地址的地方,如DHCPv6服务器、IPv6隧道网关、IPv4/IPv6协议翻译网关等,且不限于上述列举的场合。

Claims (6)

1.一种构建IPv6地址池的方法,包括以下步骤:
构建IPv6地址池的地址范围,在所述地址范围内构建IPv6地址;
在所述IPv6地址中构建递增位n,IPv6地址从第n位开始递增,其中,n为整数,取值范围为1~127;
在后缀位中设定固定数值作为IPv6地址后缀,所述地址后缀描述地址池的统一后缀,第0~(n-1)位为后缀位;
根据IPv6地址池的地址范围、递增位和IPv6地址后缀标识IPv6地址池,以构建非连续IPv6地址构成的IPv6地址池;
接收IPv6地址请求,从所述IPv6地址池中选择IPv6地址进行分配,即,查看所选择的IPv6地址的状态,如果这个地址是占用的或保留的,继续选择,直到找到一个空闲的IPv6地址;
其中,通过起始IPv6地址与IPv6地址池前缀长度表示IPv6地址池的地址范围,并标识递增位和IPv6地址后缀,其中,设定IPv6地址从第n位开始递增直到第m位,m为整数,取值范围为n~127,所述IPv6地址池前缀长度为(127-m)。
2.根据权利要求1所述构建IPv6地址池的方法,其中,构建IPv6地址从第n位开始递增的操作,还包括以下步骤:递增到小于等于第(n+31)位。
3.根据权利要求1所述构建IPv6地址池的方法,其中,根据IPv6地址池的地址范围、递增位和IPv6地址后缀标识IPv6地址池的操作,包括以下步骤:
通过最小地址和最大地址表示IPv6地址池的地址范围,并标识递增位和IPv6地址后缀。
4.一种构建IPv6地址池的系统,包括:
构建地址范围单元,构建IPv6地址池的地址范围,在所述地址范围内构建IPv6地址;
构建递增位单元,在所述IPv6地址中构建递增位n,IPv6地址从第n位开始递增,其中,n为整数,取值范围为1~127;
构建后缀单元,在后缀位中设定固定数值作为IPv6地址后缀,所述地址后缀描述地址池的统一后缀,第0~(n-1)位为后缀位;
地址池标识单元,根据IPv6地址池的地址范围、递增位和IPv6地址后缀标识IPv6地址池,以构建非连续IPv6地址构成的IPv6地址池;
IPv6地址分配服务器,当收到IPv6地址请求后,从所述IPv6地址池中选择IPv6地址进行分配,即,查看所选择的IPv6地址的状态,如果这个地址是占用的或保留的,则继续选择,直到找到一个空闲的IPv6地址;
其中,所述地址池标识单元通过起始IPv6地址与IPv6地址池前缀长度表示IPv6地址池的地址范围,并标识递增位和IPv6地址后缀,其中,设定IPv6地址从第n位开始递增直到第m位,m为整数,取值范围为n~127,所述IPv6地址池前缀长度为(127-m)。
5.根据权利要求4所述构建IPv6地址池的系统,其中,构建递增位单元设定递增到小于等于第(n+31)位。
6.根据权利要求4所述构建IPv6地址池的系统,其中,地址池标识单元通过最小地址和最大地址表示IPv6地址池的地址范围,并标识递增位和IPv6地址后缀。
CN201010239311.5A 2010-07-27 2010-07-27 一种构建IPv6地址池的方法与系统 Active CN102340551B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010239311.5A CN102340551B (zh) 2010-07-27 2010-07-27 一种构建IPv6地址池的方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010239311.5A CN102340551B (zh) 2010-07-27 2010-07-27 一种构建IPv6地址池的方法与系统

Publications (2)

Publication Number Publication Date
CN102340551A CN102340551A (zh) 2012-02-01
CN102340551B true CN102340551B (zh) 2016-02-03

Family

ID=45516047

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010239311.5A Active CN102340551B (zh) 2010-07-27 2010-07-27 一种构建IPv6地址池的方法与系统

Country Status (1)

Country Link
CN (1) CN102340551B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297554B (zh) * 2012-03-02 2016-09-28 深圳市中兴通讯技术服务有限责任公司 IPv4和IPv6兼容处理的方法及装置
CN109636256B (zh) * 2019-01-30 2022-04-12 四川长虹电器股份有限公司 一种mes系统的mac地址管理方法
CN110690943B (zh) * 2019-09-26 2020-06-26 中兴通讯股份有限公司 数据编码方法、解码方法、编解码方法、设备及存储介质
CN110809066A (zh) * 2019-09-30 2020-02-18 奇安信科技集团股份有限公司 IPv6地址生成模型创建方法、装置及地址生成方法
CN115733820A (zh) * 2022-11-01 2023-03-03 海尔优家智能科技(北京)有限公司 地址前缀的分配方法及装置、存储介质及电子装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212494A (zh) * 2006-12-31 2008-07-02 中国科学院计算技术研究所 基于关键字和优先级的层次性IPv6网络地址分配方法
CN101626406A (zh) * 2009-08-20 2010-01-13 杭州华三通信技术有限公司 Dhcp地址池配置方法、dhcp地址分配方法和系统及dhcp服务器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212494A (zh) * 2006-12-31 2008-07-02 中国科学院计算技术研究所 基于关键字和优先级的层次性IPv6网络地址分配方法
CN101626406A (zh) * 2009-08-20 2010-01-13 杭州华三通信技术有限公司 Dhcp地址池配置方法、dhcp地址分配方法和系统及dhcp服务器

Also Published As

Publication number Publication date
CN102340551A (zh) 2012-02-01

Similar Documents

Publication Publication Date Title
CN100502413C (zh) Dhcp中继为dhcp客户端请求ip地址的方法
CN102340551B (zh) 一种构建IPv6地址池的方法与系统
CN103888551B (zh) 一种网络中的因特网协议地址获取方法、中继设备及系统
CN102340546B (zh) IPv6地址分配方法及系统
CN100583904C (zh) 一种ipv6网络中主机地址的自动配置方法
US20060159086A1 (en) Device of dynamically assigning variable length prefixes for IP network equipments
WO2010069181A1 (zh) Ipv6地址配置方法和系统
CN110913031A (zh) 一种IPv6网络地址配置方法
CN103384282B (zh) 一种获取ipv6nd地址的方法及bras
CN101764856A (zh) 一种ip地址分配方法和网关
CN102447746B (zh) 信息提供方法及家庭网关、家庭网络系统
CN101572692A (zh) 一种ip地址分配方法、系统及设备
US10432579B2 (en) Internet protocol address allocation method and router
WO2015066840A1 (zh) 一种网络地址转换设备及方法
CN102984288A (zh) 一种自动管理IPv6地址冲突的方法及系统
CN104333610A (zh) 一种IPv6地址分配方法和装置
CN1744596B (zh) IPv6网络中主机获取网络配置参数的方法
CN110995883A (zh) 基于EUI-64的DHCPv6固定地址配置的方法、系统及存储介质
WO2014101891A1 (zh) 一种配置ip地址方法和设备
CN102017563B (zh) 用于Diameter前缀授权的方法、设备和系统
CN103312708A (zh) 一种基于租约文件的ip设定方法及系统
CN102291470A (zh) 一种ip地址分配方法
CN103179227A (zh) IPv6网络中的主机选择和切换地址配置方式的方法
US20080307079A1 (en) Apparatus and Method For Managing Addresses of Network Elements
US9450909B2 (en) Method of and a processing device handling a protocol address in a network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant