CN102340551B - 一种构建IPv6地址池的方法与系统 - Google Patents
一种构建IPv6地址池的方法与系统 Download PDFInfo
- 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
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
技术领域
本发明属于以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地址后缀。
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)
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)
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服务器 |
-
2010
- 2010-07-27 CN CN201010239311.5A patent/CN102340551B/zh active Active
Patent Citations (2)
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 |