CN105530328A - 使用布隆过滤器参数用于唯一地址计算的地址自动配置 - Google Patents

使用布隆过滤器参数用于唯一地址计算的地址自动配置 Download PDF

Info

Publication number
CN105530328A
CN105530328A CN201510674392.4A CN201510674392A CN105530328A CN 105530328 A CN105530328 A CN 105530328A CN 201510674392 A CN201510674392 A CN 201510674392A CN 105530328 A CN105530328 A CN 105530328A
Authority
CN
China
Prior art keywords
network equipment
bloom filter
bit
reservation
bit vector
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
CN201510674392.4A
Other languages
English (en)
Other versions
CN105530328B (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.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN105530328A publication Critical patent/CN105530328A/zh
Application granted granted Critical
Publication of CN105530328B publication Critical patent/CN105530328B/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5092Address allocation by self-assignment, e.g. picking addresses at random and testing if they are already in use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及使用布隆过滤器参数用于唯一地址计算的自动配置。在一个实施例中提供了一种方法,该方法包括通过网络设备基于将布隆过滤器参数应用到由网络设备自动配置的候选地址生成布隆过滤器比特向量;以及通过网络设备选择性地重复对候选地址的自动配置直到相应布隆过滤器比特向量包括在为网络设备保留的保留比特向量位置处被置位的比特,该保留比特向量位置提供在链路层域内的候选地址的唯一性。

Description

使用布隆过滤器参数用于唯一地址计算的地址自动配置
技术领域
本公开一般涉及通过互联网协议(IP)数据网络中的主机网络设备进行的地址自动配置,更具体地涉及使用布隆过滤器(BloomFilter)参数用于唯一地址计算的自动配置。
背景技术
该部分描述了能够被使用的方法,但不必是先前已经被设想或使用的方法。因此,除非特别指示,否则该部分描述的任何方法不是该申请的现有技术,并且该部分描述的任何方法不被认为是该部分包括的现有技术。
现有的无状态自动配置技术使能IPv6设备(如主机设备)响应于接收的指定由通告路由设备通告的链路前缀的路由通告消息,生成其自己的自动配置的IPv6地址。IPv6设备能够基于将链路前缀与后缀(如扩展唯一标识符(EUI-64)链路层设备地址、随机生成的数等)相连接来生成自动配置的IPv6地址。
IPv6设备发起重复地址检测(DAD)过程以确定另一个IPv6设备是否使用该自动配置的IPv6地址:IPv6设备可以基于广播/多播查询(如邻居请求消息)到链路层域中的全部IPv6设备发起DAD过程;替换地,IPv6设备可以发送单播地址注册消息到路由器并且等待路由器的未检测到任何重复地址的通知。
发明内容
在一个实施例中,一种方法包括通过网络设备基于将布隆过滤器参数应用到由网络设备自动配置的候选地址来生成布隆过滤器比特向量;以及通过网络设备选择性地重复对候选地址的自动配置直到相应布隆过滤器比特向量包括在为网络设备保留的保留比特向量位置处被置位的比特,保留比特向量位置提供在链路层域内的候选地址的唯一性。
在另一实施例中,一种装置包括存储器电路和处理器电路。存储器电路被配置为存储布隆过滤器参数和为装置保留的一个或多个保留比特向量位置的标识。处理器电路被配置为基于将布隆过滤器参数应用到由处理器电路自动配置的候选地址来生成布隆过滤器比特向量。处理器电路还被配置为选择性地重复对候选地址的自动配置直到相应布隆过滤器比特向量包括在至少一个保留比特向量位置处被置位的比特,至少一个保留比特向量位置提供在链路层域内的候选地址的唯一性。
在另一实施例中,逻辑被编码在一个或多个非暂态有形介质中,该逻辑用于由机器执行并且当被机器执行时能够操作用于:通过网络设备基于将布隆过滤器参数应用到由网络设备自动配置的候选地址来生成布隆过滤器比特向量;以及通过网络设备选择性地重复对候选地址的自动配置直到相应布隆过滤器比特向量包括在为网络设备保留的保留比特向量位置处被置位的比特,保留比特向量位置提供在链路层域内的候选地址的唯一性。
在另一实施例中,一种方法包括:通过第一网络设备分配一个或多个保留比特向量位置给连接到第一网络设备的第二网络设备;以及第一网络设备发送至少指定一个或多个保留比特向量位置的消息到第二网络设备,使得第二网络设备能够自动配置出在第一网络设备的链路层域内是唯一的地址,这是基于第二网络设备确定将布隆过滤器参数应用到地址产生了具有在一个或多个保留比特向量位置处被置位的至少一个比特的布隆过滤器比特向量。
在另一实施例中,一种装置包括存储器电路和处理器电路。处理器电路被配置为分配一个或多个保留比特向量位置给连接到装置的网络设备。设备接口电路被配置为发送至少指定一个或多个保留比特向量位置的消息到网络设备,使得网络设备能够自动配置出在装置的链路层域内是唯一的地址,这是基于网络设备确定将布隆过滤器参数应用到地址产生了具有在一个或多个保留比特向量位置处被置位的至少一个比特的布隆过滤器比特向量。
在另一实施例中,逻辑被编码在一个或多个非暂态有形介质中用于由机器执行并且当被机器执行时能够操作用于:通过第一网络设备分配一个或多个保留比特向量位置给连接到第一网络设备的第二网络设备;以及第一网络设备发送至少指定一个或多个保留比特向量位置的消息到第二网络设备,使得第二网络设备能够自动配置出在第一网络设备的链路层域内是唯一的地址,这是基于第二网络设备确定将布隆过滤器参数应用到地址产生了具有在一个或多个保留比特向量位置处被置位的至少一个比特的布隆过滤器比特向量。
附图说明
参考附图,其中在附图中具有相同附图标记的元件表示相似的元件,并且其中:
图1根据示例实施例图示说明具有用于提供布隆过滤器参数到网络设备用于由网络设备进行唯一地址计算的装置的示例系统。
图2是根据示例实施例图示说明图1的设备的任何一个的简图。
图3根据示例实施例图示说明提供布隆过滤器参数到网络设备用于由网络设备进行唯一地址计算的示例方法。
图4根据示例实施例图示说明对用于由网络设备进行地址计算的保留布隆过滤器比特位置的示例分配。
图5根据示例实施例图示说明提供布隆过滤器参数到网络设备用于由网络设备进行唯一地址计算的示例通告消息。
具体实施方式
具体实施例使能数据网络(如,IPv6网络)中的每个网络设备,基于映射到布隆过滤器比特向量的自动配置的IPv6地址,保证其自动配置的设备网络地址(如,IPv6地址)至少在链路层域内是唯一的,该布隆过滤器比特向量包括在为网络设备保留的保留比特向量位置处设置的比特。
在大型IPv6网络中的重复地址检测(DAD)的传统部署能够使得在IPv6网络中大量传播多播流量,尤其在具有成千上万或更多的传感器节点的物联网(IoT)网络中。此外,现有邻居发现技术需要网络设备防卫其IP地址,其在电池供电的、资源受限的设备(诸如在延长时间周期内维持空闲状态(如,“休眠”)的传感器设备)中是不实际的。
布隆过滤器是空间效率概率数据结构,其被被实现为“N”位的比特阵列以测试元素是否是一个集合的成员:测试结果是元素“可能在集合中”或“明确不在集合中”;因此,在布隆过滤器中误报(falsepositive)结果是可能的,但漏报(falsenegative)是不可能的。
根据示例实施例,布隆过滤器可以被用来使能网络设备自动配置候选设备地址到唯一地址值。数据网络中的每个网络设备被分配相应的未被分配给数据网络中的任何其它网络设备的一个或多个保留比特向量位置。网络设备可以选择性地重复地址自动配置直到候选设备地址映射到具有在一个或多个保留比特向量位置处被置位的比特的布隆过滤器比特向量;换句话说,网络设备不被允许使用自动配置的网络地址,除非网络地址(根据规定的用于生成布隆过滤器比特向量的哈希函数)映射到具有在保留比特向量位置处被置位的比特的布隆过滤器比特向量。(一个或多个)保留比特向量位置可以通过网络设备从第二网络设备接收以使能网络设备验证候选网络地址的唯一性,第二网络设备被授权分配该(一个或多个)保留比特向量位置;换句话说,该(一个或多个)保留比特向量位置不被分配给至少在链路层域内或数据网络的规定域内(如,规定的自主系统内)的任何其它网络设备。分配该(一个或多个)保留比特向量位置的设备可以是提供接入链路到网络设备用于到达数据网络的交换设备,或与网络设备通信的另一设备。分配该(一个或多个)保留比特向量位置的设备(如,交换设备或路由设备)可以与其它网络设备合作以,例如基于网络设备分配独有布隆过滤器比特向量范围,保证保留比特向量位置之间的唯一性。
因此,示例实施例完全地消除了对重复地址检测(DAD)消息的需要,因为每个网络设备能够基于(一个或多个)保留比特向量位置自动配置网络地址,该网络地址是唯一的。因此,示例实施例在使用大量主机网络设备的大规模网络(诸如部署的具有传感器设备的物联网(IoT))内提供可扩展地址自动配置,这基于一个或多个网络设备(即,“分配网络设备”)分配(一个或多个)独有保留比特向量位置到连接到分配保留比特向量位置的一个或多个分配网络设备的一个或多个网络设备,使能每个网络设备自动配置IPv6地址,该IPv6地址至少在分配网络设备的链路层域内是唯一的。
图1是根据示例实施例图示说明具有为网络10中的网络设备16提供链路层连接14的一个或多个分配网络设备12的示例网络10的简图。该网络可以被实现为局域网(LAN)和/或广域网(WAN)。每个分配网络设备(例如被示为交换设备,如SW1、SW2、SW3、SW4和SW5)12可以被配置为提供链路层连接14,该链路层连接14使能网络设备16根据规定的链路层协议和/或路由协议附连到相应交换设备12。每个分配网络设备12可以被实现为链路层(层2)接入设备(诸如有线或无线链路层接入设备)、链路层交换机、无线LAN控制器和/或网络层(层3)路由设备等。因此,分配网络设备12还可以被称为“第一跳(first-hop)”网络设备或“接入设备”,其为网络设备16提供接入网络10的链路层。为了方便,分配网络设备12将被称为“交换设备”12。
每个链路层连接14可以是有线链路(如,以太网/IEEE80210/100/1000MB/s)14a或无线链路(如,WiFi、红外、蓝牙等)14b。因此,每个网络设备16可以具有与一个或多个交换设备12的一个或多个有线链路14a和/或一个或多个无线链路14b。示例网络设备可以是传感器设备(如,IoT“智能尘埃”),该传感器设备具有有线或无线设备接口电路用于在网络10中有线或无线通信。
每个交换设备12还可以具有一个或多个内部交换链路18,该内部交换链路18可以将交换设备12连接到另一交换设备12、路由设备、服务器设备等用于在交换设备12之间传输数据分组。
如下面参考图3-5进一步详细地描述,交换设备12可以在彼此之间分配在全网络布隆过滤器比特向量的范围内的规定保留空间。因此,每个交换设备12可以发送来自规定的保留空间的一个或多个保留比特向量位置到每个附连的网络设备16,其提供整个网络10内的候选IPv6地址的唯一性。
图2根据示例实施例图示说明图1的设备12和/或16的任何一个的示例实现。每个装置12和/或16是被配置为通过网络10实现与其它物理机器12和/或16网络通信的物理机器(即,硬件设备)。此处关于指定操作使用的术语“被配置为”或“被配置用于”指设备和/或机器被物理地构建和布置以执行指定操作。因此,装置12和/或16是网络使能的(提供到网络的用户接入的用户机器)/通过网络10实现网络通信的机器。
每个装置12和/或16可以包括设备接口电路40、处理器电路42和储存器电路44。设备接口电路40可以包括一个或多个不同物理层收发器用于与其它设备12和/或16的任何一个通信;设备接口电路40还可以包括基于IEEE的以太网收发器用于通过链路14和/或18(如有线或无线链路、光链路等)的任何一个与图1的设备通信。处理器电路42可以被配置为执行此处描述的任何操作,并且存储器电路44可以被配置为存储此处描述的任何数据或数据分组。
公开的设备12和/或16的电路(包括设备接口电路40、处理器电路42、存储器电路44和它们相关联的组件)的任何一个可以以多种形式被实现。公开的电路的示例实现包括硬件逻辑,该硬件逻辑以逻辑阵列(诸如可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA))被实现,或通过掩膜编程集成电路(诸如专用集成电路(ASIC))被实现。这些电路中的任何一个还可以使用基于软件的可执行资源被实现,该可执行资源通过相应内部处理器电路(诸如微处理器电路(未示出))被执行;以及使用一个或多个集成电路被实现,其中存储在内部存储器电路中(如,存储器电路44内)的可执行代码的执行使得(一个或多个)集成电路:实现处理器电路以将应用状态变量存储在处理器存储器中,生成执行此处描述的电路操作的可执行应用资源(如,应用实例)。因此,在该说明书中使用的术语“电路”指使用一个或多个集成电路实现的基于硬件的电路或基于软件的电路二者,该基于硬件的电路包括逻辑用于执行所述的操作,该基于软件的电路包括(使用一个或多个集成电路实现的)处理器电路,处理器电路包括保留部分的处理器存储器用于存储通过由处理器电路对可执行代码的执行而被修改的应用状态数据和应用变量。存储器电路44可以例如使用非易失性存储器(诸如可编程只读存储器(PROM)或EPROM)和/或易失性存储器(诸如DRAM等)被实现。
此外,对“输出消息”或“输出分组”(等)的任何引用可以基于生成数据结构形式的消息/分组并且将该数据结构存储在所公开的装置(如,发送缓冲器)中的非暂态有形存储器介质中被实现。对“输出消息”或“输出分组”(等)的任何引用还可以包括通过通信介质(如,有线或无线链路,视情况而定)将存储在非暂态有形存储器介质中的消息/分组电子传输(也可以使用光传输,视情况而定)到另一网络节点。类似地,对“接收消息”或“接收分组”(等)的任何引用可以基于公开的装置检测消息/分组在通信介质上电子(或光)传输并且将检测的传输作为数据结构存储在所公开的装置(如,接收缓冲器)中的非暂态有形存储器介质中被实现。还应该注意存储器电路44可以例如基于存储器地址分配和处理器电路42执行的分区,通过处理器电路42被动态地实现。
图3根据示例实施例图示说明提供布隆过滤器参数到网络设备用于由网络设备进行唯一地址计算的示例方法。图4根据示例实施例图示说明了对用于由网络设备进行唯一地址计算的保留布隆过滤器比特位置的示例分配。图5根据示例实施例图示说明提供布隆过滤器参数到网络设备用于由网络设备进行的唯一地址计算的示例通告消息。
关于任何附图描述的操作可以被实现为存储在计算机或机器可读非暂态有形存储介质(如,软盘、硬盘、ROM、EEPROM、非易失性RAM、CD-ROM等)中的可执行代码,该操作基于使用一个或多个集成电路实现的处理器电路执行代码被完成;此处所述的操作还可以被实现为被编码在一个或多个非暂态有形介质中用于执行的可执行逻辑(如,可编程逻辑阵列或设备、现场可编程门阵列、可编程阵列逻辑、专用集成电路等)。
此外,关于任何附图描述的操作可以以任何顺序或至少一些操作并行地被执行。此处所述的操作的执行仅是说明性的;同样地,操作不必需要通过此处描述的基于机器的硬件组件被执行;相反地,其它基于机器的硬件组件可以被用来以任何合适的顺序或至少一些操作并行地执行所公开的操作。
参见图3,每个交换设备(如,SW1)的处理器电路42可以在操作50中分配N位布隆过滤器比特向量20(图4)中专门为相应交换设备(如,SW1)12保留的规定的布隆过滤器比特范围(如,22a)。如图4中所示,每个布隆过滤器比特范围22是整个N位网络布隆过滤器比特向量范围20的子集。布隆过滤器比特范围22a、22b、22c、22d和22e被专门保留给交换设备SW1、SW2、SW3、SW4和SW5;因此,交换设备SW112不允许任何附连的网络设备16使用被映射到具有在规定的布隆过滤器比特范围22a之外被置位的比特的布隆过滤器比特向量的网络设备地址;类似的,交换设备SW2、SW3、SW4和SW5不允许任何映射到各自范围22b、22c、22d和22e之外被置位的比特的网络设备地址。范围22a的大小可以基于在网络10的域内交换设备12的数目“J”与N位网络比特向量20相比,其中每个比特范围22(Nsw)的大小可以等于位数N除以交换设备12的数目(J),即“Nsw=N/J”。
交换设备“SW1”12的处理器电路42可以在操作52中例如响应于检测到来自一个或多个连接的网络设备16的路由请求消息,检测已经连接到交换设备的一个或多个网络设备16。响应于检测到网络设备16,交换设备“SW1”的处理器电路42可以在操作54a中分配来自保留布隆过滤器比特范围22a的一个或多个保留比特向量位置(图4中的24)用于由网络设备16专门地使用。
交换设备“SW1”12的处理器电路42可以在操作56中生成包含专门分配给该一个网络设备16的(一个或多个)保留比特向量位置24的路由通告消息(图5中的26);路由通告消息26被单播传播到网络设备16用于仅由网络设备16使用。
图5图示说明由交换设备“SW1”生成的示例路由通告信息26,该路由通告信息26包含使能由网络设备16进行唯一地址自动配置的布隆过滤器参数36。布隆过滤器参数36可以包括专门分配给该一个网络设备16的(一个或多个)保留比特向量位置24。布隆过滤器参数36还可以指定用于生成布隆过滤器比特向量的哈希函数28。路由通告还可以指定要被用于地址自动配置的网络地址前缀(如IPv6地址前缀)30。
如图5中所示的,路由通告消息26可以指定用来将候选自动配置的地址映射到N位布隆过滤器比特向量中的相应一个或多个比特的一个或多个哈希函数“Hx”、“Hy”。(一个或多个)保留比特向量位置24可以指定要被设置在N位布隆过滤器比特向量中的特定比特32或指定的范围34。具体地,保留比特向量位置24a说明特定比特“B(l,i,j)”32a要被设置为N位布隆过滤器比特向量20中的“l”,其中“l”标识第一保留比特分配。“i”标识网络设备(如“节点”)“i”,以及“j”标识交换设备“j”。因此,特定比特“B(l,i,j)”32a标识专门为附连到交换设备“j”12的节点“i”16保留的第一保留比特。类似地,该保留比特向量位置24b说明特定比特“B(2,i,j)”32b(其是与“B(l,i,j)”32a不同的位)是专门为附连到交换设备“j”12的节点“i”16保留的。其它的保留比特向量位置可以被分配以增加满足唯一性需要的可用的保留比特向量位置的数目。
因此,在节点“i”可以使用自动配置的地址之前,通过附连到交换设备“j”12的节点“i”16自动配置的任何候选地址必须通过哈希函数“Hx”或“Hy”的任意一个被映射到具有在保留比特向量位置“B(l,i,j)”、“B(2,i,j)”等的至少一个上(如,内)被置位的比特的布隆过滤器比特向量。换句话说,候选地址可以被使用,只要哈希函数的任何一个在一个或多个保留比特向量位置24上设置位。(一个或多个)保留比特向量位置24还可以被表述为标识各个保留位置(如,位置“5”,“7”,“12”,“13”,“14”,“17”和“201”(十进制))的一系列整数值(如,“5,7,12-14,17,201”)。
在路由通告消息26以独有保留范围34a和34b的形式指定保留比特向量位置24c和24d的情况下,范围34a可以指定通过附连到交换设备“j”12的节点“i”16自动配置的任何候选地址必须通过哈希函数“Hx”或“Hy”被映射以范围“R(x,i,j)”34a或“R(y,i,j)”34b内设置一个或多个比特。范围34可以是连续部分的比特,例如通过交换设备“SW1”12专门保留的部分22a中的比特0-15。范围34的大小(N_device)可以是基于通过交换设备12专门保留的部分22的大小(Nsw)除以被允许加入交换机的设备的最大数目“I_max”,其中:
N_device=Nsw/I_max
因此,每个网络设备16可以专门保留一个或多个保留比特向量位置24,该一个或多个保留比特向量位置24在网络10的域内提供任意候选IPv6地址的唯一性。
参考图3,请求网络设备16的设备接口电路在操作58中接收指定布隆过滤器参数36的路由通告消息26,该布隆过滤器参数36例如包括一个或多个保留比特向量位置24和哈希函数设置28以用来生成布隆过滤器比特向量。
连接的网络设备16的处理器电路42在操作60中使用在路由通告消息26中指定的IPv6地址前缀30生成自动配置的候选IPv6地址。连接的网络设备16的处理器电路42在操作62中基于应用布隆过滤器参数36为候选IPv6地址生成布隆过滤器比特向量(如,“候选IPv6布隆过滤器比特向量”或“IPv6地址比特向量”),该布隆过滤器参数36包括路由通告消息26的布隆过滤器参数36中指定的哈希函数设置28。
连接的网络设备16的处理器电路42在操作64中确定IPv6地址比特向量是否具有被设置在为网络设备16保留的一个或多个保留比特向量位置24上的一个或多个比特。如果在操作64中,处理器电路42确定候选IPv6地址的相应布隆过滤器比特向量不具有在为网络设备16保留的保留比特向量位置处的至少一个置位比特,则处理器电路42重复操作60中的自动配置以再次尝试获得该唯一IPv6地址。
如果在操作64中,候选IPv6地址的布隆过滤器比特向量具有在为网络设备16保留的、提供唯一性的保留比特向量位置处被置位(set)的至少一个比特,则已经确认自动配置的IPv6地址的唯一性的处理器电路42在操作66中可以发送指定该唯一IPv6地址的邻居通告消息到交换设备12。邻居通告消息还可以指定为网络设备16保留但未在候选IPv6地址的布隆过滤器比特向量中被置位的一个或多个未使用的比特向量位置,使能交换设备12将未使用的比特向量位置保留给另一网络设备16。
优选地,交换设备12还可以测试IPv6地址相对(一个或多个)保留的比特位置24的唯一性,以例如确保唯一性需要和/或确保非法网络设备16未使用不正确的IPv6地址:IPv6地址唯一性可以基于在交换设备12在操作68中将唯一IPv6地址存储在本地地址表中之前,将路由通告消息存储在具有规定的超时间隔(如,2分钟)的待定缓存中来进行测试。根据偏好,该测试可以针对每个IPv6地址前缀被随机地或周期性地完成。
交换设备在操作70中还可以添加设备布隆过滤器比特向量到由交换机维持的用于连接的网络设备16的本地交换专用比特向量,和/或到基于在许多交换专用比特向量上执行按位或运算的全网络比特向量。
根据示例实施例,网络中的每个网络设备可以被分配独有布隆过滤器比特位置,该独有比特位置使能网络设备自动配置地址,该地址在该网络内是唯一的。网络设备自动配置在网络内是唯一的网络地址的要求消除了重复地址检测的必要性,确保大规模网络可以在初始网络部署期间以最小网络负载是扩展的。示例实施例在IoT网络中尤其有效,根据RFC6775实现针对低功耗和有损网络(RPL)的路由协议,因为布隆过滤器比特位置的范围可以通过路由器被委派给其子节点,使能子节点进一步转委派布隆过滤器比特位置的委派的范围。
虽然本公开中的示例实施例结合当前被认为是执行所附权利要求中指定的主题的最佳模式已经被描述,但是应当理解示例实施例仅是说明性的,并且不限制所附权利要求中指定的主题。

