CN114128234B - 用于在多网络环境中防止冲突的虚拟地址分配 - Google Patents
用于在多网络环境中防止冲突的虚拟地址分配 Download PDFInfo
- Publication number
- CN114128234B CN114128234B CN202080007906.XA CN202080007906A CN114128234B CN 114128234 B CN114128234 B CN 114128234B CN 202080007906 A CN202080007906 A CN 202080007906A CN 114128234 B CN114128234 B CN 114128234B
- Authority
- CN
- China
- Prior art keywords
- network
- address
- node
- network node
- virtual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013507 mapping Methods 0.000 claims abstract description 34
- 238000000034 method Methods 0.000 claims description 70
- 238000004458 analytical method Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 description 35
- 238000010586 diagram Methods 0.000 description 14
- 230000006855 networking Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 150000001875 compounds Chemical class 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000004615 ingredient Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- 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/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2521—Translation architectures other than single NAT servers
- H04L61/2535—Multiple local networks, e.g. resolving potential IP address conflicts
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/659—Internet protocol version 6 [IPv6] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/668—Internet protocol [IP] address subnets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/677—Multiple interfaces, e.g. multihomed nodes
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
针对连接至多个网络的网络节点创建虚拟子网络,包括:从请求连接至第一网络同时已连接至与第一网络分离的第二网络的网络节点接收路由信息,路由信息包括该网络节点在第二网络中的网络映射;分析路由信息以识别第一网络的第一地址范围与第二网络的第二地址范围之间的网络地址冲突;在分配给基于第一网络建立的虚拟子网络的第三地址范围内向该网络节点指定虚拟地址,第三地址范围与第二地址范围不冲突;以及将虚拟地址发送至该网络节点。第三地址范围内的另一虚拟地址被指定给连接至第一网络的一个或更多个其他网络节点中的每一个,这可以用于该网络节点与其他网络节点之间的分组交换。
Description
技术领域
本公开内容在其一些实施方式中涉及向连接至网络的网络节点分配网络地址,并且更特别地但非排他地,涉及在基于针对多网络节点的网络建立的虚拟子网络中向连接至多个网络的网络节点分配虚拟网络地址,以避免网络地址冲突。
背景技术
联网环境是现代世界中众多平台、***、服务和应用的基石。
网络可以是高度动态的,其中网络节点不断地与网络连接和断开,这需要如本领域已知的用以在网络中映射网络节点的自动化方法和***,例如,动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)***、因特网密钥交换(Internet KeyExchange,IKE)、Wi-Fi保护接入(Wi-Fi Protected Access,WPA)等。
对于同时连接至可能彼此分离并且被独立控制的多个网络的网络节点(多网络节点)而言,向网络节点有效且唯一地指定网络地址的挑战可能显著增加,使得在不同网络中映射多网络节点时可能出现冲突。
发明内容
本公开内容的实施方式的目的是提供一种减轻或解决常规解决方案的缺点和问题的解决方案。
独立权利要求的主题解决了上述目的和其他目的。在从属权利要求中能够找到另外的有利实施方式。
本公开内容旨在提供一种解决方案,用于通过针对每个多网络节点创建虚拟子网络并且在该虚拟子网络中向每个多网络节点指定虚拟网络地址使得该虚拟网络地址与在其他网络中指定给多网络节点的网络地址不冲突(相撞),来自动地支持连接至一个或更多个其他网络的一个或更多个网络节点的网络连接。
根据本公开内容的第一方面,提供了一种网络装置,该网络装置包括控制第一网络的电路,并且该电路被配置成:
-从请求连接至第一网络的网络节点接收路由信息。该网络节点连接至与第一网络分离的一个或更多个第二网络。路由信息包括网络节点在第二网络中的一个或更多个中的网络映射。
-基于对路由信息的分析,识别第一网络的第一网络地址范围与第二网络中一个或更多个的第二网络地址范围之间的地址冲突。
-在分配给基于第一网络建立的虚拟子网络的第三网络地址范围内向网络节点指定虚拟网络地址,第三网络地址范围与第二网络地址范围不冲突。
-将虚拟网络地址发送至上述网络节点。
其中,该电路被配置成将第三网络地址范围内的另一虚拟网络地址指定给连接至第一网络的一个或更多个其他网络节点。
根据本公开内容的第二方面,提供了一种计算机实现的方法,其针对连接至多个网络的网络节点创建虚拟子网络,该方法包括:
-从请求连接至第一网络的网络节点接收路由信息。该网络节点连接至与第一网络分离的一个或更多个第二网络。路由信息包括网络节点在第二网络中的一个或更多个中的网络映射。
-基于对路由信息的分析,识别第一网络的第一网络地址范围与第二网络中一个或更多个的第二网络地址范围之间的地址冲突。
-在分配给基于第一网络建立的虚拟子网络的第三网络地址范围内向网络节点指定虚拟网络地址,第三网络地址范围与第二网络地址范围不冲突。
-将虚拟网络地址发送至该网络节点。
其中,第三网络地址范围内的另一虚拟网络地址被指定给连接至第一网络的一个或更多个其他网络节点。
根据本公开内容的第三方面,提供了一种网络节点,其包括有电路,该电路被配置成:
-将路由信息发送至对该网络节点请求连接到的第一网络进行控制的网络装置。该网络节点连接至与第一网络分离的一个或更多个第二网络。路由信息包括网络节点在第二网络中的一个或更多个中的网络映射。
-在第一网络的第一网络地址范围与第二网络的第二网络地址范围冲突的情况下,接收由网络装置指定给网络节点的虚拟网络地址。虚拟地址是在分配给基于第一网络建立的虚拟子网络的第三网络地址范围内指定的,第三网络地址范围与第二网络地址范围不冲突。
-使用虚拟网络地址基于第一网络交换消息。
根据本公开内容的第四方面,提供了一种计算机实现的方法,其使用在针对连接至多个网络的网络节点创建的虚拟子网络中指定的虚拟地址连接至网络,该方法包括:
-将路由信息发送至对该网络节点请求连接到的第一网络进行控制的网络装置。该网络节点连接至与第一网络分离的一个或更多个第二网络。路由信息包括网络节点在第二网络中的一个或更多个中的网络映射。
-在第一网络的第一网络地址范围与第二网络的第二网络地址范围冲突的情况下,接收由网络装置指定给网络节点的虚拟网络地址。虚拟地址是在分配给基于第一网络建立的虚拟子网络的第三网络地址范围内指定的,第三网络地址范围与第二网络地址范围不冲突。
-使用虚拟网络地址基于第一网络交换消息。
创建虚拟子网络可以自动地且动态地解决(多)网络节点在其所连接的多个分离的网络中的网络寻址之间的潜在地址冲突,因为对多网络节点指定了确定不与其他网络地址冲突的虚拟网络地址。这可以高度适合于就与网络频繁连接和断开的网络节点而言可能高度动态的现代网络。该优点可以随着网络基础设施和联网服务的日益增长的部署(这可能经常导致单个网络节点到多个分离的网络的多个连接)而进一步放大。
在第一方面、第二方面、第三方面和/或第四方面的另外的实现形式中,电路被配置成通过对每个所发送的消息执行以下操作来控制由网络节点向其他网络节点中的一个或更多个发送的网络业务:
-将包括网络节点的虚拟地址的消息源地址调整为在第一地址范围内指定给网络节点的网络地址。
-将包括其他网络节点的虚拟地址的消息目的地地址调整为第一地址范围内的其他网络节点的网络地址。
-将消息转发至其他网络节点。
在第一方面、第二方面、第三方面和/或第四方面的另外的实现形式中,电路被配置成通过对每个所发送的消息执行以下操作来控制由一个或更多个其他网络节点向网络节点发送的网络业务:
-将包括第一地址范围内的其他网络节点的网络地址的消息源地址调整为第三地址范围内被指定给其他网络节点的虚拟地址。
-将包括在第一地址范围内指定给网络节点的网络地址的消息目的地地址调整为该网络节点的虚拟地址。
-将消息转发至网络节点。
通过将网络装置配置成管理源自上述网络节点并且目的地为上述其他网络节点的网络业务以及相反的源自上述其他网络节点并且目的地为上述网络节点的网络业务,不需要为了支持与连接至其他网络的多网络节点的通信而设计、调整、更改、更新和/或另外配置其他网络节点。因此,第一网络及其连接的网络节点可以通过简单地在第一网络中部署网络装置来容易地、简单地、轻松地并且以微小成本升级成支持连接至其他网络的(多)网络节点的连接。
在第一方面、第二方面、第三方面和/或第四方面的另外的实现形式中,网络映射包括第二网络地址范围和/或在一个或更多个第二网络中指定给网络节点的网络地址等。对于网络装置选择与第二网络地址范围不冲突的第三网络地址范围(被分配给虚拟子网络)而言,知晓网络节点的网络地址信息可能是必要的。
在第一方面、第二方面、第三方面和/或第四方面的可选实现形式中,网络映射还包括由网络节点确定的优选虚拟网络地址,该优选虚拟网络地址与在每个第二网络中指定给网络节点的网络地址不冲突。在一些情况下,可能期望网络节点自身选择与在第二网络中指定给该网络节点的网络地址不冲突的虚拟网络地址。然后,网络装置可以根据网络节点所请求的虚拟地址建立虚拟子网络,并且还可以基于所请求的虚拟网络地址来映射连接至第一网络的其他网络节点。
在第一方面、第二方面、第三方面和/或第四方面的另外的实现形式中,电路在下述一个或更多个中接收来自网络节点的路由信息:
-由网络节点在第一网络上发送的一个或更多个广播分组。
-由网络节点在第一网络上发送的一个或更多个多播分组。
-由网络节点根据一个或更多个动态主机配置协议(DHCP)扩展发送的一个或更多个分组。
-由网络节点根据在网络节点与电路之间使用的一种或更多种协商协议发送的一个或更多个分组。
支持用于将路由信息从网络节点传输至网络装置的多种方法、技术和/或协议可以实现根据第一网络的操作参数(例如,支持的协议、连接的网络节点的数量和/或虚拟化水平等)适配和/或调整路由信息传输时的高水平的灵活性。
在第一方面、第二方面、第三方面和/或第四方面的另外的实现形式中,网络地址和虚拟地址是因特网协议(Internet Protocol,IP)地址。IP寻址是最常用的网络寻址协议,因此,支持IP寻址方案可以使得能够对常见且广泛使用的IP联网基础设施、平台、***和应用中多网络节点的虚拟映射进行容易的适配和/或迁移。
在第一方面、第二方面、第三方面和/或第四方面的可选实现形式中,电路还被配置成使用IPv6地址范围来配置第三网络地址范围。将虚拟网络寻址扩展到IPv6协议可以显著增大可用于第一网络(具体地是基于第一网络建立的虚拟子网络)中的分配的虚拟网络地址的范围,因此显著地减少并且实际地消除与第二网络地址范围和/或与分配给基于第一网络建立的其他虚拟子网络的第三(虚拟)地址范围冲突的可能。
在第一方面、第二方面、第三方面和/或第四方面的可选实现形式中,电路还被配置成针对请求连接至第一网络的多个网络节点创建多个虚拟子网络。每个虚拟子网络是针对多个网络节点中的相应网络节点创建的,相应网络节点连接至具有与第一地址范围冲突的网络地址范围的一个或更多个其他网络。由于尝试连接至第一网络的每个多网络节点可以连接至各自具有不同网络地址范围的不同的第二网络,因此创建多个虚拟子网络、每个虚拟子网络专用于请求同时连接至第一网络的一个或更多个多网络节点可能是必要的。
在第一方面、第二方面、第三方面和/或第四方面的另外的实现形式中,第一网络和第二网络由一个或更多个物理网络和/或一个或更多个虚拟网络构成。多个网络节点中的每个网络节点是物理网络节点或虚拟网络节点。由于可以使用物理网络、虚拟网络和/或其任何组合来构造现代网络,因此支持物理网络和虚拟网络两者可以使得能够在这样的网络中容易、简单且广泛地采用多网络节点虚拟映射。
在第一方面、第二方面、第三方面和/或第四方面的另外的实现形式中,电路执行一个或更多个虚拟交换机以控制虚拟网络中的一个或更多个。在通过虚拟交换机管理的虚拟网络的情况下,可以使用已经被部署成支持这样的虚拟网络的虚拟交换机来容易地实现网络装置。
在第一方面、第二方面、第三方面和/或第四方面的可选实现形式中,电路还被配置成向网络节点提供一个或更多个网络地址发现服务。提供服务,具体地,提供发现服务,例如,域名***(Domain Name System,DNS)服务、超文本传输协议(Hypertext TransferProtocol,HTTP)响应服务和/或ad-hoc连接服务等可以实现多网络节点与连接至第一网络的其他网络节点之间的发现和通信,反之亦然。
本公开内容的第五方面提出了一种包括计算机可读代码指令的计算机程序产品,当在计算机中运行该计算机可读代码指令时,将使计算机执行根据第二方面、第四方面中的任一方面或本公开内容的第二方面或第四方面的可选实现形式中的任何实现形式的方法。
本公开内容的第六方面提出了一种计算机可读存储介质,该计算机可读存储介质包括能够由计算机执行的计算机程序代码指令,在该计算机程序代码指令在计算机上运行时用于执行根据第二方面、第四方面中的任一方面或本公开内容的第二方面或第四方面的可选实现形式中的任何实现形式的方法。计算机可读存储介质包括以下组中的一个或更多个:ROM(只读存储器,Read-Only Memory)、PROM(可编程ROM,Programmable ROM)、EPROM(可擦除PROM,Erasable PROM)、闪速存储器、EEPROM(电EPROM,Electrically EPROM)以及硬盘驱动器。
根据第五方面的计算机程序产品或根据第六方面的计算机可读存储介质可以被扩展成与根据第一方面的装置的实现形式对应的实现形式。因此,计算机程序产品的实现形式包括对应的装置实现形式的特征。
根据第五方面的计算机程序产品的优点和计算机可读存储介质的优点与根据本公开内容的第一方面的对应的装置实现形式的优点相同。
在检查以下附图和详细描述时,本公开内容的其他***、方法、特征和优点对于本领域技术人员将是或变得明显。旨在将所有这些附加的***、方法、特征和优点包括在本说明书内,在本公开内容的范围内并且由所附权利要求保护。
除非另外定义,否则本文中使用的所有技术和/或科技术语的含义与本公开内容所属领域的普通技术人员通常理解的含义相同。下文描述了示例性方法和/或材料,但是在实践或测试本公开内容的实施方式时可以使用与本文所描述的方法和材料相似或等同的方法和材料。在有冲突的情况下,以本专利申请文件(包括定义)为准。此外,材料、方法和示例仅是说明性的,并不旨在必然进行限制。
本公开内容的实施方式的方法和/或***的实现可以涉及手动地、自动地或手动和自动组合地执行或完成所选择的任务。此外,根据本公开内容的方法和/或***的实施方式的实际仪器和装备,可以使用操作***通过硬件、通过软件或通过固件或通过硬件、软件和固件的组合来实现若干所选择的任务。
例如,根据本公开内容的实施方式的用于执行所选择的任务的硬件可以被实现为芯片或电路。至于软件,根据本公开内容的实施方式的所选择的任务可以被实现为由计算机使用任何合适的操作***执行的多个软件指令。在本公开内容的示例性实施方式中,根据本文描述的方法和/或***的示例性实施方式的一个或更多个任务由数据处理器(例如,用于执行多个指令的计算平台)执行。可选地,数据处理器包括用于存储指令和/或数据的易失性存储器,和/或用于存储指令和/或数据的非易失性存储装置,例如,磁硬盘和/或可移除介质。可选地,还提供网络连接。还可选地提供显示器和/或用户输入设备,例如,键盘或鼠标。
附图说明
本文中参照附图仅通过示例的方式描述了本公开内容的一些实施方式。现在详细地具体参照附图,要强调的是,示出的细节是作为示例并且出于对本公开内容的实施方式的说明性论述的目的。就这一点而言,结合附图进行的描述使得可以如何实践本公开内容的实施方式对于本领域技术人员而言是明显的。
在附图中:
图1是根据本公开内容的一些实施方式的基于从连接至多个网络的网络节点接收的路由信息创建虚拟子网络以向该网络节点指定不冲突的网络地址的示例性处理的流程图;
图2是根据本公开内容的一些实施方式的基于从连接至多个网络的网络节点接收的路由信息创建虚拟子网络以向该网络节点指定不冲突的网络地址的示例性联网***的示意图;
图3是根据本公开内容的一些实施方式的基于从连接至多个网络的网络节点接收的路由信息创建虚拟子网络以向该网络节点指定不冲突的IP地址的示例性联网***的示意图;
图4是根据本公开内容的一些实施方式的用于根据连接至多个网络的网络节点所请求的优选网络地址创建虚拟子网络以向该网络节点指定不冲突的网络地址的示例性序列的示意图;
图5是根据本公开内容的一些实施方式的用于管理经由被创建以向连接至多个网络的网络节点指定不冲突的网络地址的虚拟子网络在网络节点之间交换的网络业务分组的示例性序列的示意图;以及
图6是根据本公开内容的一些实施方式的用于创建虚拟子网络以向连接至另一网络的网络节点指定不冲突的网络地址的应用IP地址的示例性联网***的示意图。
具体实施方式
在本公开内容的一些实施方式中,本公开内容涉及向连接至网络的网络节点分配网络地址,并且更特别地但非排他地,涉及在基于针对多网络节点的网络建立的虚拟子网络中向连接至多个网络的网络节点分配虚拟网络地址,以避免网络地址冲突。
本公开内容提出了用于针对请求连接至第一网络同时已连接至与第一网络分离并且被独立管理的一个或更多个其他(第二)网络的(多)网络节点在第一网络上创建虚拟子网络的设备、***和方法。该虚拟子网络是基于从多网络节点接收的路由信息而创建的,用以向多网络节点指定网络地址,使得在第一网络上指定的网络地址与第二网络上指定给这些多网络节点的网络地址不冲突。
每个多网络节点,其可以包括物理设备(例如,服务器、计算机、移动设备等)以及虚拟节点(例如,在一个或更多个物理设备上被实例化的虚拟机(Virtual Machine,VM)等),可以经由可用于该多网络节点的不同网络接口连接至第一网络和第二网络。
现代网络(无论是物理的还是虚拟的)通常基于本领域中已知的一种或更多种寻址方案,在寻址方案中,为连接至网络的每个网络节点指定唯一的网络地址,该网络地址用于唯一且区别地识别所连接的网络节点中的每一个,以使得网络节点能够通过网络交换分组。通常为每个网络分配网络地址范围(例如,IP地址范围),并且为连接至该网络的每个网络节点指定在为该网络分配的网络地址范围内的网络地址(例如,IP地址)。
地址分配和指定主要由一个或更多个网络装置自动进行,该网络装置被配置成向连接至网络的每个网络节点自动指定网络地址。网络装置可以是由一个或更多个设备、软件实现的模块、专用电路和/或其组合利用的物理实体或虚拟实体,例如,服务器、动态主机配置协议(DHCP)服务器、网关、路由器、交换机、虚拟交换机等。
如本文中之前所述的,多网络节点已连接至或尝试(请求)连接至的第一网络和第二网络彼此分离并且被独立管理,例如,由在网络地址分配方面彼此不同步并且/或者不会察觉到彼此的独立网络装置控制。因此,可能为第一网络和第二网络分配冲突的(相撞、交叠)地址范围。
这样,被指定给多网络节点(具体地,被指定给第一网络中的多网络节点的一个网络接口)的网络地址可能与被指定给多网络节点(具体地,被指定给第二网络之一中的多网络节点的其他网络接口)的网络地址冲突(相撞)。地址冲突会明显导致多网络节点的内部网络数据路由的冲突,其无法区分在第一网络上发送/接收的分组和在相应的第二网络上发送/接收的分组。这可能导致网络连接性降低而且可能导致多网络节点完全无法基于第一网络和/或第二网络中的一个或更多个通信。
为了防止多网络节点的网络地址冲突,在向多网络节点指定网络地址并且将多网络节点连接至第一网络之前,控制和管理第一网络的网络装置可以首先分对从请求连接至第一网络的多网络节点接收的路由信息进行分析。
路由信息可以包括多网络节点在该多网络节点当前连接到的第二网络中的网络映射,例如,被指定给每个第二网络中的多网络节点的网络地址、第二网络的网络地址范围等。多网络节点可以在初始连接阶段期间使用一种或更多种方法在一个或更多个消息(例如,广播消息、多播消息、由在多网络节点与网络装置之间使用的一个或更多个协商协议(例如,IKE、WPA等)限定的消息、由一个或更多个DHCP协议扩展限定的消息等)中将其路由信息发送(提供)至网络装置。
基于对从多网络节点接收的路由信息的分析,网络装置可以确定在为第一网络分配的(第一)网络地址范围与为第二网络分配的(第二)网络地址范围之间是否存在潜在的寻址(映射)冲突。
在不存在网络寻址冲突的情况下,网络装置可以简单地向多网络节点发送在第一网络中分配和使用的第一地址范围内指定给该多网络节点的网络地址。
然而,在第一网络地址范围与其中一个第二地址范围之间存在冲突的情况下,网络装置可以针对多网络节点创建虚拟子网络。网络装置可以为虚拟网络分配第三网络地址范围,该第三网络地址范围是被确定成与为第二网络分配的任何第二地址范围不冲突(不相撞)的虚拟地址范围。然后,网络装置可以向多网络节点分配第三网络地址范围内的虚拟网络地址。
可选地,多网络节点在发送给网络装置的路由信息中包括优选虚拟网络地址,请求网络装置在第一网络中将优选虚拟网络地址指定给该多网络节点。多网络节点熟悉在第二网络中指定给该多网络节点的网络地址,并且因此可以选择与这些网络地址不冲突的优选虚拟网络地址。在这种情况下,网络装置无需分析路由信息,并且可以根据优选虚拟网络地址向虚拟子网络分配第三网络地址范围。
为了避免对已经连接至第一网络并且被映射在第一网络地址范围内的其他网络节点的网络寻址作出更改,网络装置可以创建针对多网络节点的虚拟子网络,使得该虚拟子网络对于其他网络节点是透明的,因此其他网络节点不会感知到且会无视该虚拟子网络。
因此,网络装置可以在第一网络地址范围内向多网络节点指定(真实)网络地址,以像连接至第一网络的任何其他网络节点那样在第一网络中映射该多网络节点,使得能够在无需地址转换和/或操纵的情况下实现其他网络节点与使用其真实网络地址的多网络节点通信。然而,多网络节点自身可能无法感知在第一网络地址范围内指定给它的真实网络地址。
网络装置还可以在第三网络地址范围内向连接至第一网络的一个或更多个其他网络节点指定虚拟网络地址,第三网络地址范围被分配给针对多网络节点创建并且基于第一网络建立的虚拟子网络。
因此,其他网络节点可以使用在第一网络地址范围内指定给多网络节点的真实网络地址与多网络节点通信,而该多网络节点可以使用在第三网络地址范围内指定给其他网络节点的虚拟网络地址与其他网络节点通信。
因此,网络装置是唯一感知到虚拟子网络以及不同的第一网络地址范围和第三网络地址范围的一方。因此,网络装置可以通过在虚拟网络地址(在第三网络地址范围内指定)与真实网络地址(在第一网络地址范围内指定)之间进行转换来管理多网络节点与连接至第一网络的其他网络节点之间交换的分组。
特别地,网络装置可以通过以下操作来管理由多网络节点向其他网络节点中的一个或更多个发送的分组:(1)截获由多网络节点发送的每个分组;(2)通过将多网络节点的虚拟网络地址转换为该多网络节点的真实网络地址来调整包括该多网络节点的虚拟网络地址的分组的源地址;(3)通过将相应的其他节点的虚拟网络地址转换为该相应的其他网络节点的真实网络地址来调整包括该相应的其他节点的虚拟网络地址的分组的目的地地址;以及(4)将经调整的分组转发至相应的其他网络节点。
互补地,网络装置可以通过以下操作来管理由一个或更多个其他网络节点向多网络节点发送的分组:(1)截获发送至多网络节点的每个分组;(2)通过将相应的其他网络节点的真实网络地址转换为该相应的其他网络节点的虚拟网络地址来调整包括该相应的其他网络节点的真实网络地址的分组的源地址;(3)通过将多网络节点的真实网络地址转换为该多网络节点的虚拟网络地址来调整包括该多网络节点的真实网络地址的分组的目的地地址;以及(4)将经调整的分组转发至多网络节点。
网络装置可以对在多网络节点与连接至第一网络的其他网络节点中的一个或更多个其他网络节点之间交换的多种分组类型(例如,单播分组、多播分组、广播分组等)进行管理。因此,网络装置可以支持实际上在第一网络中应用的、基于使用向连接至第一网络的网络节点指定的网络地址进行的数据传输的任何联网和/或通信协议。
网络装置还可以向连接至第一网络的网络节点(包括多网络节点)提供一个或更多个服务,例如,网络发现服务、DNS服务、HTTP响应服务、Ad-hoc连接服务等,以支持其他网络节点与多网络节点之间的发现和通信。
网络装置还可以针对请求连接至第一网络的多个多网络节点创建多个虚拟子网络,使得多网络节点中的每一个仅感知到在相应的第三地址范围内指定给连接至第一网络的其他网络节点的虚拟网络地址,相应的第三地址范围是被分配给针对相应的多网络节点创建的相应的虚拟子网络的地址范围。网络装置可以通过相应地转换网络地址来管理在网络节点(无论是否是多网络节点)之间交换的网络业务分组。
与用于分配网络地址的现有***和方法相比,使用基于网络建立的虚拟子网络中指定的虚拟网络地址来映射多网络节点可以呈现出主要的优点和益处。
首先,一些现有方法,特别是自动化网络管理***可能呈现主要限制,并且可能潜在地无法向连接至多个分离网络的多网络节点自动指定网络地址以使得不存在寻址冲突(相撞)。另一方面,创建虚拟子网络可以解决所有这样的潜在地址冲突,因为每个多网络节点都被指定了已确定与指定给该多网络节点所连接到的其他网络中的相应的多网络节点的其他网络地址不冲突的虚拟网络地址。
此外,一些现有的***和方法可能基于手动配置分配给多个不同网络的网络地址以防止地址冲突。这种手动配置可能涉及大量的工作并且可能非常耗时。此外,由于现代网络是高度动态的,其中网络节点不断地连接和断开,因此手动配置这些网络节点可能低效、不实际而且通常不可行。相比之下,基于针对多网络节点的网络自动建立虚拟子网络并为这些多网络节点指定虚拟网络地址可以实现对任何网络配置改变的自动适配,并且因此高度适合于动态改变的现代网络。
此外,对于网络基础设施和联网服务的日益增长的部署可能导致网络节点频繁地连接至多个分离的网络。因此,在防止网络寻址冲突的同时动态地并且自动地将这样的多网络节点连接至网络可以总体上显著地改进这种网络的连通性和功能性并且特别是改进这种多网络节点。
此外,由于连接至网络的其他网络节点感知不到并且无视基于该网络建立的针对多网络节点的虚拟子网络并且可以使用在该网络中通常使用的真实网络地址与多网络节点通信,因此可以不需要为了使这些其他网络节点能够与多网络节点通信而对其进行修改、变更和/或调整。因此,可以在仅需要网络装置支持对针对多网络节点创建的虚拟子网络的虚拟映射的现有网络中容易地部署基于虚拟子网络的虚拟映射。这可以在避免地址冲突以确保完整的网络功能性的同时显著降低用于自动支持多网络节点到网络的连接的成本、资源、成本和/或复杂度。
在详细说明本公开内容的至少一个实施方式之前,应当理解,本公开内容的应用并不一定限于在以下描述中阐述的以及/或者在附图和/或示例中示出的部件布置和构造和/或方法的细节。本公开内容能够具有其他实施方式或者能够以各种方式被实践或执行。
如本领域技术人员将理解的,本公开内容的各方面可以被实施为***、方法或计算机程序产品。因此,本公开内容的各方面可以采取以下形式:完全硬件实施方式、完全软件实施方式(包括固件、驻留软件、微码等)或者组合软件方面和硬件方面的实施方式,这些形式在本文中可以全部统称为“电路”、“模块”或“***”。此外,本公开内容的各方面可以采用计算机程序产品的形式,其被实现在其上实施有计算机可读程序代码的一个或更多个计算机可读介质中。
可以利用一种或更多种计算机可读介质的任何组合。计算机可读存储介质可以是能够保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(random access memory,RAM)、只读存储器(read-onlymemory,ROM)、可擦可编程只读存储器(erasable programmable read-only memory,EPROM或闪速存储器)、静态随机存取存储器(static random access memory,SRAM)、便携式致密盘只读存储器(compact disc read-only memory,CD-ROM)、数字通用盘(digitalversatile disk,DVD)、记忆棒、软盘、机械编码设备例如穿孔卡或其上记录有指令的凹槽中的凸起结构、以及前述的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为本身是暂态信号,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤线缆的光脉冲)或通过引线传输的电信号。
可以使用任何适当的介质来发送包括体现在计算机可读介质上的计算机可读程序指令的计算机程序代码,所述介质包括但不限于无线、有线、光纤线缆、RF(radiofrequency,射频)等或前述的任意合适的组合。
本文中描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输线缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并且转发该计算机可读程序指令以存储在相应的计算/处理设备内的计算机可读存储介质中。
可以以一种或更多种编程语言的任何组合来编写用于执行本公开内容的操作的计算机可读程序指令,例如,汇编指令、指令集架构(instruction-set-architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或以一种或更多种编程语言(包括诸如Smalltalk、C++等面向对象的编程语言和诸如“C”编程语言或类似编程语言的常规程序化编程语言)的任何组合编写的源代码或目标代码。
计算机可读程序指令可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上且部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情形下,远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任意类型的网络连接至用户计算机,或者可以与外部计算机连接(例如,通过使用因特网服务提供商的因特网)。在一些实施方式中,电子电路(包括例如可编程逻辑电路、现场可编程门阵列(field-programmable gate array,FPGA)或可编程逻辑阵列(programmable logic array,PLA))可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以实现本公开内容的各方面。
在本文中参照根据本公开内容的实施方式的方法、装置(***)和计算机程序产品的流程图图示和/或框图描述了本公开内容的各方面。应当理解,可以通过计算机程序指令实现流程图图示和/或框图中的每个块以及流程图图示和/或框图中的块的组合。
附图中的流程图和框图示出了根据本公开内容的各种实施方式的***、方法和计算机程序产品的可能的实现的架构、功能和操作。在这方面,流程图或框图中的每个块可以表示模块、段或部分指令,所述模块、段或部分指令包括用于实现特定逻辑功能的一个或更多个可执行指令。在一些替选实施方式中,块中提到的功能可以不以图中提到的顺序出现。例如,连续示出的两个块实际上可以基本同时执行,或者这两个块有时可以根据所涉及的功能按照相反顺序执行。还应当注意,可以通过执行特定功能或动作或实现专用硬件和计算机指令的组合的基于硬件的专用***来实现框图和/或流程图图示中的每个块以及框图和/或流程图图示中的块的组合。
现在参照图1,其呈现了根据本公开内容的一些实施方式的基于从连接至多个网络的网络节点接收的路由信息创建虚拟子网络以向该网络节点指定不冲突的网络地址的示例性过程的流程图。
应当注意,网络地址冲突也被称为网络地址相撞,并且在整个该申请文件中,这两个术语可以互换使用。
示例性过程150可以由请求连接至第一网络同时已连接至一个或更多个其他(第二)网络的网络节点210(例如,服务器、计算机、移动设备等),具体而言是多网络节点210BA,来执行,一个或更多个其他(第二)网络与第一网络分离并且被独立控制(管理)。
示例性过程100可以由网络装置212(例如,网关、交换机、网络节点、服务器等)执行,网络装置212控制(第一)网络向请求连接至第一网络同时已连接至第二网络的多网络节点210BA指定网络地址(例如,IP地址),使得所指定的网络地址与在第二网络上指定给多网络节点210BA的网络地址不冲突。
为此,网络装置212可以首先分析从网络节点210接收的路由信息,该路由信息可以包括多网络节点210BA的网络映射(网络寻址),例如,多网络节点210BA在第二网络上被指定的网络地址。
在第一网络的网络地址范围(空间)与在第二网络中指定给多网络节点210BA的网络地址之间不存在冲突的情况下,网络装置212可以简单地在分配给第一网络的网络地址范围内向多网络节点210BA指定真实网络地址(例如,IP地址)。术语“真实网络地址”指未受操纵并且是在最初被应用以在第一网络中映射网络节点的地址范围内指定的网络地址。多网络节点210BA可以使用所接收的真实(基本)网络地址与连接至第一网络的一个或更多个其他网络节点210通信。
然而,在第一网络的网络地址范围(空间)与在一个或更多个第二网络中分配的网络地址范围之间存在网络寻址(映射)冲突的情况下,网络装置212可以基于第一网络针对多网络节点210BA创建虚拟子网络。基于对路由信息的分析,网络装置212可以向虚拟子网络分配不与在第二网络上分配给多网络节点210BA的网络地址冲突的网络地址范围。然后,网络装置212可以在虚拟子网络的地址空间中向多网络节点210BA指定虚拟地址(例如,IP地址),并且还可以将虚拟子网络中的虚拟地址指定给连接至第一网络的其他网络节点210中的一个或更多个。
除了虚拟地址之外,网络装置212还在第一网络的网络地址空间中向多网络节点210BA指定真实网络地址,真实网络地址可以由连接至第一网络的其他网络节点210中的一个或更多个使用以访问网络节点210。
这样,在创建虚拟子网络之后,多网络节点210BA可以使用在虚拟子网络中指定的虚拟地址来与连接至第一网络的其他网络节点210通信。然而,其他网络节点210可能完全未感知到该虚拟子网络,并且可以使用指定给多网络节点210BA的真实网络地址来与之通信,这样,不需要为了能够实现多网络节点210BA到第一网络的连接而对其他网络节点210进行改变和/或调整。
通信,即借助基于第一网络建立的虚拟子网络在多网络节点210BA与连接至第一网络的其他网络节点210之间交换的网络业务分组,可以由网络装置212A控制(管理),网络装置212A可以将虚拟地址转换为相应的真实网络地址,而且可以将真实网络地址转换为相应的虚拟地址。
网络装置212A还可以向连接至第一网络的网络节点210(包括多网络节点210BA)提供一个或更多个服务,例如,网络发现服务、DNS服务、HTTP响应服务、Ad-hoc连接服务等,以支持连接至第一网络并且连接至基于第一网络建立的虚拟子网络的网络节点210之间的通信。
通信,即借助基于第一网络建立的虚拟子网络在多网络节点210BA与连接至第一网络的其他网络节点210之间交换的网络业务分组,可以由网络装置212控制(管理),网络装置212可以将虚拟地址转换为相应的真实网络地址,而且可以将真实网络地址转换为相应的虚拟地址。
现在参照图2,其是根据本公开内容的一些实施方式的用于基于从连接至多个网络的网络节点接收的路由信息创建虚拟子网络以向该网络节点指定不冲突的网络地址的示例性联网***的示意图。
示例性联网***200包括第一网络202A和第二网络202B,其可以各自包括可以由一个或更多个物理网络和/或虚拟网络(例如,软件定义的网络(Software DefinedNetwork,SDN)等利用的有线和/或无线网络,例如,局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、城域网(Municipal Area Network,MAN)、无线LAN(Wireless LAN,WLAN,例如Wi-Fi)、蜂窝网络等。
网络202中的每一个可以由相应的网络装置212(例如,网关、交换机、网络节点、服务器、动态主机配置协议(DHCP)服务器等)来管理,具体地,第一网络202A可以由网络装置212A管理,并且第二网络202B可以由网络装置212B管理。
第一网络202A和第二网络202B彼此分离并且由其相应的网络装置212A和212B独立管理,使得它们无视彼此。特别地,网络装置212A和212B可以不感知到应用于第一网络202A和第二网络202B每一个中的网络映射(例如,被指定给连接至第一网络202A和/或第二网络202B的一个或更多个网络节点210的网络地址)并且因此在网络映射方面不同步。
网络节点210可以包括例如服务器、计算机、移动设备(例如,膝上型计算机、智能电话、平板电脑等)等。网络节点210还可以包括一个或更多个虚拟网络节点,例如,在物理网络节点210中的一个或更多个上实例化并可选地由一个或更多个虚拟交换机(例如,OpenvSwitch(OVS))管理的虚拟机(Virtual Machine,VM)等。例如,一个或更多个网络节点210A_n(例如,网络节点210A_1、网络节点210A_2至网络节点210A_N)可以连接至第一网络202A,并且一个或更多个网络节点210B_m(例如,网络节点210B_1、网络节点210B_2至网络节点210B_M)可以连接至第二网络202B。
此外,具有多个网络接口(物理的和/或逻辑的)的一个或更多个网络节点210可以分别经由多个网络接口中的相应网络接口连接和/或尝试连接至多个网络202。例如,经由一个网络接口连接至第二网络202B的多网络节点210BA可以经由另一网络接口连接或请求经由另一网络接口连接至第一网络202A。
多网络节点210BA可以经由用作针对多网络节点210BA的网关和/或交换机的相应的网络装置212(即,经由针对第一网络202A的网络装置212A和针对第二网络202B的网络装置212B)连接至第一网络202A和/或第二网络202B。例如,如220处所示,多网络节点210BA可以经由网络装置212A连接至第一网络202A,网络装置212A可以包括用于连接网络节点210A以及连接至多网络节点210BA的多个网络接口。
附加地和/或替选地,多网络节点210BA可以经由用作针对多网络节点210BA的网关和/或交换机的另一网络装置212连接至第一网络202A和/或第二网络202B。例如,如222处所示,多网络节点210BA可以经由另一网络装置212连接至第一网络202A,而网络装置212A也与多网络节点210BA并行地连接至第一网络202A。
网络装置212可以可选地包括被布置成用于并行处理、被布置为集群和/或被布置为一个或更多个分布式核心处理单元的一个或更多个处理器(同质或异质)以及用于存储代码(程序存储)和/或数据的存储装置。处理器可以执行一个或更多个软件模块,例如,过程、脚本、应用、代理、实用程序、工具、操作***(Operating System,OS)、服务、插件、附加组件等,每个软件模块包括可以从程序存储执行的多个程序指令。
网络装置212还可以包括一个或更多个硬件元件,例如,电路、部件、集成电路(Integrated Circuit,IC)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、数字信号处理器(Digital Signals Processor,DSP)、网络处理器等。
因此,网络装置212特别是网络装置212A可以包括利用一个或更多个软件模块、一个或更多个硬件元件和/或其组合的电路,该电路被配置成执行过程100并且至少部分地控制和管理第一网络202A,例如,指定网络地址、控制网络业务等。
类似地,一个或更多个网络节点210可以可选地包括被布置成用于并行处理、作为集群和/或作为一个或更多个分布式核心处理单元的一个或更多个处理器(同质或异质)以及用于存储代码(程序库)和/或数据的存储装置。处理器可以执行一个或更多个软件模块,每个软件模块包括可以从程序库执行的多个程序指令。多网络节点210BA还可以包括一个或更多个硬件元件。因此,网络节点210中的一个或更多个,特别是多网络节点210BA可以包括利用一个或更多个软件模块、一个或更多个硬件元件和/或其组合的电路,该电路被配置成执行过程150。
描述了用于将单个多网络节点210BA连接到两个分离且被独立管理的网络202A和202B的示例性过程100和示例性联网***200。然而,这不应被解释为限制性的,因为网络装置212A可以应用过程100以用于创建分别针对既连接至第一网络202A又连接至第二网络202B的相应的网络节点210的多个虚拟子网络。此外,尽管针对每个网络202描述了单个网络装置212,例如描述了控制针对第一网络202A的过程100的单个网络装置212A,但是第一网络202A可以扩展成包括多个诸如网络装置212的网络装置,每个网络装置能够针对连接至多个分离且被独立管理的网络202的一个或更多个网络节点210施行过程100。
由网络装置212A和多网络节点210BA分别执行的过程100和150互连并且彼此交互。因此,根据合并了这两个过程100和150的整体网络地址分配和网络业务交换的操作和功能序列,彼此结合地描述过程100和150。
每个网络202通常基于本领域已知的一种或更多种寻址方案,其中,连接至相应网络202的每个网络节点210被指定唯一的网络地址。通过网络202发送的每个分组包括源地址字段和目的地地址字段,其中源地址字段包括发源(进行发送的)网络节点210的唯一网络地址,而目的地地址字段包括分组被定向到(去往)的目的网络节点210的唯一网络地址。此外,在相应的网络202支持多播消息的情况下,目的地地址字段可以包括多个目的网络节点210的一组网络地址。此外,在相应的网络202支持广播消息的情况下,目的地地址字段可以指示该消息被定向成包括连接至该相应网络202的所有网络节点210。
如152处所示,过程150开始于多网络节点210BA向网络装置212A发送一个或更多个消息,请求在连接至一个或更多个其他(第二)网络(例如,网络202B)的同时连接至第一网络202A。
连接请求通常可以包括对网络地址的请求,网络地址可以在第一网络202A中映射多网络节点210BA以使得多网络节点210BA能够与连接至第一网络202A的网络节点210A_n中的一个或更多个通信。
如102处所示,控制和/或管理第一网络202A的网络装置212A可以接收来自多网络节点210BA的连接请求。特别地,多网络节点210BA可以包括多个网络接口,使得其可以经由其网络接口中的一个网络接口连接至第二网络202B,以及尝试经由其网络接口中的另一(不同)网络接口连接至第一网络202A。
如154处所示,多网络节点210BA还可以发送路由信息,该路由信息包括和/或描述多网络节点210BA在第二网络202B上的网络映射(网络寻址)。路由信息中包括的网络映射可以包括例如:为第二网络202B分配的用于映射连接至第二网络202B的网络节点210(例如,网络节点210B_m(m=1,...,M))的(第二)网络地址范围、在第二地址范围内指定给多网络节点210BA的一个或更多个网络地址(例如,IP地址等)。
多网络节点210BA可以应用一种或更多种方法、技术和/或协议来将路由信息发送至网络装置212A。例如,多网络节点210BA可以发送可被网络装置212截获的包括路由信息的一个或更多个广播消息。在另一示例中,多网络节点210BA可以发送可被网络装置212截获的包括路由信息的一个或更多个多播消息。在另一示例中,多网络节点210BA可以根据在多网络节点210BA与网络装置212A之间使用以建立连接和/或在第一网络202A中映射多网络节点210BA的一个或更多个协商协议来发送一个或更多个消息。这样的协商协议可以包括例如IKE、WPA等。在另一示例中,多网络节点210BA可以根据由网络装置212应用以向多网络节点210BA动态地指定网络地址的一个或更多个DHCP协议扩展来发送一个或更多个消息。如104处所示,网络装置212A接收来自多网络节点210BA的路由信息。
如106处所示,网络装置212A可以根据在第一网络202A中采用的本领域中已知的网络映射(寻址)方案向多网络节点210BA指定(真实)网络地址。具体地,网络装置212A可以在为第一网络202A分配的用于映射连接至第一网络202A的网络节点210(例如,网络节点210A_n(n=1,...,N))的(第一)网络地址范围内向多网络节点210BA指定真实网络地址。例如,假设在第一网络202A中采用的网络映射基于IP地址,则网络装置212A可以在为第一网络202A分配的(第一)IP地址范围内向多网络节点210BA指定真实IP地址。
然而,如108处所示,网络装置212A还可以分析从多网络节点210BA接收的路由信息,以确定在第一网络202A中采用的网络映射(寻址)方案与在第二网络202B中采用的网络映射方案之间是否存在映射(寻址)冲突。具体地,网络装置212A可以分析路由信息以识别为第一网络202A分配的第一网络地址范围与在第二网络202B中应用的第二网络地址范围之间的冲突。
例如,网络装置212A可以分析路由信息以识别在第二网络202B中使用的第二IP地址范围、在第二IP地址范围内指定给多网络节点210BA的IP地址等。
如110处所示(其是条件步骤),在网络装置212A确定第一网络地址范围与第二网络地址范围之间不存在网络寻址冲突的情况下,过程100分支至112。然而,在网络装置212A确定第一网络地址范围可能与第二网络地址范围冲突的情况下,过程100分支至114。
例如,假设第二网络202B中应用的第二IP地址范围是10.0.0.0/24(子网掩码24),并且在第二网络202B中向多网络节点210BA指定IP地址10.0.0.3/24。进一步假设在第一网络202A中应用的第一IP地址范围是192.168.0.0/24,并且在第一网络202A中向多网络节点210BA指定IP地址192.168.0.20/24。在这种情况下,第一IP地址范围与第二IP地址范围之间不存在冲突,并且多网络节点210BA可以针对其网络接口中连接至第二网络的网络接口使用IP地址10.0.0.0.3/24,并且针对其网络接口中连接至第一网络202A的另一网络接口使用IP地址192.168.0.20。
在另一示例中,假设第二网络202B中应用的第二IP地址范围仍是10.0.0.0/24,并且在第二网络202B向多网络节点210BA指定IP地址10.0.0.3/24。进一步假设在第一网络202A中应用的第一IP地址范围也是10.0.0.0/24,并且在第一网络202A向多网络节点210BA指定IP地址10.0.0.4/24。在这种情况下,第一IP地址范围与第二IP地址范围之间显然存在冲突,这可能导致两个网络接口之间的混乱,从而阻碍多网络节点210BA将分组有效地引导到正确的网络接口以及/或者识别所接收的分组的源,这可能无法进行基于第一网络202A和/或第二网络202B的整个通信。
如112处所示,由于第一网络地址范围与第二网络地址范围之间不存在冲突,因此网络装置212A可以向多网络节点210BA发送在第一网络202A的第一网络地址范围内指定(在步骤106中)给多网络节点210BA的(真实)网络地址。
如114处所示,由于第一网络地址范围与第二网络地址范围之间存在冲突,会阻碍多网络节点210BA使用在第一网络地址范围内指定给它的真实网络地址,因此网络装置212A可以针对多网络节点210BA创建基于第一网络202A建立的虚拟子网络。
特别地,网络装置212A为所创建的虚拟子网络分配第三网络地址范围,该第三网络地址范围是与第二网络202B中应用的第二地址范围不冲突(不相撞)的虚拟网络地址空间。
可选地,在第一网络202A和第二网络202B采用IP寻址的情况下,由网络装置212A为虚拟子网络分配的第三网络地址范围可以是IPv6地址范围,其显著地扩展了可用IP地址的范围,对于防止第三网络地址范围与第二网络地址范围之间的冲突提供了显著增加的灵活性。
如116处所示,网络装置212A可以在第三地址空间中向多网络节点210BA指定虚拟地址,以在基于第一网络202A建立的虚拟子网络中映射多网络节点210BA。
如118处所示,网络装置212A还可以向连接至第一网络202A的网络节点210A_n中的一个或更多个网络节点指定相应的虚拟地址,以在针对多网络节点210BA创建的虚拟子网络中映射所述网络节点202A_n,以支持在虚拟子网络中映射的网络节点202A_n与多网络节点210BA之间的通信。
如120处所示,网络装置212A可以向多网络节点210BA发送在虚拟子网络中映射多网络节点210BA的虚拟地址。
如156处所示,多网络节点210BA可以接收由网络装置212为其指定的网络地址。如前文中在步骤112中所述,在不存在网络寻址冲突的情况下,所接收的地址是在第一地址范围内指定给多网络节点210BA以在第一网络202A中映射多网络节点210BA的(真实)网络地址。然而,在存在网络寻址冲突的情况下,所接收的地址是如步骤120中所述由网络装置212A发送的虚拟网络地址,在第三网络地址范围向多网络节点210BA指定该虚拟网络地址以在基于第一网络202A建立的虚拟子网络中映射多网络节点210BA。
现在参照图3,其是根据本公开内容的一些实施方式的用于基于从连接至多个网络的网络节点接收的路由信息创建虚拟子网络以向该网络节点指定不冲突的IP地址的示例性联网***的示意图。
示例性序列300可以由连接至一个或更多个网络(例如,第二网络202B)的网络节点(例如,多网络节点210BA)发起,该网络节点请求连接至由网络装置(例如,网络装置212A)控制的另一网络(例如,第一网络202A)。序列300可以开始于如过程150的步骤152中所述的多网络节点210BA向网络装置212A发送请求连接至第一网络202A的连接请求。多网络节点210BA还可以如过程150的步骤154中所述那样将其路由信息发送至网络装置212A。
然后,可以如过程150的步骤152中所述,多网络节点210BA请求在第一网络202A中映射它的网络地址,以支持多网络节点210BA与连接至第一网络202A的一个或更多个网络节点(例如,网络节点210A_n)之间的分组传输。
响应于从多网络节点210BA接收的连接请求,网络装置212A可以在第一网络202A中所利用的第一网络地址范围内向多网络节点210BA指定映射该多网络节点210BA的真实网络地址。
在第一网络地址范围与第二网络202B中利用的第二网络地址范围冲突的情况下,网络装置212A可以如过程100的步骤114中所述的那样针对多网络节点210BA创建被分配有第三网络地址范围的虚拟子网络,该第三网络地址范围与第二网络地址范围不冲突(不碰撞)。
然后,可以如过程100的步骤116中所述,网络装置212A向多网络节点210BA指定唯一的虚拟网络地址,从而在虚拟子网络中映射多网络节点210BA。还可以如过程100的步骤118中所述,网络装置212A还向连接至第一网络202A的网络节点210A_n中的一个或更多个指定唯一的虚拟网络地址,以在针对多网络节点210BA创建的虚拟子网络中映射这些网络节点210A_n。
网络装置212A可以将虚拟网络地址发送至多网络节点210BA,如过程100的步骤118中所述。
附加地和/或替选地,从多网络节点210BA接收的路由信息中包括的网络映射包括多网络节点210BA请求在第一网络202A中被指定的优选虚拟网络地址。特别地,优选虚拟网络地址由多网络节点210BA确定为与第二网络202B中应用的网络映射(寻址)不冲突。例如,优选虚拟网络地址不在第二网络202B中所使用的第二网络地址范围内。这意味着对路由信息的分析由多网络节点210BA完成,多网络节点210BA基于该分析来选择要分配给它的优选虚拟网络地址以在第一网络202A中映射该多网络节点210BA。
如本文之前所描述的,多网络节点210BA可以应用一种或更多种方法、技术和/或协议来总体而言发送路由信息以及特别地发送优选虚拟网络地址。例如,多网络节点210BA可以在根据一个或更多个DHCP协议扩展的一个或更多个消息中发送优选虚拟网络地址。
例如,多网络节点210BA可以发送一个或更多个扩展的DHCP发现消息,例如使用用以发送优选虚拟网络地址的预留选项,例如,DHCP DISCOVER OPT=222(优选虚拟网络地址)。在另一示例中,多网络节点210BA可以发送扩展的DHCP发现消息DHCP DISCOVER OPT=223(第二地址范围,优选虚拟地址),以发送在第二网络202B中使用的第二地址范围以及优选虚拟网络地址。
例如,假设第二网络地址范围是10.0.0.0/24,则多网络节点210BA可以发送消息DHCP DISCOVER OPT=222(10.10.12.0/24)以指示优选虚拟网络地址范围10.10.12.0/24,优选虚拟网络地址范围是在确定其与第二网络地址范围不冲突之后由多网络节点210BA选择的。在另一示例中,多网络节点210BA可以发送消息DHCP DISCOVER OPT=223(10.10.40.0,192.168.2.0)以指示在第二网络202B中使用的第二地址范围(10.10.40.0)和优选虚拟网络地址(192.168.2.0)。
在这种情况下,网络装置212A无需分析路由信息,可以可选地不由多网络节点210BA发送路由信息,并且可以根据由多网络节点210BA选择的优选虚拟网络地址针对多网络节点210BA创建虚拟子网络。特别地,网络装置212A可以根据多网络节点210BA所请求的优选虚拟网络地址来限定第三网络地址范围。
然后,网络装置212A可以向多网络节点210BA指定所述优选虚拟网络地址,并且还可以为网络节点210A_n中的一个或更多个指定在第三网络地址范围内选择的唯一虚拟网络地址。
现在参照图4,其是根据本公开内容的一些实施方式的用于基于从连接至多个网络的网络节点接收的路由信息创建虚拟子网络以向该网络节点指定不冲突的网络地址的示例性序列的示意图。
示例性序列400可以由连接至一个或更多个网络(例如,第二网络202B)的网络节点(例如,多网络节点210BA)发起,该网络节点请求连接至由网络装置(例如,网络装置212A)控制的另一网络(例如,第一网络202A)。序列400可以开始于如过程150的步骤152所述多网络节点210BA向网络装置212A发送连接请求,请求连接至第一网络202A。
多网络节点210BA还可以发送指示多网络节点210BA请求用于在第一网络202A中映射多网络节点210BA的优选虚拟网络地址的一个或更多个消息。如前文所述,多网络节点210BA将优选虚拟网络地址选择成使得优选虚拟网络地址与第二网络202B中使用的第二网络地址范围不冲突。
响应于从多网络节点210BA接收的请求的优选虚拟网络地址,网络装置212A可以在第一网络202A中所利用的第一网络地址范围内向多网络节点210BA指定映射该多网络节点210BA的真实网络地址。网络装置212A还针对多网络节点210BA创建被分配有第三网络地址范围的虚拟子网络,第三网络地址范围是根据多网络节点210BA所请求的优选虚拟网络地址限定的。
然后,可以如过程100的步骤116中所述,网络装置212A向多网络节点210BA指定优选虚拟网络地址,从而在虚拟子网络中映射多网络节点210BA。网络装置212A还可以如过程100的步骤118中所述向连接至第一网络202A的网络节点210A_n中的一个或更多个指定第三网络地址范围内的唯一的虚拟网络地址,以在针对多网络节点210BA创建的虚拟子网络中映射这些网络节点210A_n。
网络装置212A可以将优选虚拟网络地址发送回至多网络节点210BA,如过程100的步骤118中所述的那样,从而确认优选虚拟网络地址的分配。
再次参照图1。
如在158处所示,多网络节点210BA可以使用从网络装置212接收的网络地址与连接至第一网络202A的网络节点210A_n中的一个或更多个通信。如前文所述,在第一地址范围与第二地址范围之间没有地址冲突的情况下,指定给多网络节点210BA的网络地址可以在第一网络202A的第一地址范围内。在网络寻址冲突的情况下,指定给多网络节点210BA的网络地址可以在第三网络地址范围内,以在基于第一网络202A建立的虚拟子网络中映射多网络节点210BA。
如122处所示,在基于第一网络202A针对多网络节点210BA创建虚拟子网络的情况下,网络装置212A可以管理和控制在连接至第一网络202A并被映射在虚拟子网络中的其他网络节点210A_n中的一个或更多个与多网络节点210BA之间交换的分组。
由于网络节点210A_n不会感知到针对多网络节点210BA创建的虚拟子网络,因此网络节点210A_n可以使用在为第一网络202A分配的第一地址空间中指定给多网络节点210BA的真实网络地址来与多网络节点210BA交换分组。另一方面,多网络节点210BA连接至虚拟子网络并且被映射在第三网络地址范围内,并且因此不会感知到在第一网络中应用以在第一网络地址范围内映射网络节点210A_n的网络寻址。
因此,网络装置212A可以截获发送至/或发送自多网络节点210BA的消息,并且根据需要将分组地址从虚拟网络地址(第三地址空间中)转换为真实网络地址(第一地址空间中),以及将分组地址从真实网络地址(在第一地址空间中)转换为虚拟网络地址(在第三地址空间中)。
特别地,网络装置212A可以通过以如下方式将由多网络节点210BA发送的每个分组调整并转发至网络节点210A_n中的一个或更多个来管理(控制)源自多网络节点210BA的网络业务:
-将包括多网络节点210BA的虚拟网络地址(在第三地址空间中)的消息源地址(字段)调整为多网络节点210BA的真实网络地址(在第一地址空间中)。
-将包括目的地网络节点210A_n的虚拟网络地址(在第三地址空间中)的消息目的地地址(字段)调整为该目的地网络节点210A_n的真实网络地址(在第一地址空间中)。
-将经调整的消息转发至目的地网络节点210A_n。
网络装置212A可以管理由多网络节点210BA向网络节点210A_n中的一个或更多个发送的多个分组类型,例如,单播分组、多播分组、广播分组等。例如,多网络节点210BA向某个网络节点212A_n(例如,网络节点212A_1)发送单播分组的情况。在这种情况下,网络装置212A可以将单播分组的目的地地址调整成包括网络节点212A_1的真实网络地址。在另一示例中,假设多网络节点210BA向在第一网络202A中如本领域已知那样创建的网络节点210A_n的特定多播组发送多播分组。在这种情况下,网络装置212A可以将多播分组的目的地地址调整成包括指定给多播组的真实网络地址。在另一示例中,假设多网络节点210BA向连接至第一网络202A的所有网络节点210A_n发送广播分组。在这种情况下,网络装置212A可以将广播分组的目的地地址调整成包括被限定成到达所有网络节点210A_n的真实网络地址。
互补地,网络装置212A可以通过以如下方式将由每个网络节点210A_n发送的每个分组调整并转发至多网络节点210BA来管理(控制)源自网络节点210A_n并且目的地为多网络节点210BA的网络业务:
-将包括起始网络节点210A_n的真实网络地址(在第一地址空间中)的消息源地址(字段)调整为该起始网络节点210A_n的虚拟网络地址(在第三地址空间中)。
-将包括多网络节点210BA的真实网络地址(在第一地址空间中)的消息目的地地址(字段)调整为多网络节点210BA的虚拟网络地址(在第三地址空间中)。
-将经调整的消息转发至多网络节点210BA。
如针对由多网络节点210BA发送的分组所描述的,网络装置212A可以管理从网络节点210A_n中的一个或更多个发送至多网络节点210BA的多种分组类型,例如,单播分组、多播分组、广播分组等。例如,某个网络节点212A_n(例如,网络节点212A_2)向多网络节点210BA发送单播分组的情况。在这种情况下,网络装置212A可以将单播分组的目的地地址调整成包括多网络节点210BA的虚拟网络地址。在另一示例中,假设特定网络节点212A_n(例如,网络节点212A_1)向多网络节点210BA在其中作为成员的特定多播组发送多播分组。在这种情况下,网络装置212A可以截获多播分组,并且利用多网络节点210BA的虚拟网络地址来重新发送该多播分组。在另一示例中,假设特定网络节点212A_n(例如,网络节点212A_N)向连接至第一网络202的所有网络节点210A_n(包括多网络节点210BA)发送广播分组。在这种情况下,网络装置212A可以截获广播分组并且利用多网络节点210BA的虚拟网络地址重新发送该广播分组。
网络装置212A还可以提供一个或更多个服务,以支持连接至基于第一网络202A建立的虚拟子网络的多网络节点210BA与连接至第一网络202A的网络节点210A_n中的一个或更多个网络节点之间的检测、发现、连接和/或通信。例如,网络装置212A可以提供网络发现服务。在另一示例中,网络装置212A可以提供DNS服务。在另一示例中,网络装置212A可以提供HTTP响应服务。在另一示例中,网络装置212A可以提供用以支持网络节点202A_n中的一个或更多个建立与其他网络节点210中的一个或更多个(特别是与多网络节点210BA)的一个或更多个Ad-hoc网络的一个或更多个服务。
如本文中之前阐述的,网络装置212A可以基于第一网络202A建立多个虚拟子网络,每个虚拟子网络是针对连接至多个其他网络(例如,第二网络202B)的多个网络节点中的相应网络节点(例如,多网络节点210BA)而创建的,所述多个其他网络与第一网络202A分离并且被独立管理并且因此可能呈现与第一网络地址范围的寻址冲突。
现在参照图5,其是根据本公开内容的一些实施方式的用于管理经由被创建以向连接至多个网络的网络节点指定不冲突的网络地址的虚拟子网络在网络节点之间交换的网络业务分组的示例性序列的示意图。
示例性序列500描述了在连接至第一网络(例如,第一网络202A)并且被映射在由控制第一网络202A的网络装置(例如,网络装置212A)基于第一网络202A针对多网络节点210BA建立的虚拟子网络中的网络节点(例如,多网络节点210BA)之间交换的网络业务分组。特别地,使用在第三网络地址范围内指定的虚拟网络地址在虚拟子网络中映射多网络节点210BA,第三网络地址范围与由多网络节点210BA经由不同的网络接口还连接到的第二网络(例如,第二网络202B)所使用的第二网络地址范围不冲突。
如序列500中所看到的,多网络节点210BA可以将一个或更多个分组发送至连接至第一网络202A的另一网络节点210,例如,网络节点210A_1。由多网络节点210BA发送的每个分组可以在其源地址字段和目的地地址字段中包括在分配给虚拟子网络的第三网络地址范围内指定给多网络节点210BA和网络节点210A_1的虚拟地址。特别地,多网络节点210BA的虚拟网络地址在源地址字段中,而网络节点210A_1的虚拟网络地址在目的地网络地址字段中。
如过程100的步骤122中所述,网络装置212A可以将在针对虚拟子网络分配的第三网络地址范围内指定给多网络节点210BA和网络节点210A_1的虚拟网络地址转换为在第一网络202A所使用的第一网络地址范围内为多网络节点210BA和网络节点210A_1指定的真实网络地址。这样,网络装置212A可以调整源地址以将多网络节点210BA的虚拟网络地址转换为多网络节点210BA的真实网络地址,并且还调整目的地地址以将网络节点210A_1的虚拟网络地址转换为网络节点210A_1的真实网络地址。网络装置212A然后可以将经调整的分组转发至网络节点210A_1。
在响应路径上,网络节点210A_1可以用向多网络节点210BA发送的一个或更多个分组进行响应。仍如过程100的步骤122中所述,网络装置212A可以将在第一网络地址范围内为多网络节点210BA和网络节点210A_1指定的真实网络地址转换为在第三网络地址范围内指定给多网络节点210BA和网络节点210A_1的虚拟网络地址。这样,网络装置212A可以调整源地址以将网络节点210A_1的真实网络地址转换为网络节点210A_1的虚拟网络地址,并且还调整目的地地址以将多网络节点210BA的真实网络地址转换为多网络节点210BA的虚拟网络地址。然后,网络装置212A可以将经调整的分组转发至多网络节点210BA。
现在参照图6,其是根据本公开内容的一些实施方式的用于创建虚拟子网络以向连接至另一网络的网络节点指定不冲突的网络地址的应用IP地址的示例性联网***的示意图。示例性联网***200A(例如,联网***200)可以包括第一网络(例如,第一网络202A)和第二网络(例如,第二网络202B),第一网络和第二网络彼此分离并且由其相应的网络装置(例如,网络装置212A和212B)分别独立管理使得它们无视彼此。
第一网络202A托管诸如网络节点210A_1的单个网络节点,而第二网络202B托管诸如网络节点210B_1的网络节点和诸如网络节点210B_2的网络节点。
示例性联网***200A基于IP地址映射。由于两个网络202A和202B是分离的并且被独立地管理,因此两个网络202A和202B中应用的IP地址范围可能彼此冲突(交叠)。例如,在第一网络202A的第一IP(网络)地址范围和第二网络202B的第二IP(网络)地址范围两者中都使用相同的IP地址范围10.0.0.0/24。
对于连接至第一网络202A或第二网络202B中的仅一个的网络节点210,该寻址冲突可能不存在问题。例如,在第一网络202A中被指定IP地址10.0.0.3/24的网络节点210A_1可能不会经历寻址冲突,因为其并未连接至采用相同IP地址范围的第二网络202B。在另一示例中,在第二网络202B中分别被指定IP地址10.0.0.2/24和10.0.0.3/24的网络节点210B_1和网络节点210B_2可能不会经历寻址冲突,因为其并未连接至采用相同IP地址范围的第一网络202A。
然而,连接至第二网络202B并且被分配IP地址10.0.0.3/24的诸如多网络节点210BA的网络节点可能请求连接至第一网络202A。显然,在多网络节点210BA被指定同样是10.0.0.0/24的第一IP地址范围内的真实IP地址的情况下,可能存在冲突,该冲突可能会劣化并且潜在地阻碍多网络节点210BA在第一网络202A和/或第二网络202B上的通信。
接收多网络节点210BA的连接请求的网络装置212A可以如过程100的步骤106中所述首先向多网络节点210BA指定真实IP地址(例如,10.0.0.4/24),以在针对网络节点210A_1的第一IP地址范围内映射多网络节点210BA。
然而,网络装置212A还可以接收多网络节点210BA的路由信息并且可以如过程100的步骤108中所述基于对路由信息的分析来识别潜在冲突。
如过程100的步骤114中所述,网络装置212A可以因此基于第一网络202A针对多网络节点210BA创建虚拟子网络。网络装置212A可以为虚拟子网络分配与第二IP地址范围不冲突的第三IP(网络)地址范围,从而避免关于多网络节点210BA的寻址冲突。例如,对于第三IP地址范围,网络装置212A可以选择IP地址范围10.0.1.0/24。
然后,网络装置212A可以如过程100的步骤116中所述在第三IP地址范围内向多网络节点210BA指定虚拟IP地址例如10.0.1.4/24,以在虚拟子网络中映射多网络节点210BA。网络装置212A还可以如过程100的步骤118中所述在第三IP地址范围内向网络节点210A_1指定虚拟IP地址例如10.0.1.3/24,以在虚拟子网络中映射网络节点210A_1。网络装置212A还可以在第三IP地址范围内指定虚拟IP地址例如10.0.1.1/24,用于在针对多网络节点210BA的虚拟子网络中映射到该网络装置自身。
网络装置212A可以如过程100的步骤122中所述截获在多网络节点210BA与网络节点210A_1之间交换的分组,并且可以通过将虚拟IP地址转换为真实IP地址以及将真实IP地址转换为虚拟IP地址来调整分组以支持分组传输。
例如,由多网络节点210BA向网络节点210A_1发送的分组可以在源地址字段中包括多网络节点210BA的虚拟IP地址10.0.1.4/24并且在目的地地址字段中包括网络节点210A_1的虚拟IP地址10.0.1.3/24。网络装置212A可以截获并且调整消息的源地址字段和目的地地址字段以包括真实IP地址,具体地,将源地址调整(转换)为多网络节点210BA的真实IP地址10.0.0.4/24并且将目的地地址调整(转换)为网络节点210A_1的真实IP地址10.0.0.3/24。
在另一示例中,由多网络节点210BA_1向多网络节点210BA发送的分组可以在源地址字段中包括网络节点210A_1的真实IP地址10.0.0.3/24并且在目的地地址字段中包括多网络节点210BA的真实IP地址10.0.0.4/24。网络装置212A可以截获并且调整消息的源地址字段和目的地地址字段以包括虚拟IP地址,具体地,将源地址调整(转换)为多网络节点210A_1的虚拟IP地址10.0.1.3/24并且将目的地地址调整(转换)为多网络节点210BA的虚拟IP地址10.0.1.4/24。
已经出于说明的目的呈现了本公开内容的各种实施方式的描述,但是这些描述不旨在是穷举的或限于所公开的实施方式。在不脱离所描述的实施方式的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是明显的。本文中所使用的术语被选择成为了最好地说明实施方式的原理、市场上发现的技术的实际应用或技术的改进、或者使本领域的其他普通技术人员能够理解本文所公开的实施方式。
据预计,在自本申请成立起的专利有效期期间,将开发许多相关技术,并且术语“网络寻址”、“网络映射”、“虚拟网络”、“SDN”、“虚拟节点”和“虚拟交换机”的范围旨在先验地包括所有这样的新技术。
如本文所使用的,术语“约”指±10%。
术语、“包含(comprises和comprising)”、“包括(includes和including)”、“具有”及其共轭词表示“包括但不限于”。该术语包括术语“由...组成”和“基本上由...组成”。
短语“基本上由...组成”表示该构成或方法可以包括附加的成分和/或步骤,但只有该附加的成分和/或步骤不会实质上改变所要求保护的构成或方法的基本和新颖特性才成立。
如本文所使用的,无量词修饰的单数形式(“a”、“an”和“the”)包括复数引用,除非上下文另外明确指出。例如,术语“化合物”或“至少一种化合物”可以包括多种化合物,包括其混合物。
在本文中使用词语“示例性”来表示“作为示例、实例或说明”。被描述为“示例性”的任何实施方式不一定被解释为比其他实施方式优选或有利和/或排除来自其他实施方式的特征的结合。
词语“可选地”在本文中用来表示“在一些实施方式中提供而在其他实施方式中不提供”。除非这些特征冲突,否则本公开内容的任何特定实施方式可以包括多个“可选的”特征。
贯穿本申请,可以以范围格式呈现本公开内容的各种实施方式。应当理解,呈范围格式的描述仅是为了方便和简洁,而不应当被解释为对本公开内容的范围的不灵活的限制。因此,应当将范围的描述视为已特别公开了所有可能的子范围以及该范围内的各个数值。例如,对范围例如从1至6的描述应当被视为已特别公开了子范围如从1至3、从1至4、从1至5、从2至4、从2至6、从3至6等以及该范围内的各个数字,例如,1、2、3、4、5和6。无论范围的广度如何,这都适用。
每当在本文中指示数值范围时,其旨在包括所指示范围内的任何列举的数字(分数或整数)。短语“在第一指示数字与第二指示数字之间的变动/范围”和“从第一指示数字至第二指示数字的变动/范围”在本文中可互换使用,并且旨在包括第一指示数字和第二指示数字以及它们之间的所有分数和整数。
应当理解,为清楚起见,在单独的实施方式的上下文中描述的本公开内容的某些特征也可以在单个实施方式中组合地提供。相反,为简洁起见,在单个实施方式的上下文中描述的本公开内容的各种特征,也可以单独地或以任何合适的子组合来提供或在本公开内容的任何其他所述的实施方式中合适地提供。在各种实施方式的上下文中描述的某些特征不应被认为是这些实施方式的必要特征,除非该实施方式在没有这些要素的情况下是不可操作的。
本说明书中提及的所有出版物、专利和专利申请在本文中通过引用整体并入本申请中,其程度如同每个单独的出版物、专利或专利申请被具体地和单独地指示通过引用并入本文中。此外,在本申请中对任何参考文献的引用或标识均不应当解释为承认这样的参考文献可用作本公开内容的现有技术。就使用节标题而言,不应将其解释为必然的限制。
此外,本申请的任何优先权文件通过引用被整体并入本文中。
Claims (15)
1.一种网络装置,包括:
电路,所述电路控制第一网络,并且所述电路被配置成:
从请求连接至所述第一网络的网络节点接收路由信息,其中,所述网络节点连接至与所述第一网络分离的至少一个第二网络,并且所述路由信息包括所述网络节点在所述至少一个第二网络中的网络映射;
基于对所述路由信息的分析,识别所述第一网络的第一网络地址范围与所述至少一个第二网络的第二网络地址范围之间的地址冲突;
在分配给基于所述第一网络建立的虚拟子网络的第三网络地址范围内,向所述网络节点指定虚拟网络地址,所述第三网络地址范围与所述第二网络地址范围不冲突;以及
将所述虚拟网络地址发送至所述网络节点;
其中,所述电路被配置成将所述第三网络地址范围内的另一虚拟网络地址指定给连接至所述第一网络的至少另一个网络节点。
2.根据权利要求1所述的装置,其中,所述电路被配置成通过对每个所发送的消息执行以下操作来控制由所述网络节点向所述至少另一个网络节点发送的网络业务:
-将包括所述网络节点的虚拟网络地址的所述消息的源地址调整为所述第一网络地址范围内被指定给所述网络节点的网络地址;
-将包括所述至少另一个网络节点的虚拟网络地址的所述消息的目的地地址调整为所述第一网络地址范围内的所述至少另一个网络节点的网络地址;以及
-将所述消息转发至所述至少一个网络节点。
3.根据权利要求1所述的装置,其中,所述电路被配置成通过对每个所发送的消息执行以下操作来控制由所述至少另一个网络节点向所述网络节点发送的网络业务:
-将包括所述第一网络地址范围内的所述至少另一个网络节点的网络地址的所述消息的源地址调整为在所述第三网络地址范围内指定给所述至少另一个网络节点的虚拟网络地址;
-将包括在所述第一网络地址范围内指定给所述网络节点的网络地址的所述消息的目的地地址调整为所述网络节点的虚拟网络地址;以及
-将所述消息转发至所述网络节点。
4.根据权利要求1至3中任一项所述的装置,其中,所述网络映射包括下述至少一者:所述第二网络地址范围以及在所述至少一个第二网络中指定给所述网络节点的网络地址。
5.根据权利要求1至3中任一项所述的装置,还包括:所述网络映射包括由所述网络节点确定的优选虚拟网络地址,所述优选虚拟网络地址与在所述至少一个第二网络中指定给所述网络节点的网络地址不冲突。
6.根据权利要求1至3中任一项所述的装置,其中,所述电路在下述至少一者中接收来自所述网络节点的所述路由信息:
-由所述网络节点在所述第一网络上发送的至少一个广播消息;
-由所述网络节点在所述第一网络上发送的至少一个多播消息;
-由所述网络节点根据至少一个动态主机配置协议DHCP扩展发送的至少一个消息;
-由所述网络节点根据在所述网络节点与所述电路之间使用的至少一个协商协议发送的至少一个消息。
7.根据权利要求1至3中任一项所述的装置,其中,所述网络地址和所述虚拟网络地址是因特网协议IP地址。
8.根据权利要求1至3中任一项所述的装置,其中,所述电路还被配置成使用IPv6地址范围来配置所述第三网络地址范围。
9.根据权利要求1至3中任一项所述的装置,其中,所述电路还被配置成针对请求连接至所述第一网络的多个网络节点创建多个虚拟子网络,每个虚拟子网络是针对所述多个网络节点中的相应网络节点创建的,所述相应网络节点连接至具有与所述第一网络地址范围冲突的网络地址范围的至少另一个网络。
10.根据权利要求9所述的装置,其中,所述第一网络和所述第二网络由至少一个物理网络和/或至少一个虚拟网络构成,并且所述多个网络节点中的每个网络节点是物理网络节点或虚拟网络节点。
11.根据权利要求10所述的装置,其中,所述电路执行至少一个虚拟交换机以控制所述至少一个虚拟网络。
12.根据权利要求1至3中任一项所述的装置,其中,所述电路还被配置成向所述网络节点提供至少一个网络地址发现服务。
13.一种计算机实现的方法,所述方法针对连接至多个网络的网络节点创建虚拟子网络,所述方法包括:
从请求连接至第一网络的网络节点接收路由信息,其中,所述网络节点连接至与所述第一网络分离的至少一个第二网络,并且所述路由信息包括所述网络节点在所述至少一个第二网络中的网络映射;
基于对所述路由信息的分析,识别所述第一网络的第一网络地址范围与所述至少一个第二网络的第二网络地址范围之间的地址冲突;
在分配给基于所述第一网络建立的虚拟子网络的第三网络地址范围内向所述网络节点指定虚拟网络地址,所述第三网络地址范围与所述第二网络地址范围不冲突;以及
将所述虚拟网络地址发送至所述网络节点;
其中,所述第三网络地址范围内的另一虚拟网络地址被指定给连接至所述第一网络的至少另一个网络节点。
14.一种网络节点,包括:
电路,所述电路被配置成:
将路由信息发送至对所述网络节点请求连接到的第一网络进行控制的网络装置,所述网络节点连接至与所述第一网络分离的至少一个第二网络,所述路由信息包括所述网络节点在所述至少一个第二网络中的网络映射;
在所述网络装置基于对所述路由信息的分析确定所述第一网络的第一网络地址范围与所述至少一个第二网络的第二网络地址范围冲突的情况下,接收由所述网络装置指定给所述网络节点的虚拟网络地址,所述虚拟网络地址是在分配给基于所述第一网络建立的虚拟子网络的第三网络地址范围内指定的,所述第三网络地址范围与所述第二网络地址范围不冲突;以及
使用所述虚拟网络地址基于所述第一网络交换消息。
15.一种计算机实现的方法,所述方法使用在针对连接至多个网络的网络节点创建的虚拟子网络中指定的虚拟网络地址来连接至网络,所述方法包括:
将路由信息发送至对所述网络节点请求连接到的第一网络进行控制的网络装置,所述网络节点连接至与所述第一网络分离的至少一个第二网络,所述路由信息包括所述网络节点在所述至少一个第二网络中的网络映射;
在所述网络装置基于对所述路由信息的分析确定所述第一网络的第一网络地址范围与所述至少一个第二网络的第二网络地址范围冲突的情况下,接收由所述网络装置指定给所述网络节点的虚拟网络地址,所述虚拟地址是在分配给基于所述第一网络建立的虚拟子网络的第三网络地址范围内指定的,所述第三网络地址范围与所述第二网络地址范围不冲突;以及
使用所述虚拟网络地址基于所述第一网络交换消息。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2020/052958 WO2021155928A1 (en) | 2020-02-06 | 2020-02-06 | Virtual address allocation to prevent conflicts in multi-network environments |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114128234A CN114128234A (zh) | 2022-03-01 |
CN114128234B true CN114128234B (zh) | 2023-12-15 |
Family
ID=69526245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080007906.XA Active CN114128234B (zh) | 2020-02-06 | 2020-02-06 | 用于在多网络环境中防止冲突的虚拟地址分配 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4029224A1 (zh) |
CN (1) | CN114128234B (zh) |
WO (1) | WO2021155928A1 (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1761263A (zh) * | 2004-10-14 | 2006-04-19 | 国际商业机器公司 | 避免网络地址冲突的***和方法 |
WO2009062504A1 (en) * | 2007-11-13 | 2009-05-22 | Tnm Farmguard Aps | Secure communication between a client and devices on different private local networks using the same subnet addresses |
CN103621046A (zh) * | 2012-05-22 | 2014-03-05 | 华为技术有限公司 | 网络通信方法和装置 |
WO2019006042A1 (en) * | 2017-06-30 | 2019-01-03 | Nicira, Inc. | ASSIGNING UNIQUE NETWORK ADDRESSES FOR LOGICAL NETWORK ADDRESSES |
CN109451084A (zh) * | 2018-09-14 | 2019-03-08 | 华为技术有限公司 | 一种服务访问方法及装置 |
US10541966B1 (en) * | 2015-07-02 | 2020-01-21 | Aviatrix Systems, Inc. | System and method for enabling communication between networks with overlapping IP address ranges |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6381646B2 (en) * | 1998-11-03 | 2002-04-30 | Cisco Technology, Inc. | Multiple network connections from a single PPP link with partial network address translation |
US7395354B2 (en) * | 2002-02-21 | 2008-07-01 | Corente, Inc. | Methods and systems for resolving addressing conflicts based on tunnel information |
US20050066035A1 (en) * | 2003-09-19 | 2005-03-24 | Williams Aidan Michael | Method and apparatus for connecting privately addressed networks |
US20070162478A1 (en) * | 2006-01-06 | 2007-07-12 | Samsung Electronics Co., Ltd. | Method of achieving service configurability within telecommunication devices |
US8688994B2 (en) * | 2010-06-25 | 2014-04-01 | Microsoft Corporation | Federation among services for supporting virtual-network overlays |
US8805977B2 (en) * | 2011-06-09 | 2014-08-12 | Freescale Semiconductor, Inc. | Method and system for address conflict resolution |
-
2020
- 2020-02-06 CN CN202080007906.XA patent/CN114128234B/zh active Active
- 2020-02-06 WO PCT/EP2020/052958 patent/WO2021155928A1/en unknown
- 2020-02-06 EP EP20704254.0A patent/EP4029224A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1761263A (zh) * | 2004-10-14 | 2006-04-19 | 国际商业机器公司 | 避免网络地址冲突的***和方法 |
WO2009062504A1 (en) * | 2007-11-13 | 2009-05-22 | Tnm Farmguard Aps | Secure communication between a client and devices on different private local networks using the same subnet addresses |
CN103621046A (zh) * | 2012-05-22 | 2014-03-05 | 华为技术有限公司 | 网络通信方法和装置 |
US10541966B1 (en) * | 2015-07-02 | 2020-01-21 | Aviatrix Systems, Inc. | System and method for enabling communication between networks with overlapping IP address ranges |
WO2019006042A1 (en) * | 2017-06-30 | 2019-01-03 | Nicira, Inc. | ASSIGNING UNIQUE NETWORK ADDRESSES FOR LOGICAL NETWORK ADDRESSES |
CN109451084A (zh) * | 2018-09-14 | 2019-03-08 | 华为技术有限公司 | 一种服务访问方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2021155928A1 (en) | 2021-08-12 |
CN114128234A (zh) | 2022-03-01 |
EP4029224A1 (en) | 2022-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109155799B (zh) | 经由层三通信的子网扩展 | |
US11895092B2 (en) | Network access controller operation | |
US9712383B2 (en) | Device abstraction in autonomous wireless local area networks | |
EP3883217A1 (en) | Data transmission method and computer system | |
US10819679B2 (en) | Zero touch provisioning of a network element through a network address translation gateway | |
US20200014636A1 (en) | Multisite interconnect and policy with switching fabrics | |
CN114556868B (zh) | 虚拟专用网络vpn客户端的专用子网络 | |
US11949602B2 (en) | Stretched EPG and micro-segmentation in multisite fabrics | |
US20200295998A1 (en) | Methods, controller manager and controller agent for enabling a connection between a switch of a communication network and a switch controller | |
US11558246B2 (en) | Implementing service function chains | |
KR102079508B1 (ko) | 사용자의 요구에 기반하여 효율적으로 네트워크를 관리하기 위한 트래픽 관리 방법 및 장치 | |
CN114128234B (zh) | 用于在多网络环境中防止冲突的虚拟地址分配 | |
JP6360012B2 (ja) | ネットワーク統合システムおよびネットワーク統合方法 | |
CN116348852A (zh) | 管理向计算环境中的租户的互联网协议(ip)地址分配 | |
GB2559660B (en) | Implementing service function chains | |
US20240244012A1 (en) | Stretched epg and micro-segmentation in multisite fabrics | |
US20230038620A1 (en) | Method of setting user-defined virtual network | |
EP3313038B1 (en) | Method and apparatus for updating internet protocol (ip) address, and gateway | |
CN114024939A (zh) | 网络地址分配方法、装置及路由器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |