CN116457756A - 用于内联透明计算机网络设备的高效虚拟化的方法和系统 - Google Patents
用于内联透明计算机网络设备的高效虚拟化的方法和系统 Download PDFInfo
- Publication number
- CN116457756A CN116457756A CN202180066975.2A CN202180066975A CN116457756A CN 116457756 A CN116457756 A CN 116457756A CN 202180066975 A CN202180066975 A CN 202180066975A CN 116457756 A CN116457756 A CN 116457756A
- Authority
- CN
- China
- Prior art keywords
- network interface
- addresses
- address
- virtual
- network
- 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.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
通过不对其网络接口分配L3IP地址和L2MAC地址并由此通过绕过通过操作系统内核的慢速路径的逻辑快速路径来处理分组,内联插入网络链路并处理传输中分组的网络设备可以显著提高其分组吞吐量性能。当虚拟化这样的线中凸块(BITW)设备以部署到云中时,网络接口必须具有分配给其的L3IP和L2MAC地址。因此,通过虚拟BITW设备的慢速路径处理分组,显著降低了性能。通过向虚拟BITW设备添加新逻辑和/或配置代理、地址、子网和/或路由表,虚拟BITW设备可以通过快速路径处理分组,并且可相应地提高性能。例如,虚拟BITW设备可以被配置为实施通过虚拟BITW设备的虚拟路径(包括快速路径)。
Description
相关申请的交叉引用
本申请要求于2021年8月5日提交的美国专利申请序列号17/395,120的优先权,其要求于2020年8月27日提交的美国临时专利申请序列号63/071,174的优先权,这些专利申请均通过引用整体并入本文。
背景技术
传输控制协议/互联网协议(TCP/IP)网络(诸如公共互联网)是现代信息时代的基础。TCP/IP协议套件通过指定数据应如何封装、寻址、发送、路由和接收来实现端点主机计算机之间的数据通信。TCP/IP协议套件由五层组成:物理层(第1层或L1)、数据链路层(L2)、网络层(L3)、传输层(L4)和应用层。与本公开特别相关的是第3层(L3)协议(例如,互联网协议(IP),诸如IPv4和IPv6),其由网络节点/主机(诸如路由器)使用来将分组高效地引导到其目的地(例如,端点/主机计算机);以及第2层(L2)链路层协议(例如,以太网802.3、媒体访问控制(MAC)寻址、地址解析协议(ARP)、邻居发现协议(NDP)等),其用于在连接网络节点/主机的链路上高效地发送分组。
许多组织运营专用TCP/IP网络支持其业务运营,并向其他联网组织和消费者提供计算机服务和资源。这些专用网络通过互联网互连,这使不同的组织能够访问彼此的计算机服务和资源。这些计算机通过作为互联网公共IP地址空间/集合的元素的IP地址寻址或由该IP地址标识。专用网络通常是从互联网自主操作/管理的,并且使用与互联网的公共IP地址空间/集合不同的专用IP地址空间或集合,即交集是空集合。因此,如果运营专用网络的组织希望其计算机/主机访问互联网主机或被互联网主机访问,则该组织需要运营位于专用网络和互联网之间边界处的网络地址转换(NAT)网关。NAT网关用作互联网IP地址空间和专用网络的IP地址空间之间的接口,即NAT网关在互联网IP地址和专用网络IP地址之间转换。因此,如果某个组织想要使连接到其专用网络的主机计算机能够从互联网,例如公司网站访问/寻址,那么主机计算机必须同时与专用IP地址和公共IP地址两者相关联。NAT网关被配置为在主机计算机的专用IP地址与其公共IP地址之间进行转换。这些关联可以是静态的和永久的,也可以是动态的和短暂的。
图1A示出了网络环境100的示例,其中由企业运营/管理的(物理的或非虚拟的)专用网络104与公共网络102(例如,互联网)介接(interface)。企业可以将专用IP地址(例如来自IPv4专用地址空间10.0.0.0/8)分配给其主机计算机、路由器和/或其他设备的网络接口。企业可以使用内部路由协议(例如,开放最短路径优先(OSPF))来定义路由策略,该路由策略确定与专用网络104相关联的任意两个专用IP地址之间的网络路径108。企业可以经由网络地址转换(NAT)网关(NAT-G/W)120将其专用网络(其可以使用专用IP地址空间)与互联网(其可以使用公共IP地址空间)介接。NAT网关功能可以包括在一个或更多个网络边缘设备中,诸如网络防火墙和边缘路由器,这些设备在图中未示出。NAT-G/W 120可以将分配给企业的公共互联网IP地址转换为专用IP地址。以此方式,连接到专用网络的内部主机可能够与互联网主机通信,反之亦然。例如,企业的互联网服务提供商(ISP)可以向企业调配公共互联网(IPv4)地址块(例如,174.129.20.0/24)。企业可以将例如地址块174.129.20.0/24分配给其NAT-G/W 120的面向互联网的网络接口N1 121,并且将例如专用IP地址10.0.1.1分配给NAT-G/W 120的面向专用网络的网络接口N2 122。
企业还可以配置NAT-G/W 120以将公共IP地址(例如,174.129.20.63)映射到分配给(物理的或非虚拟的)计算机160的专用IP地址(例如,10.0.2.157)。因此,本示例中计算机160的公共IP地址将为174.129.20.63。用于专用网络104的路由策略和相关联的配置可以为通过NAT-G/W 120的源自计算机160或目的地为计算机160的分组(即,目的地为互联网主机或源自互联网主机的分组)确定通过专用网络104的路径108。路径108可以是例如将NAT-G/W 120的网络接口连接到计算机160的网络接口的单个物理链路/电缆,或者,例如连接网络路径上的一个或更多个路由器和/或交换机(节点)的多个物理链路。利用这种配置,例如连接到公共网络102的计算机HOST-0 110可以通过互联网以174.129.20.63作为源IP地址或目的地IP地址经由发送L3/IP分组,与连接到专用网络104的计算机160双向通信。
企业可以部署中间设备,这些中间设备内联插入到连接网络节点(例如,路由器、交换机、主机计算机等)的网络接口的物理链路(例如,铜缆和光缆)中,并且可以根据分组的内容和/或根据中间设备的应用逻辑来检查和处理传输中分组(in-transit packets)。因此,这些设备可以被称为传输中分组处理设备。这些中间分组处理设备可以实施由专用网络的所有者/运营商/管理员(例如,企业)定义的数据通信策略(例如,网络安全策略、网络访问控制策略、网络应用使用策略、网络地址转换策略等)。为了对特定通信实施策略,网络管理员可以协调中间分组处理设备的位置(例如,确定中间分组处理设备要插入到哪些链路中)、网络配置和/或路由策略,使得特定通信的分组总是(在一个或两个方向上)通过中间分组处理设备。因为这些策略可以应用于内部主机(连接到专用网络,例如计算机160)和公共网络(例如互联网)主机之间的通信,所以设备可以位于专用网络和公共网络之间的边界处或附近,例如,设备可以插入到公共网络访问链路中。这些设备的示例包括网络防火墙、网络访问控制器、web代理、TLS代理、分组安全网关、威胁情报网关、IPsec网关等。类似地,设备可以位于任何不同网络的边界之间(例如,不仅仅限于专用网络和公共网络之间)和/或网络内的子网和/或区段的边界之间,例如,在集中点和负载分布点处。
参考图1B:当将中间分组处理网络设备C 140配置用于在两个网络元件A(例如,NAT-G/W 120)和B(例如,计算机160)之间的路径108上的链路中内联操作/插入该链路中时,可以构成路径108的全部或一部分的物理链路(例如,铜缆或光缆和/或物理无线连接)可以物理地分段为两个链路,其中一个链路将元件A的网络接口端口与设备C 140的网络接口端口C1 141连接,而另一个链路则将元件B的网络接口端口与设备C 140的网络接口端口C2 142连接。设备C的网络接口C1和C2可以通过由设备的应用逻辑(例如,分组过滤和/或相关联的策略实施逻辑)定义的内部逻辑链路连接。例如,进入C1(或C2)的传输中分组可以由设备C的应用逻辑处理,然后,如果逻辑决定不丢弃分组,则分组可以经由C2(或C1)离开设备C。
在一些场景中,网络设备的网络接口可以具有与其相关联的L3/网络层(例如,IPv4)和L2/链路层(例如,MAC)地址。在这样的示例中,接口和设备被描述为非透明的。非透明设备可以具有可以直接寻址的接口,并且可以经由路由协议(例如,OSPF)和(L2)交换和转发以及链路层发现协议(例如,ARP、NDP)参与确定(L3)路由策略和配置。关于实施通信策略,例如,为了实施web使用和web安全策略,企业可以配置其网络(例如,专用网络104)、设备和应用,使得某些(或所有)出站web(即,HTTP/HTTPS)流量必须通过非透明web代理路由,和/或网络防火墙仅允许来自非透明web代理的出站web流量。这样的配置可以涉及用(L3)IP地址分配/标识web代理的网络接口。更一般地,当网络管理员定义要求特定通信路由通过具有IP可寻址网络接口的分组处理设备的网络通信策略时,管理员必须确保网络和路由策略/路由表被正确配置以满足要求。对网络和/或路由策略的改变可能潜在地导致路由的改变,使得要求不能得到满足;因此,在进行此类改变时,管理员可能需要采取措施来确保这些要求仍然得到满足。
在其他场景中,网络设备可能不具有与其相关联的L3/网络层(例如,IPv4、IPv6)和L2/链路层(例如,MAC)地址。这种配置可以用于例如处理传输中分组的内联网络设备,例如分组过滤设备。在这样的示例中,接口和设备被描述为(L3和L2)透明的,因为在L3或L2处操作的其他网络元件和协议无法“看到”或观察到设备。本领域技术人员可能将这种透明的内联设备称为“线中凸块”(BITW),其中一个原因是通过BITW设备传输的帧/分组在L2或L3处未被修改(例如,没有改变MAC地址或IP地址或其他报头字段),并且通常在任何层处都未被修改。
由于BITW设备的这种透明配置可以得到多种潜在优点和潜在效率。例如,性能(通过设备的分组吞吐量来衡量)可能会因多种原因而得到改善。一个原因是,离开的帧/分组可能不需要,例如经由对操作系统(OS)内核的调用,访问路由和转发表,来确定例如L2帧的目的地MAC地址。另一个原因是,非透明分组处理设备可以使用由设备的OS(例如,Linux)内核所提供的相对较慢的TCP/IP网络堆栈逻辑来处理传输中分组并参与L3路由和L2交换/转发协议;然而,透明设备可以绕过OS内核的TCP/IP网络堆栈,并使用更快的直接访问网络接口控制器(NIC)的分组处理逻辑,例如数据平面开发工具包(DPDK)。诸如DPDK的快速分组处理逻辑模块可能不本地支持改变L3/IP分组报头的功能(例如,改变分组的源IP地址值或目的地IP地址值的代理功能)或改变L2/以太网帧的功能(例如,改变源MAC地址值或目的地MAC地址值的链路转发功能)。如果对于特定应用需要这样的功能,那么应用可以经由例如对OS的TCP/IP网络堆栈的调用来访问这些功能;然而,这种方法可能会影响应用的分组处理性能。
本领域技术人员通常将OS绕过架构/具体实施称为“快速路径”(相对于通过OS内核的“慢速路径”),并且可以假设相关联的BITW设备增加了最小的延迟,并且不会丢弃分组(例如,由于大延迟导致的缓冲区溢出)。与非透明设备一样,当网络管理员定义要求特定通信通过此类透明设备传递的网络通信策略时,管理员必须确保网络和路由策略被正确配置以满足要求。但是,由于透明设备的网络接口没有IP地址,管理员无法使用路由策略将特定分组引导到接口,而是必须使用间接方法来确保满足要求。因此,类似于非透明设备的情况,对网络和/或路由策略的改变可能潜在地导致路由的改变,使得要求不能得到满足;因此,在进行此类改变时,管理员可能需要采取措施来确保这些要求仍然得到满足,这可能比非透明情况更难实现(例如,因为相对于直接路由方法只能使用间接路由方法)。
云计算平台和服务(例如Amazon Web services、Microsoft Azure、Google cloud等)的效率已使许多组织将其部分物理专用网络迁移或虚拟化为虚拟专用云。当在使用诸如亚马逊虚拟专用云(VPC)等服务的虚拟专用云环境中调配内联网络设备(例如内联分组过滤设备)时,设备的网络接口必须被分配(专用)IP地址,并且设备的网络接口不再透明。尽管到物理设备的网络接口端口的连接可以通过物理连接(例如以太网电缆)来实现,但在虚拟环境中不可能实现这样的物理连接。当将这样的物理连接映射到虚拟云环境时,必须经由L3路由和相关联的路由策略仿真/虚拟化连接。
图2A示出了示例网络环境200,其中虚拟专用云204——例如,其已经由企业在基础设施即服务(IaaS)平台之上配置,该平台可以由企业自身托管或由IaaS提供商(例如,亚马逊、微软、谷歌等)托管——与公共网络102介接。虚拟专用云204可以是图1A中的物理专用网络104的虚拟化版本。可以由IaaS平台提供/调配的虚拟NAT-G/W 220功能可以将公共地址(例如,互联网地址)例如174.129.20.63映射到虚拟计算机的专用IP地址,诸如虚拟计算机260的10.0.2.157。
路由协议和相关联的路由策略还可以确定虚拟NAT-G/W 220和虚拟计算机260之间的网络路径,这在图2A中由虚拟路径208表示。用于虚拟专用云的路由协议和策略可以由IaaS平台供应商(例如IaaS提供商)管理,而并不一定由平台订户(例如企业)管理。不同IaaS提供商之间的路由协议和策略可能不同;此外,IaaS提供商可能不会向使用IaaS提供商的虚拟专用云平台的订户/企业公开路由协议和策略的控制。因此,例如,如果企业要求特定分组通过虚拟专用云穿越特定路径或子路径或链路,则企业必须按照使得特定分组将穿越特定路径的方式配置云的元件的IP地址和配置专用云,例如,通过配置子网和修改云的路由表(其由IaaS提供商公开)。由于企业不能控制路由策略,因此确保满足这样的要求可能是困难和有问题的,特别是当专用云为动态时,例如,当频繁地对专用云进行修改路由配置的改变时(这可能是因为云的潜在优点之一是,与物理网络相比,对网络的改变(例如,由于负载的动态变化而动态添加或删除服务器)可能更高效)。
发明内容
以下几个段落提供了简要概述,以便提供对本公开的一些方面的基本理解。它们既不旨在标识本公开的关键或重要要素,也不旨在勾画本公开的范围。以下几个段落仅以简化形式提供本公开的一些概念,作为以下描述的序言。
鉴于以上背景技术讨论,需要支持透明物理BITW网络设备的虚拟化和/或将设备调配到动态虚拟专用云环境中的方法、系统和逻辑。还需要以如下方式来完成这一点,即可以:(a)保持快速路径分组处理和相关联的分组吞吐量性能,(b)实施策略来确保包括特定/指定通信的分组穿越通过虚拟化BITW设备的虚拟路径,和/或(c)对于跨不同虚拟专用云平台的路由策略的差异保持不变。
本文描述的各方面整体涉及用于TCP/IP联网的计算机硬件和软件及其相关方法。例如,本公开的一个或更多个非限制性方面整体涉及调解计算机网络中的分组数据传输的联网设备。
例如,本文公开的方法、设备、系统和/或计算机可读介质描述了具有以下功能的逻辑和配置的示例,即:可以支持(1a)对内联透明物理传输中分组处理网络设备的高效虚拟化和/或(1b)到虚拟专用云环境中的高效部署;和/或可以(2a)保持设备的分组处理性能和/或(2b)实施企业通信策略,使得包括一个或更多个互联网主机和连接到虚拟专用云的一个或更多个虚拟主机之间的通信的一些或所有分组穿越虚拟路径,该虚拟路径包括虚拟线中凸块(BITW)设备的网络接口之间的虚拟链路。这些特性和特征对跨不同虚拟专用云平台可能发生的路由策略的差异或变化可以保持不变。方便起见,术语“虚拟BITW设备”在本文中可以用于标记物理BITW设备的虚拟化版本,例如,已经被虚拟化并部署到云中的内联透明传输中快速路径分组处理物理网络设备。
当被虚拟化并调配到云中时,这些虚拟BITW设备的网络接口可以被分配(L3)专用IP地址和(L2)MAC地址,这些地址与设备的高效网络地址映射器(NAM)逻辑和云的路由表相关联,以实现期望的L3代理功能和L3/L2路由和转发功能。虚拟化设备可以使用BITW设备的物理版本所使用的相同或类似的快速路径分组处理(FPPP)逻辑(例如,数据平面开发工具包(DPDK))来处理传输中分组,同时绕过慢速路径操作系统的TCP/IP网络堆栈逻辑。
连接到虚拟专用云的虚拟主机计算机可以通过其(专用)IP地址来标识,并且可以与这样一种策略相关联,即包括虚拟主机计算机和互联网主机之间的通信的某些或全部传输中分组必须通过虚拟BITW设备,该虚拟BITW设备部署到虚拟主机计算机和云的互联网接口(例如网络地址转换(NAT)网关)之间的云中的虚拟路径中。虚拟BITW设备、虚拟主机计算机和NAT网关的IP地址和相关联的子网可以被配置为使得互联网和虚拟主机计算机之间的通信穿越虚拟路径并通过虚拟BITW设备。虚拟BITW设备的面向互联网的网络接口可以被标识为虚拟主机计算机的IP地址代理。可以重新配置将互联网与专用云介接并在虚拟主机计算机的互联网地址与其专用IP地址之间进行本地转换的NAT网关,以将虚拟主机计算机的互联网地址转换为代理地址。源于互联网主机且目的地为虚拟主机计算机的分组可以(通过云)从NAT网关路由到虚拟BITW设备的代理网络接口。在代理接口处接收到分组之后,设备的NAM逻辑可以修改分组的L3目的地地址和L2 MAC地址,使得在设备通过快速路径逻辑处理分组并将分组转发出设备的面向虚拟主机的网络接口之后,分组被路由到虚拟主机计算机。类似地,源于虚拟主机计算机且目的地为互联网主机的分组可以路由到设备的面向虚拟主机的网络接口并由其接收、由NAM逻辑修改、通过设备的快速路径逻辑处理、转发出代理接口,并路由到NAT网关,该NAT网关可以执行地址转换并向互联网主机转发分组。
本文公开的其他方面涉及配置虚拟BITW设备以通过虚拟BITW设备的快速路径来处理分组。
本文公开的其他方面涉及配置虚拟BITW设备的代理、地址、子网和/或路由表,以确保分组通过云穿越虚拟路径,其中虚拟路径包括通过虚拟BITW设备的快速路径。
本文公开的其他方面涉及将虚拟BITW设备调配到虚拟路径中;向与虚拟路径终端的子网相对应的网络接口分配IP地址;以(1)终端和/或接口的IP和/或MAC地址,和/或(2)代理信息来配置NAM逻辑;配置NAT网关以将至少一个公共IP地址转换为与虚拟BITW设备相关联的专用IP地址;以及提供至少一个云路由表,其被配置为通过虚拟BITW设备和NAT网关实施出站虚拟路径路由。
以上各方面存在许多可能的变型和扩展,包括例如多个虚拟主机计算机的情况,其中一些在下面通过示例的方式详细描述。
通过整体回顾本公开,包括随其一起提供的附图,本公开的特征将变得更加明显。
附图说明
在附图的各图中,通过示例而非限制的方式示出了本文中的一些特征,其中类似的附图标记指代相似的元件,并且其中:
图1A和图1B描绘了包括物理内联BITW设备的物理专用网络的例示性网络环境;
图2A和图2B描绘了包括虚拟BITW设备的虚拟专用云的例示性网络环境;
图3示出了在专用云中调配、配置和操作虚拟BITW设备的过程的示例框图;
图4示出了虚拟BITW设备的示例架构;
图5示出了通过虚拟BITW设备的在互联网主机和连接专用云的虚拟主机计算机之间的分组通信的示例梯形图。
图6示出了可用于实现本文描述的任何设备、系统和方法的示例计算设备。
具体实施方式
在各种例示性实施例的以下描述中,参考了附图,这些附图形成了本说明书的一部分,并且在附图中通过例示说明的方式示出了可以实践本公开各方面的各种实施例。应当理解,在不脱离本公开的范围的情况下,可以利用其他实施例,并且可以进行结构和功能上的修改。此外,参考了其中可以实践本公开各方面的特定应用、协议和实施例。应当理解,在不脱离本公开的范围的情况下,可以利用其他应用、协议和实施例,并且可以进行结构和功能上的修改。应当理解,尽管描述、附图和示例参考IPv4协议,但也可以类似地参考IPv6协议和其他协议。
在以下描述中讨论了元件之间的各种连接。这些连接是通用的,除非另有说明,否则可以是直接或间接、有线或无线、物理或逻辑(例如,虚拟或软件定义)的任意组合。就这一点而言,本说明书并非旨在进行限制。
如图2B所示,当订阅企业或诸如专用云运营商的其他实体在虚拟路径208中插入物理BITW设备C 240(虚拟BITW)的虚拟化版本以便处理传输中分组时,设备C的网络接口C1241和C2 242可以具有分配给它们的(L3)IP地址,从而使得底层专用云平台不仅识别设备,而且可以潜在地路由分组通过设备。然而,如果企业定义了例如要求包括计算机260和任何互联网主机之间的通信的所有分组通过设备C 240的策略,则企业可能无法直接实施该策略,因为它无法控制路由。例如,路由协议可以决定NAT-G/W 220和计算机260之间的最佳路径(图2B中未示出)不通过设备C 240。企业可以采取措施来可能地引导路由协议路由特定分组通过设备C240;例如,企业可以要求接口C1和接口C2各自的IP地址与不同的非重叠子网相关联,以增加期望路由的可能性。例如,在图2B中,接口C1可以在子网10.0.1.0/24中被分配10.0.1.6,而接口C2可以在子网10.0.2.0/24中被分配10.0.2.7,其不与接口C1的相关联的子网重叠。然而,这样的动作不能保证期望的路由,因为例如在子网10.0.1.0/24和子网10.0.2.0/24之间可能存在绕过设备C的路径(图2B中未示出),或者,例如,路由可能导致分组沿错误的方向路由通过设备C。此外,即使当路由通过设备C 240看起来是按期望/需要工作时,对网络的任何进一步改变,例如添加、删除和/或修改服务器、子网、IP地址等,都可能导致对路由的重新配置,使得路由分组通过设备C 240不再满足企业的期望要求。
支持向(透明物理)BITW网络设备的网络接口分配IP地址和MAC地址(使得设备可以被虚拟化并调配到IaaS提供商的虚拟专用云中并可以参与L3路由和L2转发)的一种方法是:恢复使用设备OS(慢速路径)的TCP/IP网络堆栈逻辑来处理传输中分组并配置/确定路由和转发信息。因此,可能牺牲由物理BITW设备中的透明度和相关联的快速路径分组处理逻辑所实现的分组吞吐量性能增益,以支持设备的虚拟化。然而,使用OS的TCP/IP网络堆栈逻辑可能会导致本地路由和转发信息由云平台的路由和交换协议自动配置;但是,如上所述,这未必一定实施针对云的任何分组路由策略/要求,并且可能导致性能进一步降低。
如下所述,可以提供以下相关组件以支持虚拟BITW:(1)云配置组件,其可以协调寻址(例如,IP和MAC寻址)、地址转换、代理、子网和/或路由;和(2)网络地址映射器(NAM)逻辑组件,其可以被插入(例如,填充)在虚拟BITW设备系统中,诸如在FPPP的网络接口控制器(NIC)驱动器和FPPP的核心分组处理逻辑之间,其可以高效地将进入和/或离开L3/L2分组/帧的L3/IP地址和L2/MAC地址映射到可以使它们沿着虚拟路径被路由/转发到预期目的地的值。
参考图3,首先考虑示例云配置组件,该组件可以包括以下任何相关子组件:
将虚拟BITW设备和相关联的子网配置到虚拟路径中;
配置NAT网关和相关联的代理;以及
配置云路由表。
需注意,子组件的配置可以在专用云提供商的基础设施的背景下并与之协同执行,该基础设施可以自动和/或透明地执行诸如路由和路由表生成、MAC地址生成和分配等功能,它们的操作未示出或进行描述。还需注意,所描述的示例/场景是针对在单个虚拟主机计算机(例如,计算机260)、单个互联网网关(例如,NAT-G/W 220)和单个互联网主机(例如,HOST-0 110)之间的内联虚拟BITW设备240的简单情况。本文所描述的本公开的方法和系统很容易由本领域技术人员扩展到具有多个虚拟主机、互联网主机、网关和虚拟BITW设备的更复杂的场景。
在图2A中,示出了在已经部署好虚拟BITW设备之前的示例环境,NAT-G/W 220可以被配置为在与公共网络102(例如,公共互联网)相关联的公共IP地址和与虚拟专用云204相关联的专用IP地址之间进行转换。例如,虚拟计算机260可以与公共IP地址174.129.20.63和专用IP地址10.0.2.157相关联。因此,在图2A中,NAT-G/W220被描绘为将174.129.20.63转换为10.0.2.157或从10.0.2.157转换为174.129.20.63。云平台提供商(例如,IaaS提供商)的路由系统可以确定NAT-G/W 220的网络接口N2 222(具有IP地址10.0.1.1)和计算机260(具有IP地址10.0.2.157)之间通过虚拟专用云104的(双向)路径208。IP地址10.0.1.1和10.0.2.157以及相关联的网络接口表示路径208的终端。
参考图3,在步骤3-1中,虚拟BITW设备可以被调配、配置和部署到虚拟路径中。虚拟路径的每个终端可以专门与虚拟BITW设备的子网和网络接口相关联。虚拟BITW设备的每个这样的网络接口可以被分配一个IP地址,该IP地址位于与其相关联的路径终端相同的子网中。虚拟BITW设备的NAM逻辑可以用虚拟路径的终端和设备的网络接口的IP地址和MAC地址来配置。NAM逻辑可以用将由虚拟BITW设备的代理接口接收的分组映射到被代理的虚拟主机计算机或虚拟路径终端的信息来配置。
例如,参考图2B,当将虚拟BITW设备C 240内联部署到路径208中时,网络接口C1241可以用IP地址(例如10.0.1.6)来配置,该IP地址与NAT-G/W 220的网络接口N2 222位于同一子网(例如/24子网)中,网络接口N2 222具有IP地址10.0.1.1,并且是路径208的一个终端。C1 241可以被指定为代理接口,即,具有IP地址10.0.1.6的C1 241可以用作虚拟计算机260(其具有IP地址10.0.2.157)的IP地址代理。方便起见,由虚拟BITW设备的网络接口代理的虚拟主机计算机可以被称为“目标”。NAM逻辑可以用这一代理信息来配置,NAM逻辑可使用该代理信息来映射/修改传输中L3分组的IP地址字段值10.0.1.6到10.0.2.157。同时,网络接口C2 242可以以IP地址来配置,例如10.0.2.7,该IP地址与目标虚拟计算机260(具有IP地址10.0.2.157,路径208的另一终端)位于同一子网中,例如/24子网中,但是其中包含C2的子网与包含C1的子网不同并且不重叠。在网络接口已经被分配了IP地址之后,云平台可以生成并向接口分配MAC地址,并更新云的路由表(使用例如OSPF和ARP),以将新部署的虚拟BITW设备240结合/集成到云的路由配置中。云平台可以创建和维护与云中的每个网络接口相关联的路由表,其可以确定网络接口之间的路由。在已经更新了路由表之后,NAM逻辑可以从路由表和网络堆栈中提取以下任何信息:目标虚拟计算机260的IP和MAC地址;C1 241接口的IP和MAC地址(例如,目标虚拟计算机260的代理);和/或与C1 241位于同一子网中的NAT-G/W220网关的网络接口的MAC地址。如下面进一步描述的,NAM逻辑可以使用这一信息来帮助确保包括互联网主机和目标虚拟计算机260之间的通信的某些(或所有)分组通过虚拟BITW设备240。这一信息还可以用于根据快速路径分组处理高效地访问路由和转发信息,否则可能经由慢速路径(即,OS的TCP/IP网络堆栈)来访问该信息。
参考图3,在步骤3-2中,通过在虚拟主机计算机的公共(例如,互联网)IP地址和专用(例如,云)IP地址之间转换来将专用云204与公共网络102介接的NAT网关可以被重新配置为:将目标虚拟主机计算机的公共IP地址转换为虚拟BITW设备的代理接口的专用IP地址。
例如,参考图2B,NAT-G/W 220可以被配置为将计算机260的公共IP地址174.129.20.63转换为C1 241的专用IP地址10.0.1.6,而不是目标计算机260的专用IP地址10.0.2.157。实际上,NAT-G/W 220已经指定网络接口C1作为目标计算机260的代理(并且,如上所述,虚拟BITW的NAM逻辑可以被类似地配置)。
参考图3,在步骤3-3中,云平台的路由表可以被修改/配置/扩增,以使得穿越路径的终端之间的虚拟路径的出站分组(例如,源自终端虚拟计算机/由终端虚拟计算机发起并经由NAT网关发往互联网主机(或其他公共网络主机)的分组)可以从终端虚拟计算机路由到虚拟BITW设备的非代理网络接口,然后从虚拟BITW设备的代理网络接口路由到将专用云与公共网络介接的NAT网关。具体地,可以修改路由表,使得:(1)离开与终端虚拟计算机和虚拟BITW设备的非代理接口两者相关联的子网的出站分组被引导/转发到非代理接口;和/或(2)离开与虚拟BITW的代理接口和NAT网关接口两者相关联的子网的出站分组被引导/转发到NAT网关接口。
例如,参考图2B,对云的路由表的扩增可以包括(1)将NAT-G/W 220的N2 222接口(其具有IP地址10.0.1.1)标识为离开子网10.0.1.0/24的所有出站分组的互联网网关的条目。需注意,(1a)这一子网10.0.1.0/24包括虚拟BITW设备240的C1 241代理接口,并且(1b)N2 222是虚拟路径208的终端。因此,这一条目可以帮助实施与虚拟路径208的穿越相关联的要求。对云的路由表的扩增可以进一步包括(2)C2 242接口的路由表中的条目,该条目将具有IP地址10.0.2.7的C2 242接口标识为离开子网10.0.2.0/24的所有出站分组的出口点。需注意,(2a)这一子网10.0.2.0/24包括目标虚拟计算机260(其具有IP地址10.0.2.157),并且(2b)虚拟计算机260是虚拟路径208的终端。因此,这一条目也可以帮助实施与虚拟路径208的穿越相关联的要求。
在完成步骤3-1、3-2和3-3之后,虚拟BITW设备可以准备好在其虚拟路径中操作;因此在步骤3-4中,虚拟BITW可以过渡到操作状态。
需注意,步骤3-1、3-2和3-3以及相关联的子步骤的顺序是示例性的,并且在实践中可以不同。此外,可以组合和/或进一步细分这些步骤中的任何一个。
参考图4,其示出了作为流水线的虚拟BITW设备的逻辑架构的示例,接下来考虑NAM逻辑组件。NAM可以插入在FPPP的网络接口控制器(NIC)驱动器和快速路径分组处理(FPPP)应用逻辑之间,其中应用可以是例如网络防火墙、网络访问控制、web代理、TLS代理、分组安全网关、威胁情报网关、IPsec网关等。NAM的目的可以根据为什么它可以在虚拟BITW设备中使用但不能由物理BITW设备使用来解释。例如,用于物理BITW设备的图4的版本与(用于虚拟BITW的)图4的不同之处可至少在于NAM逻辑组件。
NAM组件可以提供一个或更多个功能。这些功能的示例可以包括:
NAM功能1:对于代理网络接口,在代理IP地址和目标虚拟计算机的IP地址之间进行映射;
NAM功能2:配置传输中L3分组和L2帧的IP和MAC地址,以实施虚拟路径穿越策略/要求;和/或
NAM功能3:维护高效的数据结构,该数据结构可以由分组的流特征索引,包含与最近观察到的传输中帧/分组相关联的信息,以便恢复和快速访问与同一流中可能已经在代理过程中丢失的分组相关联的路由和转发信息。
上面列出的所有三(3)个NAM功能都是由于希望将IP地址和MAC地址分配给虚拟BITW设备的网络接口(图4中的C1和C2);而根据定义,物理BITW设备的网络接口是L3和L2透明的,因此不需要NAM。
关于NAM功能1:回顾上述内容,例如图3的步骤3-2,互联网云NAT网关可以被配置为将目标虚拟计算机的公共IP地址转换为虚拟BITW设备的代理接口的IP地址。因此,例如在图3的步骤3-1中,NAM逻辑可以被配置为将代理接口的IP地址转换为目标虚拟计算机的专用IP地址。
例如,仍然参考图2B,因为接口C1 241可以代理目标虚拟计算机260,所以当C1接收到L3目的地IP地址设置为C1的IP地址10.0.1.6的分组时,NAM逻辑可以被配置为将该分组的目的地IP地址改变为目标计算机260的IP地址10.0.2.157,然后通过FPPP应用逻辑经由快速路径向接口C2转发该分组。相反,当C2接收到L3源IP地址被设置为目标计算机260的IP地址10.0.2.157的分组时,该分组可以经由快速路径转发到NAM,NAM可以被配置为将该分组的源IP地址改变为C1的IP地址10.0.1.6。C1然后可以向其目的地转发该分组。如果分组的目的地IP地址是互联网(或其他公共网络)地址,则分组可以通过NAT-G/W 220,其可以将分组的L3源IP地址从C1的IP地址10.0.1.6转换为计算机260的公共IP地址174.129.20.63。
关于NAM功能2:虚拟BITW设备的网络接口可以负责向其目的地转发分组。转发功能可以负责将包含L3分组的L2帧的MAC地址设置为适当的值,例如虚拟路径的终端的MAC地址。这些MAC地址值可以经由慢速路径(即,经由对OS内核的TCP/IP网络堆栈逻辑的调用)从云的路由表中获得;然而,出于性能原因,虚拟BITW设备在处理传输中分组时可能不使用慢速路径。通过在为操作配置虚拟BITW设备时使用适当的MAC地址信息来配置NAM逻辑,例如,如图3的步骤3-1所示,转发功能可以从(快速路径)NAM而不是(慢速路径)OS内核的TCP/IP网络堆栈获得MAC地址信息。
关于NAM功能3:此功能可用于某些云配置,其中例如存在多个虚拟计算机,这些虚拟计算机可以由另一目标虚拟计算机(例如,负载平衡器、web代理等)代理,其中相关联的通信通过虚拟BITW设备。例如,假设没有NAM功能3;则由代理目标虚拟计算机(例如,负载平衡器)后面的多个虚拟计算机中的一个发起并以互联网主机为目的地的请求分组可以使互联网(或其他公共网络)主机创建并发送具有代理负载平衡器的IP地址作为目的地的响应分组。在接收到响应分组时,负载平衡器可能不知道对应的请求源自哪个被代理的虚拟计算机/由哪个被代理的虚拟计算机发起;因此,负载平衡器可以选择被代理的虚拟计算机中的任何一个来向其转发响应分组;因此,可能的情况是,所选择的被代理的虚拟计算机可能并不是对应请求分组的发起者/源。
为了处理上述示例场景以及其他场景,NAM可以包括高效数据结构,其存储/缓存关于最近观察到的L3分组和相关联的L2帧的信息,包括分组的5元组值(L3源和目的地IP地址、L4源和目的地端口、L3协议类型)、相关联的帧的MAC地址和/或方向。以此方式,NAM可以通过恢复发起对应请求分组的虚拟计算机的IP地址和MAC地址,并相应地修改响应分组和相关联的帧,使得响应分组最终被适当的虚拟计算机接收,从而能够处理上述示例场景(和类似场景)。需注意,为了保持可能存在的快速路径性能要求,高效数据结构(例如LRU缓存)可以支持高效的插入、搜索和/或删除。
图5示出了可以通过虚拟路径208中的虚拟BITW设备240的在互联网主机HOST-0110和专用云中的虚拟计算机260之间的通信的示例。图5中示出的示例网络元件对应于图2B中示出的示例元件和相关联的配置,然而,图5中的元件可以对应于本文中描述的其他配置。出于示例目的,还假设虚拟BITW设备240已经按照图3的步骤3-1、3-2和3-3部署和配置,并且处于图3的步骤3-4所示出的操作模式。
作为示例,虚拟计算机260可以执行具有DNS注册域名www.example-web-server.net的web服务器应用,并且HOST-0 110(由例如公共IP地址74.65.150.95寻址)可以执行web客户端/web浏览器应用。在HOST-0 110上操作web浏览器的用户可以将浏览器指向URL https://www.example-web-server.net。在步骤5-0(图5中未示出)中,浏览器可以向(互联网)DNS发出查询以解析www.example-web-server.net,并且DNS可以用IP地址174.129.20.63进行响应。
在步骤5-1中,HOST-0 110可以通过经由互联网向虚拟计算机260发送具有L3源IP地址74.65.150.95和L3目的地IP地址174.129.20.63的TCP SYN握手分组P0.0来发起与174.129.20.63(即,虚拟计算机260)的端口443(HTTPS)建立TCP连接。
在步骤5-2中,NAT-G/W 220可以接收分组P0.0。NAT功能可以将计算机260的公共IP地址174.129.20.63转换为10.0.1.6,其可以是虚拟BITW设备240的网络接口C1 241的(专用)IP地址,并且可以是目标虚拟计算机260的代理IP地址。NAT-G/W 220可以如下将分组P0.0转换为P0.1:(1)将L3目的地IP地址改变为10.0.1.6(代理网络接口C1 241的IP地址);(2)将L2源MAC地址改变为12:f7:4c:ac:de:7f(NAT-G/W 220的网络接口N2 222的MAC地址);以及(3)将L2目的地MAC地址改变为12:3d:f8:07:f0:19(虚拟BITW设备240的网络接口C1 241的MAC地址)。网络接口N2 222可以在虚拟路径208上向虚拟BITW设备240的网络接口C1 241发送分组P0.1。
在步骤5-3中,虚拟BITW设备240可以通过其网络接口C1 241接收分组P0.1。根据上面描述的NAM功能3,NAM可以将与分组P0.1相关联的信息插入到其高效数据结构中,以用于存储与最近观察到的分组相关联的信息,以防稍后需要源计算机信息来恢复可能在代理转换期间丢失的信息(在此示例中未示出)。NAM可以如下将分组P0.1转换为P0.2:(1)将L3目的地IP地址改变为10.0.2.157(虚拟计算机260的IP地址);(2)将L2源MAC地址改变为12:a8:84:40:b6:39(网络接口C2 242的MAC地址);以及(3)将L2目的地MAC地址改变为12:43:9d:b6:7b:f3(虚拟计算机260的网络接口的MAC地址)。NAM可以向C2 242转发/流水线输送分组P0.2。(快速路径)分组处理应用处理分组P0.2。假设应用不丢弃/阻止分组P0.2,网络接口C2 242可以在虚拟路径208上向虚拟计算机260发送分组P0.2。
在步骤5-4中,目标虚拟计算机260可以接收分组P0.2。计算机260可以通过创建包含TCP SYN-ACK握手信号的分组P1.0来响应TCP SYN握手信号,并且其中:(1)L3源IP地址设置为10.0.2.157(虚拟计算机260的专用IP地址);(2)L3目的地IP地址设置为74.65.150.95(HOST-0 110的IP地址);(3)L2源MAC地址设置为12:43:9d:b6:7b:f3(计算机260的MAC地址);以及(4)L2目的地MAC地址设置为12:a8:84:40:b6:39(虚拟BITW设备240的网络接口C2242的MAC地址)。将分组P1.0的目的地MAC地址设置为C2 242的MAC地址可以帮助确保分组P1.0通过虚拟BITW设备240穿越虚拟路径208,即使P1.0的L3目的地IP地址不是C2242的IP地址。计算机260可以在虚拟路径208上向HOST-0 110发送/转发分组P1.0。
在步骤5-5中,虚拟BITW设备240可以通过其网络接口C2 242接收分组P1.0。根据上面描述的NAM功能3,NAM可以将与分组P1.0相关联的信息插入到其高效数据结构中,以用于存储与最近观察到的分组相关联的信息,以防稍后需要源计算机信息来恢复可能在代理转换期间丢失的信息(在此示例中未示出)。NAM可以如下将分组P1.0转换为P1.1:(1)将L3源IP地址改变为10.0.1.6(为计算机260代理的网络接口C1 241的IP地址);(2)将L2源MAC地址改变为12:3d:f8:07:f0:19(网络接口C1 241的MAC地址);以及(3)将L2目的地MAC地址改变为12:f7:4c:ac:de:7f(NAT-G/W 220的网络接口N2 222的MAC地址)。将分组P1.1的目的地MAC地址设置为N2 222的MAC地址可以帮助确保分组P1.1穿越虚拟路径208到NAT-G/W220,即使P1.1的L3目的地IP地址不是N2 222的IP地址。NAM可以向C1 241转发/流水线输送分组P1.1。(快速路径)分组处理应用处理分组P1.1。假设应用不丢弃/阻止分组P1.1,网络接口C1 241可以在虚拟路径208上向HOST-0 110发送/转发分组P1.1。
在步骤5-6中,NAT-G/W 220可以通过其网络接口N2 222(其是虚拟路径208的终端)接收分组P1.1。NAT-G/W 220可以如下将分组P1.1转换为P1.2:(1)将L3源IP地址改变为174.129.20.63(虚拟计算机260的公共IP地址)。网络接口N1 221经由互联网向HOST-0 110发送/转发分组P.1.2。
在步骤5-7中,可以在HOST-0 110和虚拟计算机260(其托管网站www.example-web-site.net)之间建立TCP连接和TLS隧道,并且可以进行(TLS安全的)HTTP会话(例如HTTPS)。在HTTP会话完成后,TLS隧道和TCP连接可以断开。构成通信的所有分组可以穿越虚拟路径208并在两个方向上通过虚拟BITW设备240。
可以使用一个或更多个计算设备部分地或完全地实现本文描述的或任一图中所示的任何元件。图6中示出了示例计算设备600的硬件元件,其可以用于实现本文中描述的任何其他元件。可以在计算设备600的虚拟版本中仿真这些硬件元件中的任何一个和/或计算设备600本身。计算设备600可以包括一个或更多个处理器601,该一个或更多个处理器可以执行计算机程序的计算机可读指令以执行本文描述的任何工作或其他操作。指令连同其他数据可以存储在存储装置602中,该存储装置可以包括例如诸如只读存储器(ROM)和/或随机存取存储器(RAM)的存储器、硬盘驱动器、磁盘或光盘、通用串行总线(USB)驱动器和/或任何其他类型的计算机可读介质。计算设备600还可以包括用户接口604,以用于与一个或更多个输入设备605(诸如键盘、鼠标、语音输入等)介接,以及用于与一个或更多个输出设备606(诸如显示器、扬声器、打印机等)介接。计算设备600还可以包括网络接口603,以用于与可作为计算设备600外部网络的一部分的一个或更多个外部设备介接。尽管图6示出了示例硬件配置,但是计算设备600的一个或更多个元件可以被实现为软件或者硬件和软件的组合。可以进行修改以对计算设备600的组件进行添加、删除、组合、分割等。此外,图6中所示的元件可以使用已经被配置为执行如本文描述的操作的基本计算设备和组件来实现。处理器601和/或存储装置602也可以或替代地通过一个或更多个集成电路(IC)来实现。IC可以是例如微处理器,其访问存储在ROM中和/或硬连线到IC中的编程指令或其他数据。例如,IC可以包括专用集成电路(ASIC),其具有专用于本文描述的计算和其他操作的门和/或其他逻辑。IC可以基于对从ROM或RAM读取的编程指令的执行来执行一些操作,而其他操作硬连线到门或其他逻辑中。
本文描述的功能和步骤可以体现在由用来执行本文描述的一个或更多个功能的一个或更多个计算设备(例如,计算机或其他数据处理设备)执行的计算机可用数据或计算机可执行指令中,诸如在一个或更多个程序模块中。通常,程序模块可以包括例程、程序、对象、组件、数据结构和/或其他元件,它们在由一个或更多个计算设备的一个或更多个处理器执行时执行特定任务或实现特定抽象数据类型。计算机可执行指令可以存储在诸如硬盘、光盘、可移动存储介质、固态存储器、RAM等的计算机可读介质上。应当理解,可以根据需要组合和分配程序模块的功能。另外,功能可以全部或部分地体现在固件或硬件等效物中,诸如集成电路、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等。特定的数据结构可以被用于更高效地实现本公开的一个或更多个方面,并且此类数据结构被认为在本文描述的计算机可执行指令和计算机可用数据的范围内。
尽管不是必需的,但是本领域的普通技术人员将理解,本文描述的各个方面可以体现为一种方法、系统、装置或体现为一种或更多种存储计算机可执行指令的计算机可读介质,当由计算设备的一个或更多个处理器执行时,计算机可执行指令使计算设备执行本文所公开的步骤。因此,各方面可以采取完全硬件实施例、完全软件实施例、完全固件实施例、完全虚拟实施例或以任何组合结合软件、硬件、虚拟化和/或固件方面的实施例的形式。
如本文所述,各种方法和动作可以在一个或更多个物理上分离或集成的计算设备(它们可以一起形成一个计算设备)和网络上操作。功能可以以任何方式分布,或者可以位于单个物理计算设备或计算设备的虚拟版本(例如,服务器、客户端计算机、用户设备、虚拟环境等)中。
本公开的各方面已经根据其例示性实施例进行了描述。通过阅读本公开,本领域普通技术人员可以想到所附权利要求的范围和精神内的许多其他实施例、修改和变化。例如,本领域的普通技术人员将理解,例示性附图中示出的步骤可以以不同于所列举的顺序来执行,并且示出的一个或更多个步骤可以是任选的。
Claims (31)
1.一种方法,包括:
将设备调配到虚拟路径中;
使用以下项来配置网络地址映射器(NAM)逻辑:
经由所述虚拟路径连接的虚拟路径终端的多个地址;
与所述虚拟路径终端的子网相对应的网络接口的多个地址;以及
代理信息;
配置网络地址转换(NAT)网关以将至少一个公共互联网协议(IP)地址转换为与所述设备相关联的专用IP地址;以及
提供至少一个云路由表,所述至少一个云路由表被配置为通过所述设备和所述NAT网关实施虚拟路径路由。
2.根据权利要求1所述的方法,其中所述设备包括虚拟线中凸块(BITW)设备。
3.根据权利要求1或权利要求2所述的方法,其中所述虚拟路径终端的所述多个地址包括:
所述终端的多个互联网协议(IP)地址;和
所述终端的多个媒体访问控制(MAC)地址。
4.根据权利要求1至3中任一项所述的方法,其中所述网络接口的所述多个地址包括:
所述网络接口的多个互联网协议(IP)地址;和
所述网络接口的多个媒体访问控制(MAC)地址。
5.根据权利要求1至4中任一项所述的方法,其中所述网络接口包括:
所述设备的第一网络接口,所述第一网络接口与被配置为与所述NAT网关的网络接口介接的第一子网相对应;和
所述设备的第二网络接口,所述第二网络接口与被配置为与目标的网络接口介接的第二子网相对应,
其中所述第一子网和所述第二子网不重叠。
6.根据权利要求1至5中任一项所述的方法,其中所述虚拟路径包括通过所述设备的快速路径,并且其中所述设备被配置为通过所述快速路径,路由从所述NAT网关接收的至少一个分组。
7.根据权利要求1至6中任一项所述的方法,其中所述云路由表被配置为通过所述设备和所述NAT网关,实施出站虚拟路径路由。
8.根据权利要求1至7中任一项所述的方法,其中配置所述NAM逻辑包括配置所述NAM逻辑使得所述虚拟路径终端中的每一个被专门映射到所述网络接口中的一个。
9.一种方法,包括:
由网络地址转换(NAT)网关接收,寻址到公共互联网协议(IP)地址的分组;
由所述NAT网关将所述公共IP地址转换为,被调配到虚拟路径中的设备的专用IP地址,其中所述设备包括网络地址映射器(NAM)逻辑,所述NAM逻辑使用以下项来配置:
经由所述虚拟路径连接的虚拟路径终端的多个地址;
与所述虚拟路径终端的子网相对应的网络接口的多个地址;以及
代理信息;以及
由所述NAT网关向所述专用IP地址发送所述分组。
10.根据权利要求9所述的方法,还包括:使用至少一个云路由表,经由所述NAT网关和所述设备,路由所述分组通过所述虚拟路径。
11.根据权利要求9或权利要求10所述的方法,其中所述设备包括虚拟线中凸块(BITW)设备。
12.根据权利要求9至11中任一项所述的方法,其中所述虚拟路径终端的所述多个地址包括:
所述终端的多个互联网协议(IP)地址;和
所述终端的多个媒体访问控制(MAC)地址。
13.根据权利要求9至12中任一项所述的方法,其中所述网络接口的所述多个地址包括:
所述网络接口的多个互联网协议(IP)地址;和
所述网络接口的多个媒体访问控制(MAC)地址。
14.根据权利要求9至13中任一项所述的方法,其中所述网络接口包括:
所述设备的第一网络接口,所述第一网络接口与被配置为与所述NAT网关的网络接口介接的第一子网相对应;和
所述设备的第二网络接口,所述第二网络接口与被配置为与目标的网络接口介接的第二子网相对应,
其中所述第一子网和所述第二子网不重叠。
15.根据权利要求9至14中任一项所述的方法,其中所述虚拟路径包括通过所述设备的快速路径。
16.根据权利要求9至15中任一项所述的方法,其中所述NAM逻辑被配置为使得所述虚拟路径终端中的每一个被专门映射到所述网络接口中的一个。
17.一种存储指令的计算机可读介质,当由网络地址转换(NAT)网关执行时,所述指令配置所述NAT网关以执行根据权利要求9至16中任一项所述的步骤。
18.一种网络地址转换(NAT)网关,包括:
一个或更多个处理器;和
存储指令的一个或更多个计算机可读介质,当由所述一个或更多个处理器执行时,所述指令使所述NAT网关:
接收寻址到公共互联网协议(IP)地址的分组;
将所述公共IP地址转换为,被调配到虚拟路径中的设备的专用IP地址,其中所述设备包括网络地址映射器(NAM)逻辑,所述NAM逻辑使用以下项来配置:
经由所述虚拟路径连接的虚拟路径终端的多个地址;
与所述虚拟路径终端的子网相对应的网络接口的多个地址;以及
代理信息;以及
向所述专用IP地址发送所述分组。
19.根据权利要求18所述的NAT网关,其中当由所述一个或更多个处理器执行时,所述指令进一步使所述NAT网关使用至少一个云路由表,经由所述NAT网关和所述设备,来实施路由所述分组通过所述虚拟路径路。
20.根据权利要求18或权利要求19所述的NAT网关,其中所述虚拟路径终端的所述多个地址包括:
所述终端的多个互联网协议(IP)地址;和
所述终端的多个媒体访问控制(MAC)地址。
21.根据权利要求18至20中任一项所述的NAT网关,其中所述网络接口的所述多个地址包括:
所述网络接口的多个互联网协议(IP)地址;和
所述网络接口的多个媒体访问控制(MAC)地址。
22.根据权利要求18至21中任一项所述的NAT网关,其中所述网络接口包括:
所述设备的第一网络接口,所述第一网络接口与被配置为与所述NAT网关的网络接口介接的第一子网相对应;和
所述设备的第二网络接口,所述第二网络接口与被配置为与目标的网络接口介接的第二子网相对应,
其中所述第一子网和所述第二子网不重叠。
23.根据权利要求18至22中任一项所述的NAT网关,其中所述NAM逻辑被配置为使得所述虚拟路径终端中的每一个被专门映射到所述网络接口中的一个。
24.一种系统,包括:
网络地址转换(NAT)网关,所述NAT网关包括:
一个或更多个处理器;和
存储指令的一个或更多个计算机可读介质;和
被调配到虚拟路径中并且具有专用互联网协议(IP)地址的设备,所述设备包括网络地址映射器(NAM)逻辑,所述NAM逻辑使用以下项来配置:
经由所述虚拟路径连接的虚拟路径终端的多个地址;
与所述虚拟路径终端的子网相对应的网络接口的多个地址;以及
代理信息,
其中当由所述一个或更多个处理器执行时,所述指令使所述NAT网关:
接收寻址到公共互联网协议(IP)地址的分组;
将所述公共IP地址转换为所述设备的所述专用IP地址;以及
向所述设备的所述专用IP地址发送所述分组。
25.根据权利要求24所述的系统,其中当由所述一个或更多个处理器执行时,所述指令进一步使所述NAT网关使用至少一个云路由表,经由所述NAT网关和所述设备,来实施路由所述分组通过所述虚拟路径。
26.根据权利要求24或权利要求25所述的系统,其中所述设备包括虚拟线中凸块(BITW)设备。
27.根据权利要求24至26中任一项所述的系统,其中所述虚拟路径终端的所述多个地址包括:
所述终端的多个互联网协议(IP)地址;和
所述终端的多个媒体访问控制(MAC)地址。
28.根据权利要求24至27中任一项所述的系统,其中所述网络接口的所述多个地址包括:
所述网络接口的多个互联网协议(IP)地址;和
所述网络接口的多个媒体访问控制(MAC)地址。
29.根据权利要求24至28中任一项所述的系统,其中所述网络接口包括:
所述设备的第一网络接口,所述第一网络接口与被配置为与所述NAT网关的网络接口介接的第一子网相对应;和
所述设备的第二网络接口,所述第二网络接口与被配置为与目标的网络接口介接的第二子网相对应,
其中所述第一子网和所述第二子网不重叠。
30.根据权利要求24至29中任一项所述的系统,其中所述虚拟路径包括通过所述设备的快速路径。
31.根据权利要求24至30中任一项所述的系统,其中所述NAM逻辑被配置为使得所述虚拟路径终端中的每一个被专门映射到所述网络接口中的一个。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/071,174 | 2020-08-27 | ||
US17/395,120 | 2021-08-05 | ||
US17/395,120 US11316823B2 (en) | 2020-08-27 | 2021-08-05 | Methods and systems for efficient virtualization of inline transparent computer networking devices |
PCT/US2021/047735 WO2022047019A1 (en) | 2020-08-27 | 2021-08-26 | Methods and systems for efficient virtualization of inline transparent computer networking devices |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116457756A true CN116457756A (zh) | 2023-07-18 |
Family
ID=87124190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180066975.2A Pending CN116457756A (zh) | 2020-08-27 | 2021-08-26 | 用于内联透明计算机网络设备的高效虚拟化的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116457756A (zh) |
-
2021
- 2021-08-26 CN CN202180066975.2A patent/CN116457756A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10645056B2 (en) | Source-dependent address resolution | |
CN112470436B (zh) | 用于提供多云连通性的系统、方法、以及计算机可读介质 | |
US10944691B1 (en) | Container-based network policy configuration in software-defined networking (SDN) environments | |
US11088872B2 (en) | Servicing packets in a virtual network and a software-defined network (SDN) | |
US10862732B2 (en) | Enhanced network virtualization using metadata in encapsulation header | |
US9979605B2 (en) | Virtualization mapping | |
US20210218652A1 (en) | Container-based connectivity check in software-defined networking (sdn) environments | |
US11848800B2 (en) | Connecting virtual computer networks with overlapping IP addresses using transit virtual computer network | |
US9979694B2 (en) | Managing communications between virtual computing nodes in a substrate network | |
US9736016B2 (en) | Managing failure behavior for computing nodes of provided computer networks | |
US9985869B2 (en) | Support for high availability of service appliances in a software-defined network (SDN) service chaining infrastructure | |
US8239572B1 (en) | Custom routing decisions | |
US11269673B2 (en) | Client-defined rules in provider network environments | |
US20160191310A1 (en) | Managing use of alternative intermediate destination computing nodes for provided computer networks | |
US9356860B1 (en) | Managing external communications for provided computer networks | |
US20130010797A1 (en) | Custom routing decisions | |
US11444808B1 (en) | Scaling network address translation (NAT) and firewall functionality to support public cloud networks | |
US11902240B2 (en) | Methods and systems for efficient virtualization of inline transparent computer networking devices | |
US12028311B2 (en) | Methods and systems for efficient virtualization of inline transparent computer networking devices | |
CN116457756A (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 |