Claims (20)

1.一种方法,包括:
通过网络设备基于将布隆过滤器参数应用到由所述网络设备自动配置的候选地址来生成布隆过滤器比特向量;以及
通过所述网络设备选择性地重复对所述候选地址的自动配置直到相应布隆过滤器比特向量包括在为所述网络设备保留的保留比特向量位置处被置位的比特,所述保留比特向量位置提供在链路层域内的所述候选地址的唯一性。
2.根据权利要求1所述的方法,还包括:
所述网络设备从第二网络设备接收指定所述布隆过滤器参数和一个或多个所述保留比特向量位置的单播消息;
在所述链路层域内,所述一个或多个保留比特向量位置已经被所述第二网络设备保留给所述网络设备。
3.根据权利要求2所述的方法,其中所述布隆过滤器参数指定要被所述网络设备生成的所述布隆过滤器比特向量的比特长度以及用于生成所述相应布隆过滤器比特向量的一个或多个哈希函数。
4.根据权利要求1所述的方法,其中在布隆过滤器比特向量中的为所述网络设备保留的一个或多个保留比特向量位置基于下列中的一项被标识:
所述布隆过滤器比特向量中的特定比特位置被设置为1并且被保留给所述网络设备,并且所有其它比特被设置为0;或者
所述布隆过滤器比特向量中的至少一个连续组的比特位置被保留给所述网络设备。
5.一种装置,包括:
存储器电路,所述存储器电路被配置为存储布隆过滤器参数和为所述装置保留的一个或多个保留比特向量位置的标识;以及
处理器电路,所述处理器电路被配置为基于将所述布隆过滤器参数应用到由所述处理器电路自动配置的候选地址来生成布隆过滤器比特向量;
所述处理器电路还被配置为选择性地重复对所述候选地址的自动配置直到相应布隆过滤器比特向量包括在至少一个保留比特向量位置处被置位的比特,所述至少一个保留比特向量位置提供在链路层域内的所述候选地址的唯一性。
6.根据权利要求5所述的装置,还包括设备接口电路,所述设备接口电路被配置为从网络设备接收指定所述布隆过滤器参数和一个或多个保留比特向量位置的标识的单播消息,一个或多个保留比特向量位置的所述标识已经在所述链路层域内被所述网络设备保留给所述装置。
7.根据权利要求6所述的装置,其中所述布隆过滤器参数指定要被所述网络设备生成的所述布隆过滤器比特向量的比特长度以及用于生成所述相应布隆过滤器比特向量的一个或多个哈希函数。
8.根据权利要求5所述的装置,其中在布隆过滤器比特向量中的为所述网络设备保留的一个或多个保留比特向量位置基于下列中的一项被标识:
所述布隆过滤器比特向量中的特定比特位置被设置为1并且被保留给所述网络设备,并且所有其它比特被设置为0;或者
所述布隆过滤器比特向量中的至少一个连续组的比特位置被保留给所述网络设备。
9.被编码在一个或多个非暂态有形介质中的逻辑,该逻辑用于由机器执行并且当被所述机器执行时能够操作用于:
通过网络设备基于将布隆过滤器参数应用到由所述网络设备自动配置的候选地址来生成布隆过滤器比特向量;以及
通过所述网络设备选择性地重复对所述候选地址的自动配置直到相应布隆过滤器比特向量包括在为所述网络设备保留的保留比特向量位置处被置位的比特,所述保留比特向量位置提供在链路层域内的所述候选地址的唯一性。
10.一种方法,包括:
通过第一网络设备分配一个或多个保留比特向量位置给连接到所述第一网络设备的第二网络设备;以及
所述第一网络设备发送至少指定所述一个或多个保留比特向量位置的消息到所述第二网络设备,使得所述第二网络设备能够自动配置出在所述第一网络设备的链路层域内是唯一的地址,这是基于所述第二网络设备确定将布隆过滤器参数应用到所述地址产生了具有在所述一个或多个保留比特向量位置处被置位的至少一个比特的布隆过滤器比特向量。
11.根据权利要求10所述的方法,还包括:
在所述链路层域内分配所述一个或多个保留比特向量位置;
作为单播消息被发送到所述第二网络设备的所述消息指定所述布隆过滤器参数和所述一个或多个保留比特向量位置。
12.根据权利要求11所述的方法,其中所述布隆过滤器参数指定要被所述网络设备生成的所述布隆过滤器比特向量的比特长度以及用于生成相应布隆过滤器比特向量的一个或多个哈希函数。
13.根据权利要求10所述的方法,其中在所述布隆过滤器比特向量中的所述一个或多个保留比特向量位置基于下列中的一项被标识:
所述布隆过滤器比特向量中的特定比特位置被设置为1并且被保留给所述网络设备,并且所有其它比特被设置为0;或者
所述布隆过滤器比特向量中的至少一个连续组的比特位置被保留给所述网络设备。
14.根据权利要求10所述的方法,还包括:
在网络中的所述第一网络设备和其它网络设备之间分配规定的布隆过滤器比特范围,所述第一网络设备使用被专门保留给所述第一网络设备的相应的规定的布隆过滤器比特范围;以及
从所述相应的规定的布隆过滤器比特范围中分配所述一个或多个保留比特向量位置给所述第二网络设备,确保由所述第二网络设备自动配置的地址在所述网络的域内是唯一的。
15.一种装置,包括:
处理器电路,所述处理器电路被配置为分配一个或多个保留比特向量位置给连接到所述装置的网络设备;以及
设备接口电路,所述设备接口电路被配置为发送至少指定所述一个或多个保留比特向量位置的消息到所述网络设备,使得所述网络设备能够自动配置出在所述装置的链路层域内是唯一的地址,这是基于所述网络设备确定将布隆过滤器参数应用到所述地址产生了具有在所述一个或多个保留比特向量位置处被置位的至少一个比特的布隆过滤器比特向量。
16.根据权利要求15所述的装置,其中所述处理器电路还被配置为在所述链路层域内分配所述一个或多个保留比特向量位置,作为单播消息被发送到所述网络设备的所述消息指定所述布隆过滤器参数和所述一个或多个保留比特向量位置。
17.根据权利要求16所述的装置,其中所述布隆过滤器参数指定要被所述网络设备生成的所述布隆过滤器比特向量的比特长度以及用于生成相应布隆过滤器比特向量的一个或多个哈希函数。
18.根据权利要求15所述的装置,其中在所述布隆过滤器比特向量中的所述一个或多个保留比特向量位置基于下列中的一项被标识:
所述布隆过滤器比特向量中的特定比特位置被设置为1并且被保留给所述网络设备,并且所有其它比特被设置为0;或者
所述布隆过滤器比特向量中的至少一个连续组的比特位置被保留给所述网络设备。
19.根据权利要求15所述的装置,其中所述处理器电路还被配置为:
在网络中的其它网络设备和所述装置之间分配规定的布隆过滤器比特范围,所述装置使用被专门保留给所述装置的相应的规定的布隆过滤器比特范围;以及
从所述相应的规定的布隆过滤器比特范围分配所述一个或多个保留比特向量位置给所述网络设备,确保由所述网络设备自动配置的地址在所述网络的域内是唯一的。
20.被编码在一个或多个非暂态有形介质中的逻辑,该逻辑用于由机器执行并且当被所述机器执行时能够操作用于:
通过第一网络设备分配一个或多个保留比特向量位置给连接到所述第一网络设备的第二网络设备;以及
所述第一网络设备发送至少指定所述一个或多个保留比特向量位置的消息到所述第二网络设备,使得所述第二网络设备能够自动配置出在所述第一网络设备的链路层域内是唯一的地址,这是基于所述第二网络设备确定将布隆过滤器参数应用到所述地址产生了具有在所述一个或多个保留比特向量位置处被置位的至少一个比特的布隆过滤器比特向量。
CN201510674392.4A 2014-10-17 2015-10-16 使用布隆过滤器参数用于唯一地址计算的方法和装置 Active CN105530328B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/516,799 US9608863B2 (en) 2014-10-17 2014-10-17 Address autoconfiguration using bloom filter parameters for unique address computation
US14/516,799 2014-10-17

