用于生成网际协议版本6唯一本地地址的方法和设备的制作方法

xiaoxiao2020-9-10  13

专利名称:用于生成网际协议版本6唯一本地地址的方法和设备的制作方法
技术领域
本发明涉及网际协议版本6(IPv6),并且更具体地,涉及IPv6唯一本地地址(unique local address,ULA)的生成。
背景技术
IPv6使用IPv6全局地址、IPv6链路本地地址等。IPv6全局地址必须在整个IPv6地址系统中被唯一指定,而IPv6链路本地地址只需要在每个链路中被唯一指定。
尽管只在本地区域中使用IPv6唯一本地地址(ULA),但是需要在整个IPv6地址系统中唯一指定IPv6唯一本地地址。
请求建议(request for comments RFC)4193提供了用于生成IPv6ULA的规则。根据RFC 4193,使用网络时间协议(NTP)生成IPv6 ULA,并且在整个IPv6地址系统中唯一指定该IPv6 ULA。NTP用于同步网络终端的时间。
然而,在不支持使用NTP的技术的本地网络中,根据RFC 4193不生成IPv6 ULA。

发明内容
本发明的各个方面提供一种用于不需要网络时间协议(NTP)而生成具有唯一性的IPv6唯一本地地址(ULA)的方法和设备。
下面将在说明书中部分阐述本发明的附加方面和/或优点,并且其部分从说明书中将是显而易见的,或可以通过本发明的实践而了解到。
本发明的各个方面也提供了一种用于存储执行生成IPv6 ULA的方法的计算机可读程序的计算机可读记录介质。
根据本发明的一方面,提供了一种用于生成IPv6唯一本地地址(ULA)的方法,该方法包括使用关于由路由器使用的通用即插即用(UPnP)装置的唯一信息而生成64位的第一值;使用关于由路由器使用的接口装置的唯一信息而生成改进的64位扩展唯一标识符(EUI-64);通过连接64位的第一值和改进的EUI-64而生成128位的第二值;通过向128位的第二值施加安全哈希算法-1(SHA-1)而生成160位的第三值;并通过从160位的第三值中提取40位而生成全局ID。
根据本发明的另一方面,提供了一种用于生成IPv6ULA的设备,该设备包括第一值生成器,使用关于由路由器使用的UPnP装置的唯一信息而生成64位的第一值;改进EUI-64的生成器,使用关于由路由器使用的接口装置的唯一信息而生成改进的EUI-64;第二值生成器,通过连接64位的第一值和改进的EUI-64而生成128位的第二值;SHA-1应用单元,通过向128位的第二值施加SHA-1而生成160位的第三值;以及全局ID生成器,通过从160位的第三值中提取40位而生成全局ID。
除了上述示例性实施例和及各个方面,通过参考附图和学习下面的说明书,其它方面和实施例将变得明显。


