CN102202104B - 管理网络设备内的分布式地址池 - Google Patents
管理网络设备内的分布式地址池 Download PDFInfo
- Publication number
- CN102202104B CN102202104B CN201010530108.3A CN201010530108A CN102202104B CN 102202104 B CN102202104 B CN 102202104B CN 201010530108 A CN201010530108 A CN 201010530108A CN 102202104 B CN102202104 B CN 102202104B
- Authority
- CN
- China
- Prior art keywords
- address
- network
- network equipment
- request
- equipment
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
- H04L61/5014—Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5061—Pools of addresses
Abstract
总体上,本发明描述了用于管理网络设备内的分布式地址池的技术。包括控制单元和至少一个接口的网络设备可以实施这些技术。控制单元存储定义由网络设备和另一网络设备所共用的网络地址池的数据。控制单元数据包括共用池管理器模块,其评价定义网络地址池的数据,以确定网络地址池内的地址块未被另一网络设备使用。该至少一个接口将请求传输至另一网络设备,用于请求所确定的块,并从另一网络设备接收响应,其指示所请求块中的一个或多个地址是否可用。然后,控制单元基于响应中的指示将所请求块中的一个或多个地址分配给用户设备。
Description
技术领域
本发明涉及计算机网络,更具体地,涉及在计算机网络内保留地址。
背景技术
计算机网络是交换数据和共享资源的互连计算设备的集合。在基于数据包的网络(诸如因特网)中,计算设备通过将数据分成称作数据包的小块来交换数据。在网络上将数据包分别从源设备路由至目的设备。目的设备从数据包中提取数据,并将数据组合成其原始形式。将数据分成数据包能够使源设备仅重新发送那些在传送过程中可能丢失的个别数据包。
为了通过计算机网络来路由数据包,可以为每个网络设备分配唯一地标识每个请求的网络设备的地址。于是,每个数据包可以包括唯一地标识发起数据包的网络设备的源地址和唯一地标识数据包去往的网络设备的目的地址。被称作路由器的中间设备可以基于包括在数据包内的目的地址而将数据包路由至目的设备。
通常,一旦试图接入网络时,每个网络设备可以根据动态主机配置协议(DHCP)来请求包括网际协议(IP)地址的配置信息。例如,用户设备(例如,电缆调制解调器、数字电视机顶盒、数字用户线路(DSL)调制解调器)可以通过向DHCP服务器发送DHCP请求来请求第三层IP网络地址。通常,位于请求的用户设备附近的接入路由器实施为被称作“本地”DHCP服务器的服务器,以服务这些DHCP请求。由接入路由器实施的DHCP服务器被认为是本地的原因在于,其与请求的用户设备位于同一子网络内。由于这些DHCP服务器是本地的,所以由接入路由器实施的服务器可以更快速地响应由客户端网络设备发送的DHCP服务器请求。
尽管本地DHCP服务器通常提高了对于DHCP请求的响应时间,但这些本地DHCP服务器会更加难以管理资源并且浪费地址资源。例如,这些本地DHCP服务器的每一个通常需要被配置为从指定给企业的IP地址空间的不同部分中来分配IP地址。误配置任一DHCP服务器而使得两个或多个服务器具有重叠的部分会引起严重的网络冲突,这是因为为两个不同的用户分配了相同的IP地址,从而使路由器不能将通信量分别路由至这些设备中的一个或另一个。此外,任一给定的本地DHCP服务器在任一时刻通常仅利用IP地址空间的其指定部分的少量。这浪费了地址资源,因为指定部分中未使用的地址可以被另一本地DHCP服务器所使用。
为了避免与本地DHCP服务器相关联的管理难度和地址浪费,通常利用中央DHCP服务器来以中心方式分配IP地址空间中的地址。与将IP地址空间分成多个部分相比,中央DHCP服务器接收来自路由器的DHCP请求,保留中心保存的IP地址空间中的地址、并且将保留地址转发至请求的用户设备,以将保留地址高效地分配给这些远程用户设备。尽管比由路由器实现的本地DHCP服务器更容易管理,但中央DHCP服务器通常被实施为独立设备,考虑到除路由器之外还需要购买另一设备来实施中央DHCP服务器,这就增加了成本。此外,中央DHCP服务器由于其中心的而非本地的位置,使得其通常不能如本地DHCP服务器一样快速地响应DHCP请求。
发明内容
总体上,描述了用于在计算机网络内实施分布式地址池的技术。该分布式地址池可以表示虚拟地址池,这是因为该地址池被实施地址分配机制(诸如由DHCP服务器实施的动态主机配置协议(DHCP))的两个或多个不同的网络设备共用。这些网络设备通常位于用户设备的本地,以更快地响应DHCP请求。在这种意义上,该技术有利于与用户设备位于相同的子网络(或所谓的“子网”)中的本地DHCP服务器的实施。此外,该技术有利于这种虚拟分布式地址池的实施,这提供了在本地DHCP服务器之间共用各指定的地址的自动机制,使得每个地址仅可以被分配一次,从而在不增加管理负担的情况下避免了地址冲突。例如,该技术可以用于自动地将本地DHCP服务器保持在相对于企业宽IP地址空间的未指定部分或块为更新的状态,而不需要重复的管理输入,从而避免网络内的地址冲突,而且允许各个网络地址被任一本地DHCP服务器指定。因此,该技术可以使能够快速地响应DHCP请求而没有通常与维护本地DHCP服务器相关联的繁重管理监督的本地DHCP实施是可行的。
在一个实施方式中,一种用于共用网络地址池的方法包括:利用第一网络设备存储1)定义由第一网络设备和第二网络设备共用的网络地址池的数据,以及2)网络地址池中被保留为供第一网络设备和第二网络设备使用的不同地址,以将相应不同的地址分配给耦接至第一网络设备和第二网络设备的一个或多个用户设备;利用第一网络设备来评价定义网络地址池的数据,以确定由定义网络地址池的数据标识的地址块当前未被保留为供第二网络设备使用,从而将所标识的特定地址块中的地址分配给耦接至第二网络设备的一个或多个用户设备。该方法还包括:利用第一网络设备将请求传输至第二网络设备,该请求请求网络地址池内被保留为供第一网络设备使用的确定的地址块,以将所请求块中的地址分配给耦接至第一网络设备的一个或多个用户设备;以及利用第一网络设备接收来自第二网络设备的响应,该响应指示所请求的地址块中的一个或多个地址是否可被第一网络设备加以利用,以将所请求的块中的地址分配给一个或多个用户设备。该方法进一步包括基于从第二网络设备接收到的响应中的指示,利用第一网络设备更新定义网络地址池的数据,以反映地址块已被保留为供第一网络设备使用;以及当数据已被更新为反映地址块已保留为供第一网络设备使用时,通过第一网络设备响应于一个或多个用户设备中的一个用户设备对一个或多个地址的请求,分配所保留的地址块中的一个或多个地址。
在另一实施方式中,一种网络设备包括:控制单元,用于存储1)定义由第一网络设备和第二网络设备共用的网络地址池的数据,以及2)网络地址池中被保留为供第一网络设备和第二网络设备使用的不同地址以将相应不同的地址分配给耦接至第一网络设备和第二网络设备的一个或多个用户设备。该网络设备包括第一网络设备。控制单元包括共用池管理器模块,其评价定义网络地址池的数据,以确定由定义网络地址池的数据标识的地址块当前未被保留为供第二网络设备使用,从而将所标识的特定地址块中的地址分配给耦接至第二网络设备的一个或多个用户设备。被称作第一网络设备的网络设备进一步包括至少一个接口,该至少一个接口将请求传输至第二网络设备,该请求请求网络地址池内被保留为供第一网络设备使用的确定的地址块,以将所请求块中的地址分配给耦接至第一网络设备的一个或多个用户设备;以及接收来自第二网络设备的响应,该响应指示所请求的地址块中的一个或多个地址是否可被第一网络设备加以利用,以将所请求块中的地址分配给一个或多个用户设备。共用池管理器模块基于从第二网络设备接收到的响应中的指示,更新定义网络地址池的数据,以反映地址块已被保留为供第一网络设备使用。当数据已被更新为反映地址块已被保留为供第一网络设备使用时,控制单元响应于一个或多个用户设备中的一个用户设备对一个或多个地址的请求,分配所保留的地址块中的一个或多个地址。
在另一实施方式中,一种网络系统包括第一组用户设备、耦接至第一组用户设备的第一网络设备、不同于第一组用户设备的第二组用户设备以及耦接至第二组网络设备且不同于第一网络设备的第二网络设备。第一网络设备包括控制单元,用于存储1)定义由第一网络设备和第二网络设备共用的网络地址池的数据,以及2)网络地址池中被保留为供第一网络设备和第二网络设备使用的不同地址以将相应不同的地址分配给耦接至第一网络设备和第二网络设备的一个或多个用户设备。控制单元包括共用池管理器模块,其评价定义网络地址池的数据,以确定由定义网络地址池的数据标识的地址块当前未被保留为供第二网络设备使用,从而将所标识的特定地址块中的地址分配给耦接至第二网络设备的一个或多个用户设备。第一网络设备进一步包括至少一个接口,其将请求传输至第二网络设备,该请求请求网络地址池内被保留为供第一网络设备使用的确定的地址块,以将所请求块中的地址分配给耦接至第一网络设备的一个或多个用户设备;以及接收来自第二网络设备的响应,其指示所请求的地址块中的一个或多个地址是否可被第一网络设备加以利用,以将所请求的块中的地址分配给一个或多个用户设备。共用池管理器模块基于从第二网络设备接收到的响应中的指示,更新定义网络地址池的数据,以反映地址块已被保留为供第一网络设备使用。当数据已被更新为反映地址块已被保留为供第一网络设备使用时,控制单元响应于一个或多个用户设备中的一个用户设备对一个或多个地址的请求,分配所保留的地址块中的一个或多个地址。
在另一实施方式中,一种计算机可读介质包括使可编程处理器执行以下处理的指令:利用第一网络设备存储1)定义由第一网络设备和第二网络设备共用的网络地址池的数据,以及2)网络地址池中被保留为供第一网络设备和第二网络设备使用的不同地址以将相应不同的地址分配给耦接至第一网络设备和第二网络设备的一个或多个用户设备;以及利用第一网络设备来评价定义网络地址池的数据,以确定由定义网络地址池的数据标识的地址块当前未被保留为供第二网络设备使用,从而将所标识的特定地址块中的地址分配给耦接至第二网络设备的一个或多个用户设备。指令进一步使处理器执行以下处理:利用第一网络设备将请求传输至第二网络设备,该请求请求网络地址池内被保留为供第一网络设备使用的确定的地址块,以将所请求块中的地址分配给耦接至第一网络设备的一个或多个用户设备;以及利用第一网络设备接收来自第二网络设备的响应,其指示所请求的地址块中的一个或多个地址是否可被第一网络设备加以利用,以将所请求的块中的地址分配给一个或多个用户设备。指令进一步使处理器执行以下处理:基于从第二网络设备接收到的响应中的指示,利用第一网络设备更新定义网络地址池的数据,以反映地址块已被保留为供第一网络设备使用;以及当数据已经被更新为反映地址块已保留为供第一网络设备使用时,通过第一网络设备响应于一个或多个用户设备的一个用户设备对一个或多个地址的请求,分配所保留的地址块中的一个或多个地址。
在附图和以下描述中阐述了本技术的一个或多个实施方式的细节。根据说明书和附图以及根据权利要求,本技术的其他特征、目的和优点将变得显而易见。
附图说明
图1是示出了示例性网络系统的框图,在该网路系统中,路由器实施本公开的技术来管理分布式地址池。
图2是更详细地示出了图1的路由器的框图。
图3A和图3B是示出了网络设备在实施本公开中所描述的技术时的示例性操作的流程图。
图4是示出了根据本公开所描述的技术共用全局地址池的多个共用池管理器的概念图的框图。
图5A和图5B是分别示出了根据本公开中所描述的技术所生成的请求消息和答复该请求消息的响应消息的框图。
具体实施方式
图1是示出了示例性网络系统10的框图,在该网络系统中,路由器12A、12B实施本公开的技术来管理分布式地址池。路由器12A、12B(“路由器12”)均表示能够执行本公开的技术的网络设备的实例。尽管关于这些示例性网络设备进行了描述,但是为了将来自本地网络设备的地址分配给用户设备14,位于用户设备(诸如用户设备14A~14Z(“用户设备14”))本地的任何网络设备均可以实施本公开的技术来管理分布式地址池。可以实施本文所描述的分布式地址池管理技术的其他设备的实例包括接入网关、家庭办公路由器、交换机、网络集线器、数字用户线路接入多路复用器(DSLAM)设备、电缆调制解调器终端系统(CMTS)、无线接入点(WAP)、联网台式计算机和联网膝上型计算机。因此,在这点上,该技术不应局限于本公开中所描述的实例。
如图1所示,网络系统10包括公用网络16和服务提供商网络18。公用网络16表示可为公众所用的计算机网络,诸如通常被称作因特网的公用网络。尽管为了示意性目的而未在图1的实例中示出,但公用网络16通常包括互连网络设备(诸如网络服务器、路由器、网络集线器、交换机、工作站、DSLAM、CMTS、台式计算机、膝上型计算机、蜂窝电话(包括所谓的“智能”电话)、个人数字助理(PDA)、平板计算机、称为“笔记本”的计算机以及能够接收和转发网络通信量的任何其他网络设备)的集合。通常,公用网络16实施被称作网际协议(IP)的第三层(L3)协议,其中利用网际协议(IP)来路由被称作数据包的数据单元。本公开中所使用的术语“层”指的是开放式系统互连(OSI)模型的层。在一些情况下,公用网络16通常被称作数据包交换网络或L3网络。尽管关于数据包进行了描述,但该技术可以关于任何类型的分立数据单元来实施。
服务提供商网络18表示由服务提供商拥有的计算机网络,服务提供商网络以一个或多个服务(诸如网际协议电话(VoIP)服务、有时被称作网际协议电视(IPTV)服务的视频服务以及通常被称作因特网服务的数据服务)的形式来提供对公用网络16的接入。用户与服务提供商签订合同,以订制这些服务中的一个或多个。在订制服务之后,用户利用一个或多个用户设备14来接收或以其他方式接入已订约的服务。用户设备14通常表示以下中的一个或多个:台式计算机、膝上型计算机、PDA、蜂窝电话(包括所谓的“智能”电话)、笔记本、平板计算机、机顶盒(STB)、电缆调制解调器、数字用户线路(DSL)调制解调器、无线接入点(WAP)、服务器、网络集线器、交换机、电视、或能够接入由服务提供商网络18提供的上述服务中的一个或多个的任何其他设备。
在图1的实例中,服务提供商网络18包括子网络(“子网”)20A、20B(“子网20”)和后端网络22。子网20表示所有共用公共子网地址的网络设备的集合。同一子网内的设备通常共用来自指定地址池中的地址,并具有相同的IP前缀。IP前缀通常使用被称作无类别域间路由选择(CIDR)符号的符号形式来表示,该无类别域间路由选择符号标识斜线(/)之前的网络的基地址以及斜线(/)之后的路由选择前缀的长度。例如,一个IP子网可以被标识为192.168.0.0/16。
子网20分别包括路由器12和DSLAM 24A、24B(“DSLAM24”),其中,DSLAM 24A耦接至路由器12A,DSLAM 24B耦接至路由器12B。路由器12表示可以利用本公开中所描述的技术的网络设备的一个实例。在一个实例中,路由器12包括路由选择引擎和一个或多个数据包转发引擎。路由选择引擎用作控制平面,并且实施一个或多个路由选择协议,通过该一个或多个路由选择协议来发现从一个或多个源地址到一个或多个目的地地址的路径形式的网络拓扑。路由选择引擎将这些路径保存在被称作路由选择信息库(RIB)的数据库中。然后,路由选择引擎选择一条或多条路径,并在被称作数据包转发引擎的转发信息库(FIB)的数据库中建立所谓的“下一跳”。数据包转发引擎接收网络通信量,接入FIB以为网络通信量的每个数据包选择下一跳,以及将数据包转发至它们各自的网络跳。以这种方式,路由器12通常将通信量路由至其预期的目的地。例如,路由器12可以路由符合L3网际协议(IP)的数据包,并且可被称作L3网络设备。
DSLAM 24A、24B(“DSLAM 24”)分别耦接至用户设备14A~14M和14N~14Z。在图1的实例中,每一个DSLAM 24均表示以数据包形式从它们各自的用户设备14中的一个或多个用户设备接收网络通信量并将该网络通信量多路复用至将DSLAM 24耦接至路由器12A的一个或多个连接上的接入设备。通常,DSLAM 24被用于之前用以将用户设备14耦接至简易老式电话服务(POTS)网络的基于铜线的网络中,该简易老式电话服务网络通过铜线线路提供用户设备14和DSLAM 24之间的最后一英里(last-mile)接入的至少一部分。在该实例中,路由器12均表示宽带远程接入服务器(BRAS)。尽管在该上下文中进行了描述,但还可以将该技术用在使用电缆或光纤线路来提供最后一英里接入的电缆或光网络中。
后端网络22表示提供管理和认证所需要的其他功能,并且另外提供由服务提供商网络18所提供的各种服务的计算机网络。后端网络22包括远程认证拨号用户服务(RADIUS)服务器26。RADIUS服务器26通常实施RADIUS协议。尽管示为独立的设备,但一个或多个路由器12可以以RADIUS模块的形式来结合属于RADIUS服务器26的功能。在任何情况下,RADIUS协议提供一种认证、授权和计费(AAA)管理的形式。RADIUS服务器26表示提供集中式AAA管理的网络设备,该集中式AAA管理认证、授权用户设备14,以使这些设备14可以仅接入各用户已签定的那些服务。RADIUS服务器26还在用户已签订的一个或多个服务是基于使用而付费的情况下(诸如付费点看(PPV)服务)提供计费。尽管在后端网络22中示出了RADIUS服务器26,但其还可以位于更中心的位置,诸如中心站(central office)。
通常,在订制一种或多种服务之后,如上所指出的,用户引导用户设备14的一个或多个来接入用户与服务提供商签定合同所提供的服务。通常,在基于铜线的网络中,用户安装被称为数字用户线路(DSL)调制解调器的用户设备,为了示意性目的,假设表示为用户设备14A。该设备14A通常利用所需的认证信息从服务提供商得到预配置。一旦将用户设备14A耦接至DSLAM 24A并且接通电源或以其他方式启动该设备,则用户设备14A首先请求通常符合配置协议(诸如动态主机配置协议(DHCP))的配置信息。
符合DHCP的请求在本文中一般被称作“DHCP请求”。更具体地,该DHCP请求被表示为DHCP发现消息,这是因为该第一请求在本地子网内广播,以试图定位位于该子网中的DHCP服务器或者DHCP中继代理,该DHCP中继代理将DHCP发现消息中继到位于不同子网中的DHCP服务器。通常,关于DHCP的更多信息、以及关于DHCP消息(诸如DHCP发现消息)及其他消息的细节可以在日期为1997年3月的题为“Dynamic Host Configuration Protocol(动态主机配置协议)”的请求注解(RFC)2131中找到,其全部内容结合于此作为参考。
DHCP发现消息通常包括将一个或多个IP地址分配为供用户设备14A使用的请求。在该实例中表示DSL调制解调器的用户设备14A请求这些地址,使得其可以将这些IP地址中的一个分配给其自身,然后将任何剩余的地址指定给耦接至用户设备14A的其他用户设备14。如上所指出的,用户设备14A在整个本地子网(即,该实例中的子网20A)内广播DHCP发现消息。DSLAM 24A接收该消息,并将该消息转发至本地DHCP服务器或DHCP中继代理。
在一些情况下,与将DHCP发现消息转发至位于不同子网中的远程DHCP服务器的DHCP中继代理相比,管理员更喜欢本地DHCP服务器,这是因为本地DHCP服务器由于接近于用户设备14而使它们通常能够比远程DHCP服务器更快速地响应。然而,这种接近产生在管理负担方面的代价。考虑包括即使没有数以百计的单独的子网也有数以十计的子网的大的服务提供商网络。在每个子网中均采用本地DHCP服务器要求即使不是数以百计也是数以十计的DHCP服务器需要被适当地配置,以使每个DHCP服务器从被保留为供服务提供商网络使用的IP地址空间的不同子网中分配IP地址。如果两个或多个子网相重叠,则本地DHCP服务器会分配同一IP地址来供两个不同的用户设备使用,当设备(诸如路由器12)试图将IP地址判定给单个用户设备时,这会引起相当大的混乱。因此,本地DHCP服务器通常易于误配置,该误配置可导致关于路由器的重大路由选择错误和关于用户设备的服务丢失。
此外,本地DHCP服务器可能浪费指定给每个本地DHCP服务器以分配给用户设备的IP地址空间的子集的一部分。为了说明,由服务提供商提供的数据服务的典型合同规定用户可以以设定数目的用户设备接入数据服务,每个用户设备均要求不同的IP地址。因此,当供应用户时,管理员配置DHCP服务器,以为位于给定子网内的每个用户分配在数据服务合同中所限定的设定数目的IP地址,而不管用户是否实际上利用设定数目的用户设备来接入数据服务。因此,指定给本地DHCP服务器的IP地址空间的子集表示由每个用户均利用设定数目的用户设备来接入数据服务的假设导致产生的最大数目的IP地址。当用户使用小于设定数目的用户设备时,本地DHCP服务器仅分配该最大数目IP地址的一部分。结果,剩下的IP地址被保留为仅供本地DHCP服务器使用,而实际上从未被DHCP服务器分配,从而潜在地浪费了可以被其他DHCP服务器所使用的有价值(尤其在IP版本4(IPv4)的有限地址空间中)的IP地址。
为了避免管理负担和有价值IP地址潜在的浪费,在一些情况下,管理员实施远离子网20的一个或多个中央定位的DHCP服务器。在每个子网(诸如子网20)中,管理员使用将DHCP发现消息引导至一个或多个中央定位的DHCP服务器的DHCP中继代理。由于DHCP服务器为中央定位,所以管理员可以更有效地管理DHCP服务器。此外,需要使用很少的DHCP服务器,这是因为与通常只服务于单个子网或者至多几个定位在附近的子网的本地DHCP服务器相比,中央定位的DHCP服务器可以为多个子网服务。由于对于管理员通常存在较少的中央DHCP服务器并且每个DHCP服务器管理较大的IP地址的集合,所以这些DHCP服务器不易于涉及IP地址的集合的指定重叠的配置错误。
此外,中央定位的DHCP服务器通常不会浪费与本地DHCP服务器所浪费的那些一样多的IP地址,这是因为中央定位的DHCP服务器可以接收来自大量子网的请求并且可以更容易地被管理的事实。为了说明,假设服务提供商可以指定设备的设定数目,但是知道大多数用户不会同时利用设定数目的设备。在对于本地DHCP服务器所利用的小IP地址子集中,重要的是分配最大值,因为IP地址子集的下级分配(under allocation)会要求繁重的再配置。在中央定位的DHCP服务器中,很少发布管理,所以IP地址子集的下级分配可以被更容易地忍受。此外,假定与本地DHCP服务器相对较小的IP地址子集相比在中央定位的DHCP服务器中分配的IP地址子集更大并且因此提供更多的错误空间,则服务提供商可以确定每个用户的IP地址的平均使用,并且分配每个用户IP地址的该平均数。因此,虽然中央定位的DHCP服务器与本地DHCP服务器相比不会快速地对DHCP消息响应,但还是与本地DHCP服务器相比,中央定位的DHCP服务器更加容易管理,并且通常不会浪费那么多的IP地址。
根据本公开中描述的技术,路由器12包括共用池管理器28A、28B(“共用池管理器28”),它们能够使路由器12以即使不可能消除则也会减小通常与本地DHCP服务器30相关联的管理负担和IP地址浪费的方式来实施本地DHCP服务器30A、30B(“本地DHCP服务器30”)。在一个实例中,每个共用池管理器28均表示硬件模块,用以根据本公开中描述的技术来管理虚拟全局地址池,该硬件模块在一些情况下执行软件。作为一个实例,每个本地DHCP服务器30均可以表示硬件模块,用以根据上述结合的参考来实施DHCP,该硬件模块在一些情况下执行软件。
在本公开中关于各模块对硬件模块的参考不应被解释为这些模块的每一个均需要由独立的、不同或单独的硬件模块来实现。更确切地是,这些模块中的每一个均可以通过同一硬件模块(诸如下面关于图2的实例所描述的控制单元)来实施。因此,在这点上,该技术不应局限于每个模块需要通过独立、不同或单独的硬件模块来实现。
本公开中所使用的术语“池”指的是被指定为供给定的本地DHCP服务器使用的IP地址空间的子集,其中,术语“指定(assign)”与术语“分配”相反,术语“指定”指的是通过给定的本地DHCP服务器保留地址的块或子集,而术语“分配”指的是通过本地DHCP服务器将指定的地址子集中的一个或多个地址分配给用户设备。术语“全局地址池”通常指的是被保留为供两个或多个本地DHCP服务器使用的IP地址空间的子集。从共用池管理器28通过本地DHCP服务器20便于接入全局地址池,但该全局地址池任何时候都不被全部指定给任一单个本地DHCP服务器30的意义上来说,该全局地址池是“虚拟”的。换而言之,所有本地DHCP服务器30均可以接入全局地址池而保留该地址池的不同部分以供DHCP服务器30使用,但本地DHCP服务器30都没有实际被指定了整个全局地址池。从DHCP服务器30的观点来看,全局地址池看起来好像其全部被指定给DHCP服务器,然而事实上其是被本地DHCP服务器30共用的。
最初,共用池管理器28被配置为共用给定的全局地址池,该全局地址池又可以是指定给服务提供商网络18的IP地址空间的子集,或是指定给服务提供商网络18的整个IP地址空间。在任一情况下,共用池管理器28均存储对被路由器12的两个本地DHCP服务器30所共用的全局地址空间进行定义的数据。该地址空间被共用的原因在于这两个本地DHCP服务器均保持相同的地址空间,这意味着该空间相重叠并且一开始是跨越整个地址池的。于是,每一个共用池管理器28试图为每个各自的本地DHCP服务器30保留全局地址空间的块。例如,共用池管理器28A可以生成用以请求全局地址空间内的地址块被保留为供本地DHCP服务器30A使用的请求,以将保留块中的地址分配给耦接至路由器12A的用户设备14A~14M中的一个或多个。同样,共用池管理器28B可以生成与通过共用池管理器28A所生成的请求相类似的请求,用于请求全局地址空间内的地址块被保留为供本地服务器30B使用,以将保留块中的地址分配给耦接至路由器12B的用户设备14N~14Z中的一个或多个。这些请求的每一个通常包括具有全局地址空间内的每个地址的一个位的位图。位图中设定为一的位表示相应地址的请求。在一个实例中,由每个请求定义的地址块不必是连续地址的块,而可以是全局地址空间内的地址的任意组合。
然后,共用池管理器28将它们的请求广播给共用同一全局地址空间的每一个其他的共用池管理器28,之后共用池管理器28提取位图并确定请求是否表现出任何地址冲突。当位图表示通过接收该请求的共用池管理器28试图保留先前已被保留的地址或者试图与已被接收的请求同时保留地址时,则发生地址冲突。即,两个共用池管理器28在一些情况下会试图同时保留同一地址,这导致地址冲突。响应于地址冲突,共用池管理器28拒绝分别接收到的请求,并使用随机偏移或一些其他方法来选择不同的地址块,以避免重复的地址冲突。如果共用池管理器28未检测到地址冲突,则共用池管理器28传输表示该请求已被准许的响应。
在这方面,共用池管理器28接收来自共用同一全局地址空间的每个其他的共用池管理器28的响应,用于指示所请求的地址块是否可被共用池管理器28中请求的共用池管理器(因而为本地DHCP服务器30A)加以利用,以将保留块中的地址分配给用户设备14。基于从其他共用池管理器28接收到的响应中的指示,每个共用池管理器28均更新定义全局地址空间的数据,以反映该地址块已被保留为供第一网络设备使用。如上所指出的,在地址冲突的情况下,重复该请求处理,直到地址块被保留为供本地DHCP服务器30A使用。
在配置共用池管理器28之后,管理员通常不需要进一步与共用池管理器28相互作用,因为共用池管理器28自动(即,不需要管理员输入)协商并保留全局地址空间的块,并以保留块来配置本地DHCP服务器30。因此,共用池管理器28减小了通常与管理本地DHCP服务器30相关联的管理负担,同时还由于可以保留小于最大值长度的较小块而减少了资源浪费。如果需要附加地址,则如以下实例中所阐述的,共用池管理器28可以重复上述处理,以保留全局地址空间的另一块,并使用附加块和先前保留的块来配置本地DHCP服务器30。而且,共用池管理器28通常在没有任何管理监督或输入的情况下保留该附加块,从而即使没有消除也减轻了通常与本地DHCP服务器30相关联的管理负担。
例如,假设共用池管理器28已保留了供每个本地DHCP服务器30使用的全局地址池的块,则每个本地DHCP服务器30开始接收来自一个或多个用户设备14的DHCP发现消息。本地DHCP服务器30以DHCP提供消息来响应于这些发现消息。该DHCP提供消息定义了为每一个本地DHCP服务器30所保留的全局地址池的块中的一个或多个IP地址的租赁(lease)。最初发送DHCP发现消息的那些用户设备14以请求一个DHCP提供消息中提供的租赁的DHCP请求消息,来响应于DHCP提供消息。本地DHCP服务器30以DHCP确认(ACK)消息来响应于该提供消息,该DHCP确认消息表示由用户设备14中请求IP地址的相应用户设备14对该IP地址的租赁的确认。通常,每个共用池管理器28均存储表示全局地址池的块内被保留为供本地DHCP服务器30使用的那些IP地址已分配给用户设备14的数据。
共用池管理器28可以(以对本地DHCP服务器30透明的方式)拦截DHCP发现消息,并确定从全局地址池保留的任一IP地址块是否可被用户设备14中请求的用户设备加以利用。如果基于由共用池管理器28所存储的表示那些IP地址可用以通过本地DHCP服务器30进行分配的数据,共用池管理器28确定保留块中没有可用的IP地址,则共用池管理器28以上述方式从全局地址池中协商附加的IP地址块,该附加的IP地址块可以被保留为供本地DHCP服务器30使用。在协商该附加块之后,共用池管理器28以从全局地址池保留的地址的附加块来分别配置本地DHCP服务器30。共用池管理器28通常丢弃或者不响应所接收到的提示对本地DHCP服务器30进行重新配置的DHCP发现消息,随之用户设备14中发布该DHCP发现消息的用户设备通常在一段所设时间之后超时,并重新发送DHCP发现消息。共用池管理器28证实本地DHCP服务器30具有可用于分配的IP地址,并将该DHCP发现消息转发至本地DHCP服务器30中相应的一个。本地DHCP服务器30以上述方式来响应该DHCP发现消息,以最终从全局地址池保留的IP地址的最新保留块中分配IP地址。
以这种方式,共用池管理器28表示定位在用户设备14和本地DHCP服务器30之间的模块,其以透明的方式拦截DHCP消息以提供自动管理监督的形式。当共用池管理器28检测到本地DHCP服务器30中相应的一个不再具有可用于分配的任何地址时,共用池管理器28自动地重新配置本地DHCP服务器30,以增加可被分配的IP地址的数目。同样地,共用池管理器28可以检测到未使用的IP地址,并动态地重配置本地DHCP服务器30,以减少可被本地DHCP服务器30中相应的本地DHCP服务器分配的IP地址的数目。因此,通过提供这种自动管理监督,共用池管理器28可以使能本地DHCP服务器30,以使这些本地DHCP服务器30与中央DHCP服务器相比几乎不需要附加的管理监督,同时还减少了通常与本地DHCP服务器相关的地址浪费。
应当注意,尽管图1中所示的子网20潜在地共用来自同一全局地址池的地址,但是这两个子网20彼此是分离的。即,术语“子网”通常指的是一种计算机网络,其中,该网络的每个设备被分配有共用同一IP前缀的地址。作为本公开中所描述的技术的结果,共用池管理器28A能够保留IP地址的非连续块,而这些IP地址的非连续块具有由通过共用池管理器28B保留以供本地DHCP服务器30B使用的一个或多个地址的IP前缀标识的一个或多个地址,从而有效地创建了两个路由器12都位于其中的一个大的子网,这不同于图1的实例。每一个共用池管理器28还能够保留地址的连续块,该地址的连续块均包括给定IP前缀的所有地址。在这种可选的连续块的情况下,子网20表示通常的子网,而不是形成一个大的子网。为此,子网20被示出为图1中的虚线,以表示这些子网20可以有效地合并或保持独立的,这取决于共用池管理器28的配置。
图2是更详细地示出了图1的路由器12的框图。而且,尽管在该实例中关于特定的网络设备(即,路由器12)进行了描述,但本公开中所描述的技术可以通过能够实施本地DHCP服务器的任何类型的网络设备来实施。一般地,该技术不应严格限于本公开中所描述的实例。
如图2的实例所示,路由器12A包括控制单元32A。控制单元32A可以包括用以执行诸如那些用于定义软件或计算机程序、存储至计算机可读存储介质(图2中也没有示出)的软件指令的一个或多个处理器(图2中未示出),计算机可读存储介质例如为存储设备(例如,硬盘驱动器或光盘驱动器)、或存储器(诸如闪存、随机存取存储器或RAM)、或者存储使可编程处理器执行本文所描述的技术的指令的任何其他类型的易失性或非易失性存储器。可选地,控制单元32A可以包括用于执行本文中所描述的技术的专用硬件,诸如一个或多个集成电路、一个或多个特定用途集成电路(ASIC)、一个或多个特定用途标准处理器(ASSP)、一个或多个现场可编程门阵列(FPGA)或者前述专用硬件实例的一个或多个的任意组合。
控制单元32A可以被分成两个逻辑或物理“平面”,以包括第一控制或路由选择平面和第二数据或转发平面。即,控制单元32A可以逻辑上(例如,作为执行在同一组硬件组件上的不同的软件实例)或物理上(例如,作为以硬件方式静态地实现功能或者动态地执行软件或计算机程序来实现功能的不同的物理专用硬件组件)实施两个不同的功能,即,路由选择功能和转发功能。为了示意性目的,这些平面在图2的实例中没有示出,然而,控制单元32A的控制平面或路由选择平面通常实施本地DHCP服务器30A和共用池管理器28A。
控制单元32A包括共用池管理器28A、本地DHCP服务器30A和用户界面(UI)模块34A。共用池管理器28A包括请求模块36A、响应模块38A、冲突解决模块40A、周期消息模块42A、超时模块44A。请求模块36A表示硬件模块,用以生成请求全局地址池中的连续或非连续IP地址块的块请求,该硬件模块在一些情况下执行软件。响应模块38A表示硬件模块,用以生成对接收到的块请求的响应,该硬件模块在一些情况下执行软件。冲突解决模块40A表示硬件模块,用以解决在接收到的响应指示所请求的块中的一个或多个地址不可用时而产生的地址冲突,该硬件模块在一些情况下执行软件。周期消息模块42A表示硬件模块,用以生成表示被保留为供本地DHCP服务器30A使用的地址的周期消息,该硬件模块在一些情况下执行软件。超时模块44A表示硬件模块,用以确定IP地址的一个或多个租赁何时超时并因此被认为是未保留的IP地址(即,没有保留为供共用全局地址池的任一本地DHCP服务器30使用的地址)而变为可利用,该硬件模块在一些情况下执行软件。
如上所指出的,本地DHCP服务器30A表示硬件模块,用以实施DHCP,该硬件模块在一些情况下执行软件。UI模块34A表示硬件模块,用以提供用户与控制单元32A的本地DHCP服务器30A和共用池管理器28A进行相互作用可以使用的用户界面,该硬件模块在一些情况下执行软件。UI模块34A可以提供用户输入命令、脚本和配置数据可以使用的图形用户界面(GUI)或命令行界面(CLI)。
如图2进一步所示,路由器12A包括接口48A~48N(“接口48”),它们经由入站网络链路50A~50N(“入站网络链路50”)和出站网络链路52A~52N(“出站网络链路52”)接收和发送数据包流或网络通信量。IFC 48通常经由多个接口端口(未示出)耦接至网络链路50、52,并经由路径54A~54N(“路径54”)中相应的一条转发和接收来自控制单元32的数据包和控制消息。IFC 48的每个物理接口通常通过控制单元32而被指定唯一标识符,并且具有唯一标识符的多个逻辑接口可以被指定给每个物理接口,其中,每个逻辑接口表示不同网络通信量的不同输入或输出接口。这些逻辑接口可以表示VLAN,并且每个VLAN可以被指定唯一VLAN标记。通常,DHCP客户端设备位于其中的每个特定环境均被指定VALN标记,以区分不同环境的客户端设备。IFC 48的每一个还可以经由链路50、52分别耦接至不同的独立子网络。尽管这些子网络在图1和图2中没有示出,但这些子网络可以包括大面积网络(LAN:Large Area Network)或其他广播网络。
路由器12A可以包括底盘(图2中未示出),该底盘具有用于容纳一组卡的多个插槽,包括包含一个或多个接口48的IFC。每个卡可以插入底盘的相应插槽中,以经由总线、背板或其他电通信机构将卡可通信地耦接至控制单元32A。
路由器12B与路由器12A基本相同,路由器12B包括基本类似于路由器12A的控制单元32A和接口48的控制单元32B和接口48A′~48N′(“接口48′”)。此外,控制单元32B的共用池管理器28B包括模块36B~44B,它们与包括在路由器12A的控制单元32A中的共用池管理器28A的相应模块36A~44A基本类似。UI模块34B和本地DHCP服务器30B也可以与UI模块34A和本地DHCP服务器30A基本类似。
最初,诸如管理员54(“管理员54”)的用户与由UI模块34A、34B(“UI模块34”)呈现的用户界面相互作用,以录入用于配置共用池管理器28的配置数据。该配置数据至少定义了全局地址池的长度。然后,共用池管理器28分别存储定义地址表56A、56B(“地址表56”)的数据,该数据包含由配置数据所定义的全局地址池的每个地址的条目。下面关于表1示出了表示最新初始化的地址表56的实例。
表1
池成员 | L | C | T | O |
192.168.2.1 | 0 | 0 | 空 | 空 |
192.168.2.2 | 0 | 0 | 空 | 空 |
192.168.2.255 | 0 | 0 | 空 | 空 |
在以这种方式配置共用池管理器28并初始化地址表56之后,共用池管理器28的每个请求模块36接入相应的一个地址表56,并选择当前未被共用池管理器28保留的连续地址块或非连续地址块。即,每个请求模块36评价定义网络地址池的相应数据,以确定由定义网络地址池的数据所标识的、当前未被保留为供其他本地DHCP服务器使用的地址块,以将所标识的特定地址块中的地址分配给耦接至第二网络设备的一个或多个用户设备。在一个实例中,请求模块36可以选择由另一个共用池管理器28保留但根据相应时间戳确定已经超时的地址。为了说明,通常,请求模块36首先试图选择连续地址的块,并且只在通过对地址表56的分析确定连续地址的块的配置长度不可用时,才选择非连续地址的块。在任一情况下,请求模块36A为全局地址池的每个地址生成具有位的位图。请求模块36A通过将位掩码中的相应位的每一个设定为1并将位掩码的剩余位设定为0来指示全局地址池的那些地址已经被确定为进行请求。请求模块36A还更新地址表56A,具体地,更新请求模块36A已请求供本地DHCP服务器30A使用的那些地址的“L”位。请求模块36A生成包括该请求的请求消息58A,并经由接口48中合适的一个将该请求转发至每一个其他共用池管理器28,即,图2的实例中的共用池管理器28B。
共用池管理器28B的响应模块38B接收该请求消息58A,并提取由该消息58A定义的位图。然后,响应模块38B将该接收到的位图(有时被称作“请求”位图)与地址表56A进行比较。例如,响应模块38B可以在请求位图和地址表56A的“L”列之间执行逻辑“与”运算(在编程语言中通常使用双与符号“&&”来表示)。由该逻辑与运算产生的位图可以被称作“响应”位图。响应模块38B生成包括该响应位图的响应消息58B,并经由接口48′中的一个将响应消息58B转发至共用池管理器28A。
共用池管理器28A的响应模块38A接收响应消息58B,并提取响应位图。响应模块38A分析响应位图,以确定是否存在地址冲突。响应位图通常以位图中的位被设定为1来指示地址冲突。即,由请求模块36B执行的逻辑“与”运算揭示地址冲突,这是因为请求位图的一位置处的1和“L”位图的同一位置处的相应1的逻辑“与”运算表示所请求的地址当前被保留为供本地DHCP服务器30B使用。因此,响应位图中被设定为1的任何位均表示地址冲突,而如果请求位图的所有位均被设定为0,则该位图表示请求的确认。
在执行逻辑“与”运算之后,请求模块36B分析响应位图,以确定是否发生地址冲突。如果没有检测到地址冲突,即,在该实例中请求位图的每一位均被设定为零,则请求模块36B更新地址表56B以指示所请求地址由共用池管理器28A所拥有,并且将相应时间戳设定为当前时间。如果检测到地址冲突,则请求模块36B不更新地址表56B。为了关于表1的上述实例进行说明,假设共用池管理器28A请求表1中所示的前两个地址,请求模块36B执行逻辑“与”运算并确定没有发生地址冲突。请求模块36B更新表1的头条目之后的前两个条目,以表示时间戳列的当前时间和拥有者“A”,为了进行说明,该A被假设为表示共用池管理器28A。下面的表2示出了该更新的结果。
表2
池成员 | L | C | T | O |
192.168.2.1 | 0 | 0 | TX | A |
192.168.2.2 | 0 | 0 | TX | A |
192.168.2.255 | 0 | 0 | 空 | 空 |
参考上述表2,在表2中已经将前两个条目的时间戳列更新为表示当前时间Tx,并且表示共用池管理器28A已经保留两个相应地址。
当请求58A被广播至已配置为共用同一全局地址池的所有共用池管理器28时,共用池管理器28A可以接收和处理多个响应。如果这些响应(类似于响应58B)的任一个均表示地址冲突,则共用池管理器28A的冲突解决模块40A被调用以解决冲突。冲突解决模块40A分析表示冲突的响应位图,参考地址表56A,更新地址表56A以指示该冲突地址被一个不同的共用池管理器28所保留、并且生成请求位图以潜在地避免所检测到的地址冲突。通常,当两个或多个共用池管理器一并或者甚至在一些情况下同时请求相同地址中的至少一个时,则产生地址冲突。冲突解决模块40A可以实施选择随机时间以延迟请求位图的生成的一种算法,从而为冲突的另一共用池管理器28提供时间,从而生成保留冲突地址的请求。该算法通常还随机地选择通常与被请求地址不相邻的另一地址。这种随机性有助于预防发生另外的冲突。
为了示意性目的,假设未检测到地址冲突,则请求模块36A更新地址表56A以反映共用池管理器28A在当前时间TY已保留前两个地址(继续根据以上的实例)。下面的表3示出了这种更新之后的地址表56A。
表3
池成员 | L | C | T | O |
192.168.2.1 | 1 | 0 | TY | A |
192.168.2.2 | 1 | 0 | TY | A |
192.168.2.255 | 0 | 0 | 空 | 空 |
如上面的表3所示,请求模块36A更新第一条目和第二条目的“L”列,以存储一的位值、更新第一条目和第二条目的时间戳列以表示当前时间TY、并且更新“O”列以表示共用池管理器28A或“A”拥有或已保留这些地址。在一个实例中,请求模块36A维持这些条目的“C”位未被编辑,因为这些地址还没有被本地DHCP服务器30A分配。
尽管在图2的实例中没有示出,但共用池管理器28B也执行与共用池管理器28A的处理基本类似的处理,以保留地址块。为了示意性目的,假设共用池管理器28B保留在上述表1~3中反映的全局地址池中的最后两个地址。下面的表4示出了在保留这两个地址之后的地址表56B的状态。
表4
池成员 | L | C | T | O |
192.168.2.1 | 0 | 0 | TX | A |
192.168.2.2 | 0 | 0 | TX | A |
192.168.2.254 | 1 | 0 | TZ | B |
192.168.2.255 | 1 | 0 | TZ | B |
在表4的实例中,请求模块36B已经更新了最后两个条目,以指示由“O”列中的“B”所表示的共用池管理器28B在时间TZ保留了地址192.168.2.254和192.168.2.255。在保留这些地址之后,共用池管理器28以所保留的地址来配置各自的本地DHCP服务器30。
同时,每一个周期消息模块42均生成表示全局地址池的那些地址被相应共用池管理器28拥有的周期消息58C。每一个周期消息模块42均周期性地接入地址表56,提取“L”列位图,生成包括该“L”位图的周期消息58C,并将周期消息58C广播至被配置为共用同一全局地址池的每一个共用池管理器28。周期消息模块42相互接收这些周期消息58C,并基于存储至这些周期消息58C中的每一个的“L”位图来更新地址表56A。如上所指出的,由于地址表56A可以在检测到地址冲突之前通过一个请求的共用池管理器28A来进行更新,因此这种更新通常被执行为在各个共用池管理器28之间同步地址状态。此外,共用池管理器28中的第一个可以不检测冲突并更新其相应的地址表56,而共用池管理器28中的第二个可以检测冲突,从而预防一个请求的共用池管理器28保留由请求位图所指示的地址。然而,该第一个共用池管理器28不知道该冲突。因此,周期消息模块42经由周期消息58C相互进行通信,以使地址表56彼此之间同步,从而改善全局地址池的共用。
返回到上面讨论的实例,在以保留的地址块配置本地DHCP服务器30之后,其开始接收DHCP发现消息。在一些情况下,共用池管理器28拦截经由接口48、48′所接收到的DHCP发现消息,以确定它们各自的本地DHCP服务器30是否包括足够多的地址来服务DHCP发现消息。即,每一个共用池管理器28通常包括拦截DHCP消息(诸如,DHCP发现消息、提供消息、请求消息和ACK消息)的DHCP拦截模块45A、45B(“DHCP拦截模块45”)。响应于DHCP发现消息,DHCP拦截模块45接入它们各自地址表56中的“L”列位掩码和“C”列位掩码,并确定“L”位掩码(bitmask)中的每个位是否被设定为一以及“C”位掩码的相应位是否被设定为零。如果“L”位掩码中存在足够多的被设定为一的位,同时“C”位掩码中的相应位被设定为零,来容纳DHCP发现消息中所建立的一个或多个地址的请求,则DHCP拦截模块45将DHCP发现消息转发至它们相应的本地DHCP服务器30。然而,如果没有足够多的位来容纳DHCP发现消息中的请求,则DHCP拦截模块45调用请求模块36A,以请求为供它们相应的一个本地DHCP服务器30使用来保留全局地址池的另一地址块,这以上述方式来进行。
DHCP拦截模块45还拦截DHCP ACK消息,从ACK消息中解析地址分配,并更新它们相应的一个地址表56,以指示请求的用户设备14对被保留为供它们相应的一个本地DHCP服务器30使用的地址的消耗。例如,DHCP拦截模块45A可以拦截关于上述表3的第一条目中所列出的地址的DHCP ACK消息。DHCP拦截模块45A解析该DHCP ACK消息,以检索该地址(即,该实例中192.168.2.1),并且接入地址表56A以更新第一条目的“C”位来指示该地址已被消耗。下面的表5示出了关于表3的这种更新的结果,并且还指出全局地址池中的最后两个地址通过共用池管理器28B的保留(这关于上面的表4进行了描述)。
表5
池成员 | L | C | T | O |
192.168.2.1 | 1 | 1 | TY | A |
192.168.2.2 | 1 | 0 | TY | A |
192.168.2.254 | TA | B | ||
192.168.2.255 | 0 | 0 | TA | B |
尽管所有的这种协商都在进行以保留块并保持全局地址池的精确地址状态,但超时模块44仍例行公事地接入它们各自的地址表56,以确定一个或多个地址租赁是否已超时。即,由管理员54输入的配置数据可以定义租赁超时值,该租赁超时值定义了给定共用池管理器28可以保留给定地址的持续时间。超时模块44接入它们各自的一个地址表56,以针对具有被设定为一的“L”位的所有条目来检索时间戳值。然后,超时模块44将检索到的时间戳与当前时间进行比较,以确定每个被拥有地址的占用时间。接下来,超时模块44将该占用时间与超时值相比较。如果一个或多个占用时间超过了超时值,则超时模块44通过将相应的“L”位和“C”位设回到零并将时间戳和拥有者字段设定为空,来从地址表56清除地址。通常,当共用池管理器28以保留的地址块来配置它们各自的本地DHCP服务器30时,共用池管理器28将租赁持续时间设定成为租赁超时值多倍的值。以这种方式,在超时模块44执行上述超时操作以清除它们相应的一个地址表56中的条目之前,本地DHCP服务器30及时自动地在一点上撤销地址的用户租赁。以这种方式,本地DHCP服务器30不允许租赁运行时间比允许共用池管理器28保留全局地址池中的给定地址的时间长。
在一些情况下,DHCP拦截模块45响应于DHCP ACK消息来刷新时间戳,使得当超时模块44确定占用时间时,这些占用时间更好地反映通过本地DHCP服务器30所配置的租赁持续时间。即,本地DHCP服务器30可以被配置为提供相当于为超时模块44所配置的租赁超时值的租赁持续时间。例如,DHCP拦截模块45A响应于对那些相应地址的DHCP ACK消息,来更新地址表56A的条目中的时间戳。然后,超时模块44确定这些条目的占用时间,这些占用时间反映了给定用户设备已保留使用该地址的占用时间,而不是反映共用池管理器28A已保留该地址的占用时间。在将超时值与该占用时间相比较的过程中,超时模块44A有效地确定了本地DHCP服务器30何时将调用租赁,从而使超时模块44与本地DHCP服务器30同步。DHCP拦截模块45A可以响应于请求给定租赁更新的DHCP更新消息而连续地更新这些时间戳。在任一情况下,当超时模块44在这些情况下检测到超时并清除给定条目时,超时模块44A通常还重新配置本地DHCP服务器30A,以使该本地DHCP服务器可以不再使用这些地址。
以上关于路由器12所描述的技术可以使能动态全局地址池,使得均实施本地DHCP服务器的一个或多个网络设备可以动态地加入和离开全局地址池。为了说明,假设路由器12A已经以上述方式加入全局地址池,而路由器12B还未加入全局地址池。管理员54与由在路由器12B的控制单元32B内运行的UI模块34B所提供的用户界面相互作用,以输入配置数据。如上所指出的,该配置数据包括各种能够使共用池管理器28B动态地加入共用全局地址池的数据。例如,该配置数据可以将全局地址池指定为IP子网地址,以使共用池管理器28B可以配置地址表56B来反映该共用全局地址池。一旦共用池管理器28B以这种方式被配置,其就开始发布请求,以以上述关于路由器12A的共用池管理器28A所描述的方式来保留供本地DHCP服务器30使用的地址块。
一旦以这种方式进行了配置,则不需要管理员54执行任何其他的管理动作来另外地配置本地DHCP服务器30B。而是,共用池管理器28B自动地(即,在该实例中没有直接的管理动作)保留全局地址池中的地址块,并以这些地址块来配置本地DHCP服务器30B。因此,该技术有利于新的路由器的动态添加,这只需要在较低的初始管理监督下来配置新路由器以提供本地DHCP服务器。以这种方式,该技术可以接纳本地DHCP服务器的动态添加,以服务于聚集(aggregation)网络中的附加用户设备的增多。
图3A和图3B是示出了网络设备(诸如图2的实例中所示的路由器12A)在实施本公开中所描述的技术时的示例性操作的流程图。尽管关于特定的网络设备(即,该实例中的路由器12A)进行了描述,但该技术可以由如上所指出的任何网络设备来实施。该技术不应限于这个方面。
首先,参考图3A,如上所述,诸如管理员54的用户首先与由UI模块34A提供的用户界面相互作用,以输入配置数据(60)。配置数据通常定义用于配置地址表56A内的全局地址池的参数以及其他参数(诸如周期消息模块42A生成和发送周期消息58C的频率、控制给定的一个共用池管理器28A可以对给定地址块保留多长时间的超时值)。通常,配置数据表示有利于配置共用池管理器28A来实施本公开中描述的技术的任何数据。UI模块34A将该配置数据转发至控制单元32A的共用池管理器28A,该共用池管理器以上述方式配置地址表56A并可能配置周期消息模块42A和超时模块44A(62)。
在配置地址表56A之后,共用池管理器28A调用请求模块36A以从地址表56A中选择地址块(64)。如上所述,请求模块36A更新地址表56A以指示这些地址被共用池管理器28A保留(66)。配置数据可以定义最大块长度,并且请求模块36A通常选择满足该最大块长度的地址块。在任何情况下,请求模块36A以上述方式生成针对所选择的地址块的请求58A(68)。通常,该请求58A包括具有由地址表56A定义的每个地址的位的位图,该地址表具有对应于所选择的地址块的被设定为一的那些位。此外,该地址块可以为连续地址块或非连续地址块。请求模块36A经由一个接口48将请求58A传输至共用同一全局地址池的那些其他设备(在该实例中即路由器12B)(70)。
响应于该请求58A,同样实施本公开中所描述的技术并共用同一全局地址池的那些设备中的每一个(在该实例中又为路由器12B)评价请求58A并以响应58B做出响应。共用池管理器28A经由一个接口48接收该响应58B(72)。共用池管理器28A调用响应模块38B以评价接收到的响应58B,用于以上述方式确定是否已经发生地址冲突(74)。如果存在地址冲突,则响应模块38A将响应58B转发至冲突解决模块40A。如上所述,然后,冲突解决模块40A从由地址表56A定义的全局地址池中选择不同的地址块,以避免地址冲突(76)。冲突解决模块40A更新地址表56A,以去除先前请求的地址块被保留的符号,并指示该不同的地址块被保留为供共用池管理器28A使用。冲突解决模块40A将这些不同的地址块转发至请求模块36A,该请求模块生成并传输请求这些不同的地址块的新请求58A(66-70)。再一次,共用池管理器28A经由接口48接收一个或多个响应,并调用响应模块38A以确定是否发生地址冲突(72,74)。
假设没有发生冲突(在74为“否”),则共用池管理器28A配置DHCP服务器30A以响应于DHCP通信来分配所选择的地址块,在该点上,DHCP服务器30A开始接收DHCP通信(78)。如上所述,DHCP拦截模块45A透明地监控或拦截这些通信并更新地址表56A(80,82)。当更新地址表56A时,DHCP拦截模块45A确定DHCP服务器30A是否已经将所选择的地址块中的最后剩下的地址分配(84)。尽管关于“最后的地址”进行了描述,但该技术不应限于该具体实例。在其他情况下,DHCP拦截模块45A可以确定所分配的地址的数目是否超过某一极限或阈值。例如,DHCP拦截模块45A可以确定所分配的地址的百分比是否超过90%。
继续上述实例,如果最后的地址已被分配(或者超出了诸如90%的某一阈值),则DHCP拦截模块45A调用请求模块36A。请求模块36A从地址表56A中选择可用地址的不同块(即,表示为没有被共用同一全局地址池的另一共用池管理器所保留的地址),更新地址表56A,生成请求消息58A并传输请求消息58A(76,64-70)。响应于对该请求的接收响应58B,共用池管理器28A再次调用响应模块38A以评价该请求并确定是否发生冲突(72,74)。假定没有冲突,则共用池管理器28A配置DHCP服务器30,以扩展被保留为供DHCP服务器30A使用的地址块,从而包括地址的不同保留块(78)。
进一步假设随后的DHCP通信没有指示“最后的地址”被分配(在84为“否”),则参考图3B的实例,共用池管理器28A通常从共用池管理器28B监听与请求58A相类似的请求(86)。响应于经由一个接口48接收请求(在86为“是”),共用池管理器28A调用请求模块36A,以关于地址表56A来评价请求,从而确定在被请求地址与当前被保留为供DHCP服务器30A使用的那些地址之间是否存在地址冲突(88,90)。如果根据该评价结果是没有冲突(在90为“否”)的,则请求模块36A更新地址表58A以指示被请求地址被保留为供请求的共用池管理器(即,这种情况下为共用池管理器28B)使用(92)。请求模块36A将评价结果转发至响应模块38A,其生成类似于响应58B的响应并经由一个接口48将该响应传输至共用池管理器28B(94,96)。如果产生冲突(在90为“是”),则请求模块36A仅将评价结果转发至响应模块38A,而不更新地址表56A,响应模块38A以上述方式基于该评价来生成并传输响应(94,96)。
在发送响应之后(96)或者如果没有接收到请求(在86为“否”),则共用池管理器28A周期性地调用周期消息模块42A,其以上述方式生成周期消息58C并经由一个或多个接口48传输周期消息58C(98,100)。共用池管理器28A还响应于接收到周期消息58C来调用周期消息模块42A,其响应于接收到的周期消息58C来继续更新地址表56A(102,104)。此外,仍如以上所详细描述的,共用池管理器28A还例行公事地或周期性地调用超时模块44A,以更新地址表56A并去除已经超时的任何地址保留(106)。共用池管理器28A以这种方式继续拦截DHCP通信,管理所保留的地址并执行如步骤80-84、76和66-106所表示的其他操作,直到全局地址池中不再有地址是可用的某一时间。
图4是示出了根据本公开中描述的技术的共用全局地址池114的多个共用池管理器112A~112N的概念图110的框图。共用池管理器112A~112N(“共用池管理器112”)以通信方式相互耦接,并通过各种消息的上述交换来共用全局地址池114。共用池管理器112在各个接入路由器114(其可以表示物理实际路由器或所谓的“虚拟”路由器)内运行以服务用户设备。
虚拟路由器表示物理路由器的资源的分配。这种虚拟化能有效地使单个路由器仿真多个路由器。在一些情况下,这些虚拟路由器被称作独立的“路由选择实例(routing instance)”。在任何情况下,这些虚拟路由器的每一个均可以运行其自身的共用池管理器。通常,单个路由器可以在高可用性(HA)环境中实现两个虚拟路由器,其中,一个虚拟路由器被指定为主虚拟路由器,另一个虚拟路由器被指定为备用或次要虚拟路由器。如果第一虚拟路由器在HA环境下由于某一原因而发生故障,则第二备用虚拟路由器可以控制路由器并继续路由数据包,而通常不需要通知第一虚拟路由器故障的任何其他路由器。
可选地,在一些情况下,多个物理路由器可以彼此协作以提供单个路由器。这些路由器中的一个为主路由器,而另一个为次要或备用路由器。在该情况下,如果协作物理路由器的主路由器发生故障,则协作物理路由器的次要路由器承担协作路由器中发生故障的路由器的操作。这种多重冗余物理路由器实例还通常被称作高可用性路由器。
在任何情况下,为了管理从主虚拟路由器到次要虚拟路由器的路由选择任务的这种移交,主路由器将路由选择信息和转发信息镜像至次要路由器。本公开中描述的技术可以在关于两个不同的物理路由器或虚拟路由器的HA环境下实施。在任一情况下,可以将地址表从主虚拟路由器的共用池管理器镜像到备用虚拟路由器的共用池管理器。在该情况下,备用共用池管理器不发送或不接收消息,而是保持休眠直到被启动。一旦被启动,备用共用池管理器就接管主共用池管理器。
每一个路由器114均包括DHCP服务器116或以通信方式耦接至DHCP服务器116。DHCP通信经由路由器114流向共用池管理器112并从该共用池管理器流动,之后共用池管理器112以上述方式提供本地DHCP服务器116的自动管理监督。
图5A和图5B是分别示出了请求消息120A和答复请求消息120A的响应消息120B的框图,它们是根据本公开中所描述的技术生成的。图5A是示出了根据本公开中描述的技术所生成的示例性请求消息120A的框图。如图5A的实例所示,请求消息120A包括报头122,该报头标识共用同一全局地址池的一个或多个共用池管理器的组,诸如图4的实例中所示的共用池管理器112。报头122可以定义将消息120A传输至共用池管理器112所需要的任何信息以及拦截或解析消息120A所需要的信息。请求消息120A还包括定义多个位的请求位图124,其中设定位在图5A的实例中被表示为黑色填充块。在图5A的实例中,请求位图124定义非连续地址的块的请求。
图5B是示出了根据本公开中所描述的技术而生成的示例性响应消息120B的框图。如图5B的实例所示,响应消息120B包括报头126,该报头标识共用同一全局地址池的一个或多个共用池管理器的组,诸如图4的实例中所示的共用池管理器112。报头126可以定义将消息120B传输至共用池管理器112所需要的任何信息以及拦截或解析消息120B所需要的信息。响应消息120B还包括定义多个位的响应位图128,其中设定位在图5B的实例中被表示为黑色填充块。在图5B的实例中,如由黑色填充框所示,响应位图128表示由请求位图124所请求的一个地址处于冲突。
在一个实例中,位图124和128可以使用多种压缩技术进行压缩,多种压缩技术诸如为Lempel-Ziv压缩技术、Lempel-Ziv-Welch压缩技术、PKZIP压缩技术、GZIP压缩技术或者任何其他合适的压缩技术。假设全局地址池的公用尺寸为64K,每个位图124、128大约为8KB的数据,其有效地表示每个消息120A、120B的大约长度。使用这些技术中的一种进行压缩可以减小位图的大小,因此将消息减至大约2KB或3KB。
在一个实例中,上述技术可以提高通常与本地DHCP服务器相关联的DHCP服务器管理。克服该管理负担有利于本地DHCP服务器的使用,从而提高了由于上述原因的DHCP服务器响应时间。快速DHCP响应时间通常对于特定服务(诸如网络电话(VoIP))来说是很重要的要求。为了说明,VoIP采用了通称为“呼叫设置”的处理,该处理需要线卡或转发引擎的接口以建立每个VoIP呼叫的VoIP接口。通常,当先于呼叫设置的DHCP通信被重定向至远程DHCP服务器时,其要求线卡执行对呼叫设定有负面影响的附加处理,减小呼叫设置速率。使用由本公开中描述的技术使能的本地DHCP服务器,可以避免附加的处理,从而潜在地提高呼叫设置速率。
已经描述了本发明的多个实施方式。这些和其他实施方式均落在所附的权利要求的范围内。
Claims (29)
1.一种共用网络地址池的方法,包括:
利用第一网络设备存储1)定义被提供用于供所述第一网络设备和第二网络设备进行分配所使用的所述网络地址池的数据,所述第一网络设备服务第一子网络,所述第二网络设备服务与所述第一子网络不同的第二子网络;以及2)所述网络地址池中被指定为供所述第一网络设备或所述第二网络设备使用的不同的地址,以将相应不同的地址分配给耦接至所述第一网络设备或所述第二网络设备的一个或多个用户设备;
利用所述第一网络设备来评价定义所述网络地址池的所述数据,以确定由定义所述网络地址池的所述数据标识的地址块当前未被指定为供所述第二网络设备使用,从而将所标识的特定地址块中的地址分配给耦接至所述第二网络设备的一个或多个用户设备;
利用所述第一网络设备将请求传输至所述第二网络设备,所述请求请求所述网络地址池内被指定为供所述第一网络设备使用的确定的地址块,以将所请求的地址块中的地址分配给耦接至所述第一网络设备的一个或多个用户设备;
利用所述第一网络设备接收来自所述第二网络设备的响应,所述响应指示所请求的地址块中的一个或多个地址是否可用以被指定为供所述第一网络设备加以利用,以将所请求的地址块中的地址分配给耦接至所述第一网络设备的一个或多个用户设备;
基于从所述第二网络设备接收到的所述响应中的指示,利用所述第一网络设备更新定义所述网络地址池的所述数据,以反映所述地址块已被指定为供所述第一网络设备使用;以及
当所述数据已被更新为反映所述地址块已指定为供所述第一网络设备使用时,利用所述第一网络设备响应于耦接至所述第一网络设备的所述一个或多个用户设备中的一个用户设备对一个或多个地址的请求,分配所指定的地址块中的一个或多个地址。
2.根据权利要求1所述的方法,
其中,所述第一网络设备包括实施本地动态主机配置协议(DHCP)服务器的路由器,
其中,接收所述响应包括接收来自所述第二网络设备的响应,其指示所请求的地址块可用以被指定为供所述第一网络设备加以利用,从而将所指定的块中的地址分配给耦接至所述第一网络设备的所述一个或多个用户设备,
其中,更新定义所述网络地址池的所述数据包括:基于所请求的地址块可用以被指定为供所述第一网络设备加以利用的指示,更新定义所述网络地址池的所述数据,以反映所述地址块已被指定为供所述第一网络设备使用,以及
其中,所述方法还包括以所请求的地址块自动地配置所述本地DHCP服务器,以使所述本地DHCP服务器将所指定的块中的一个或多个地址分配给耦接至所述第一网络设备的所述一个或多个用户设备。
3.根据权利要求2所述的方法,其中,分配一个或多个地址包括:
接收来自耦接至所述第一网络设备的所述用户设备中请求所述一个或多个地址的用户设备的DHCP发现消息;
利用所述本地DHCP服务器生成DHCP提供消息,所述DHCP提供消息将所指定块中的一个或多个地址提供给所述用户设备中的请求的用户设备,其中所述DHCP发现消息接收自所述请求的用户设备;
将所述DHCP提供消息转发至所述用户设备中的所述请求的用户设备;
在转发所述DHCP提供消息之后,接收来自于所述用户设备中的所述请求的用户设备的DHCP请求消息,所述DHCP请求消息请求由所述DHCP提供消息所提供的一个或多个地址;以及
利用所述本地DHCP服务器生成并转发DHCP确认消息,所述DHCP确认消息确认由所述用户设备中的所述请求的用户设备请求的一个或多个地址已被分配给用户设备用于接入计算机网络。
4.根据权利要求3所述的方法,进一步包括:
通过所述第一网络设备监控所述第一子网络内的所述DHCP发现消息、所述DHCP提供消息、所述DHCP请求消息和所述DHCP确认消息中的每一个;以及
通过所述第一网络设备更新定义所述网络地址池的所述数据,以指示所指定块中的地址已被所述用户设备中的所述请求的用户设备消耗。
5.根据权利要求4所述的方法,
其中,所述请求包括请求第一地址块的第一请求,
其中,所述响应包括第一响应,以及
其中,所述方法进一步包括:
通过所述第一网络设备评价定义所述网络地址池的所述数据,以确定所指定块中的地址已被耦接至所述第一网络设备的所述一个或多个用户设备消耗的程度;
通过所述第一网络设备将第二请求传输至所述第二网络设备,以基于所述评价请求所述网络地址池内被指定为供所述本地DHCP服务器使用的第二地址块;
通过所述第一网络设备从所述第二网络设备接收第二响应,所述第二响应指示所请求的第二地址块是否可用以被指定为供所述本地DHCP服务器加以利用,以将所请求的第二地址块中的地址分配给耦接至所述第一网络设备的所述一个或多个用户设备;
通过所述第一网络设备基于从所述第二网络设备接收到的所述响应中的指示,更新定义所述网络地址池的所述数据,以反映所述第二地址块已被指定为供所述第一网络设备使用;以及
通过所述第一网络设备以所请求的第二地址块自动地配置所述本地DHCP服务器,以使所述本地DHCP服务器将所指定的第二地址块中的一个或多个地址分配给耦接至所述第一网络设备的所述一个或多个用户设备。
6.根据权利要求1所述的方法,至所述第二网络设备的所述请求包括所述网络地址池中的非连续地址的块被指定为供所述第一网络设备使用的请求,以将所请求的地址块中的地址分配给耦接至所述第一网络设备的一个或多个用户设备。
7.根据权利要求1所述的方法,
其中,所述请求包括具有与所述网络地址池中的每个地址相对应的位的请求位图,其中,所述请求位图的每个位均指示所述第一网络设备是否已请求被指定为供所述第一网络设备使用的相应地址,以及
其中,所述响应包括响应位图,其作为所请求的第二地址块是否可用以被指定为供被所述第二网络设备加以利用的指示,其中,所述响应位图包括所述网络地址池中的每个地址的位。
8.根据权利要求1所述的方法,
其中,定义所述网络地址池的所述数据标识当前被指定为供所述第二网络设备使用的那些地址,以及
其中,所述方法进一步包括:生成所述请求,以基于所述评价请求所述网络地址池内被指定为供所述第一网络设备使用的地址块。
9.根据权利要求8所述的方法,
其中,接收响应包括接收来自所述第二网络设备的响应,所述响应指示所请求的地址块中的至少一个地址可用以被指定为供所述第一网络设备加以利用,从而将所请求的地址块中的地址分配给耦接至所述第一网络设备的所述一个或多个用户设备,以及
其中,所述方法进一步包括:
通过所述第一网络设备更新定义所述网络地址池的所述数据,以标识所请求的地址块中被指定为供所述第二网络设备使用的至少一个地址;
通过所述第一网络设备从全局地址池中选择不同的地址块,以避开所述全局地址池中被更新的数据指示为被指定为供所述第二网络设备使用的那些地址;
通过所述第一网络设备传输另一请求,所述另一请求请求所述网络地址池内被指定为供所述第一网络设备使用的不同地址块;
通过所述第一网络设备接收来自所述第二网络设备的另一响应,所述另一响应指示所请求的不同地址块是否可用以被指定为供所述第一网络设备加以利用,从而将所请求的地址块中的地址分配给耦接至所述第一网络设备的一个或多个用户设备;以及
通过所述第一网络设备基于从所述第二网络设备接收到的所述响应中的指示,更新定义所述网络地址池的更新数据,以反映所述不同的地址块已被指定为供所述第一网络设备使用。
10.根据权利要求1所述的方法,进一步包括:
通过所述第一网络设备周期性地生成第一周期消息并将所述第一周期消息传输至所述第二网络设备,所述第一周期消息指示所述网络地址池中的第一组地址被指定为供所述第一网络设备使用;
通过所述第一网络设备周期性地接收来自所述第二网络设备的第二周期消息,所述第二周期消息指示所述网络地址池中的第二组地址被指定为供所述第二网络设备使用;以及
通过所述第一网络设备更新定义所述网络地址池的所述数据,以指示所述第二组地址被指定为供所述第二网络设备使用。
11.根据权利要求1所述的方法,
其中,定义所述网络地址池的所述数据标识每个地址的时间戳,所述时间戳指示指定相应地址的时间,以及
其中,所述方法进一步包括:
通过所述第一网络设备评价每个所述时间戳,以确定所述第一网络设备和所述第二网络设备中的相应一个网络设备对相应地址的指定是否已超时;以及
通过所述第一网络设备基于对每个所述时间戳的评价来更新定义所述网络地址池的所述数据,以去除所述第一网络设备和所述第二网络设备中的相应一个网络设备已指定所述网络地址池中的一个相关联地址的任何指示。
12.根据权利要求11所述的方法,
其中,所述请求包括对第一地址块的第一请求,以及
其中,所述方法进一步包括:
通过所述第一网络设备接收来自所述第二网络设备的第二请求,所述第二请求请求所述网络地址池内被指定为供所述第二网络设备使用的第二地址块,以将所请求的第二地址块中的地址分配给耦接至所述第二网络设备的一个或多个附加的用户设备;
通过所述第一网络设备确定所请求的第二地址块是否可用以被指定为供所述第二网络设备加以利用,以将所请求的第二地址块中的地址分配给耦接至所述第二网络设备的所述一个或多个附加的用户设备;
通过所述第一网络设备基于所请求的第二地址块是否可用的确定,更新定义所述网络地址池的所述数据,以反映所述第二地址块已被指定为供所述第二网络设备使用;以及
通过所述第一网络设备将响应传输至所述第二网络设备,所述响应指示所请求的第二地址块是否可用以被指定为供所述第二网络设备加以利用,以将所请求的第二地址块中的地址分配给耦接至所述第二网络设备的所述一个或多个附加的用户设备。
13.根据权利要求12所述的方法,
其中,所述第二请求包括具有与所述网络地址池中的每个地址相对应的位的请求位图,其中,所述请求位图的每个位均指示所述第二网络设备是否已请求被指定为供所述第二网络设备使用的所述相应地址,以及
其中,定义所述网络地址池的所述数据包括具有与所述网络地址池中的每个地址相对应的位的指定位图,其中,所述指定位图的每个位均指示所述第一网络设备是否已指定所述相应地址,
其中,确定所请求的第二地址块是否可用包括:在所述请求位图和所述指定位图之间执行按位与运算,以产生响应位图,以及
其中,第二响应包括作为所请求的第二地址块是否可用以被指定为供所述第二网络设备加以利用的指示的所述响应位图。
14.根据权利要求1所述的方法,进一步包括:
利用所述第一网络设备接收定义所述网络地址池的配置数据;
利用所述第一网络设备通过存储定义由所述配置数据定义的所述网络地址池的数据,来配置所述网络地址池;以及
在配置所述网络地址池之后,利用所述第一网络设备通过将所述请求传输至所述第二网络设备来动态地加入所述网络地址池,所述请求请求所配置的网络地址池内被指定为供所述第一网络设备使用的地址块。
15.一种网络设备,包括:
控制单元,用于存储1)定义被提供用于由第一网络设备和第二网络设备进行分配的网络地址池的数据,所述第一网络设备服务于第一子网络,所述第二网络设备服务于不同于所述第一子网络的第二子网络;以及2)所述网络地址池中被指定为供所述第一网络设备或所述第二网络设备使用的不同的地址,以将相应不同的地址分配给耦接至所述第一网络设备或所述第二网络设备的一个或多个用户设备,其中所述网络设备包括第一网络设备,以及
其中,所述控制单元包括共用池管理器模块,所述共用池管理器模块评价定义所述网络地址池的所述数据,以确定由定义所述网络地址池的所述数据标识的地址块当前未被指定为供所述第二网络设备使用,从而将所标识的特定地址块中的地址分配给耦接至所述第二网络设备的一个或多个用户设备;以及
至少一个接口,将请求传输至所述第二网络设备,所述请求请求所述网络地址池内被指定为供所述第一网络设备使用的确定的地址块,以将所请求的地址块中的地址分配给耦接至所述第一网络设备的一个或多个用户设备;以及接收来自所述第二网络设备的响应,所述响应指示所请求的地址块中的一个或多个地址是否可用以被指定为供所述第一网络设备加以利用,以将所请求的地址块中的地址分配给耦接至所述第一网络设备的所述一个或多个用户设备,
其中,所述共用池管理器模块基于从所述第二网络设备接收到的所述响应中的指示,更新定义所述网络地址池的所述数据,以反映所述地址块已被指定为供所述第一网络设备使用,以及
其中,当所述数据已被更新为反映所述地址块已被指定为供所述第一网络设备使用时,所述控制单元响应于耦接至所述第一网络的所述一个或多个用户设备中的一个用户设备对一个或多个地址的请求,分配所指定的地址块中的所述一个或多个地址。
16.根据权利要求15所述的网络设备,
其中,所述第一网络设备包括实施本地动态主机配置协议(DHCP)服务器的路由器,
其中,所述至少一个接口接收来自所述第二网络设备的响应,所述响应指示所请求的地址块可用以被指定为供所述第一网络设备加以利用,从而将所指定的块中的地址分配给耦接至所述第一网络设备的所述一个或多个用户设备,
其中,所述共用池管理器模块基于所请求的地址块可被所述第一网络设备加以利用的所述指示,更新定义所述网络地址池的所述数据,以反映所述地址块已被指定为供所述第一网络设备使用,并且所述共用池管理器模块以所请求的地址块自动地配置所述本地DHCP服务器,以使所述本地DHCP服务器将所指定块中的一个或多个地址分配给耦接至所述第一网络设备的所述一个或多个用户设备。
17.根据权利要求16所述的网络设备,其中,所述本地DHCP服务器接收来自耦接至所述第一网络设备的所述用户设备中请求所述一个或多个地址的用户设备的DHCP发现消息,并生成DHCP提供消息,所述DHCP提供消息将所指定块中的一个或多个地址提供给所述用户设备中的请求的用户设备,其中所述DHCP发现消息接收自所述请求的用户设备,
其中,所述至少一个接口将所述DHCP提供消息转发至所述用户设备中的所述请求的用户设备,在转发所述DHCP提供消息之后,接收来自所述用户设备中的所述请求的用户设备的DHCP请求消息,所述DHCP请求消息请求由所述DHCP提供消息所提供的一个或多个地址,
其中,所述本地DHCP服务器生成并转发DHCP确认消息,所述DHCP确认消息确认由所述用户设备中的所述请求的用户设备请求的一个或多个地址已被分配给用户设备用于接入计算机网络。
18.根据权利要求17所述的网络设备,其中,所述共用池管理器模块包括DHCP拦截模块,所述DHCP拦截模块监控所述第一子网络内的所述DHCP发现消息、所述DHCP提供消息、所述DHCP请求消息和所述DHCP确认消息中的每一个,并更新定义所述网络地址池的所述数据,以指示所指定块中的地址已被所述用户设备中的所述请求的用户设备消耗。
19.根据权利要求18所述的网络设备,
其中,所述请求包括请求第一地址块的第一请求,
其中,所述响应包括第一响应,以及
其中所述共用池管理器模块评价定义所述网络地址池的所述数据,以确定所指定块的地址已被耦接至所述第一网络设备的所述一个或多个用户设备消耗的程度;
其中所述至少一个接口将第二请求传输至所述第二网络设备,以基于所述评价请求所述网络地址池内被指定为供所述本地DHCP服务器使用的第二地址块;以及接收来自所述第二网络设备的第二响应,所述第二响应指示所请求的第二地址块是否可用以被指定为供所述本地DHCP服务器加以利用,以将所请求的第二地址块中的地址分配给耦接至所述第一网络设备的所述一个或多个用户设备;
其中所述共用池管理器模块基于从所述第二网络设备接收到的所述响应中的指示,更新定义所述网络地址池的所述数据,以反映所述第二地址块已被指定为供所述第一网络设备使用;以及以所请求的第二地址块自动地配置所述本地DHCP服务器,以使所述本地DHCP服务器将所指定的第二地址块中的一个或多个地址分配给耦接至所述第一网络设备的所述一个或多个用户设备。
20.根据权利要求15所述的网络设备,至所述第二网络设备的所述请求包括所述网络地址池中非连续地址的块被指定为供所述第一网络设备使用的请求,以将所请求的地址块中的地址分配给耦接至所述第一网络设备的一个或多个用户设备。
21.根据权利要求15所述的网络设备,
其中,所述请求包括具有与所述网络地址池中的每个地址相对应的位的请求位图,其中,所述请求位图的每个位均指示所述第一网络设备是否已请求被指定为供所述第一网络设备使用的相应地址,以及
其中,所述响应包括响应位图,其作为所请求的第二地址块是否可用以被指定为供所述第二网络设备加以利用的指示,其中,所述响应位图包括所述网络地址池中的每个地址的位。
22.根据权利要求15所述的网络设备,
其中,定义所述网络地址池的所述数据标识当前被指定为供所述第二网络设备使用的那些地址,以及
其中,所述共用池管理器包括请求模块,所述请求模块生成所述请求,以基于所述评价请求所述网络地址池内被指定为供所述第一网络设备使用的地址块。
23.根据权利要求22所述的网络设备,
其中,所述共用池管理器包括响应模块,所述响应模块接收来自所述第二网络设备的响应,所述响应指示所请求的地址块中的至少一个地址不可用以被指定为供所述第一网络设备加以利用,从而将所请求的地址块中的地址分配给耦接至所述第一网络设备的一个或多个用户设备,
其中,所述共用池管理器还包括冲突解决模块,所述冲突解决模块更新定义所述网络地址池的所述数据,以标识所请求的地址块中被指定为供所述第二网络设备使用的至少一个地址,并且从全局地址池中选择不同的地址块,以避开所述全局地址池中被更新的数据指示为被指定为供所述第二网络设备使用的那些地址,以及
其中,所述共用池管理器传输另一请求,所述另一请求请求所述网络地址池内被指定为供所述第一网络设备使用的不同地址块;接收来自所述第二网络设备的另一响应,所述另一响应指示所请求的不同地址块是否可用以被指定为供所述第一网络设备加以利用,从而将所请求的地址块中的地址分配给耦接至所述第一网络设备的一个或多个用户设备;以及基于从所述第二网络设备接收到的所述响应中的指示,更新定义所述网络地址池的更新数据,以反映所述不同的地址块已被指定为供所述第一网络设备使用。
24.根据权利要求15所述的网络设备,所述共用池管理器包括周期消息模块,所述周期消息模块周期性地生成第一周期消息并经由所述至少一个接口将所述第一周期消息传输至所述第二网络设备,所述第一周期消息指示所述网络地址池中的第一组地址被指定为供所述第一网络设备使用;经由所述至少一个接口周期性地接收来自所述第二网络设备的第二周期消息,所述第二周期消息指示所述网络地址池中的第二组地址被指定为供所述第二网络设备使用;以及更新定义所述网络地址池的所述数据,以指示所述第二组地址被指定为供所述第二网络设备使用。
25.根据权利要求15所述的网络设备,
其中,定义所述网络地址池的所述数据标识每个地址的时间戳,所述时间戳指示指定相应地址的时间,以及
其中,所述共用池管理器模块包括超时模块,所述超时模块评价每个所述时间戳,以确定所述第一网络设备和所述第二网络设备中的相应一个网络设备对相应地址的指定是否已超时;以及基于对每个所述时间戳的评价来更新定义所述网络地址池的所述数据,以去除所述第一网络设备和所述第二网络设备中的相应一个网络设备已被指定所述网络地址池中的一个相关联地址的任何指示。
26.根据权利要求25所述的网络设备,
其中,所述请求包括对第一地址块的第一请求,以及
其中,所述共用池管理器模块经由所述至少一个接口接收来自所述第二网络设备的第二请求,所述第二请求请求所述网络地址池内被指定为供所述第二网络设备使用的第二地址块,以将所请求的第二地址块中的地址分配给耦接至所述第二网络设备的一个或多个附加的用户设备;确定所请求的第二地址块是否可用以指定为供所述第二网络设备加以利用,以将所请求的第二地址块中的地址分配给耦接至所述第二网络设备的所述一个或多个附加的用户设备;以及基于所请求的第二地址块是否可用的确定,更新定义所述网络地址池的所述数据,以反映所述第二地址块已被指定为供所述第二网络设备使用,以及
其中,所述至少一个接口将响应传输至所述第二网络设备,所述响应指示所请求的第二地址块是否可用以被指定为供所述第二网络设备加以利用,以将所请求的第二地址块中的地址分配给耦接至所述第二网络设备的所述一个或多个附加的用户设备。
27.根据权利要求26所述的网络设备,
其中,所述第二请求包括具有与所述网络地址池中的每个地址相对应的位的请求位图,其中,所述请求位图的每个位均指示所述第二网络设备是否已请求被指定为供所述第二网络设备使用的所述相应地址,
其中,定义所述网络地址池的所述数据包括具有与所述网络地址池中的每个地址相对应的位的指定位图,其中,所述指定位图的每个位均指示所述第一网络设备是否已指定所述相应地址,
其中,所述共用池管理器模块包括请求模块,所述请求模块在所述请求位图和所述指定位图之间执行按位与运算,以生成响应位图,以及
其中,第二响应包括作为所请求的第二地址块是否可用以被指定为供所述第二网络设备加以利用的指示的所述响应位图。
28.根据权利要求15所述的网络设备,
其中,所述控制单元包括用户界面模块,其接收定义所述网络地址池的配置数据;
其中,所述控制单元将所述数据存储至所述共用池管理器,以定义由所述配置数据定义的所述网络地址池,
其中,所述共用池管理器在配置所述网络地址池之后,通过将所述请求传输至所述第二网络设备来动态地加入所述网络地址池,所述请求请求所配置的网络地址池内被指定为供所述第一网络设备使用的地址块。
29.一种网络系统,包括:
第一组用户设备;
服务第一子网络的第一网络设备,耦接至所述第一组用户设备;
第二组用户设备,其不同于所述第一组用户设备;以及
第二网络设备,所述第二网络设备服务于与所述第一子网络不同的第二子网络并且耦接至所述第二组网络设备且不同于所述第一网络设备,
其中,所述第一网络设备包括:
控制单元,用于存储1)定义被提供用于由所述第一网络设备和所述第二网络设备进行分配的网络地址池的数据,以及2)所述网络地址池中被指定为供所述第一网络设备或所述第二网络设备使用的不同的地址,以将相应不同的地址分配给耦接至所述第一网络设备或所述第二网络设备的一个或多个用户设备,以及
其中,所述控制单元包括共用池管理器模块,所述共用池管理器模块评价定义所述网络地址池的所述数据,以确定由定义所述网络地址池的所述数据标识的地址块当前未被指定为供所述第二网络设备使用,从而将所标识的特定地址块中的地址分配给耦接至所述第二网络设备的一个或多个用户设备;以及
至少一个接口,其将请求传输至所述第二网络设备,所述请求请求所述网络地址池内被指定为供所述第一网络设备使用的确定的地址块,以将所请求的地址块中的地址分配给耦接至所述第一网络设备的一个或多个用户设备;以及接收来自所述第二网络设备的响应,所述响应指示所请求的地址块中的一个或多个地址是否可被所述第一网络设备加以利用,以将所请求的地址块中的地址分配给与所述第一网络设备耦接的一个或多个用户设备,
其中,所述共用池管理器模块基于从所述第二网络设备接收到的所述响应中的指示,更新定义所述网络地址池的所述数据,以反映所述地址块已被指定为供所述第一网络设备使用,以及
其中,当所述数据已被更新为反映所述地址块已被指定为供所述第一网络设备使用时,所述控制单元响应于耦接至所述第一网络设备的所述一个或多个用户设备中的一个用户设备对一个或多个地址的请求,分配所指定的地址块中的所述一个或多个地址。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/729,979 US8560658B2 (en) | 2010-03-23 | 2010-03-23 | Managing distributed address pools within network devices |
US12/729,979 | 2010-03-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102202104A CN102202104A (zh) | 2011-09-28 |
CN102202104B true CN102202104B (zh) | 2014-12-17 |
Family
ID=44148987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010530108.3A Expired - Fee Related CN102202104B (zh) | 2010-03-23 | 2010-10-22 | 管理网络设备内的分布式地址池 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8560658B2 (zh) |
EP (1) | EP2369815B1 (zh) |
CN (1) | CN102202104B (zh) |
Families Citing this family (176)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080262974A1 (en) * | 2007-04-17 | 2008-10-23 | Embarq Holdings Company, Llc | System and method for enabling commercial subscribers of a communications carrier to access a network of wireless access points of other subscribers |
US8028090B2 (en) | 2008-11-17 | 2011-09-27 | Amazon Technologies, Inc. | Request routing utilizing client location information |
US7991910B2 (en) | 2008-11-17 | 2011-08-02 | Amazon Technologies, Inc. | Updating routing information based on client location |
US8345694B2 (en) * | 2007-12-31 | 2013-01-01 | Airvana, Corp. | Network address translation for tunnel mobility |
US8533293B1 (en) | 2008-03-31 | 2013-09-10 | Amazon Technologies, Inc. | Client side cache management |
US7970820B1 (en) | 2008-03-31 | 2011-06-28 | Amazon Technologies, Inc. | Locality based content distribution |
US8447831B1 (en) | 2008-03-31 | 2013-05-21 | Amazon Technologies, Inc. | Incentive driven content delivery |
US8606996B2 (en) | 2008-03-31 | 2013-12-10 | Amazon Technologies, Inc. | Cache optimization |
US8156243B2 (en) | 2008-03-31 | 2012-04-10 | Amazon Technologies, Inc. | Request routing |
US8321568B2 (en) | 2008-03-31 | 2012-11-27 | Amazon Technologies, Inc. | Content management |
US7962597B2 (en) | 2008-03-31 | 2011-06-14 | Amazon Technologies, Inc. | Request routing based on class |
US8601090B1 (en) | 2008-03-31 | 2013-12-03 | Amazon Technologies, Inc. | Network resource identification |
US9407681B1 (en) | 2010-09-28 | 2016-08-02 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US7925782B2 (en) | 2008-06-30 | 2011-04-12 | Amazon Technologies, Inc. | Request routing using network computing components |
US9912740B2 (en) | 2008-06-30 | 2018-03-06 | Amazon Technologies, Inc. | Latency measurement in resource requests |
WO2010014856A2 (en) * | 2008-07-31 | 2010-02-04 | Tekelec | Methods, systems, and computer readable media for throttling traffic to an internet protocol (ip) network server using alias hostname identifiers assigned to the ip network server with a domain name system (dns) |
US8732309B1 (en) | 2008-11-17 | 2014-05-20 | Amazon Technologies, Inc. | Request routing utilizing cost information |
US8060616B1 (en) | 2008-11-17 | 2011-11-15 | Amazon Technologies, Inc. | Managing CDN registration by a storage provider |
US8122098B1 (en) | 2008-11-17 | 2012-02-21 | Amazon Technologies, Inc. | Managing content delivery network service providers by a content broker |
US8065417B1 (en) | 2008-11-17 | 2011-11-22 | Amazon Technologies, Inc. | Service provider registration by a content broker |
US8521880B1 (en) | 2008-11-17 | 2013-08-27 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US8073940B1 (en) | 2008-11-17 | 2011-12-06 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US8756341B1 (en) | 2009-03-27 | 2014-06-17 | Amazon Technologies, Inc. | Request routing utilizing popularity information |
US8521851B1 (en) | 2009-03-27 | 2013-08-27 | Amazon Technologies, Inc. | DNS query processing using resource identifiers specifying an application broker |
US8412823B1 (en) | 2009-03-27 | 2013-04-02 | Amazon Technologies, Inc. | Managing tracking information entries in resource cache components |
US8688837B1 (en) | 2009-03-27 | 2014-04-01 | Amazon Technologies, Inc. | Dynamically translating resource identifiers for request routing using popularity information |
US8782236B1 (en) | 2009-06-16 | 2014-07-15 | Amazon Technologies, Inc. | Managing resources using resource expiration data |
US8397073B1 (en) | 2009-09-04 | 2013-03-12 | Amazon Technologies, Inc. | Managing secure content in a content delivery network |
CN102025528B (zh) * | 2009-09-23 | 2013-12-18 | 中兴通讯股份有限公司 | 地址管理方法、装置和系统 |
US8433771B1 (en) | 2009-10-02 | 2013-04-30 | Amazon Technologies, Inc. | Distribution network with forward resource propagation |
US9495338B1 (en) | 2010-01-28 | 2016-11-15 | Amazon Technologies, Inc. | Content distribution network |
CN102986170B (zh) * | 2010-06-15 | 2016-03-16 | 泰克莱克股份有限公司 | 用于在diameter网络中提供动态的基于起点的路由关键字登记的方法、系统和设备 |
US8756272B1 (en) | 2010-08-26 | 2014-06-17 | Amazon Technologies, Inc. | Processing encoded content |
US10958501B1 (en) | 2010-09-28 | 2021-03-23 | Amazon Technologies, Inc. | Request routing information based on client IP groupings |
US8938526B1 (en) | 2010-09-28 | 2015-01-20 | Amazon Technologies, Inc. | Request routing management based on network components |
US9003035B1 (en) | 2010-09-28 | 2015-04-07 | Amazon Technologies, Inc. | Point of presence management in request routing |
US9712484B1 (en) | 2010-09-28 | 2017-07-18 | Amazon Technologies, Inc. | Managing request routing information utilizing client identifiers |
US8924528B1 (en) | 2010-09-28 | 2014-12-30 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US8930513B1 (en) | 2010-09-28 | 2015-01-06 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US10097398B1 (en) | 2010-09-28 | 2018-10-09 | Amazon Technologies, Inc. | Point of presence management in request routing |
US8819283B2 (en) | 2010-09-28 | 2014-08-26 | Amazon Technologies, Inc. | Request routing in a networked environment |
US8468247B1 (en) | 2010-09-28 | 2013-06-18 | Amazon Technologies, Inc. | Point of presence management in request routing |
US8577992B1 (en) | 2010-09-28 | 2013-11-05 | Amazon Technologies, Inc. | Request routing management based on network components |
US8452874B2 (en) | 2010-11-22 | 2013-05-28 | Amazon Technologies, Inc. | Request routing processing |
US20120131197A1 (en) * | 2010-11-23 | 2012-05-24 | Sensormatic Electronics, LLC | Method and apparatus for automatically resolving conflicting devices on a network |
US8626950B1 (en) * | 2010-12-03 | 2014-01-07 | Amazon Technologies, Inc. | Request routing processing |
US9391949B1 (en) * | 2010-12-03 | 2016-07-12 | Amazon Technologies, Inc. | Request routing processing |
CN102025798B (zh) * | 2010-12-15 | 2013-12-04 | 华为技术有限公司 | 地址分配处理方法、装置和系统 |
JPWO2012086571A1 (ja) * | 2010-12-22 | 2014-05-22 | 日本電気株式会社 | 通信装置、通信装置の設定方法及びプログラム |
US8429257B2 (en) * | 2011-03-03 | 2013-04-23 | Verizon Patent And Licensing Inc. | Optimizing use of internet protocol addresses |
JP5732550B2 (ja) | 2011-03-03 | 2015-06-10 | テケレック・インコーポレイテッドTekelec, Inc. | ダイアメータシグナリングメッセージを強化するための方法、システム、およびコンピュータ可読媒体 |
JP5729063B2 (ja) * | 2011-03-22 | 2015-06-03 | 富士通株式会社 | 通信設定方法、通信設定サーバ、中継装置および通信設定プログラム |
US10467042B1 (en) | 2011-04-27 | 2019-11-05 | Amazon Technologies, Inc. | Optimized deployment based upon customer locality |
JP5331163B2 (ja) * | 2011-05-31 | 2013-10-30 | 株式会社バッファロー | Ipアドレス割り当てシステム、dhcpサーバ及びipアドレス割り当て方法 |
US8805977B2 (en) * | 2011-06-09 | 2014-08-12 | Freescale Semiconductor, Inc. | Method and system for address conflict resolution |
CN103890751B (zh) | 2011-08-17 | 2017-05-17 | Nicira股份有限公司 | 逻辑l3路由 |
US9608930B1 (en) * | 2011-08-30 | 2017-03-28 | Amazon Technologies, Inc. | Allocating identifiers with minimal fragmentation |
US9407506B2 (en) * | 2011-09-12 | 2016-08-02 | Microsoft Technology Licensing, Llc | Multi-entity management |
KR101948076B1 (ko) * | 2011-10-10 | 2019-02-15 | 삼성전자주식회사 | 논리 주소 할당 방법 및 장치 |
US9137198B2 (en) * | 2011-10-21 | 2015-09-15 | Hewlett-Packard Development Company, L.P. | Centralized configuration with dynamic distributed address management |
CN102404419A (zh) * | 2011-11-23 | 2012-04-04 | 华为技术有限公司 | 一种ip地址的分配方法及路由器 |
KR20130072967A (ko) * | 2011-12-22 | 2013-07-02 | 삼성전자주식회사 | Ip라우터 및 ip 주소 할당 방법 |
US9094342B2 (en) * | 2012-01-13 | 2015-07-28 | Verizon Patent And Licensing Inc. | Method and system for sharing router resources via a mobile virtual router |
US8904009B1 (en) | 2012-02-10 | 2014-12-02 | Amazon Technologies, Inc. | Dynamic content delivery |
US10021179B1 (en) | 2012-02-21 | 2018-07-10 | Amazon Technologies, Inc. | Local resource delivery network |
EP2637386A1 (en) * | 2012-03-05 | 2013-09-11 | Alcatel Lucent | Method and device for improving subscribers privacy in ip communications networks |
US9172674B1 (en) | 2012-03-21 | 2015-10-27 | Amazon Technologies, Inc. | Managing request routing information utilizing performance information |
US10623408B1 (en) | 2012-04-02 | 2020-04-14 | Amazon Technologies, Inc. | Context sensitive object management |
US9515920B2 (en) * | 2012-04-20 | 2016-12-06 | Futurewei Technologies, Inc. | Name-based neighbor discovery and multi-hop service discovery in information-centric networks |
US9154551B1 (en) | 2012-06-11 | 2015-10-06 | Amazon Technologies, Inc. | Processing DNS queries to identify pre-processing information |
US9385989B2 (en) * | 2012-07-18 | 2016-07-05 | Vmware, Inc. | Method and apparatus for managing MAC address generation for virtualized environments |
US9525659B1 (en) | 2012-09-04 | 2016-12-20 | Amazon Technologies, Inc. | Request routing utilizing point of presence load information |
US9135048B2 (en) | 2012-09-20 | 2015-09-15 | Amazon Technologies, Inc. | Automated profiling of resource usage |
US9323577B2 (en) | 2012-09-20 | 2016-04-26 | Amazon Technologies, Inc. | Automated profiling of resource usage |
US9300541B2 (en) * | 2012-09-28 | 2016-03-29 | Time Warner Cable Enterprises Llc | System and method for automatically learning and maintaining IP address allocation topology |
US10205698B1 (en) | 2012-12-19 | 2019-02-12 | Amazon Technologies, Inc. | Source-dependent address resolution |
CN103117947B (zh) * | 2013-01-28 | 2016-06-29 | 中兴通讯股份有限公司 | 一种负载分担方法及装置 |
US9286047B1 (en) * | 2013-02-13 | 2016-03-15 | Cisco Technology, Inc. | Deployment and upgrade of network devices in a network environment |
US9300627B2 (en) * | 2013-03-14 | 2016-03-29 | Time Warner Cable Enterprises Llc | System and method for automatic routing of dynamic host configuration protocol (DHCP) traffic |
US9763102B2 (en) * | 2013-04-22 | 2017-09-12 | Nokia Solutions And Networks Oy | Resources in a communication system |
US9294391B1 (en) | 2013-06-04 | 2016-03-22 | Amazon Technologies, Inc. | Managing network computing components utilizing request routing |
US9350607B2 (en) * | 2013-09-25 | 2016-05-24 | International Business Machines Corporation | Scalable network configuration with consistent updates in software defined networks |
US9680711B2 (en) * | 2013-11-27 | 2017-06-13 | Solarwinds Worldwide, Llc | Method and apparatus for visualizing dynamic-host-configuration-protocol scopes |
CN104734864B (zh) * | 2013-12-18 | 2018-02-23 | 华为技术有限公司 | 网络中生成宽带网络网关池的方法和装置 |
US9450910B2 (en) * | 2014-02-06 | 2016-09-20 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Network address allocation |
US20150317169A1 (en) * | 2014-05-04 | 2015-11-05 | Midfin Systems Inc. | Constructing and operating high-performance unified compute infrastructure across geo-distributed datacenters |
US9473319B2 (en) | 2014-05-14 | 2016-10-18 | International Business Machines Corporation | Dynamic discovery and assignment of available virtual local area networks |
US9699068B1 (en) * | 2014-09-30 | 2017-07-04 | Amazon Technologies, Inc. | Distributing routing updates according to a decay mode |
US9531642B1 (en) | 2014-09-30 | 2016-12-27 | Amazon Technologies, Inc. | Distributing routing updates according to a synchronous mode |
US10291578B2 (en) * | 2014-10-27 | 2019-05-14 | Hewlett Packard Enierprise Development LP | Method to distribute a centralized service |
US10033627B1 (en) | 2014-12-18 | 2018-07-24 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10097448B1 (en) | 2014-12-18 | 2018-10-09 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10091096B1 (en) | 2014-12-18 | 2018-10-02 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US9749288B2 (en) | 2015-02-20 | 2017-08-29 | Red Hat Israel, Ltd. | Management of network address pools |
EP3062489B1 (en) * | 2015-02-25 | 2019-07-03 | Deutsche Telekom AG | Dhcp using a distributed data structure |
US9900169B2 (en) * | 2015-03-18 | 2018-02-20 | Cisco Technology, Inc. | Reliable multicast in low-power and lossy networks |
US10225326B1 (en) | 2015-03-23 | 2019-03-05 | Amazon Technologies, Inc. | Point of presence based data uploading |
US9819567B1 (en) | 2015-03-30 | 2017-11-14 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9887932B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9887931B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
CN104869665B (zh) * | 2015-04-10 | 2018-11-20 | 广东欧珀移动通信有限公司 | 控制网络连接的方法、无线路由器及移动设备 |
US9832141B1 (en) | 2015-05-13 | 2017-11-28 | Amazon Technologies, Inc. | Routing based request correlation |
US10374904B2 (en) | 2015-05-15 | 2019-08-06 | Cisco Technology, Inc. | Diagnostic network visualization |
US9967158B2 (en) | 2015-06-05 | 2018-05-08 | Cisco Technology, Inc. | Interactive hierarchical network chord diagram for application dependency mapping |
US10142353B2 (en) | 2015-06-05 | 2018-11-27 | Cisco Technology, Inc. | System for monitoring and managing datacenters |
US10536357B2 (en) | 2015-06-05 | 2020-01-14 | Cisco Technology, Inc. | Late data detection in data center |
US10616179B1 (en) | 2015-06-25 | 2020-04-07 | Amazon Technologies, Inc. | Selective routing of domain name system (DNS) requests |
US10097566B1 (en) | 2015-07-31 | 2018-10-09 | Amazon Technologies, Inc. | Identifying targets of network attacks |
US9774619B1 (en) | 2015-09-24 | 2017-09-26 | Amazon Technologies, Inc. | Mitigating network attacks |
US9794281B1 (en) | 2015-09-24 | 2017-10-17 | Amazon Technologies, Inc. | Identifying sources of network attacks |
US9742795B1 (en) | 2015-09-24 | 2017-08-22 | Amazon Technologies, Inc. | Mitigating network attacks |
US10270878B1 (en) | 2015-11-10 | 2019-04-23 | Amazon Technologies, Inc. | Routing for origin-facing points of presence |
US10257307B1 (en) | 2015-12-11 | 2019-04-09 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
US10049051B1 (en) | 2015-12-11 | 2018-08-14 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
US10348639B2 (en) | 2015-12-18 | 2019-07-09 | Amazon Technologies, Inc. | Use of virtual endpoints to improve data transmission rates |
US10284465B2 (en) * | 2015-12-28 | 2019-05-07 | Mellanox Technologies Tlv Ltd. | Efficient algorithmic forwarding in fat-tree networks |
US10841274B2 (en) * | 2016-02-08 | 2020-11-17 | Hewlett Packard Enterprise Development Lp | Federated virtual datacenter apparatus |
US10075551B1 (en) | 2016-06-06 | 2018-09-11 | Amazon Technologies, Inc. | Request management for hierarchical cache |
US11822970B2 (en) * | 2016-06-24 | 2023-11-21 | Nicira, Inc. | Identifier (ID) allocation in a virtualized computing environment |
US10110694B1 (en) | 2016-06-29 | 2018-10-23 | Amazon Technologies, Inc. | Adaptive transfer rate for retrieving content from a server |
US10708183B2 (en) | 2016-07-21 | 2020-07-07 | Cisco Technology, Inc. | System and method of providing segment routing as a service |
US9992086B1 (en) | 2016-08-23 | 2018-06-05 | Amazon Technologies, Inc. | External health checking of virtual private cloud network environments |
US10033691B1 (en) | 2016-08-24 | 2018-07-24 | Amazon Technologies, Inc. | Adaptive resolution of domain name requests in virtual private cloud network environments |
US10505961B2 (en) | 2016-10-05 | 2019-12-10 | Amazon Technologies, Inc. | Digitally signed network address |
KR101920190B1 (ko) * | 2016-11-22 | 2019-02-08 | 한국인터넷진흥원 | 임의의 ip 생성 방법 및 그 장치 |
US10972388B2 (en) | 2016-11-22 | 2021-04-06 | Cisco Technology, Inc. | Federated microburst detection |
US11316744B2 (en) | 2016-12-21 | 2022-04-26 | Juniper Networks, Inc. | Organizing execution of distributed operating systems for network devices |
US10887173B2 (en) | 2016-12-21 | 2021-01-05 | Juniper Networks, Inc. | Communicating state information in distributed operating systems |
CN106899704A (zh) * | 2016-12-21 | 2017-06-27 | 新华三技术有限公司 | 一种用户地址分配的方法和装置 |
US11316775B2 (en) | 2016-12-21 | 2022-04-26 | Juniper Networks, Inc. | Maintaining coherency in distributed operating systems for network devices |
US10831549B1 (en) | 2016-12-27 | 2020-11-10 | Amazon Technologies, Inc. | Multi-region request-driven code execution system |
US10372499B1 (en) | 2016-12-27 | 2019-08-06 | Amazon Technologies, Inc. | Efficient region selection system for executing request-driven code |
US10938884B1 (en) | 2017-01-30 | 2021-03-02 | Amazon Technologies, Inc. | Origin server cloaking using virtual private cloud network environments |
US10708152B2 (en) | 2017-03-23 | 2020-07-07 | Cisco Technology, Inc. | Predicting application and network performance |
US10523512B2 (en) | 2017-03-24 | 2019-12-31 | Cisco Technology, Inc. | Network agent for generating platform specific network policies |
US10764141B2 (en) | 2017-03-27 | 2020-09-01 | Cisco Technology, Inc. | Network agent for reporting to a network policy system |
US10594560B2 (en) | 2017-03-27 | 2020-03-17 | Cisco Technology, Inc. | Intent driven network policy platform |
US10873794B2 (en) | 2017-03-28 | 2020-12-22 | Cisco Technology, Inc. | Flowlet resolution for application performance monitoring and management |
US10503613B1 (en) | 2017-04-21 | 2019-12-10 | Amazon Technologies, Inc. | Efficient serving of resources during server unavailability |
EP3609162B1 (en) * | 2017-04-27 | 2021-10-27 | Huawei Technologies Co., Ltd. | Method and terminal for realizing data service |
US11075987B1 (en) | 2017-06-12 | 2021-07-27 | Amazon Technologies, Inc. | Load estimating content delivery network |
US10447648B2 (en) | 2017-06-19 | 2019-10-15 | Amazon Technologies, Inc. | Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP |
US10680887B2 (en) | 2017-07-21 | 2020-06-09 | Cisco Technology, Inc. | Remote device status audit and recovery |
US10742593B1 (en) | 2017-09-25 | 2020-08-11 | Amazon Technologies, Inc. | Hybrid content request routing system |
US10554501B2 (en) | 2017-10-23 | 2020-02-04 | Cisco Technology, Inc. | Network migration assistant |
US10523541B2 (en) | 2017-10-25 | 2019-12-31 | Cisco Technology, Inc. | Federated network and application data analytics platform |
US10594542B2 (en) | 2017-10-27 | 2020-03-17 | Cisco Technology, Inc. | System and method for network root cause analysis |
US11233821B2 (en) | 2018-01-04 | 2022-01-25 | Cisco Technology, Inc. | Network intrusion counter-intelligence |
US10798015B2 (en) | 2018-01-25 | 2020-10-06 | Cisco Technology, Inc. | Discovery of middleboxes using traffic flow stitching |
US10574575B2 (en) | 2018-01-25 | 2020-02-25 | Cisco Technology, Inc. | Network flow stitching using middle box flow stitching |
US10826803B2 (en) | 2018-01-25 | 2020-11-03 | Cisco Technology, Inc. | Mechanism for facilitating efficient policy updates |
US10999149B2 (en) | 2018-01-25 | 2021-05-04 | Cisco Technology, Inc. | Automatic configuration discovery based on traffic flow data |
US11128700B2 (en) | 2018-01-26 | 2021-09-21 | Cisco Technology, Inc. | Load balancing configuration based on traffic flow telemetry |
US10592578B1 (en) | 2018-03-07 | 2020-03-17 | Amazon Technologies, Inc. | Predictive content push-enabled content delivery network |
EP3562091B1 (en) * | 2018-04-27 | 2023-04-19 | Hewlett Packard Enterprise Development LP | Highly available dhcp service by running dhcp servers on a blockchain network |
CN108616610A (zh) * | 2018-05-21 | 2018-10-02 | 深圳前海有电物联科技有限公司 | 地址分配方法、主机、从机及总线系统 |
CN110677309B (zh) * | 2018-07-03 | 2021-12-14 | 百度在线网络技术(北京)有限公司 | 人群聚类方法及系统、终端以及计算机可读存储介质 |
WO2020070118A1 (en) * | 2018-10-05 | 2020-04-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and apparatus for analytics function discovery |
US10862852B1 (en) | 2018-11-16 | 2020-12-08 | Amazon Technologies, Inc. | Resolution of domain name requests in heterogeneous network environments |
US11888814B2 (en) * | 2018-12-05 | 2024-01-30 | Juniper Networks, Inc. | Managing address spaces across network elements |
US11025747B1 (en) | 2018-12-12 | 2021-06-01 | Amazon Technologies, Inc. | Content request pattern-based routing system |
US11108671B2 (en) | 2019-01-21 | 2021-08-31 | Rankin Labs, Llc | Systems and methods for processing network traffic using dynamic memory |
US11095742B2 (en) | 2019-03-27 | 2021-08-17 | Juniper Networks, Inc. | Query proxy for delivery of dynamic system state |
US11487674B2 (en) | 2019-04-17 | 2022-11-01 | Rankin Labs, Llc | Virtual memory pool within a network which is accessible from multiple platforms |
US11218440B2 (en) * | 2019-04-30 | 2022-01-04 | Hewlett Packard Enterprise Development Lp | Contiguous subnet IP address allocation |
US11729184B2 (en) | 2019-05-28 | 2023-08-15 | Rankin Labs, Llc | Detecting covertly stored payloads of data within a network |
US11055166B2 (en) | 2019-05-28 | 2021-07-06 | Rankin Labs, Llc | Covertly storing a payload of data within a network |
WO2020243244A1 (en) | 2019-05-28 | 2020-12-03 | John Rankin | Supporting a virtual memory area at a remote computing machine |
US11190394B2 (en) * | 2019-10-10 | 2021-11-30 | Cisco Technology, Inc. | Soft-failure protection for multicast communications |
WO2021127320A1 (en) | 2019-12-18 | 2021-06-24 | John Rankin | Distribution of data over a network with interconnected rings |
EP4140099A4 (en) * | 2020-04-21 | 2024-05-01 | Qualcomm Inc | NETWORK DATA ANALYTICS FUNCTION SELECTION |
US11283762B2 (en) * | 2020-07-02 | 2022-03-22 | Charter Communications Operating, Llc | Method and system for internet protocol address allocation |
US11483178B2 (en) * | 2020-12-30 | 2022-10-25 | Level 3 Communications, Llc | Customer activation on edge computing environment |
US11463312B2 (en) * | 2021-01-21 | 2022-10-04 | Cisco Technology, Inc. | Secure onboarding of network devices |
US11637808B2 (en) * | 2021-04-22 | 2023-04-25 | Centurylink Intellectual Property Llc | Generation and use of micro-pools to assign an IP address to a requesting computing device |
US11757833B2 (en) * | 2021-09-29 | 2023-09-12 | Juniper Networks, Inc. | Network device interface for supporting centralized address pool management |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7197549B1 (en) * | 2001-06-04 | 2007-03-27 | Cisco Technology, Inc. | On-demand address pools |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6243749B1 (en) * | 1998-10-08 | 2001-06-05 | Cisco Technology, Inc. | Dynamic network address updating |
US6578074B1 (en) * | 1999-06-25 | 2003-06-10 | Mediaone Group, Inc. | Provisioning server enhancement |
US6982953B1 (en) * | 2000-07-11 | 2006-01-03 | Scorpion Controls, Inc. | Automatic determination of correct IP address for network-connected devices |
US6957276B1 (en) * | 2000-10-23 | 2005-10-18 | Microsoft Corporation | System and method of assigning and reclaiming static addresses through the dynamic host configuration protocol |
US7016324B2 (en) * | 2001-10-23 | 2006-03-21 | Telcordia Technologies, Inc. | System and method for dynamically allocating IP addresses for shared wireless and wireline networks based on priorities and guard bands |
EP1488611B1 (de) | 2002-03-27 | 2005-08-31 | Siemens Aktiengesellschaft | Aaa serversystem zur effizienten zugangskontrolle und adresszuordnung |
US7292538B1 (en) * | 2002-12-06 | 2007-11-06 | Cisco Technology, Inc. | System and method for distributing information in a network environment |
JP4136639B2 (ja) * | 2002-12-13 | 2008-08-20 | キヤノン株式会社 | サービス提供システム及びサービス提供装置 |
US7178059B2 (en) * | 2003-05-07 | 2007-02-13 | Egenera, Inc. | Disaster recovery for processing resources using configurable deployment platform |
US8036237B2 (en) * | 2003-05-16 | 2011-10-11 | Tut Systems, Inc. | System and method for transparent virtual routing |
JP2004356920A (ja) * | 2003-05-29 | 2004-12-16 | Hitachi Ltd | Dhcpサーバシステム |
US7386629B2 (en) * | 2003-06-30 | 2008-06-10 | Intel Corporation | System and method for synchronous configuration of DHCP server and router interfaces |
DE60336998D1 (de) * | 2003-07-03 | 2011-06-16 | Alcatel Lucent | Überprüfung auf doppelte MAC Adressen und dynamische Zuweisung von MAC Adressen |
US7430614B2 (en) * | 2003-10-31 | 2008-09-30 | Redback Networks, Inc. | Use of IP address blocks with default interfaces in a router |
US20050122946A1 (en) * | 2003-11-18 | 2005-06-09 | Won Chan Y. | DHCP pool sharing mechanism in mobile environment |
US7789308B2 (en) * | 2004-05-13 | 2010-09-07 | Cisco Technology, Inc. | Locating and provisioning devices in a network |
US7422152B2 (en) * | 2004-05-13 | 2008-09-09 | Cisco Technology, Inc. | Methods and devices for providing scalable RFID networks |
US7321893B1 (en) * | 2004-07-29 | 2008-01-22 | Emc Corporation | System and method for the configuration of resources in resource groups |
EP1628458A1 (de) * | 2004-08-19 | 2006-02-22 | Siemens Aktiengesellschaft | Verfahren zur Vermittlung von IP-Paketen zwischen Kundennetzen und IP-Provider-Netzen über ein Zugangsnetz |
US20060155563A1 (en) * | 2005-01-12 | 2006-07-13 | Banerjee Dwip N | Method, system and article for advance lease negotiation in DHCP |
US20070002833A1 (en) * | 2005-06-30 | 2007-01-04 | Symbol Technologies, Inc. | Method, system and apparatus for assigning and managing IP addresses for wireless clients in wireless local area networks (WLANs) |
US20070180499A1 (en) * | 2006-01-31 | 2007-08-02 | Van Bemmel Jeroen | Authenticating clients to wireless access networks |
US7853708B2 (en) * | 2006-02-24 | 2010-12-14 | Cisco Technology, Inc. | Techniques for replacing point to point protocol with dynamic host configuration protocol |
US7624181B2 (en) * | 2006-02-24 | 2009-11-24 | Cisco Technology, Inc. | Techniques for authenticating a subscriber for an access network using DHCP |
US7814311B2 (en) * | 2006-03-10 | 2010-10-12 | Cisco Technology, Inc. | Role aware network security enforcement |
JP4727537B2 (ja) * | 2006-09-11 | 2011-07-20 | 富士通株式会社 | リレーエージェント装置及び代行アドレス貸与装置 |
US7792942B1 (en) * | 2007-01-31 | 2010-09-07 | Alcatel Lucent | DHCP server synchronization with DHCP proxy |
CN101355474B (zh) * | 2007-07-25 | 2010-09-08 | 华为技术有限公司 | 请求、分配连接点地址的方法及设备 |
KR100929914B1 (ko) * | 2007-12-18 | 2009-12-04 | 한국전자통신연구원 | 애드 혹 네트워크를 위한 동적 주소 할당 방법 |
US8351928B2 (en) * | 2008-04-14 | 2013-01-08 | Cisco Technology, Inc. | Synchronizing DHCP and mobile IP messaging |
CN104702715B (zh) * | 2008-08-14 | 2019-05-28 | 三星电子株式会社 | 动态主机配置协议网际协议版本4地址释放的方法和系统 |
-
2010
- 2010-03-23 US US12/729,979 patent/US8560658B2/en active Active
- 2010-10-07 EP EP10186815.6A patent/EP2369815B1/en not_active Not-in-force
- 2010-10-22 CN CN201010530108.3A patent/CN102202104B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7197549B1 (en) * | 2001-06-04 | 2007-03-27 | Cisco Technology, Inc. | On-demand address pools |
Also Published As
Publication number | Publication date |
---|---|
US20110238793A1 (en) | 2011-09-29 |
CN102202104A (zh) | 2011-09-28 |
EP2369815B1 (en) | 2017-08-16 |
US8560658B2 (en) | 2013-10-15 |
EP2369815A1 (en) | 2011-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102202104B (zh) | 管理网络设备内的分布式地址池 | |
KR101595527B1 (ko) | 넷스토어 기반의 서비스 네트워크 동적 구성 시스템 및 서비스 네트워크 동적 구성 방법 | |
US10103982B2 (en) | System and method for automatic routing of dynamic host configuration protocol (DHCP) traffic | |
US9853896B2 (en) | Method, device, and virtual private network system for advertising routing information | |
WO2018127144A1 (zh) | 管理网络切片实例的方法、装置和系统 | |
CN101827134B (zh) | 自动释放为宽带接入网内的用户设备保留的资源 | |
CN110326345B (zh) | 一种配置网络切片的方法、装置和系统 | |
CN109923838A (zh) | 桥接远程孤岛的弹性vpn | |
US20140040483A1 (en) | Bgp peer prioritization in networks | |
CN103109505A (zh) | 用于应用-传输网络中的交错层级优化的方法和系统 | |
US11558491B2 (en) | Information-centric networking over 5G or later networks | |
US20030005147A1 (en) | IP/HDLC addressing system for replacing frame relay based systems and method therefor | |
US20220094572A1 (en) | Gateway selection method, device, and system | |
US9900804B2 (en) | Method and device for processing to share network resources, and method, device and system for sharing network resources | |
US7385966B2 (en) | Method for the automatic configuration of a IP telephony device and/or data, system and device implementing same | |
US10686752B2 (en) | Methods for configuring and managing an IP network, corresponding devices and computer programs | |
JP5294529B2 (ja) | データストリームフィルタリング装置及び方法 | |
CN103166772A (zh) | 一种具有多接口的设备和管理设备的方法 | |
CN111630814B (zh) | 由第一装置与第二装置自动设立符合动态路由协议的会话的方法 | |
CN108259292B (zh) | 建立隧道的方法及装置 | |
JP2012191264A (ja) | 基地局システム、無線制御部及び通信制御方法 | |
EP2536248B1 (en) | Method and system for implementing network element self-discovery | |
CN108243080B (zh) | 光网络单元智能化方法及装置 | |
JP2017536775A (ja) | 管理情報の伝送方法及びシステム | |
CN114401214A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141217 Termination date: 20181022 |
|
CF01 | Termination of patent right due to non-payment of annual fee |