Publications (2)

Publication Number Publication Date
CN105530328A true CN105530328A (zh) 2016-04-27
CN105530328B CN105530328B (zh) 2019-05-10

Family

ID=54337118

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510674392.4A Active CN105530328B (zh) 2014-10-17 2015-10-16 使用布隆过滤器参数用于唯一地址计算的方法和装置

Country Status (3)

Country Link
US (1) US9608863B2 (zh)
EP (1) EP3010208A1 (zh)
CN (1) CN105530328B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018108009A1 (zh) * 2016-12-13 2018-06-21 华为技术有限公司 一种物联网中节点的地址确定方法和装置
CN110191202A (zh) * 2019-05-06 2019-08-30 视联动力信息技术股份有限公司 一种设备接入地址确定方法及装置
CN110704419A (zh) * 2018-06-21 2020-01-17 中兴通讯股份有限公司 数据结构、数据索引方法、装置及设备、存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11057342B2 (en) * 2014-12-09 2021-07-06 Telefonaktiebolaget L M Ericsson (Publ) Network address translation
EP3268873B1 (en) * 2015-03-09 2020-06-24 Intel Corporation Memcached systems having local caches
US9979650B1 (en) * 2015-03-30 2018-05-22 Juniper Networks, Inc. Forwarding packets using a probabilistic filter and a grouping technique
US9842132B2 (en) * 2015-10-23 2017-12-12 International Business Machines Corporation Bloom filter index for device discovery
US10042875B2 (en) 2016-09-26 2018-08-07 International Business Machines Corporation Bloom filter index for device discovery
CN107332776B (zh) * 2017-06-19 2020-04-07 深圳市盛路物联通讯技术有限公司 一种边缘转发节点的路由信息表更新方法及边缘转发节点
CN114902607A (zh) * 2019-11-22 2022-08-12 向心网络公司 防止与域名系统相关联的攻击的方法和系统
CN112714040B (zh) * 2020-12-11 2022-10-28 深圳供电局有限公司 全息报文检测方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080263353A1 (en) * 2007-04-23 2008-10-23 Ralph Edward Droms Autoconfigured prefix delegation based on distributed hash
CN101901248A (zh) * 2010-04-07 2010-12-01 北京星网锐捷网络技术有限公司 一种布隆过滤器的生成、更新以及查询元素方法和装置
CN102238244A (zh) * 2010-04-20 2011-11-09 特拉博斯股份有限公司 用于网络地址配置的方法和设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7602785B2 (en) * 2004-02-09 2009-10-13 Washington University Method and system for performing longest prefix matching for network address lookup using bloom filters
US7333464B2 (en) * 2006-02-01 2008-02-19 Microsoft Corporation Automated service discovery and wireless network set-up
US7636703B2 (en) * 2006-05-02 2009-12-22 Exegy Incorporated Method and apparatus for approximate pattern matching
US7633921B2 (en) 2006-11-21 2009-12-15 Cisco Technology, Inc. Mobile network automatic tunnels
US8045558B2 (en) 2007-04-23 2011-10-25 Cisco Technology, Inc. Extensions to IPv6 neighbor discovery protocol for automated prefix delegation
US8219800B2 (en) 2007-06-06 2012-07-10 Cisco Technology, Inc. Secure neighbor discovery router for defending host nodes from rogue routers
US8266427B2 (en) 2007-06-08 2012-09-11 Cisco Technology, Inc. Secure mobile IPv6 registration
KR100962653B1 (ko) * 2008-07-24 2010-06-11 이화여자대학교 산학협력단 블룸 필터 및 복수 해싱 구조를 사용한 ip 주소 검색방법 및 장치
US7990973B2 (en) * 2008-08-13 2011-08-02 Alcatel-Lucent Usa Inc. Hash functions for applications such as network address lookup
US8018940B2 (en) * 2008-08-13 2011-09-13 Alcatel Lucent Network address lookup based on bloom filters
US8301650B1 (en) 2008-12-19 2012-10-30 Google, Inc. Bloom filter compaction
JP5716554B2 (ja) 2011-06-06 2015-05-13 富士通株式会社 検索プログラム、検索方法、検索装置、およびノード
US9060001B2 (en) 2011-10-25 2015-06-16 Cisco Technology, Inc. Prefix and predictive search in a distributed hash table
US10387324B2 (en) * 2011-12-08 2019-08-20 Intel Corporation Method, apparatus, and system for efficiently handling multiple virtual address mappings during transactional execution canceling the transactional execution upon conflict between physical addresses of transactional accesses within the transactional execution
US8792360B2 (en) 2012-04-30 2014-07-29 Fujitsu Limited Duplicate packet suppression
CN105122745B (zh) * 2013-02-27 2019-06-28 马维尔国际贸易有限公司 用于网络设备的高效最长前缀匹配技术

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080263353A1 (en) * 2007-04-23 2008-10-23 Ralph Edward Droms Autoconfigured prefix delegation based on distributed hash
CN101901248A (zh) * 2010-04-07 2010-12-01 北京星网锐捷网络技术有限公司 一种布隆过滤器的生成、更新以及查询元素方法和装置
CN102238244A (zh) * 2010-04-20 2011-11-09 特拉博斯股份有限公司 用于网络地址配置的方法和设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018108009A1 (zh) * 2016-12-13 2018-06-21 华为技术有限公司 一种物联网中节点的地址确定方法和装置
CN110704419A (zh) * 2018-06-21 2020-01-17 中兴通讯股份有限公司 数据结构、数据索引方法、装置及设备、存储介质
CN110191202A (zh) * 2019-05-06 2019-08-30 视联动力信息技术股份有限公司 一种设备接入地址确定方法及装置
CN110191202B (zh) * 2019-05-06 2020-11-20 视联动力信息技术股份有限公司 一种设备接入地址确定方法及装置