当结合附图进行阅读时,通过下面对示例性实施例和权利要求书的详细描述,对本发明更好的理解将变得显而易见,所有这些都组成本发明的公开的一部分。尽管下面所写和所说明的公开关注于公开本发明的示例性实施例,但是应该清楚地理解其只是通过说明和示例的方式,并且本发明不限于此。本发明的精神和范围只由所附的权利要求书的各项来限制。下面描述附图的简要说明,其中图1是根据本发明的示例性实施例的IPv6唯一本地地址(ULA)的框图;图2是根据本发明的示例性实施例的使用IPv6链路本地地址的示例性链路的框图;图3是根据本发明的示例性实施例的使用IPv6 ULA的示例性站点的框图;图4是根据本发明的示例性实施例的生成IPv6 ULA的方法的流程图;图5是根据本发明的另一示例性实施例的生成IPv6 ULA的方法的流程图;图6A是根据本发明的另一示例性的实施例的接口装置的EUI-64的框图;
图6B是根据本发明的另一示例性实施例的使用EUI-64的改进EUI-64的框图;图7A是根据本发明的另一示例性实施例的MAC地址的框图;以及图7B是根据本发明的另一示例性实施例的使用MAC地址的改进EUI-64的框图。
具体实施例方式
现在将详细参考本发明的实施例,其示例在附图中被说明,其中,在所有的附图中,相似的参考数字指代相似的元素。为了解释本发明,下面参考附图描述实施例。
图1是根据本发明的示例性实施例的IPv6 ULA的框图。参考图1,IPv6ULA是用于在网络中传输的数据分组的报头的一部分。IPv6 ULA包括前缀10、L位12、全局ID 14、子网ID 16、以及接口ID 18。
前缀10、L位12、全局ID 14、以及子网ID 16组成64位的ULA前缀。ULA前缀是IPv6ULA中的IPv6前缀。因而,本发明的当前实施例的IPv6 ULA满足IPv6地址包括IPv6前缀和接口ID 18的要求。
前缀10表示唯一本地地址(ULA)的地址。根据用于描述IPv6地址的RFC 3513中定义的规则,前缀10具有值“FC00::/7”,用于表示该前缀10具有7位以及具有值“1111110”。同时,IPv6链路本地地址具有值“FE80::/10”,表示前缀10具有“1111111010”的值。
L位12表示IPv6前缀是在本地站点指定的。IPv6全局地址使用由管理IPv6地址的协会分配的全局路由前缀,而IPv6 ULA是在本地站点指定的。因而,L位12具有为1的值。
全局ID 14具有40位的值,其可以使用下述方法来生成。
子网ID 16表示包括其中使用IPv6 ULA的站点上的路由器(未示出)的子网的ID,并具有16位的值。
接口ID 18表示从路由器接收ULA前缀的主机装置的ID,并且具有64位值。
图2是使用IPv6链路本地地址的链路20的框图。链路20是包括路由器22和多个主机的网络的一部分。由于主机可以直接在链路20中传输数据,所以主机不必通过路由器22。因而,主机使用IPv6链路本地地址在链路20中进行通信。
图3是使用IPv6 ULA的站点30的框图。参考图3,站点30包括多个链路。本发明的IPv6 ULA被使用在站点或站点组中。为了方便,现在将描述用在站点30中的IPv6 ULA。
站点30可以包括连接站点30的内部和外部网络的路由器36。当链路32的主机向站点30的另一链路的主机发送数据时,包括传输主机的链路32的路由器34检查数据分组,并确定链路32不包括接收主机。路由器34向外部链路发送该数据分组。因而,IPv6链路本地地址不能用于在包括于站点30中但处于不同链路的主机之间传输数据。IPv6 ULA用于在这些主机之间传输数据。
图4是根据本发明的示例性实施例的用于生成IPv6 ULA的方法的流程图。参考图4,使用关于在生成IPv6 ULA的路由器(或其它系统)中的通用即插即用(UPnP)装置的唯一信息而生成64位的第一值(操作100)。根据本实施例,从UPnP的通用唯一标识符(UUID)中提取低64位,以生成64位的第一值。然而,可以使用高64位或其他的64位来生成该64位的第一值。使用非UPnP装置的本发明的其它方面可以使用其它类型的唯一信息来提取唯一标识符,诸如设备序列号等。类似地,可以由需要创建IPv6 ULA全局前缀的任何系统执行该方法。
由于本发明的当前实施例的用于生成IPv6 ULA的方法使用关于UPnP装置的唯一信息而不是网络时间协议(NTP)的值,所以可以不使用NTP来生成具有唯一性的IPv6 ULA。而且,可以使用NTP来应用生成IPv6 ULA的方法。
路由器生成改进的扩展唯一标识符(EUI)-64信息(操作110)。该改进的EUI-64信息是使用接口装置的EUI-64或媒体访问控制(MAC)地址等生成的64位的值。
如果该接口装置具有,则该路由器(或其它系统)使用该接口装置的EUI-64来生成改进的EUI-64。如果该接口装置不具有EUI-64,则该路由器使用路由器的MAC地址来生成改进的EUI-64。如果该接口装置不具有EUI-64,则本发明的其它方面可以利用路由器的其它唯一信息,诸如序列号。将参考图6和7描述根据本发明的改进的EUI-64的生成。
使用64位的第一值和64位的改进的EUI-64的连接来生成128位的第二值(操作120)。
向128位的第二值施加安全哈希算法-1(SHA-1)来生成160位的第三值(操作130)。SHA-1是由美国国家标准技术局(NIST)开发的编码算法。SHA-1将264位以下的消息降低到160位的消息。
从160位的第三值中提取低40位来生成全局ID(操作140)。然而,可以使用高40位或其它的40位来生成全局ID。
图5是根据本发明的另一实施例的用于生成IPv6ULA的方法的流程图。参考图5,路由器(或其它系统)使用关于UPnP装置(或其它装置)以及接口装置的唯一信息如图4中所示生成全局ID(操作200)。
路由器将具有值为“FC00::/7”的前缀、具有值为“1”的L位、全局ID以及以前分配的子网ID组合,并生成ULA前缀(操作210)。
路由器向主机发送所生成的ULA前缀(操作220)。
如果子网使用IPv6地址自动配置,则该路由器将ULA前缀包括在路由器通告(RA)消息中,并将该RA消息发送到主机。
如果子网使用动态主机配置协议版本6(DHCPv6),则路由器将ULA前缀包括在DHCPv6选项中,并将该DHCPv6选项发送到该主机。
接收ULA前缀的主机生成64位的接口ID,将ULA前缀和64位的接口ID组合,并生成IPv6 ULA。
在执行地址冗余检查处理后使用IPv6 ULA。地址冗余检查处理将所广播的消息发送到链路或站点中的装置。
图6A是接口装置的EUI-64的框图。图6B是使用该EUI-64的改进的EUI-64的框图。参考图6A,当接口装置具有EUI-64时,生成改进的EUI-64。
接口装置的EUI-64包括EUI-64公司ID 40和EUI-64制造商选择的扩展标识符42。EUI-64公司ID 40是由IEEE注册协会分配给接口装置的公司的24位的值。EUI-64制造商选择的扩展标识符42是诸如接口装置制造商的接口装置的公司分配给接口装置的值。因而,接口装置的EUI-64具有单独的值。
EUI-64公司ID 40的第七位44是通用/本地位,如图6B中所示。根据当前实施例,依据IEEE EUI-64标准,该通用/本地位必须被指定为1。
因而,如果接口装置具有EUI-64,则将图6A中所说明的EUI-64选择为临时EUI-64,并且将该临时EUI-64的第七位指定为1(46)。
图7A是MAC地址的框图。图7B是使用该MAC地址的改进的EUI-64的框图。参考图7A,当接口装置不具有EUI-64时,生成改进的EUI-64。根据本发明的其它方面,如果接口装置不具有EUI-64,则可以使用对于路由器来说是唯一的其他号码(诸如序列号)。
MAC地址包括MAC公司ID 50和MAC供应商提供ID 52。MAC公司ID 50是由IEEE注册协会分配给接口装置的公司的24位的值。MAC供应商提供ID 52是接口装置的公司分配给接口装置的值。因而,接口装置的MAC地址具有单独的值。
由于MAC地址具有48位的值,所以需要16位(即2个8位字节的值)来生成64位的改进的EUI-64。该2个8位字节的值是临时填充(fill-in)的8位字节54。根据当前实施例,将具有值为“FF”和“FE”的临时填充的8位字节54插入到MAC公司ID 50和MAC供应商提供的ID 52中,以生成临时EUI-64。可以使用任何值来作为临时填充的8位字节。
如果接口装置使用MAC地址,与当接口装置使用EUI-64时一样,将该临时EUI-64的第七位的值指定为“1”。
由于根据本发明的生成IPv6 ULA的方法使用作为接口装置的唯一地址的EUI-64或MAC地址,所以可以生成唯一的IPv6 ULA。
也可以将本发明实现为计算机(包括具有信息处理功能的任何设备)可读代码,其位于计算机可读记录介质上。该计算机可读记录介质是可以存储此后可以被计算机系统读取的数据的任何数据存储装置。计算机可读记录介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘、以及光学数据存储装置。
依据根据本发明的用于生成IPv6 ULA的方法和设备,使用关于UPnP装置和接口装置的唯一信息来生成全局ID,并且使用该全局ID来生成IPv6ULA,因而无需NTP即可生成在整个IPv6地址系统中具有唯一性的IPv6ULA。
虽然已考虑本发明的示例性实施例而进行了解释和说明,但是本领域技术人员应理解,随着技术的发展,在不背离本发明的真实范围的情况下,可以做出各种改变和修改,并且用其等价物来替换其元素。在不背离其范围的情况下,可以做出许多修改、变换、增加以及子组合来适应本发明的教授,从而适应具体情况。例如,可以使用系统或接口装置的任何唯一标识符来替换UPnP标识符和EUI-64/MAC地址。类似地,可以由需要生成IPv6 ULA或IPv6 ULA成分的任何系统来执行所述方法。此外,意欲将这里所描述的处理(包括图4和图5所描述的)广泛解释为等价于由软件、硬件、或其组合执行的处理。硬件模块可以包括现场可编程门阵列(FPGA)或专用集成电路(ASIC)。可以以各种软件语言编写软件模块,包括C、C++、Java、VisualBasic、以及其它语言。因此,本发明意欲不限于所公开的各种示例性实施例,相反,本发明意欲包括落在所附权利要求书的范围内的所有实施例。
对相关申请的交叉引用本申请要求于2006年4月28日向韩国知识产权局提交的韩国专利申请NO.2006-39004的所有权益,其公开通过引用而被合并于此。
权利要求
1.一种生成IPv6唯一本地地址ULA的方法,该方法包括使用与网络装置相关的第一唯一信息来生成64位的第一值;使用第二唯一信息来生成改进的64位扩展唯一标识符EUI-64;通过将64位的第一值和改进的EUI-64连接而生成128位的第二值;通过向128位的第二值施加安全哈希算法-1,即SHA-1,而生成160位的第三值;以及通过从160位的第三值中提取40位而生成全局ID。
2.根据权利要求1所述的方法,其中,所述64位的第一值是由网络装置所使用的通用即插即用UPnP装置生成的,并且是该UPnP装置的通用唯一标识符UUID的低64位。
3.根据权利要求1所述的方法,其中,所述改进的EUI-64是由网络装置所使用的接口装置生成的,并且包括如果所述接口装置具有EUI-64,则将接口装置的EUI-64选择为临时EUI-64;以及将构成该临时EUI-64的位中的第七位的值指定为1。
4.根据权利要求1所述的方法,还包括使用全局ID地址和包括该网络装置的子网的子网ID来生成64位的ULA前缀;以及向包括在该子网中的主机发送ULA前缀。
5.根据权利要求4所述的方法,其中,所述向主机发送ULA前缀包括向主机发送包括ULA前缀的路由器通告RA消息。
6.一种生成IPv6唯一本地地址ULA的网络装置,包括第一值生成器,以使用与网络装置相关的唯一信息来生成64位的第一值;改进EUI-64生成器,生成改进的EUI-64;第二值生成器,通过将64位的第一值和改进的EUI-64连接而生成128位的第二值;SHA-1应用单元,通过向128位的第二值施加SHA-1而生成160位的第三值;以及全局ID生成器,通过从160位的第三值中提取40位而生成全局ID。
7.根据权利要求6所述的网络装置,其中,所述64位的第一值是网络装置的UPnP装置的通用唯一标识符UUID的低64位。
8.根据权利要求6所述的网络装置,其中,所述改进EUI-64生成器包括临时EUI-64生成器,根据接口装置是否具有EUI-64而使用网络装置的接口装置的EUI-64或网络装置的MAC地址来生成临时EUI-64;以及位值指定器,将构成该临时EUI-64的位中的第七位的值指定为1。
9.根据权利要求6所述的网络装置,还包括ULA前缀生成器,使用全局ID地址和包括所述网络装置的子网的子网ID来生成64位的ULA前缀;以及ULA前缀发送器,向包括在所述子网中的主机发送该ULA前缀。
10.根据权利要求9所述的网络装置,其中,所述ULA前缀发送器包括RA发送器,向主机发送包括ULA前缀的RA消息。
11.一种存储用来执行生成IPv6唯一本地地址ULA的方法的计算机可读程序的计算机可读介质,包括使用与网络装置相关的第一唯一信息来生成64位的第一值;使用第二唯一信息来生成改进的64位的EUI-64;通过将64位的第一值和改进的EUI-64连接而生成128位的第二值;通过向128位的第二值施加SHA-1而生成160位的第三值;以及通过从160位的第三值中提取40位而生成全局ID。
12.根据权利要求11所述的计算机可读介质,其中,所述64位的第一值是路由器的UPnP装置的通用唯一标识符UUID的低64位。
13.根据权利要求11所述的计算机可读介质,其中,所述改进的EUI-64是由网络装置所使用的接口装置生成的,并且包括如果所述接口装置具有EUI-64,则将接口装置的EUI-64选择为临时EUI-64;以及将构成该临时EUI-64的位中的第七位值指定为1。
14.根据权利要求11所述的计算机可读介质,其中,所述改进的EUI-64是由网络装置所使用的接口装置生成的,并且包括如果该接口装置不具有EUI-64位,则使用网络装置的媒体访问控制MAC地址生成临时EUI-64;以及将构成临时EUI-64的位中的第七位值指定为1。
15.根据权利要求11所述的计算机可读介质,还包括使用全局ID地址和包括所述路由器的子网的子网ID来生成64位的ULA前缀;以及向包括在该子网中的主机发送ULA前缀。
16.根据权利要求15所述的计算机可读介质,还包括向主机发送包括该ULA前缀的路由器通告RA消息。
17.根据权利要求15所述的计算机可读介质,其中,所述向主机发送ULA前缀包括向主机发送包括该ULA前缀的动态主机配置协议版本6DHCPv6选项。
18.根据权利要求1所述的方法,其中,所述改进的EUI-64是由网络装置所使用的接口装置生成的,并且包括如果所述接口装置不具有EUI-64,则使用路由器的媒体访问控制MAC地址生成临时EUI-64;以及将构成该临时EUI-64的位中的第七位的值指定为1。
19.根据权利要求4所述的方法,其中,所述向主机发送ULA前缀包括向主机发送包括该ULA前缀的动态主机配置协议版本6DHCPv6选项。
20.根据权利要求9所述的网络装置,其中,所述ULA前缀发送器包括DHCPv6发送器,向主机发送包括所述ULA前缀的DHCPv6选项。
全文摘要
提供了一种用于生成IPv6唯一本地地址(ULA)的方法和设备。该方法包括使用关于由路由器使用的通用即插即用(UPnP)装置的唯一信息而生成64位的第一值;使用关于由路由器使用的接口装置的唯一信息而生成改进的64位的EUI-64;通过连接64位第一值和改进的EUI-64而生成128位的第二值;通过向128位的第二值施加SHA-1而生成160位的第三值;并通过从160位的第三值中提取40位而生成全局ID。全局ID是使用关于UPnP装置和接口装置的唯一信息而生成的,并且该IPv6 ULA是使用该全局ID生成的,因而无需NTP即可生成在整个IPv6地址系统中具有唯一性的IPv6 ULA。
文档编号H04L12/56GK101064723SQ20071000588
公开日2007年10月31日 申请日期2007年2月28日 优先权日2006年4月28日
发明者朴洙洪, 黄哲柱 申请人:三星电子株式会社

最新回复(0)