Also Published As

Publication number Publication date
EP3010208A1 (en) 2016-04-20
US20160112254A1 (en) 2016-04-21
CN105530328B (zh) 2019-05-10
US9608863B2 (en) 2017-03-28

Similar Documents

Publication Publication Date Title
CN105530328A (zh) 使用布隆过滤器参数用于唯一地址计算的地址自动配置
EP3207690B1 (en) Duplicate address detection based on distributed bloom filter
Shelby et al. Neighbor discovery optimization for IPv6 over low-power wireless personal area networks (6LoWPANs)
US11611530B2 (en) Address generation for networks
US10873896B2 (en) Minimizing link layer discovery based on advertising access technology parameters in a multimode mesh network
US10129202B2 (en) Optimizing global IPv6 address assignments
Hui et al. IPv6 in low-power wireless networks
US8472348B2 (en) Rapid network formation for low-power and lossy networks
CN101663878B (zh) 对用于自动前缀委派的IPv6邻居发现协议的扩展
JP6997382B2 (ja) 階層ベースrplネットワークのためのネットワークアドレスの割り当て及び再利用
JP4838360B2 (ja) 移動ネットワークにおけるループ検出
US20150085696A1 (en) Method for Discovering Neighboring Nodes in Wireless Networks
Hsu et al. Prime DHCP: a prime numbering address allocation mechanism for MANETs
KR20110106229A (ko) 동적 라우트 네트워크에서의 디바이스들의 정적 어드레싱
EP4274368A3 (en) Method and system for communicating between private mesh network and public network
CN103037361A (zh) 基于Ad-hoc的无线Mesh网络中的IP分配系统及方法
Li et al. A novel and efficient address configuration for MANET
Shin et al. IPv6 lightweight stateless address autoconfiguration for 6LoWPAN using color coordinators
JP2004364109A (ja) テンポラリアドレス通信装置、プログラム、記録媒体、および方法
Wang et al. Dynamic and hierarchical IPv6 address configuration for a mobile ad hoc network
US20180124013A1 (en) Enforcing privacy addressing
Taghiloo et al. New approach for address auto-configuration in manet based on virtual address space mapping (vasm)
Hickman et al. A variable length address assignment scheme for 6LoWPAN
Wang et al. A distributed address configuration scheme for a MANET
CN115426334B (zh) 网络地址生成方法、装置、路由设备及存储介质

Legal Events

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