KR20230074626A - 복수의 공용 클라우드에 걸쳐 있는 가상 네트워크의 생성 - Google Patents
복수의 공용 클라우드에 걸쳐 있는 가상 네트워크의 생성 Download PDFInfo
- Publication number
- KR20230074626A KR20230074626A KR1020237016778A KR20237016778A KR20230074626A KR 20230074626 A KR20230074626 A KR 20230074626A KR 1020237016778 A KR1020237016778 A KR 1020237016778A KR 20237016778 A KR20237016778 A KR 20237016778A KR 20230074626 A KR20230074626 A KR 20230074626A
- Authority
- KR
- South Korea
- Prior art keywords
- public cloud
- mfn
- network
- virtual network
- tenant
- Prior art date
Links
- 238000012545 processing Methods 0.000 claims abstract description 46
- 238000000034 method Methods 0.000 claims description 182
- 230000004044 response Effects 0.000 claims description 19
- 238000005538 encapsulation Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 description 158
- 238000005259 measurement Methods 0.000 description 85
- 239000010410 layer Substances 0.000 description 51
- 238000013507 mapping Methods 0.000 description 33
- 208000004160 Rasmussen subacute encephalitis Diseases 0.000 description 26
- 238000013459 approach Methods 0.000 description 23
- 239000003795 chemical substances by application Substances 0.000 description 23
- 238000003860 storage Methods 0.000 description 20
- 238000005457 optimization Methods 0.000 description 14
- 230000009471 action Effects 0.000 description 10
- 238000013519 translation Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 230000002265 prevention Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000002085 persistent effect Effects 0.000 description 6
- 230000003068 static effect Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000010454 slate Substances 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 229960001484 edetic acid Drugs 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000011164 ossification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 244000144992 flock Species 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/256—NAT traversal
- H04L61/2567—NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1403—Architecture for metering, charging or billing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1428—Invoice generation, e.g. customization, lay-out, database processing, algorithms for calculating the bill or formatting invoices as WWW pages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
- H04L12/2858—Access network architectures
- H04L12/2859—Point-to-point connection between the data network and the subscribers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- 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/02—Topology update or discovery
-
- 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/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- 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/12—Shortest path evaluation
-
- 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/14—Routing performance; Theoretical aspects
-
- 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/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- 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/74—Address processing for routing
-
- 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- 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
-
- 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/2514—Translation of Internet protocol [IP] addresses between local and global IP addresses
-
- 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/255—Maintenance or indexing of mapping tables
-
- 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/2592—Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
-
- 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/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0245—Filtering by information in the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/51—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP for resellers, retailers or service providers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- 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/30—Types of network names
- H04L2101/35—Types of network names containing special prefixes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2212/00—Encapsulation of packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Databases & Information Systems (AREA)
- General Business, Economics & Management (AREA)
- Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Ultra Sonic Daignosis Equipment (AREA)
- Optical Radar Systems And Details Thereof (AREA)
- Details Of Aerials (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
일부 실시예들은 여러 공용 클라우드 제공자의 여러 공용 클라우드를 통해 및/또는 여러 지역에서 엔티티를 위해 가상 네트워크를 확립한다. 일부 실시예들에서, 가상 네트워크는, 하나 이상의 사설 네트워크(예를 들어, 엔티티의 지부들, 부문들, 부서들 또는 그들의 연관된 데이터센터들 내의 네트워크들), 모바일 사용자들, 및 SaaS(Software as a Service) 제공자 머신들, 및 엔티티의 다른 웹 애플리케이션들을 상호접속하기 위해 여러 공용 클라우드들에 걸쳐 있는 오버레이 네트워크이다. 일부 실시예들에서의 가상 네트워크는, 최상의 종단간 성능, 신뢰성 및 보안을 위해 목적지로의 엔티티의 데이터 메시지의 라우팅을 최적화하면서, 인터넷을 통한 이러한 트래픽의 라우팅을 최소화하려고 시도하도록 구성될 수 있다. 또한, 일부 실시예들에서의 가상 네트워크는 네트워크를 통과하는 데이터 메시지 흐름의 계층 4 처리를 최적화하도록 구성될 수 있다.
Description
오늘날 회사 기업 네트워크(corporate enterprise network)는 회사의 상이한 사무실들과 부서들을 보안 접속하는 통신 백본(communication backbone)이다. 이 네트워크는 전형적으로, (1) 지사(branch office) 및 지역 캠퍼스의 사용자들, (2) 비즈니스 애플리케이션, 인트라넷, 및 그들의 대응하는 데이터를 호스팅하는 회사 데이터센터들, 및 (3) 회사 방화벽 및 DMZ(demilitarized zone; 비무장 지대)를 통해 글로벌 인터넷을 접속하는 광역 네트워크(WAN)이다. 기업 네트워크는, Frame Relay 및 MPLS(multiprotocol label switching) 등의, 고가의 임대 회선에 의해 상호접속된 스위치, 라우터, 및 미들박스 기기들 등의 전문화된 하드웨어를 포함한다.
지난 몇 년간, 회사들이 통신 서비스를 제공하고 소비하는 방식에 있어서 패러다임 전환이 있었다. 첫째, 이동성 혁명은, 사용자가, 모바일 디바이스를 이용하여, 대개는 스마트폰을 이용하여, 언제 어디서나 서비스에 액세스하는 것을 허용했다. 이러한 사용자들은 공용 인터넷 및 셀룰러 네트워크를 통해 비즈니스 서비스에 액세스한다. 동시에, 제3자 SaaS(Software as a Service) 벤더(예를 들어, Salesforce, Workday, Zendesk)는, 기존의 온-프레미스 애플리케이션(on-premise application)을 대체한 반면, 사설 데이터센터에서 호스팅되는 다른 애플리케이션들은 공용 클라우드로 재배치되었다. 이 트래픽은 여전히 기업 네트워크 내에서 운반되지만, 트래픽의 상당 부분은 회사 네트워크 경계 외부에서 시작되고 종료되며, 회사 네트워크뿐만 아니라 공용 인터넷 양쪽 모두를 통과해야 한다(한번 또는 2번). 최근의 연구에 따르면, 회사 네트워크들의 40%가 백홀링된 트래픽(즉, 회사 네트워크에서 관찰된 인터넷 트래픽)의 비율이 80% 이상인 것으로 나타났다. 이것은, 대부분의 회사 트래픽이 고가의 임대 회선과 소비자 인터넷 양쪽 모두를 통해 운반된다는 것을 의미한다.
소비자-중심의 서비스로서, 인터넷 자체는 비즈니스 트래픽에 대해서는 좋지 않은 매체이다. 인터넷은, 중요한 비즈니스 애플리케이션이 기대하는 신뢰성, QoS(서비스 품질) 보장 및 보안이 결여되어 있다. 또한, 계속 증가하는 소비자 트래픽 수요, 순-중립성 규정 및 주요 업체(예를 들어, Netflix, Google, 공용 클라우드)의 인터넷 바이패스의 생성은, 트래픽 단위당 수익률을 저하시켰다. 이러한 추세는, 소비자의 수요를 신속하게 따라잡고 적절한 비즈니스 서비스를 제공하기 위한 서비스 제공자의 동기부여를 감소시켰다.
공용 클라우드의 성장에 따라, 회사들은 그들의 더 많은 컴퓨팅 인프라스트럭처를 공용 클라우드 데이터센터로 이전시키고 있다. 공용 클라우드 제공자들은, 컴퓨팅 및 네트워킹 인프라스트럭처 투자의 선두에 서 있다. 이들 클라우드 서비스는 전 세계에 많은 데이터센터를 구축했으며, Azure, AWS, IBM 및 Google은 2016 년에 각각 전세계 38, 16, 25 및 14개 지역들로 확장되었다. 각각의 공용 클라우드 제공자는, 잠수함에 의해 배치된 다크 파이버(dark fiber) 및 해저 케이블을 채용하는 고가의 고속 네트워크를 이용함으로써 자체 데이터센터들을 상호접속했다.
오늘날, 이들 변화에도 불구하고, 회사 네트워크 정책은, 종종, 모든 회사 트래픽이 보안 WAN 게이트웨이를 통과하도록 강제한다. 사용자들이 모바일화되고 애플리케이션들이 SaaS 및 공용 클라우드로 이전됨에 따라, 회사 WAN은 모든 회사 통신을 느려지게 하는 비용이 많이 드는 우회로가 된다. 대부분의 회사 WAN의 트래픽은 인터넷으로부터 제공되거나 인터넷으로 전송된다. 인터넷을 통해 이 트래픽을 전송하는 대안적인 보안 솔루션들은 그들의 불량하고 신뢰할 수 없는 성능 때문에 적절하지 않다.
일부 실시예들은, 하나 이상의 지역(예를 들어, 여러 도시, 주, 국가 등)에서 하나 이상의 공용 클라우드 제공자의 여러 공용 클라우드 데이터센터를 통해 가상 네트워크를 엔티티를 위해 확립한다. 이러한 가상 네트워크가 확립될 수 있는 엔티티의 예는, 비지니스 엔티티(예를 들어, 회사), 비영리 엔티티(예를 들어, 병원, 연구 기관 등) 및 교육 엔티티(예를 들어, 종합 대학, 단과 대학 등) 또는 기타 임의의 유형의 엔티티를 포함한다. 공용 클라우드 제공자의 예는, AWS(Amazon Web Services), Google Cloud Platform(GCP), Microsoft Azure 등을 포함한다.
일부 실시예들에서, 고속의 신뢰성있는 사설 네트워크는 2개 이상의 공용 클라우드 데이터센터(공용 클라우드)를 상호접속한다. 일부 실시예들은, 가상 네트워크를, 하나 이상의 사설 네트워크(예를 들어, 엔티티의 지부들, 부문들, 부서들 또는 그들의 연관된 데이터센터들 내의 네트워크), 모바일 사용자, SaaS(Software as a Service) 제공자 머신, 공용 클라우드(들) 내의 머신 및/또는 서비스, 및 기타의 웹 애플리케이션을 상호접속하기 위해 여러 공용 클라우드에 걸쳐 있는 오버레이 네트워크로서 정의한다.
일부 실시예들에서의 가상 네트워크는, 최상의 종단간 성능, 신뢰성 및 보안을 위해 목적지로의 엔티티의 데이터 메시지의 라우팅을 최적화하면서, 인터넷을 통한 이러한 트래픽의 라우팅을 최소화하려고 시도하도록 구성될 수 있다. 또한, 일부 실시예들에서의 가상 네트워크는, 네트워크를 통과하는 데이터 메시지 흐름의 계층 4 처리를 최적화하도록 구성될 수 있다. 예를 들어, 일부 실시예들에서, 가상 네트워크는 레이트 제어 메커니즘을 접속 경로에 걸쳐 분할함으로써 TCP(Transport Control Protocol) 접속의 종단간 레이트를 최적화한다.
일부 실시예들은 여러 공용 클라우드에 배치된 여러 컴포넌트를 구성함으로써 가상 네트워크를 확립한다. 이들 컴포넌트들은, 일부 실시예들에서 소프트웨어-기반의 측정 에이전트, 소프트웨어 포워딩 요소들(예를 들어, 소프트웨어 라우터, 스위치, 게이트웨이 등), 계층-4 접속 프록시 및 미들박스 서비스 머신(예를 들어, 기기, VM, 컨테이너 등)를 포함한다. 일부 실시예들에서의 이들 컴포넌트들 중 하나 이상은, Open vSwitch, OpenVPN, strong Swan 및 Ryu 등의, 표준화되거나 흔하게 이용가능한 솔루션을 이용한다.
일부 실시예들은, 여러 공용 클라우드에 걸쳐 가상 네트워크를 구현하도록 공용-클라우드 컴포넌트들을 구성하는 논리적으로 중앙 집중형의 제어기 클러스터(예를 들어, 한 세트의 하나 이상의 제어기 서버들)를 이용한다. 일부 실시예들에서, 이 클러스터 내의 제어기들은, 리던던시 및 높은 가용성을 향상시키기 위해 다양한 상이한 위치들에 있다(예를 들어, 상이한 공용 클라우드 데이터센터들에 있다). 일부 실시예들에서의 제어기 클러스터는, 가상 네트워크를 확립하는데 이용되는 공용 클라우드 컴포넌트들의 수, 또는 이들 컴포넌트에 할당된 컴퓨팅 또는 네트워크 자원들의 수를 확장 또는 축소한다.
일부 실시예들은, 동일한 공용 클라우드 제공자들의 동일한 세트의 공용 클라우드들을 통해 및/또는 동일하거나 상이한 공용 클라우드 제공자들의 상이한 세트들의 공용 클라우드들을 통해 상이한 엔티티들에 대해 상이한 가상 네트워크들을 확립한다. 일부 실시예들에서, 가상 네트워크 제공자는, 상이한 임차인들이 동일하거나 상이한 공용 클라우드를 통해 상이한 가상 네트워크를 정의하는 것을 허용하는 소프트웨어 및 서비스를 제공한다. 일부 실시예들에서, 동일한 제어기 클러스터 또는 상이한 제어기 클러스터들은, 여러 상이한 엔티티들에 대해 동일하거나 상이한 세트들의 공용 클라우드들을 통해 상이한 가상 네트워크들을 구현하도록 공용 클라우드 컴포넌트들을 구성하는데 이용될 수 있다.
하나 이상의 공용 클라우드를 통해 임차인에 대한 가상 네트워크를 배치하기 위해, 제어기 클러스터는, (1) 임차인의 지사, 데이터센터, 모바일 사용자, 및 SaaS 제공자의 위치에 기초하여 임차인에 대한 가상 네트워크에 출입하기 위한 가능한 유입 및 유출 라우터들을 식별하고, (2) 가상 네트워크를 구현하는 다른 중간 공용 클라우드 라우터를 통해 식별된 유입 라우터들로부터 식별된 유출 라우터들로 횡단하는 경로들을 식별한다. 이들 경로들을 식별한 후, 제어기 클러스터는 이들 경로들을 공용 클라우드(들) 내의 가상 네트워크 라우터들의 포워딩 테이블들에 전파한다. OVS-기반의 가상 네트워크 라우터를 이용하는 실시예들에서, 제어기는 OpenFlow를 이용함으로써 경로들을 분산시킨다.
전술된 요약은, 본 발명의 일부 실시예들에 대한 간략한 소개로서 역할하도록 의도되었다. 전술된 요약은, 본 문서에 개시된 모든 본 발명의 주제의 소개 또는 개요를 의미하는 것은 아니다. 이하의 상세한 설명 및 상세한 설명에서 참조되는 도면들은, 요약에서 설명된 실시예들뿐만 아니라 다른 실시예들도 추가로 설명할 것이다. 따라서, 본 문서에 설명된 모든 실시예들을 이해하기 위해, 요약, 상세한 설명, 도면 및 청구항들에 대한 완전한 검토가 필요하다. 더욱이, 청구된 주제는, 요약, 상세한 설명 및 도면의 예시적인 상세사항에 의해 제한되지 않아야 한다.
본 발명의 신규한 피처들은 첨부된 청구항들에 개시되어 있다. 그러나, 설명의 목적을 위해, 본 발명의 여러 실시예들이 아래의 도면들에 개시된다.
도 1a는 2개의 공용 클라우드 제공자들의 여러 공용 클라우드 데이터센터들을 통해 회사에 대해 정의된 가상 네트워크를 제시한다.
도 1b는 공용 클라우드들을 통해 배치된 2개의 회사 임차인들에 대한 2개의 가상 네트워크의 한 예를 나타낸다.
도 1c는 2개의 가상 네트워크의 한 예를 대안적으로 나타내며, 여기서, 하나의 네트워크는 공용 클라우드들을 통해 배치되고 다른 가상 네트워크는 또 다른 쌍의 공용 클라우드들을 통해 배치된다.
도 2는 본 발명의 일부 실시예들의 관리형 포워딩 노드 및 제어기 클러스터의 한 예를 나타낸다.
도 3은 일부 실시예들에서 제어기 측정-처리 계층이 생성하는 측정 그래프의 한 예를 나타낸다.
도 4a는 일부 실시예들에서 제어기 경로-식별 계층이 측정 그래프로부터 생성하는 라우팅 그래프의 한 예를 나타낸다.
도 4b는 2개의 SaaS 제공자들의 데이터센터들에 가장 가까운 데이터센터들에 있는 라우팅 그래프 내의 2개의 노드에 이들 2개의 SaaS 제공자에 대한 알려진 IP를 추가하는 한 예를 나타낸다.
도 4c는 2개의 SaaS 제공자를 나타내는 2개의 노드를 추가함으로써 생성되는 라우팅 그래프를 나타낸다.
도 4d는 2개의 공용 클라우드에 각각 접속된 알려진 IP 주소를 가진 지사와 데이터센터를 나타내도록 추가 노드가 추가되어 있는 라우팅 그래프를 나타낸다.
도 5는 제어기 경로-식별 계층이 제어기 측정 계층으로부터 수신된 측정 그래프로부터 라우팅 그래프를 생성하기 위해 이용하는 프로세스를 나타낸다.
도 6은 일부 실시예들의 IPsec 데이터 메시지 포멧을 나타낸다.
도 7은 일부 실시예들의 2개의 캡슐화 헤더의 한 예를 나타내는 반면, 도 8은 일부 실시예들에서 이들 2개의 헤더가 어떻게 이용되는지를 나타내는 한 예를 제시한다.
도 9 내지 도 11은, 유입, 중간 및 유출 MFN들이 2개의 상이한 지사에 있는 2개의 컴퓨팅 디바이스들 사이에서 전송되는 메시지를 수신할 때 이들 MFN들에 의해 각각 수행되는 메시지-처리 프로세스를 나타낸다.
도 12는 유입 및 유출 MFN들 사이에 중간 MFN을 포함하지 않는 한 예를 나타낸다.
도 13은 유입 MFN의 CFE가 지사 내의 회사 컴퓨팅 디바이스로부터 또 다른 지사 내의 또는 SaaS 제공자 데이터센터 내의 또 다른 디바이스에 전송되는 메시지를 수신할 때 그 CFE에 의해 수행되는 메시지-처리 프로세스를 나타낸다.
도 14는 유출 라우터에서 수행되는 NAT 동작을 나타낸다.
도 15는 SaaS 제공자 머신으로부터 임차인 머신으로 전송되는 메시지를 수신하는 유입 라우터에 의해 수행되는 메시지-처리 프로세스를 나타낸다.
도 16은 인터넷으로의 가상 네트워크의 유출 경로 상에 있는 각각의 가상-네트워크 게이트웨이에 배치된 TM 엔진을 나타낸다.
도 17은 도 16에 나타낸 단일 NAT 접근법 대신에 일부 실시예들에서 이용되는 이중-NAT 접근법을 나타낸다.
도 18은 유입 NAT 엔진의 소스 포트 변환을 나타내는 한 예를 제시한다.
도 19는 도 18의 데이터 메시지의 처리에 대한 응답으로서 SaaS 머신이 전송하는 응답 메시지의 처리를 나타낸다.
도 20은 하나 이상의 공용 클라우드 제공자의 N개 공용 클라우드에서 네트워크 인프라스트럭처와 제어기 클러스터(들)를 갖는 가상 네트워크 제공자의 M개의 임차인에 대한 M개의 가상 회사 WAN을 보여주는 한 예를 제시한다.
도 21은 특정한 임차인에 대한 가상 WAN을 배치하고 관리하기 위해 가상 네트워크 제공자의 제어기 클러스터에 의해 수행되는 한 프로세스를 개념적으로 나타낸다.
도 22는 본 발명의 일부 실시예들에서 구현되는 컴퓨터 시스템을 개념적으로 나타낸다.
도 1a는 2개의 공용 클라우드 제공자들의 여러 공용 클라우드 데이터센터들을 통해 회사에 대해 정의된 가상 네트워크를 제시한다.
도 1b는 공용 클라우드들을 통해 배치된 2개의 회사 임차인들에 대한 2개의 가상 네트워크의 한 예를 나타낸다.
도 1c는 2개의 가상 네트워크의 한 예를 대안적으로 나타내며, 여기서, 하나의 네트워크는 공용 클라우드들을 통해 배치되고 다른 가상 네트워크는 또 다른 쌍의 공용 클라우드들을 통해 배치된다.
도 2는 본 발명의 일부 실시예들의 관리형 포워딩 노드 및 제어기 클러스터의 한 예를 나타낸다.
도 3은 일부 실시예들에서 제어기 측정-처리 계층이 생성하는 측정 그래프의 한 예를 나타낸다.
도 4a는 일부 실시예들에서 제어기 경로-식별 계층이 측정 그래프로부터 생성하는 라우팅 그래프의 한 예를 나타낸다.
도 4b는 2개의 SaaS 제공자들의 데이터센터들에 가장 가까운 데이터센터들에 있는 라우팅 그래프 내의 2개의 노드에 이들 2개의 SaaS 제공자에 대한 알려진 IP를 추가하는 한 예를 나타낸다.
도 4c는 2개의 SaaS 제공자를 나타내는 2개의 노드를 추가함으로써 생성되는 라우팅 그래프를 나타낸다.
도 4d는 2개의 공용 클라우드에 각각 접속된 알려진 IP 주소를 가진 지사와 데이터센터를 나타내도록 추가 노드가 추가되어 있는 라우팅 그래프를 나타낸다.
도 5는 제어기 경로-식별 계층이 제어기 측정 계층으로부터 수신된 측정 그래프로부터 라우팅 그래프를 생성하기 위해 이용하는 프로세스를 나타낸다.
도 6은 일부 실시예들의 IPsec 데이터 메시지 포멧을 나타낸다.
도 7은 일부 실시예들의 2개의 캡슐화 헤더의 한 예를 나타내는 반면, 도 8은 일부 실시예들에서 이들 2개의 헤더가 어떻게 이용되는지를 나타내는 한 예를 제시한다.
도 9 내지 도 11은, 유입, 중간 및 유출 MFN들이 2개의 상이한 지사에 있는 2개의 컴퓨팅 디바이스들 사이에서 전송되는 메시지를 수신할 때 이들 MFN들에 의해 각각 수행되는 메시지-처리 프로세스를 나타낸다.
도 12는 유입 및 유출 MFN들 사이에 중간 MFN을 포함하지 않는 한 예를 나타낸다.
도 13은 유입 MFN의 CFE가 지사 내의 회사 컴퓨팅 디바이스로부터 또 다른 지사 내의 또는 SaaS 제공자 데이터센터 내의 또 다른 디바이스에 전송되는 메시지를 수신할 때 그 CFE에 의해 수행되는 메시지-처리 프로세스를 나타낸다.
도 14는 유출 라우터에서 수행되는 NAT 동작을 나타낸다.
도 15는 SaaS 제공자 머신으로부터 임차인 머신으로 전송되는 메시지를 수신하는 유입 라우터에 의해 수행되는 메시지-처리 프로세스를 나타낸다.
도 16은 인터넷으로의 가상 네트워크의 유출 경로 상에 있는 각각의 가상-네트워크 게이트웨이에 배치된 TM 엔진을 나타낸다.
도 17은 도 16에 나타낸 단일 NAT 접근법 대신에 일부 실시예들에서 이용되는 이중-NAT 접근법을 나타낸다.
도 18은 유입 NAT 엔진의 소스 포트 변환을 나타내는 한 예를 제시한다.
도 19는 도 18의 데이터 메시지의 처리에 대한 응답으로서 SaaS 머신이 전송하는 응답 메시지의 처리를 나타낸다.
도 20은 하나 이상의 공용 클라우드 제공자의 N개 공용 클라우드에서 네트워크 인프라스트럭처와 제어기 클러스터(들)를 갖는 가상 네트워크 제공자의 M개의 임차인에 대한 M개의 가상 회사 WAN을 보여주는 한 예를 제시한다.
도 21은 특정한 임차인에 대한 가상 WAN을 배치하고 관리하기 위해 가상 네트워크 제공자의 제어기 클러스터에 의해 수행되는 한 프로세스를 개념적으로 나타낸다.
도 22는 본 발명의 일부 실시예들에서 구현되는 컴퓨터 시스템을 개념적으로 나타낸다.
본 발명의 이하의 상세한 설명에서, 본 발명의 수 많은 상세사항, 예, 및 실시예가 개시되고 설명된다. 그러나, 본 발명은 개시된 실시예들로 제한되지 않으며 본 발명은 논의된 특정한 상세사항들 및 예들의 일부 없이도 실시될 수 있다는 것이 본 기술분야의 통상의 기술자에게 명백하고 뚜렷할 것이다.
일부 실시예들은, 하나 이상의 지역(예를 들어, 여러 도시, 주, 국가 등)에서 하나 이상의 공용 클라우드 제공자의 여러 공용 클라우드 데이터센터를 통해 가상 네트워크를 엔티티를 위해 확립한다. 이러한 가상 네트워크가 확립될 수 있는 엔티티의 예는, 비지니스 엔티티(예를 들어, 회사), 비영리 엔티티(예를 들어, 병원, 연구 기관 등) 및 교육 엔티티(예를 들어, 종합 대학, 단과 대학 등) 또는 기타 임의의 유형의 엔티티를 포함한다. 공용 클라우드 제공자의 예는, AWS(Amazon Web Services), Google Cloud Platform(GCP), Microsoft Azure 등을 포함한다.
일부 실시예들은, 가상 네트워크를, 하나 이상의 사설 네트워크(예를 들어, 엔티티의 지부들, 부문들, 부서들 또는 그들의 연관된 데이터센터들 내의 네트워크), 모바일 사용자, SaaS(Software as a Service) 제공자 머신, 공용 클라우드(들) 내의 머신 및/또는 서비스, 및 기타의 웹 애플리케이션을 상호접속하기 위해 여러 공용 클라우드 데이터센터(공용 클라우드)에 걸쳐 있는 오버레이 네트워크로서 정의한다. 일부 실시예들에서, 고속의 신뢰성있는 사설 네트워크는 2개 이상의 공용 클라우드 데이터센터를 상호접속한다.
일부 실시예들에서의 가상 네트워크는, 최상의 종단간 성능, 신뢰성 및 보안을 위해 목적지로의 엔티티의 데이터 메시지의 라우팅을 최적화하면서, 인터넷을 통한 이러한 트래픽의 라우팅을 최소화하려고 시도하도록 구성될 수 있다. 또한, 일부 실시예들에서의 가상 네트워크는, 네트워크를 통과하는 데이터 메시지 흐름의 계층 4 처리를 최적화하도록 구성될 수 있다. 예를 들어, 일부 실시예들에서, 가상 네트워크는 레이트 제어 메커니즘을 접속 경로에 걸쳐 분할함으로써 TCP(Transport Control Protocol) 접속의 종단간 레이트를 최적화한다.
일부 실시예들은 여러 공용 클라우드에 배치된 여러 컴포넌트를 구성함으로써 가상 네트워크를 확립한다. 이들 컴포넌트들은, 일부 실시예들에서 소프트웨어-기반의 측정 에이전트, 소프트웨어 포워딩 요소들(예를 들어, 소프트웨어 라우터, 스위치, 게이트웨이 등), 계층-4 접속 프록시 및 미들박스 서비스 머신(예를 들어, 기기, VM, 컨테이너 등)를 포함한다.
일부 실시예들은, 여러 공용 클라우드에 걸쳐 가상 네트워크를 구현하도록 공용-클라우드 컴포넌트들을 구성하는 논리적으로 중앙 집중형의 제어기 클러스터(예를 들어, 한 세트의 하나 이상의 제어기 서버들)를 이용한다. 일부 실시예들에서, 이 클러스터 내의 제어기들은, 리던던시 및 높은 가용성을 향상시키기 위해 다양한 상이한 위치들에 있다(예를 들어, 상이한 공용 클라우드 데이터센터들에 있다). 제어기 클러스터 내의 상이한 제어기들이 상이한 공용 클라우드 데이터센터들에 위치할 때, 일부 실시예들에서의 제어기들은 그들의 상태(예를 들어, 임차인을 식별하기 위해 그들이 생성하는 구성 데이터, 가상 네트워크를 통한 경로 등)를 공유한다. 일부 실시예들에서의 제어기 클러스터는, 가상 네트워크를 확립하는데 이용되는 공용 클라우드 컴포넌트들의 수, 또는 이들 컴포넌트에 할당된 컴퓨팅 또는 네트워크 자원들의 수를 확장 또는 축소한다.
일부 실시예들은, 동일한 공용 클라우드 제공자들의 동일한 세트의 공용 클라우드들을 통해 및/또는 동일하거나 상이한 공용 클라우드 제공자들의 상이한 세트들의 공용 클라우드들을 통해 상이한 엔티티들에 대해 상이한 가상 네트워크들을 확립한다. 일부 실시예들에서, 가상 네트워크 제공자는, 상이한 임차인들이 동일하거나 상이한 공용 클라우드를 통해 상이한 가상 네트워크를 정의하는 것을 허용하는 소프트웨어 및 서비스를 제공한다. 일부 실시예들에서, 동일한 제어기 클러스터 또는 상이한 제어기 클러스터들은, 여러 상이한 엔티티들에 대해 동일하거나 상이한 세트들의 공용 클라우드들을 통해 상이한 가상 네트워크들을 구현하도록 공용 클라우드 컴포넌트들을 구성하는데 이용될 수 있다.
아래의 논의에서 회사 가상 네트워크의 몇 가지 예가 제공된다. 그러나, 본 기술분야의 통상의 기술자라면, 일부 실시예들은, 다른 비즈니스 엔티티, 비영리 조직, 교육 엔티티 등의 다른 유형들의 엔티티에 대한 가상 네트워크를 정의한다는 것을 깨달을 것이다. 또한, 본 문서에서 사용될 때, 데이터 메시지란 네트워크를 통해 전송되는 특정한 포멧의 비트들의 모음을 말한다. 본 기술분야의 통상의 기술자라면, 데이터 메시지라는 용어는, 본 문서에서는 네트워크를 통해 전송되는 다양한 포멧화된 비트들의 모음을 지칭하기 위해 사용된다는 것을 인식할 것이다. 이들 비트의 포멧은 표준화된 프로토콜 또는 비표준화된 프로토콜에 의해 명시될 수 있다. 표준화된 프로토콜을 따르는 데이터 메시지의 예로는, 이더넷 프레임, IP 패킷, TCP 세그먼트, UDP 데이터그램 등이 포함된다. 또한, 본 문서에서 사용될 때, L2, L3, L4 및 L7 계층(또는 계층 2, 계층 3, 계층 4, 및 계층 7)에 대한 참조는, 각각, OSI(Open System Interconnection) 계층 모델의 제2 데이터 링크 계층, 제3 네트워크 계층, 제4 트랜스포트 계층, 및 제7 애플리케이션 계층에 대한 참조이다.
도 1a는, 2개의 공용 클라우드 제공자 A 및 B의 여러 공용 클라우드 데이터센터(105 및 110)를 통해 회사에 대해 정의된 가상 네트워크(100)를 제시한다. 도시된 바와 같이, 가상 네트워크(100)는, 상이한 공용 클라우드들에 상이한 관리형 포워딩 노드(150)들을 배치하고 관리형 포워딩 노드(MFN)들을 오버레이 터널(152)을 통해 서로 접속함으로써 확립되는 보안 오버레이 네트워크이다. 일부 실시예들에서, MFN은, 다른 공용 클라우드 데이터센터의 (다른 컴포넌트들의 그룹을 갖는) 다른 MFN과 함께 하나 이상의 엔티티에 대한 하나 이상의 오버레이 가상 네트워크를 확립하는 공용 클라우드 데이터센터 내의 여러 상이한 컴포넌트들의 개념적 그룹이다.
아래에서 더 설명되는 바와 같이, MFN을 형성하는 컴포넌트들의 그룹은, 일부 실시예들에서, (1) 공용 클라우드 데이터센터 바깥의 외부 머신 위치들인 엔티티의 컴퓨팅 노드(예를 들어, 사무실, 사설 데이터센터, 원격 사용자 등)와 VPN 접속을 확립하기 위한 하나 이상의 VPN 게이트웨이, (2) 공유된 공용 클라우드 네트워크 패브릭을 통해 오버레이 가상 네트워크를 정의하기 위해 서로간에 캡슐화된 데이터 메시지를 포워딩하기 위한 하나 이상의 포워딩 요소, (3) L4-L7 최적화뿐만 아니라 미들박스 서비스 동작을 수행하기 위한 하나 이상의 서비스 머신, 및 (4) 공용 클라우드 데이터센터들을 통한 원하는 경로를 식별하기 위해 공용 클라우드 데이터센터들 사이의 네트워크 접속 품질에 관한 측정을 획득하기 위한 하나 이상의 측정 에이전트를 포함한다. 일부 실시예들에서, 상이한 MFN들은 상이한 배치들 및 상이한 개수의 이러한 컴포넌트들을 가질 수 있고, 하나의 MFN은 리던던시 및 확장성의 이유로 상이한 개수의 이러한 컴포넌트들을 가질 수 있다.
또한, 일부 실시예들에서, 각각의 MFN의 컴포넌트들의 그룹은 MFN의 공용 클라우드 데이터센터 내의 상이한 컴퓨터들에서 실행된다. 일부 실시예들에서, MFN의 컴포넌트들 중 수개 또는 전부는 공용 클라우드 데이터센터의 한 컴퓨터에서 실행될 수 있다. 일부 실시예들에서의 MFN의 컴포넌트들은, 다른 임차인들의 다른 머신들을 실행시키는 호스트 컴퓨터에서 실행된다. 이들 다른 머신들은 다른 임차인들의 다른 MFN들의 다른 머신들이거나, 다른 임차인들의 관련이없는 머신들(예를 들어, 컴퓨팅 VM 또는 컨테이너)일 수 있다.
일부 실시예들에서의 가상 네트워크(100)는, 상이한 엔티티들(예를 들어, 가상 네트워크 제공자의 상이한 회사 고객들/임차인들)에 대해 동일하거나 상이한 공용 클라우드 데이터센터들을 통해 상이한 가상 네트워크를 배치하는 가상 네트워크 제공자(VNP)에 의해 배치된다. 일부 실시예들에서의 가상 네트워크 제공자는, MFN들을 배치하고 이들 MFN을 구성 및 관리하기 위한 제어기 클러스터를 제공하는 엔티티이다.
가상 네트워크(100)는, (데이터센터들, 지사들 및 모바일 사용자들 등의) 회사 컴퓨팅 엔드포인트들을 서로 및 공용 클라우드에 상주하거나 인터넷을 통해 액세스가능한 사설 데이터센터에 상주하는 외부 서비스(예를 들어, 공용 웹 서비스, 또는 Office365 또는 Salesforce 등의 SaaS 서비스)에 접속한다. 이 가상 네트워크는 상이한 공용 클라우드들의 상이한 위치들을 활용하여 상이한 회사 컴퓨팅 엔드포인트들(예를 들어, 상이한 사설 네트워크들 및/또는 회사의 상이한 모바일 사용자들)을 부근의 공용 클라우드에 접속한다. 회사 컴퓨팅 엔드포인트는 아래의 논의에서 회사 컴퓨팅 노드라고도 한다.
일부 실시예들에서, 가상 네트워크(100)는 또한, 이들 공용 클라우드를 상호접속하는 고속 네트워크를 활용하여 공용 클라우드를 통해 그들의 목적지로 데이터 메시지를 포워딩하거나 인터넷을 통한 그들의 통과를 감소시키면서 그들의 목적지에 접근하게 된다. 회사 컴퓨팅 엔드포인트들이, 가상 네트워크가 걸쳐 있는 공용 클라우드 데이터센터 외부에 있을 때, 이들 엔드포인트들은 외부 머신 위치라고 한다. 회사 지사, 사설 데이터센터 및 원격 사용자의 디바이스가 여기에 해당된다.
도 1a에 도시된 예에서, 가상 네트워크(100)는 공용 클라우드 제공자 A의 6개의 데이터센터(105a-105f) 및 공용 클라우드 제공자 B의 4개의 데이터센터(110a-110d)에 걸쳐있다. 이들 공용 클라우드에 걸쳐서, 이 가상 네트워크는, 상이한 지리적 영역들에 위치한 여러 지사들, 회사 데이터센터들, SaaS 제공자들 및 회사 임차인의 모바일 사용자들을 접속한다. 구체적으로, 가상 네트워크(100)는, 2개의 상이한 도시들(예를 들어, 캘리포니아주 샌프란시스코, 및 인도의 푸네) 내의 2개의 지사(130a 및 130b), 또 다른 도시(예를 들어, 워싱턴주 시애틀) 내의 회사 데이터센터(134), 또 다른 2개의 도시들(와싱턴주 레드몬드, 및 프랑스 파리) 내의 2개의 SaaS 제공자 데이터센터들(136a 및 136b), 및 전세계의 다양한 위치들에 있는 모바일 사용자(140)들을 접속한다. 따라서, 이 가상 네트워크는 가상 회사 WAN으로 간주될 수 있다.
일부 실시예들에서, 지사들(130a 및 130b)은, 공용 클라우드 외부에 있는 지부 위치(branch location)들 및 지부 사설 데이터센터들에 있는 컴퓨터들을 접속하는 그들 자신의 사설 네트워크들(예를 들어, 근거리 통신망)을 갖는다. 유사하게, 일부 실시예들에서의 회사 데이터센터(134)는 그 자신의 사설 네트워크를 가지며 임의의 공용 클라우드 데이터센터 외부에 상주한다. 그러나, 다른 실시예들에서, 회사 데이터센터(134) 또는 지사(130a 및 130b)의 데이터센터는 공용 클라우드 내에 있을 수 있지만, 회사 또는 지부 데이터센터가 가상 네트워크(100)의 엣지에 접속되기 때문에, 가상 네트워크는 이 공용 클라우드까지 이르지 않는다.
위에서 언급된 바와 같이, 가상 네트워크(100)는, 상이한 공용 클라우드들 내의 상이한 배치된 관리형 포워딩 노드(150)들을 오버레이 터널(152)을 통해 접속함으로써 확립된다. 각각의 관리형 포워딩 노드(150)는 여러 구성가능한 컴포넌트를 포함한다. 전술되고 후술되는 바와 같이, MFN 컴포넌트들은, 일부 실시예들에서 소프트웨어-기반의 측정 에이전트, 소프트웨어 포워딩 요소(예를 들어, 소프트웨어 라우터, 스위치, 게이트웨이 등), 계층 4 프록시(예를 들어, TCP 프록시) 및 미들박스 서비스 머신(예를 들어, VM, 컨테이너 등)을 포함한다. 일부 실시예들에서의 이들 컴포넌트들 중 하나 이상은, Open vSwitch, OpenVPN, strongSwan 등의 표준화되거나 흔하게 이용가능한 솔루션을 이용한다.
일부 실시예들에서, 각각의 MFN(즉, MFN을 개념적으로 형성하는 컴포넌트들의 그룹)은, 공용 클라우드 데이터센터에 MFN들을 배치하고 구성하는 가상 네트워크 제공자의 상이한 임차인들에 의해 공유될 수 있다. 결합적으로 또는 대안으로서, 일부 실시예들에서의 가상 네트워크 제공자는 특정한 임차인을 위해 하나 이상의 공용 클라우드 데이터센터에 고유한 세트의 MFN들을 배치할 수 있다. 예를 들어, 특정한 임차인은, 보안 상의 이유로 또는 서비스 품질의 이유로 MFN 자원을 또 다른 임차인과 공유하기를 원하지 않을 수 있다. 이러한 임차인의 경우 가상 네트워크 제공자는 여러 공용 클라우드 데이터센터들에 걸쳐 그 자신의 MFN 세트를 배치할 수 있다.
일부 실시예들에서, 논리적으로 중앙 집중형의 제어기 클러스터(160)(예를 들어, 한 세트의 하나 이상의 제어기 서버들)는 공용 클라우드들(105 및 110) 중 하나 이상의 내부 또는 외부에서 동작하고, 공용 클라우드(105 및 110)를 통해 가상 네트워크를 구현하도록 관리형 포워딩 노드(150)의 공용-클라우드 컴포넌트들을 구성한다. 일부 실시예들에서, 이 클러스터 내의 제어기들은, 리던던시 및 높은 가용성을 향상시키기 위해 다양한 상이한 위치들에 있다(예를 들어, 상이한 공용 클라우드 데이터센터들에 있다). 일부 실시예들에서의 제어기 클러스터는, 가상 네트워크를 확립하는데 이용되는 공용 클라우드 컴포넌트들의 수, 또는 이들 컴포넌트에 할당된 컴퓨팅 또는 네트워크 자원들의 수를 확장 또는 축소한다.
일부 실시예들에서, 제어기 클러스터(160), 또는 가상 네트워크 제공자의 또 다른 제어기 클러스터는, 동일한 공용 클라우드(105 및 110)를 통해 및/또는 상이한 공용 클라우드 제공자들의 상이한 공용 클라우드들을 통해 또 다른 회사 임차인을 위한 상이한 가상 네트워크를 확립한다. 제어기 클러스터(들)에 추가하여, 다른 실시예들에서의 가상 네트워크 제공자는, 공용 클라우드에 포워딩 요소들 및 서비스 머신들을 배치하여 상이한 임차인들이 동일하거나 상이한 공용 클라우드들을 통해 상이한 가상 네트워크들을 배치하는 것을 허용한다. 도 1b는 공용 클라우드(105 및 110)를 통해 배치된 2개의 회사 임차인에 대한 2개의 가상 네트워크(100 및 180)의 한 예를 나타낸다. 도 1c는 2개의 가상 네트워크(100 및 182)의 한 예를 대안으로서 도시하며, 여기서, 하나의 네트워크(100)는 공용 클라우드(105 및 110)를 통해 배치되고 다른 가상 네트워크(182)는 또 다른 쌍의 공용 클라우드(110 및 115)를 통해 배치된다.
MFN의 구성된 컴포넌트들을 통해, 도 1a의 가상 네트워크(100)는, 회사 임차인의 상이한 사설 네트워크 및/또는 상이한 모바일 사용자들이 이들 사설 네트워크 및/또는 모바일 사용자들에 관해 (예를 들어, 물리적 거리의 측면에서, 접속 속도, 손실, 지연 및/또는 비용의 측면에서, 및/또는 네트워크 접속 신뢰성 등의 측면에서 측정될 때) 최적의 위치에 있는 상이한 공용 클라우드들에 접속하는 것을 허용한다. 이들 컴포넌트들은 또한, 일부 실시예들에서의 가상 네트워크(100)가 공용 클라우드들을 상호접속하는 고속 네트워크를 이용하여 공용 클라우드를 통해 데이터 메시지를 목적지로 포워딩하면서 인터넷을 통한 통과를 감소시키는 것을 허용한다.
일부 실시예들에서, MFN 컴포넌트들은 또한, 종단간 성능, 신뢰성 및 보안을 최적화하기 위해 네트워크, 트랜스포트 및 애플리케이션 계층들에서 새로운 프로세스를 실행하도록 구성된다. 일부 실시예들에서, 이들 프로세스들 중 하나 이상은, 현재 네트워크 프로토콜 골화(protocol ossification)가 없는, 전용 고성능 네트워킹 프로토콜을 구현한다. 따라서, 일부 실시예들에서의 가상 네트워크(100)는, 인터넷 자율 시스템, 라우팅 프로토콜, 또는 종단간 트랜스포트 메커니즘에 의해 제한되지 않는다.
예를 들어, 일부 실시예들에서, MFN(150)들의 컴포넌트들은, (1) 최적화된 다중 경로 및 적응형의 집중형 라우팅을 생성하고, (2) 강력한 QoS(Quality of Service) 보장을 제공하고, (3) 중간 TCP 분할 및/또는 종료를 통한 종단간 TCP 레이트를 최적화하고, (4) 전역적 네트워크 기능 가상화(NFV)에서 확장가능한 애플리케이션-레벨 미들박스 서비스들(예를 들어, 방화벽, 침입 검출 시스템(IDS), 침입 방지 시스템(IPS), WAN 최적화 등)을 클라우드의 컴퓨팅 부분에 재배치한다. 따라서, 가상 네트워크는, 기존의 네트워크 프로토콜에 구속되지 않고 회사의 맞춤형 수요 및 변화하는 수요에 맞게 최적화될 수 있다. 또한, 일부 실시예들에서, 가상 네트워크는, 지속적인 요건 변화에 따라 수행 능력에서 및 지리적 범위 양쪽 모두에서 동적으로 탄력적으로 확장 및 축소될 수 있는 "지불형(pay as you go)" 인프라스트럭처로서 구성될 수 있다.
가상 네트워크(100)를 구현하기 위해, 가상 네트워크가 걸쳐 있는 각각의 공용 클라우드 데이터센터(105a-105f 및 110a-110d) 내의 적어도 하나의 관리형 포워딩 노드(150)는 제어기 세트에 의해 구성되어야 한다. 도 2는 본 발명의 일부 실시예들의 관리형 포워딩 노드(150) 및 제어기 클러스터(160)의 한 예를 나타낸다. 일부 실시예들에서, 각각의 관리형 포워딩 노드(150)는 공용 클라우드 데이터센터 내의 호스트 컴퓨터에서 실행되는 머신(예를 들어, VM 또는 컨테이너)이다. 다른 실시예들에서, 각각의 관리형 포워딩 노드(150)는 하나의 공용 클라우드 데이터센터 내의 동일한 호스트 컴퓨터에서 실행되는 복수의 머신(예를 들어, 복수의 VM 또는 컨테이너)에 의해 구현된다. 또 다른 실시예에서, 하나의 MFN의 2개 이상의 컴포넌트는, 하나 이상의 공용 클라우드 데이터센터 내의 2개 이상의 호스트 컴퓨터에서 실행되는 2개 이상의 머신에 의해 구현될 수 있다.
도시된 바와 같이, 관리형 포워딩 노드(150)는, 측정 에이전트(205), 방화벽 및 NAT 미들박스 서비스 엔진(210 및 215), 하나 이상의 최적화 엔진(220), 엣지 게이트웨이(225 및 230), 및 클라우드 포워딩 요소(235)(예를 들어, 클라우드 라우터)를 포함한다. 일부 실시예들에서, 이들 컴포넌트들(205-235) 각각은 2개 이상의 컴포넌트들의 클러스터로서 구현될 수 있다.
일부 실시예들에서의 제어기 클러스터(160)는, 각각의 컴포넌트 클러스터를 동적으로 확장 또는 축소하여 (1) 각각의 컴포넌트의 기능을 구현하도록 머신(예를 들어, VM 또는 컨테이너)을 추가 또는 제거하거나 및/또는 (2) 그 클러스터의 컴포넌트들을 구현하는 이전에 배치된 머신들에 컴퓨팅 및/또는 네트워크 자원을 추가하거나 제거할 수 있다. 따라서, 공용 클라우드 데이터센터 내의 각각의 배치된 MFN(150)은 MFN들의 클러스터로 간주되거나, MFN의 상이한 동작들을 수행하는 복수의 상이한 컴포넌트 클러스터를 포함하는 노드로서 간주될 수 있다.
또한, 일부 실시예들에서, 제어기 클러스터는, 제어기 클러스터가 공용 클라우드 데이터센터를 통해 가상 네트워크를 정의하는 상이한 임차인들을 위해 상이한 세트의 MFN들을 공용 클라우드 데이터센터에 배치한다. 이 접근법에서, 임의의 2개의 임차인의 가상 네트워크들은 어떠한 MFN도 공유하지 않는다. 그러나, 후술되는 실시예들에서, 각각의 MFN은 상이한 임차인들을 위해 상이한 가상 네트워크를 구현하는데 이용될 수 있다. 본 기술분야의 통상의 기술자라면, 다른 실시예들에서, 제어기 클러스터(160)는 제1 세트의 임차인들 중 각각의 임차인의 가상 네트워크를 그 자신의 전용된 세트의 배치된 MFN들로 구현하는 반면, 제2 세트 임차인들 중 각각의 임차인의 가상 네트워크를 공유된 세트의 배치된 MFN들로 구현할 수 있다는 것을 깨달을 것이다.
일부 실시예들에서, 지부 게이트웨이(225) 및 원격 디바이스 게이트웨이(230)는, 도 2에 도시된 바와 같이, MFN(150)에 접속하는 하나 이상의 지사(130) 및 원격 디바이스(예를 들어, 모바일 디바이스(140))와 각각 보안 VPN 접속을 확립한다. 이러한 VPN 접속의 한 예는 IPsec 접속이며, 아래에서 더 상세히 설명될 것이다. 그러나, 본 기술분야의 통상의 기술자라면, 다른 실시예들에서, 이러한 게이트웨이(225 및/또는 230)가 상이한 유형들의 VPN 접속을 확립한다는 것을 깨달을 것이다.
일부 실시예들에서의 MFN(150)은, 방화벽 동작, NAT 동작, IPS 동작, IDS 동작, 부하 밸런싱 동작, WAN 최적화 동작 등의, 하나 이상의 미들박스 서비스 동작을 수행하는 하나 이상의 미들박스 엔진을 포함한다. 이들 미들박스 동작들(예를 들어, 방화벽 동작, WAN 최적화 동작 등)을 공용 클라우드에 배치된 MFN들에 통합시킴으로써, 가상 네트워크(100)는, 전통적으로는 회사의 데이터센터(들) 및/또는 지사(들)의 회사 WAN 인프라스트럭처에 의해 수행되는 많은 기능을 공용 클라우드에서 구현한다.
따라서, 많은 미들박스 서비스에 대해, 회사 컴퓨팅 노드(예를 들어, 원격 디바이스, 지사 및 데이터센터)는, 이들 서비스들이 이제는 공용 클라우드에 배치되었기 때문에, 사설 데이터센터 또는 지사에 있는 회사의 회사 WAN 인프라에 더 이상 액세스할 필요가 없다. 이 접근법은, 이들 서비스들로의 회사 컴퓨팅 노드(예를 들어, 원격 디바이스, 지사 및 데이터센터)의 액세스를 가속하고, 보통은 이러한 서비스 제공에 전용되는 사설 데이터센터에서 혼잡한 네트워크 병목 현상을 피한다.
이 접근법은 WAN 게이트웨이 기능을 공용 클라우드 데이터센터 내의 다양한 MFN들에 효과적으로 분산한다. 예를 들어, 일부 실시예들의 가상 네트워크(100)에서, 전통적인 회사 WAN 게이트웨이 보안 기능들(예를 들어, 방화벽 동작, 침입 검출 동작, 침입 방지 동작 등)의 대부분 또는 전부는, 공용 클라우드 MFN들(예를 들어, 컴퓨팅 엔드포인트들로부터의 데이터가 가상 네트워크 내로 수신되는 유입 MFN들)로 이전된다. 이것은, 가상 네트워크(100)를 구현하는 많은 상이한 MFN들에서 구현되는 분산형 WAN 게이트웨이를 가상 네트워크(100)가 갖는 것을 효과적으로 허용한다.
도 2에 도시된 예에서, MFN(150)은, 방화벽 엔진(210), NAT 엔진(215), 및 하나 이상의 L4-L7 최적화 엔진을 포함하는 것으로 도시되어 있다. 본 기술분야의 통상의 기술자라면, 다른 실시예들에서, MFN(150)은 다른 미들박스 동작들을 수행하기 위한 다른 미들박스 엔진을 포함한다는 것을 깨달을 것이다. 일부 실시예들에서, 방화벽 엔진(210)은, (1) 가상 네트워크로의 유입 경로 상의 데이터 메시지 흐름(예를 들어, 게이트웨이(225 및 230)가 지사(130) 및 모바일 디바이스(140)로부터 수신하고 처리하는 데이터 메시지 흐름), 및 (2) 가상 네트워크 외부로의 유출 경로 상의 데이터 메시지 흐름(예를 들어, NAT 엔진(215) 및 인터넷(202)을 통해 SaaS 제공자 데이터센터에 전송되는 데이터 메시지 흐름)에 관해 방화벽 규칙을 시행한다.
일부 실시예들에서의 MFN(150)의 방화벽 엔진(210)은 또한, 데이터 메시지 흐름이 가상 네트워크 내로 진입하는 유입 MFN과 데이터 메시지 흐름이 가상 네트워크를 빠져 나가는 유출 MFN 사이의 중간 홉에 해당하는 MFN에 방화벽 엔진이 속할 때 방화벽 규칙을 시행한다. 다른 실시예들에서, 방화벽 엔진(210)은, 방화벽이 데이터 메시지 흐름의 유입 MFN 및/또는 유출 MFN의 일부일 때에만 방화벽 규칙을 시행한다.
일부 실시예들에서, NAT 엔진(215)은, 인터넷(202)을 통해 가상 네트워크 외부로의 유출 경로 상의 데이터 메시지 흐름의 소스 네트워크 주소를 제3자 디바이스(예를 들어, SaaS 제공자 머신)로 변경하는 네트워크 주소 변환을 수행한다. 이러한 네트워크 주소 변환은, 제3자 머신(예를 들어, SaaS 머신)이 주소 변환없이 임차인 및/또는 공용 클라우드 제공자의 사설 네트워크 주소를 명시할 수 있는 데이터 메시지 흐름을 처리하도록 적절히 구성될 수 있도록 보장한다. 이것은, 상이한 임차인들 및/또는 클라우드 제공자들의 사설 네트워크 주소들이 중첩될 수 있기 때문에 특히 문제가 된다. 주소 변환은 또한, 제3자 디바이스(예를 들어, SaaS 머신)로부터의 응답 메시지가, 가상 네트워크에 의해(예를 들어, 메시지가 가상 네트워크를 빠져 나온 MFN NAT 엔진에 의해) 적절히 수신될 수 있도록 보장한다.
일부 실시예들에서의 MFN의 NAT 엔진(215)은, 가상 네트워크를 떠나 제3자 머신에 도달하거나 제3자 머신으로부터 가상 네트워크로 진입하는 각각의 데이터 메시지 흐름에 관해 이중-NAT 동작을 수행한다. 아래에서 더 설명되는 바와 같이, 2개의 NAT 동작에서 하나의 NAT 동작은, 가상 네트워크에 진입할 때 그 유입 MFN에서 이러한 데이터 메시지 흐름에 관해 수행되는 반면, 다른 NAT 동작은 가상 네트워크를 빠져 나올 때 그 유출 MFN에서 데이터 메시지 흐름에 관해 수행된다.
이런 이중 NAT 접근법은, 더 많은 임차인 사설 네트워크들이 공용 클라우드 제공자의 네트워크에 맵핑되는 것을 허용한다. 이 접근법은 또한, 임차인 사설 네트워크의 변경에 관한 데이터를 MFN에 배포하기 위한 부하를 감소시킨다. 유입 또는 유출 NAT 동작 전에, 일부 실시예들은, 임차인 식별자를 이용하여 임차인의 소스 네트워크 주소를 또 다른 소스 네트워크 주소에 먼저 맵핑한 다음 이것을 NAT 동작에 의해 역시 또 다른 소스 네트워크 주소에 맵핑하는 임차인 맵핑 동작을 수행한다. 이중 NAT 동작을 수행하는 것은, 임차인 사설 네트워크 변경에 관한 데이터를 배포하기 위한 데이터 배포 부하를 감소시킨다.
최적화 엔진(220)은, 최상의 종단간 성능 및 신뢰성을 위해 엔티티의 데이터 메시지를 목적지로 포워딩하는 것을 최적화하는 새로운 프로세스를 실행한다. 이들 프로세스들 중 일부는, 현재 네트워크 프로토콜 골화가 없는, 전용 고성능 네트워킹 프로토콜을 구현한다. 예를 들어, 일부 실시예들에서, 최적화 엔진(220)은 중간 TCP 분할 및/또는 종료를 통해 종단간 TCP 레이트를 최적화한다.
클라우드 포워딩 요소(235)는, 데이터 메시지 흐름이 목적지에 도달하기 위해 또 다른 공용 클라우드를 횡단해야만 할 때 데이터 메시지 흐름을 다음 홉 MFN의 클라우드 포워딩 요소(CFE)에, 또는 데이터 메시지 흐름이 동일한 공용 클라우드를 통해 목적지에 도달할 수 있을 때 동일한 공용 클라우드 내의 유출 라우터에 포워딩하는 것을 담당하는 MFN 엔진이다. 일부 실시예들에서, MFN(150)의 CFE(235)는 소프트웨어 라우터이다. 데이터 메시지를 포워딩하기 위해, CFE는 메시지를 터널 헤더로 캡슐화한다. 상이한 실시예들은, 데이터 메시지를 터널 헤더로 캡슐화하기 위해 상이한 접근법들을 이용한다. 아래에 설명되는 일부 실시예들은 가상 네트워크에 출입하기 위한 네트워크 유입/유출 주소를 식별하기 위해 하나의 터널 헤더를 이용하고, 데이터 메시지가 하나 이상의 중간 MFN을 횡단하여 유출 MFN에 도달해야만 할 때 다음 홉 MFN을 식별하기 위해 또 다른 터널 헤더를 이용한다.
구체적으로, 일부 실시예들에서, CFE는, 2개의 터널 헤더, (1) 가상 네트워크에 출입하기 위한 유입 CFE 및 유출 CFE를 식별하는 내측 헤더, 및 (2) 다음 홉 CFE를 식별하는 외측 헤더와 함께 데이터 메시지를 전송한다. 일부 실시예들에서 내측 터널 헤더는 또한, 가상 네트워크 제공자의 복수의 상이한 임차인들이 가상 네트워크 제공자의 공통 세트의 MFN CFE들을 이용하는 것을 허용하기 위하여 임차인 식별자(TID)를 포함한다. 다른 실시예들은 오버레이 가상 네트워크를 정의하기 위해 터널 헤더들을 상이하게 정의한다.
하나 이상의 공용 클라우드를 통해 임차인에 대한 가상 네트워크를 배치하기 위해, 제어기 클러스터는, (1) 임차인의 회사 컴퓨팅 노드들(예를 들어, 지사, 데이터센터, 모바일 사용자, 및 SaaS 제공자들)의 위치에 기초하여 임차인에 대한 가상 네트워크에 출입하기 위한 가능한 유입 및 유출 라우터들을 식별하고, (2) 가상 네트워크를 구현하는 다른 중간 공용 클라우드 라우터를 통해 식별된 유입 라우터들로부터 식별된 유출 라우터들로 횡단하는 경로들을 식별한다. 이들 경로들을 식별한 후, 제어기 클러스터는 이들 경로들을 공용 클라우드(들) 내의 MFN CFE(235)들의 포워딩 테이블들에 전파한다. OVS-기반의 가상 네트워크 라우터를 이용하는 실시예들에서, 제어기는 OpenFlow를 이용함으로써 경로들을 분산시킨다.
일부 실시예들에서, 제어기 클러스터(160)는 또한, 최상의 종단간 성능, 신뢰성 및 보안을 달성하기 위해 여러 네트워크 처리 계층들을 최적화하도록, 가상 네트워크를 구현하는 각각의 MFN(150)의 컴포넌트들(205-235)을 구성할 수 있다. 예를 들어, 일부 실시예들에서, 이들 컴포넌트들은, (1) 계층 3 트래픽 라우팅(예를 들어, 최단 경로, 패킷 복제)을 최적화하고, (2) 계층 4 TCP 혼잡 제어(예를 들어, 세그먼트화, 레이트 제어)를 최적화하고, (3) 보안 피처(예를 들어, 암호화, 심층 패킷 검사, 방화벽)을 구현하고, (4) 애플리케이션-계층 압축 피처(예를 들어, 중복 제거, 캐싱)를 구현하도록 구성된다. 가상 네트워크 내에서, 회사 트래픽은 보안, 검사 및 기록된다.
일부 실시예들에서, 하나의 측정 에이전트는 공용 클라우드 데이터센터 내의 각각의 MFN에 대해 배치된다. 다른 실시예들에서, 공용 클라우드 데이터센터 또는 데이터센터들의 모음(예를 들어, 하나의 가용 구역 내의 데이터센터들 등의, 근처의 연관된 데이터센터들의 모음) 내의 복수의 MFN은 하나의 측정 에이전트를 공유한다. 계층 3 및 4 처리를 최적화하기 위해, 각각의 관리형 포워딩 노드(150)와 연관된 측정 에이전트(205)는, 그 노드와 여러개의 다른 "이웃" 노드들 각각 사이의 네트워크 접속의 품질을 정량화하는 측정 값을 반복적으로 생성한다.
상이한 실시예들은 이웃 노드를 상이하게 정의한다. 특정한 공용 클라우드 제공자의 하나의 공용 클라우드 데이터센터 내의 특정한 MFN에 대해, 일부 실시예들의 이웃 노드는, (1) 특정한 공용 클라우드 제공자의 임의의 공용 클라우드 데이터센터에서 동작하는 임의의 다른 MFN, 및 (2) 특정한 MFN과 동일한 "지역" 내에 있는 또 다른 공용 클라우드 제공자의 데이터센터에서 동작하는 임의의 다른 MFN을 포함한다.
상이한 실시예들은 동일한 지역을 상이하게 정의한다. 예를 들어, 일부 실시예들은 특정한 관리형 포워딩 노드 주위의 경계 형상을 명시하는 거리의 관점에서 지역을 정의한다. 다른 실시예들은, 북부 캘리포니아, 남부 캘리포니아 등의, 도시, 주, 또는 지역적 영역의 관점에서 영역을 정의한다. 이 접근법의 가정은, 동일한 공용 클라우드 제공자의 상이한 데이터센터들은 초고속 네트워크 접속에 의해 접속되는 반면, 상이한 공용 클라우드 제공자들의 데이터센터들 사이의 네트워크 접속은 데이터센터들이 동일한 지역 내에 있을 때는 빠르지만 데이터센터들이 상이한 지역들 내에 있을 때는 빠르지는 않다는 것이다. 상이한 공용 클라우드 제공자들의 데이터센터들 사이의 접속은, 데이터센터들이 상이한 지역들에 있을 때 공용 인터넷을 통해 장거리를 횡단해야만 할 수도 있다.
측정 에이전트(205)는 상이한 실시예들에서 상이하게 측정 값들을 생성한다. 일부 실시예들에서, 측정 에이전트는, 핑잉 메시지(예를 들어, UDP 에코 메시지)를 그 이웃하는 관리형 포워딩 노드들의 측정 에이전트들 각각에게 주기적으로(예를 들어, 매초마다, N 초마다, 매분마다, M 분마다 한번 등) 전송한다. 핑잉 메시지의 크기가 작다면, 많은 네트워크 접속 요금을 초래하지 않는다. 예를 들어, 각각의 노드가 10 초마다 각각의 다른 노드에게 핑을 전송하는 100개의 노드의 경우, 각각의 노드에 대해 약 10Kb/s의 유입 및 유출 측정 트래픽이 생성되고, 이것은, 현재 공용 클라우드 가격을 고려할 때, 연간 노드당 수 달러(예를 들어, $5)의 네트워크 소비 요금으로 이어진다.
수신되는 응답 메시지의 속도에 기초하여, 측정 에이전트(205)는, 네트워크-접속 처리 속도, 지연, 손실 및 링크 신뢰성 등의, 측정 메트릭 값을 계산하고 업데이트한다. 이들 동작들을 반복하여 수행함으로써, 측정 에이전트(205)는 그 이웃 노드들에 대한 네트워크 접속의 품질을 표현하는 측정 결과의 매트릭스를 정의하고 업데이트한다. 에이전트(205)가 이웃 노드의 측정 에이전트와 상호작용할 때, 그 측정 매트릭스는 그 로컬 노드 무리들에 대한 접속 품질만을 정량화한다.
상이한 관리형 포워딩 노드들의 측정 에이전트는, 그들의 측정 매트릭스를 제어기 클러스터(160)에 전송하고, 제어기 클러스터(160)는, 그 다음, 모든 상이한 무리 접속 데이터를 집계하여 상이한 쌍들의 관리형 포워딩 노드들 사이의 접속에 대한 총계 메시 뷰(aggregate mesh view)를 획득한다. 제어기 클러스터(160)가 2개의 쌍의 포워딩 노드들 사이의 링크에 대한 상이한 측정치들(예를 들어, 상이한 시간들에서 하나의 노드에 의해 측정된 측정치들)을 수집할 때, 제어기 클러스터는 상이한 측정치들로부터 혼합된 값을 생성한다(예를 들어, 측정치들의 평균 또는 가중 평균을 생성한다). 일부 실시예들에서 총계 메시 뷰는, 각각의 쌍의 관리형 포워딩 노드들 사이의 모든 네트워크 접속의 전체 메시 뷰인 반면, 다른 실시예들에서는, 개개의 관리형 포워딩 노드의 측정 에이전트에 의해 생성된 것보다 더 완전한 뷰이다.
도 2에 도시된 바와 같이, 제어기 클러스터(160)는, 하나 이상의 측정-처리 엔진(280), 하나 이상의 경로-식별 엔진(282), 및 하나 이상의 관리 인터페이스(284)의 클러스터를 포함한다. 불필요한 상세사항으로서 설명을 불명료하게 하지 않기 위해, 이들 클러스터 각각은 단일 엔진 또는 인터페이스 계층의 관점에서, 즉, 측정-처리 계층(280), 경로-식별 계층(282), 및 관리 인터페이스 계층(284)의 관점에서 아래에서 참조될 것이다.
측정-처리 계층(280)은, 관리형 포워딩 노드의 측정 에이전트(205)로부터 측정 매트릭스를 수신하고, 이들 측정 매트릭스들을 처리하여 상이한 쌍들의 관리형 포워딩 노드들 사이의 접속 품질을 표현하는 총계 메시 매트릭스를 생성한다. 측정-처리 계층(280)은 총계 메시 매트릭스를 경로-식별 계층(282)에 제공한다. 총계 메시 매트릭스에 기초하여, 경로-식별 계층(282)은 상이한 회사 데이터 엔드포인트들(예를 들어, 상이한 지사들, 회사 데이터센터들, SaaS 제공자 데이터센터들 및/또는 원격 디바이스들)를 접속하기 위해 가상 네트워크를 통해 상이한 원하는 라우팅 경로들을 식별한다. 이 계층(282)은 관리형 포워딩 노드(150)의 클라우드 포워딩 요소(235)에 배포되는 경로 테이블에 이들 라우팅 경로를 제공한다.
일부 실시예들에서, 각각의 쌍의 데이터 메시지 엔드포인트들에 대한 식별된 라우팅 경로는, 한 세트의 최적화 기준에 기초하여 최적인 것으로 간주되는 라우팅 경로로서, 예를 들어 가장 빠른 라우팅 경로, 가장 짧은 라우팅 경로 또는 인터넷을 최소로 이용하는 경로이다. 다른 실시예들에서, 경로-식별 엔진은, 동일한 2개의 엔드포인트들 사이의 복수의 상이한 라우팅 경로를 식별하고 (라우팅 테이블에서) 제공할 수 있다. 이들 실시예에서, 관리형 포워딩 노드(150)의 클라우드 포워딩 요소(235)들은 QoS 기준 또는 그들이 시행하고 있는 다른 런타임 기준에 기초하여 경로들 중 하나를 선택한다. 일부 실시예들에서의 각각의 CFE(235)는, CFE로부터 가상 네트워크의 유출 지점까지의 전체 라우팅 경로를 수신하지 않고, 그 경로에 대한 다음 홉을 수신한다.
일부 실시예들에서, 경로-식별 계층(282)은 총계 메시 매트릭스에서의 측정 값을 전역적 라우팅 그래프를 구성하기 위해 실행하는 라우팅 알고리즘에 대한 입력으로서 이용한다. 이 전역적 라우팅 그래프는, 일부 실시예들에서 측정-처리 계층(280)이 생성하는 측정 그래프의 집계되고 최적화된 버전이다. 도 3은, 일부 실시예들에서 제어기 측정-처리 계층(280)이 생성하는 측정 그래프(300)의 한 예를 나타낸다. 이 그래프는, AWS 및 GCP 공용 클라우드(310 및 320)(즉, AWS 및 GCP의 데이터센터들) 내의 다양한 관리형 포워딩 노드(150)들 사이의 네트워크 접속을 도시한다. 도 4a는, 일부 실시예들에서 제어기 경로-식별 계층(282)이 측정 그래프(300)로부터 생성하는 라우팅 그래프(400)의 한 예를 나타낸다.
도 5는 제어기 경로-식별 계층이 제어기 측정 계층으로부터 수신된 측정 그래프로부터 라우팅 그래프를 생성하기 위해 이용하는 프로세스(500)를 나타낸다. 경로-식별 계층(282)은, 제어기 측정 계층으로부터 업데이트된 측정 그래프를 반복적으로 수신함에 따라 이 프로세스(500)를 반복적으로 수행한다(예를 들어, 새로운 측정 그래프를 수신할 때마다 매번, 또는 새로운 측정 그래프를 수신하는 매 N번째마다 프로세스(500)를 수행한다). 다른 실시예들에서, 경로-식별 계층(282)은 이 프로세스를 주기적으로(예를 들어, 12 시간 또는 24 시간마다 한번) 수행한다.
도시된 바와 같이, 경로-식별 계층은 초기에, 라우팅 그래프가 측정 그래프와 동일하도록(즉, 동일한 쌍들의 관리형 포워딩 노드들 사이에 동일한 링크를 갖도록) 정의한다(505). 510에서, 프로세스는 측정 그래프(300)로부터 불량 링크를 제거한다. 불량 링크의 예는, 과도한 메시지 손실 또는 불량한 신뢰성을 갖는 링크(예를 들어, 마지막 15분 동안 메시지 손실이 2%를 초과하거나 마지막 2분 동안 메시지 손실이 10%를 초과하는 링크)이다. 도 4a는 측정 그래프(300)의 링크(302, 304 및 306)가 라우팅 그래프(400)에서 제외되는 것을 나타낸다. 이 도면은 이들 링크를 점선으로 도시함으로써 이들 링크의 제외를 나타낸다.
그 다음, 515에서, 프로세스(500)는 링크 가중치 점수(비용 점수)를 여러 계산된 및 제공자-특유의 값들의 가중 조합으로서 계산한다. 일부 실시예들에서, 가중치 점수는 링크의 (1) 계산된 지연 값, (2) 계산된 손실 값, (3) 제공자 네트워크-접속 비용 및 (4) 제공자 컴퓨팅 비용의 가중 조합이다. 일부 실시예들에서, 링크에 의해 접속된 관리형 포워딩 노드들은 공용 클라우드 데이터센터(들) 내의 호스트 컴퓨터들에서 실행되는 머신들(예를 들어, VM들 또는 컨테이너들)이기 때문에, 제공자 컴퓨팅 비용이 고려된다.
520에서, 프로세스는 가상 네트워크에서의 데이터 메시지 흐름에 대한 알려진 소스 및 목적지 IP 주소(예를 들어, 회사 엔티티에 의해 이용되는 SaaS 제공자들의 알려진 IP들)를 라우팅 그래프에 추가한다. 일부 실시예들에서, 프로세스는 가능한 메시지-흐름 엔드포인트의 각각의 알려진 IP 주소를 그 엔드포인트에 가장 가까운 라우팅 그래프 내의 노드(예를 들어, MFN을 나타내는 노드)에 추가한다. 그렇게 함에 있어서, 일부 실시예들에서의 프로세스는, 각각의 이러한 엔드포인트가 제로 지연 비용 및 제로 손실 비용으로 링크를 통해 가상 네트워크에 접속되어 있다고 가정한다. 도 4b는 2개의 SaaS 제공자들의 데이터센터들에 가장 가까운 데이터센터들에 있는 라우팅 그래프 내의 (2개의 MFN을 나타내는) 2개의 노드(402 및 404)에 이들 2개의 SaaS 제공자에 대한 알려진 IP를 추가하는 한 예를 나타낸다. 이 예에서, 하나의 노드는 AWS 공용 클라우드에 있고, 다른 노드는 GCP 공용 클라우드에 있다. 대안으로서 또는 결합하여, 일부 실시예들에서의 프로세스(500)는, 소스 및 목적지 엔드포인트를 나타내기 위해 이 그래프에 노드들을 추가하고, 이들 노드에 IP 주소를 할당하고, 라우팅 그래프 내의 다른 노드들(예를 들어, 공용 클라우드에서 MFN들을 나타내는 라우팅 그래프의 노드들)에 이들 추가된 노드들을 접속하는 링크들에 가중치 값을 할당함으로써, 알려진 소스 및 목적지 IP 주소를 라우팅 그래프에 추가한다. 흐름들에 대한 소스 및 목적지 엔드포인트가 노드로서 추가될 때, 경로-식별 엔진(282)은, 상이한 소스 및 목적지 엔드포인트들 사이에서 가상 네트워크를 통한 상이한 경로들을 식별하고 있을 때 이들 노드에 도달하는 비용(예를 들어, 거리 비용, 지연 비용 및/또는 재정 비용 등)을 감안할 수 있다.
도 4c는, 2개의 SaaS 제공자를 나타내기 위해 2개의 노드(412 및 414)를 도 4a의 노드 그래프(400)에 추가함으로써 생성되는 라우팅 그래프(410)를 나타낸다. 이 예에서, 알려진 IP 주소들은 노드들(412 및 414)에 할당되고, 이들 노드는 가중치 W1 및 W2가 할당된 링크(416 및 418)를 통해 (2개의 MFN을 나타내는) 노드(402 및 404)에 접속된다. 이 접근법은, 2개의 SaaS 제공자의 알려진 IP 주소를 도 4b에 나타낸 접근법에 추가하기 위한 대안적 접근법이다.
도 4d는 더 상세한 라우팅 그래프(415)를 나타낸다. 이 더 상세한 라우팅 그래프에서, AWS 및 GCP 공용 클라우드(310 및 320)에 각각 접속되는 알려진 IP 주소를 갖는 외부 회사 컴퓨팅 노드(예를 들어, 지사 및 데이터센터)를 나타내기 위해 추가 노드(422 및 424)가 추가된다. 이들 노드들(422/424) 각각은, 연관된 가중치 값 Wi를 갖는 적어도 하나의 링크(426)에 의해 MFN을 나타내는 라우팅 그래프 노드들 중 적어도 하나에 접속된다. 이들 노드 중 일부(예를 들어, 지사들 중 일부)는 복수의 링크로 동일한 MFN 또는 상이한 MFN들에 접속된다.
그 다음, 525에서, 프로세스(500)는, 회사 엔티티의 데이터 메시지 흐름에 대한 가상 네트워크 유출 위치로서 역할할 수 있는 각각의 MFN과 각각의 다른 MFN 사이의 최저 비용 경로(예를 들어, 최단 경로 등)를 계산한다. 일부 실시예들에서의 유출 MFN은, 외부 회사 컴퓨팅 노드(예를 들어, 지사, 회사 데이터센터 및 SaaS 제공자 데이터센터)에 접속된 MFN뿐만 아니라, 모바일 디바이스 접속 및 유출 인터넷 접속에 대한 후보 위치에 해당되는 MFN을 포함한다. 일부 실시예들에서, 이 계산은 상이한 MFN 쌍들 사이의 최단 경로를 식별하는 전통적인 최저 비용(예를 들어, 최단 경로) 식별 프로세스를 이용한다.
각각의 후보 MFN 쌍에 대해, 최저 비용 식별 프로세스는, 계산된 가중치 점수(즉, 510에서 계산된 점수)를 이용하여 복수의 이러한 경로가 MFN 쌍 사이에 존재할 때 최저 점수를 갖는 경로를 식별한다. 최저 비용 경로를 계산하기 위한 여러 방식들이 아래에서 더 설명될 것이다. 위에서 언급된 바와 같이, 경로-식별 계층(282)은 일부 실시예들에서 2개의 MFN 쌍들 사이의 복수의 경로를 식별한다. 이것은, 클라우드 포워딩 요소(235)가 상이한 환경들 하에서 상이한 경로들을 이용하는 것을 허용하기 위한 것이다. 따라서, 이들 실시예에서, 프로세스(500)는 2개의 MFN 쌍들 사이의 복수의 경로를 식별할 수 있다.
530에서, 프로세스는, 525에서 식별된 최저 비용 경로들 중 어느 것에 의해서도 이용되지 않는 MFN 쌍들 사이의 링크들을 라우팅 그래프로부터 제거한다. 그 다음, 535에서, 프로세스는 라우팅 그래프로부터 클라우드 포워딩 요소(235)에 대한 라우팅 테이블을 생성한다. 535에서, 프로세스는 이들 라우팅 테이블을 관리형 포워딩 노드들의 클라우드 포워딩 요소(235)들에 배포한다. 535 후에, 프로세스가 종료된다.
일부 실시예들에서, 가상 네트워크는 2가지 유형의 외부 접속을 가지며, 이것은 다음과 같다: (1) 한 엔티티의 컴퓨팅 노드들(예를 들어, 지사들, 데이터센터들, 모바일 사용자들 등)과의 외부 보안 접속, 및 (2) 인터넷을 통한 제3자 컴퓨터(예를 들어, SaaS 제공자 서버)로의 외부 접속. 일부 실시예들은, 가상 네트워크 외부의 소스 및 목적지 노드에서 종료되는 각각의 데이터경로에 대한 최적의 가상-네트워크 유입 및 유출 위치를 발견함으로써 가상 네트워크를 최적화한다. 예를 들어, 지사를 SaaS 제공자 서버(예를 들어, salesforce.com 서버)에 접속하기 위해, 일부 실시예들은, 지사를 최적의 엣지 MFN(예를 들어, 지사로의 가장 빠른 네트워크 접속을 갖는 MFN, 또는 지사에 가장 가까운 것)에 접속하고, 최적으로 위치한 SaaS 제공자 서버(예를 들어, 지사에 대한 엣지 MFN에 가장 가깝거나, SaaS 제공자 서버에 접속된 엣지 MFN을 통해 지사에 대한 엣지 MFN까지의 가장 빠른 경로를 갖는 SaaS)에 대한 최적의 엣지 MFN을 식별한다.
VPN 접속을 통해 한 엔티티의 각각의 컴퓨팅 노드(예를 들어, 지사, 모바일 사용자 등)를 가장 가까운 MFN에 연관시키기 위해, 일부 실시예들에서의 가상 네트워크 제공자는, 컴퓨팅 노드가 컨택하기 위한 하나 이상의 정식(authoritative) 도메인 네임 서버(DNS)를 공용 클라우드에 배치한다. 일부 실시예들에서, 일부 실시예들에서의 회사 컴퓨팅 노드가 가상 네트워크 제공자의 MFN으로의 VPN 접속을 확립(즉, VPN 접속을 초기화 또는 재초기화)할 필요가 있을 때마다, 컴퓨팅 노드는 먼저, 그 가상 네트워크(예를 들어, virtualnetworkX.net)와 연관된 주소를 이 정식 DNS 서버를 이용하여 해결하여, 이 서버가 회사 컴퓨팅 노드에 가장 가까운 MFN으로서 식별하는 MFN의 신원을 이 서버로부터 획득한다. 이 MFN을 식별하기 위해, 일부 실시예들에서, 정식 DNS 서버는 MFN 식별자(예를 들어, MFN의 IP 주소)를 제공한다. 그 다음, 회사 컴퓨팅 노드는 이 관리형 포워딩 노드로의 VPN 접속을 확립한다.
다른 실시예들에서, 회사 컴퓨팅 노드는, VNP의 MFN으로의 VPN 접속을 확립할 필요가 있을 때마다 먼저 DNS 해결을 수행하지 않는다(즉, 특정한 도메인에 대한 네트워크 주소를 먼저 해결하지 않는다). 예를 들어, 일부 실시예들에서, 회사 컴퓨팅 노드는, 또 다른 DNS 해결을 수행하기 전에 특정한 기간 동안(예를 들어, 하루 동안, 한 주 동안 등) DNS-해결된 MFN을 고수하여 이 MFN이 여전히 접속해야 하는 최적의 것인지를 결정한다.
DNS 요청에서의 소스 IP 주소가, 노드 자체가 아닌 회사 컴퓨팅 노드의 로컬 DNS 서버의 주소일 때, 일부 실시예들에서의 정식 DNS 서버는, 회사 컴퓨팅 노드에 가장 가까운 MFN 대신에 로컬 DNS 서버에 가장 가까운 MFN을 식별한다. 이를 해결하기 위해, 일부 실시예들에서의 DNS 요청은, 점들에 의해 연결되고 구분되는 하나 이상의 부분(라벨)을 포함하는 도메인 네임의 관점에서 회사 컴퓨팅 노드를 식별하고, 여기서, 이들 부분들 중 하나는 회사를 식별하고 다른 부분은 회사의 컴퓨팅 노드를 식별한다.
일부 실시예들에서, 이 도메인 네임은, 도메인 네임에서 우측 라벨로부터 좌측 라벨로 내려가는 도메인과 서브도메인의 계층관계를 명시한다. 최우측의 첫번째 라벨은 특정한 도메인을 식별하고, 그 첫번째 라벨 좌측에 있는 2번째 라벨은 회사 엔티티를 식별하고, 그 2번째 라벨의 좌측에 있는 3번째 라벨은, 엔티티가 하나보다 많은 외부 머신 위치를 갖는 경우 엔티티의 외부 머신 위치를 식별한다. 예를 들어, 일부 실시예들에서, DNS 요청은, 회사 컴퓨팅 노드를 회사 myCompany의 myNode로서 식별하고 주소 myNode.myCompany.virtualnetwork.net의 해결을 요청한다. 그 다음, DNS 서버는 myNode 식별자를 이용하여 회사 컴퓨팅 노드가 VPN 접속을 확립해야 하는 유입 MFN을 더 잘 선택한다. 상이한 실시예들에서, myNode 식별자는 상이하게 표현된다. 예를 들어, 이것은, IP 주소, 위치의 위도/경도 설명, GPS(Global Positioning System) 위치, 거리 주소 등으로서 어드레싱될 수 있다.
IP 주소가 위치를 적절하게 반영하더라도, 예를 들어, 동일한 클라우드 내의 상이한 데이터센터들에 속하거나 동일한 지역 내의 상이한 클라우드들에 속하는 여러 잠재적 유입 라우터들이 있을 수 있다. 이러한 경우에, 일부 실시예들에서의 가상 네트워크 정식 서버는 잠재적 MFN CFE들(예를 들어, C5, C8, C12)의 IP 목록을 다시 전송한다. 그 다음, 일부 실시예들에서의 회사 컴퓨팅 노드는, 그 목록 내의 상이한 CFE들을 핑잉하여 측정치(예를 들어, 거리 또는 속도 측정치)을 생성하고, CFE 후보 세트 중에서 측정치들을 비교함으로써 가장 가까운 것을 선택한다.
또한, 회사 컴퓨팅 노드는, 회사 엔티티의 다른 컴퓨팅 노드들에 의해 현재 이용되는 MFN들을 식별함으로써 이 선택을 기초로 할 수 있다. 예를 들어, 일부 실시예들에서, 회사 컴퓨팅 노드는 각각의 MFN에 접속 비용을 추가하여, 많은 회사 지부들이 주어진 클라우드에 이미 접속되어 있다면, 새로운 컴퓨팅 노드가 동일한 클라우드에 접속하기 위한 동기부여를 가지므로, 처리, 레이턴시 및 달러 측면에서 클라우드간 비용을 최소화하게 할 수 있다.
다른 실시예들은 상이한 DNS 해결 기술들을 이용한다. 예를 들어, 회사 컴퓨팅 노드(예를 들어, 지사, 데이터센터, 모바일 사용자 등)가 DNS 해결을 수행할 필요가 있을 때마다, 회사 컴퓨팅 노드(예를 들어, 모바일 디바이스, 또는 지사 또는 데이터센터의 로컬 DNS 해결자)는, 다수의 엔티티들에 대한 정식 DNS 해결자로서 역할하는 DNS 서비스 제공자와 통신한다. 일부 실시예들에서, 이 DNS 서비스 제공자는 하나 이상의 사설 데이터센터에 위치한 DNS 해결 머신을 갖는 반면, 다른 실시예들에서는 하나 이상의 공용 클라우드 데이터센터의 일부이다.
인터넷에 직접 접속하는 N개의 관리형 포워딩 노드들 중 어느 것이 SaaS 제공자 서버에 도달하기 위해 이용되어야 하는지를 식별하기 위해, 가상 네트워크(예를 들어, 유입 MFN 또는 MFN들을 구성하는 제어기 클러스터)는 일부 실시예들에서 N개의 관리형 포워딩 노드들로부터 한 세트의 하나 이상의 후보 엣지 MFN들을 식별한다. 아래에 더 설명되는 바와 같이, 일부 실시예들에서의 각각의 후보 엣지 MFN은, SaaS 제공자 서버까지의 거리, 네트워크 접속 속도, 비용, 지연 및/또는 손실, 네트워크 컴퓨팅 비용 등의, 한 세트의 기준에 기초하여 최적인 것으로 간주되는 엣지 MFN이다.
최적의 엣지 지점들을 식별하는 것을 보조하기 위해, 일부 실시예들의 제어기 클러스터는 엔티티를 위해 가장 인기있는 SaaS 제공자들 및 소비자 웹 목적지들 및 그들의 IP 주소 서브넷들의 목록을 유지한다. 이러한 각각의 목적지에 대해, 제어기 클러스터는, (다시 한번, 물리적 거리, 네트워크 접속 속도, 비용, 손실 및/또는 지연, 컴퓨팅 비용 등에 의해 판단되는) 최적의 MFN들 중 하나 이상을 후보 유출 노드로서 할당한다. 각각의 후보 유출 MFN에 대해, 제어기 클러스터는, 그 다음, 가능한 각각의 유입 MFN으로부터 후보 MFN까지의 최상의 경로를 계산하고, 그에 따라 MFN들에서 결과적인 다음 홉 테이블을 셋업하되, 인터넷 SaaS 제공자 또는 웹 목적지가 올바른 가상 네트워크 다음-홉 노드에 연관되도록 한다.
서비스 목적지가 (정식 DNS 서버에 의해 제공되는) 여러 위치들에 있는 여러 IP 서브넷들을 통해 도달될 수 있다고 가정하면, 레이턴시를 최소화하고 부하-밸런싱을 제공하는 여러개의 잠재적인 유출 노드가 있다. 따라서, 일부 실시예들에서, 제어기 클러스터는 각각의 MFN에 대한 최상의 위치 및 유출 노드를 계산하고, 그에 따라 다음-홉을 업데이트한다. 또한, SaaS 제공자(예를 들어, office365.com)에 도달하기 위한 최상의 유출 노드는 하나의 공용 클라우드 제공자(예를 들어, Microsoft Azure)를 통할 수 있지만, 순수하게 거리 또는 접속 속도로부터 나온 최상의 유입 MFN은 또 다른 공용 클라우드 제공자(예를 들어, AWS)에 있을 수 있다. 이러한 상황에서, 이것은, 가상 네트워크를 떠나기 전에 레이턴시, 처리 및 또 다른 클라우드(즉, 최상의 유출 MFN을 갖는 공용 클라우드)로 횡단하는 비용 측면에서 최적이 아닐 수 있다. 복수의 후보 엣지 노드를 제공하는 것은, 이러한 상황에서 최적의 엣지 MFN 및 선택된 엣지 MFN까지의 최적의 경로의 선택을 허용할 것이다.
인터넷에 접속되거나 회사 엔티티의 회사 컴퓨팅 노드에 접속되는 유출 MFN까지의 가상 네트워크를 통한 최적의 경로를 식별하기 위해, 제어기 클러스터는 MFN들 사이의 최적의 라우팅 경로를 식별한다. 위에서 언급된 바와 같이, 일부 실시예들에서의 제어기 클러스터는, 예를 들어, 추정된 레이턴시 및 재정 비용의 가중 합을 반영하는 메트릭 점수에 기초하여, 한 쌍의 직접 접속된 MFN들 사이의 각각의 링크를 먼저 계산함으로써, 임의의 2개의 MFN들 사이의 최상의 경로를 식별한다. 레이턴시 및 재정 비용은, 일부 실시예들에서, (1) 링크 지연 측정, (2) 추정된 메시지 처리 레이턴시, (3) 특정한 데이터센터로부터 동일한 공용 클라우드 제공자의 또 다른 데이터센터로의, 또는 공용 클라우드(PC) 제공자의 클라우드로의(예를 들어, 또 다른 공용 클라우드 제공자의 또 다른 공용 클라우드 데이터센터로의 또는 인터넷으로의) 송출 트래픽에 대한 클라우드 요금, 및 (4) 공용 클라우드의 호스트 컴퓨터에서 실행되는 MFN과 연관된 추정된 메시지 처리 비용을 포함한다.
이들 쌍을 이룬 링크들의 계산된 비용을 이용하여, 제어기 클러스터는, 라우팅 경로에 의해 이용되는 개개의 쌍일 이룬 링크들의 비용을 집계함으로써 이들 쌍을 이룬 링크들 중 하나 이상을 이용하는 각각의 라우팅 경로의 비용을 계산할 수 있다. 전술된 바와 같이, 제어기 클러스터는, 그 다음, 라우팅 경로의 계산된 비용에 기초하여 라우팅 그래프를 정의하고, 정의된 라우팅 그래프에 기초하여 MFN들의 클라우드 라우터들의 포워딩 테이블들을 생성한다. 또한, 위에서 언급된 바와 같이, 제어기 클러스터는 이들 비용계산, 그래프 작성, 및 포워딩 테이블 업데이트 및 배포 동작을, 주기적으로(예를 들어, 12 시간마다, 24 시간마다 한번 등) 또는 MFN들의 측정 에이전트들로부터 측정치 업데이트를 수신할 때 반복적으로 수행한다.
MFN CFE Ci에 있는 포워딩 테이블이 다음-홉 MFN CFE Cj를 가리킬 때마다, CFE Ci는 Cj를 이웃으로 간주한다. 일부 실시예들에서, CFE Ci는 CFE Cj로의 보안되고 능동적으로 유지되는 VPN 터널을 확립한다. 일부 실시예들에서의 보안 터널은, 캡슐화된 데이터 메시지의 페이로드가 암호화될 것을 요구하는 터널이다. 또한, 일부 실시예들에서, 터널은, 터널의 하나 또는 양쪽 모두의 엔드포인트가 다른 엔드포인트에 킵 얼라이브 신호(keep alive signal)를 전송함으로써 능동적으로 유지된다.
다른 실시예들에서, CFE는 보안되고 능동적으로 유지되는 VPN 터널을 확립하지 않는다. 예를 들어, 일부 실시예들에서, CFE들 사이의 터널은, 킵 얼라이브 신호의 전송을 통해 능동적으로 모니터링되지 않는 정적 터널이다. 또한, 일부 실시예들에서, CFE들 사이의 이들 터널은, 그들의 페이로드를 암호화하지 않는다. 일부 실시예들에서, 한 쌍의 CFE들 사이의 터널은 2개의 캡슐화 헤더를 포함하고, 여기서, 내측 헤더는 임차인 ID 및 가상 네트워크에 출입하는(즉, 공용 클라우드(들)에 출입하는) 데이터 메시지에 대한 유입 및 유출 CFE들을 식별하고, 외측 캡슐화 헤더는, 유입 CFE로부터 유출 CFE까지 0개 이상의 CFE를 통과하기 위한 소스 및 목적지 네트워크 주소(예를 들어, IP 주소)를 명시한다.
내부 터널에 추가하여, 일부 실시예들에서의 가상 네트워크는, 앞서 언급된 바와 같이, VPN 터널을 이용하여 회사 컴퓨팅 노드들을 그들의 엣지 MFN들에 접속한다. 따라서, CFE들을 접속하기 위해 보안 터널이 이용되는 실시예들에서, 데이터 메시지는 완전히 보안된 VPN 경로를 이용하여 가상 네트워크를 통해 운송된다.
가상 네트워크 데이터 메시지들이 가상 네트워크 내에서 캡슐화를 이용하여 포워딩될 때, 일부 실시예들에서의 가상 네트워크는 임차인의 상이한 사설 네트워크에 의해 이용되는 사설 주소와는 상이한 그 자신의 고유의 네트워크 주소를 이용한다. 다른 실시예들에서, 가상 네트워크는, 가상 네트워크가 정의되는 공용 클라우드들의 사설 및 공용 네트워크 주소 공간을 이용한다. 또 다른 실시예들에서, 가상 네트워크는, 그 컴포넌트들 중 일부(예를 들어, 그 MFN들, CFE들, 및/또는 서비스들 중 일부)에 대해 그 자신의 고유한 네트워크 주소들 중 일부를 이용하는 반면, 그 컴포넌트들 중 다른 것들에 대해서는 공용 클라우드의 사설 및 공용 네트워크 주소 공간을 이용한다.
또한, 일부 실시예들에서, 가상 네트워크는 그 자신의 전용 프로토콜과 함께 클린-슬레이트(clean-slate) 통신 플랫폼을 이용한다. 데이터 메시지가 소프트웨어 전적으로 MFN 라우터를 통해(예를 들어, 소프트웨어 CFE를 통해) 포워딩되는 실시예들에서, 가상 네트워크는 장거리 종단간 접속(long-haul end-to-end connection)을 위해 최적화된 레이트 제어를 제공할 수 있다. 이것은 일부 실시예들에서 모든 MFN(150)에서 TCP 최적화 프록시 엔진(220)을 동작시킴으로써 달성된다. (예를 들어, HTTPS로) TCP 자체를 중단하지 않는 다른 실시예들에서, 이것은, 프록시 엔진(220)이 TCP 수신자-윈도우 및 ACK 조작과 함께 중간 흐름당 버퍼링을 이용하여 레이트 제어를 세그먼트화함으로써 달성된다.
클린 슬레이트 속성으로 인해, 일부 실시예들에서의 가상 네트워크는 훨씬 더 나은 서비스를 제공하기 위해 많은 컴포넌트를 최적화한다. 예를 들어, 일부 실시예들에서, 가상 네트워크는 다중-경로 라우팅을 이용하여 가상 네트워크를 가로질러 라우팅되는 프리미엄 대역폭-보장형 VPN 셋업을 지원한다. 일부 실시예들에서, 이러한 VPN은 ATM/MPLS 라우팅과 유사한 상태 데이터를 각각의 MFN에 포함하며, 그들의 확립 및 제거는 중앙 제어된다. 일부 실시예들은, 송출 링크당 가용 대역폭을, (패킷 쌍 또는 유사한 프로세스를 통해) 직접 측정함으로써 또는 링크에 대해 주어진 용량을 갖고 이 링크로부터 이미 전송된 트래픽을 이 용량으로부터 감소시킴으로써 식별한다.
일부 실시예들은 링크의 잔여 대역폭을 제약으로서 이용한다. 예를 들어, 한 링크가 적어도 2 Mbps의 가용 대역폭을 갖지 않을 때, 일부 실시예들의 제어기 클러스터는, 임의의 목적지로의 최저 비용 경로(예를 들어, 최단 경로)를 계산하는데 이용되는 링크 세트로부터 그 링크를 제거한다(예를 들어, 그래프 400 등의, 라우팅 그래프에서 링크를 제거한다). 이 링크의 제거 후에도 종단간 경로가 여전히 이용가능하다면, 새로운 VPN들이 이 새로운 경로를 통해 라우팅될 것이다. VPN 제거는, 가용 용량을 주어진 링크에 다시 가져 와서, 이 링크가 최저 비용 경로(예를 들어, 최단 경로) 계산에 포함될 수 있게 한다. 일부 실시예들은, 다중 경로에 걸친 트래픽의 부하 밸런싱 등의 다중-경로 라우팅을 위한 다른 옵션, 예를 들어, MPTCP(다중-경로 TCP)를 이용한다.
일부 실시예들은, 가상 네트워크 내에서 2개의 분리된 경로(예를 들어, 최대 분리된 경로)를 통해 유입 MFN으로부터 유출 MFN으로 트래픽을 복제하기 위해 경로 병렬화 및 저렴한 클라우드 링크를 활용함으로써 프리미엄 고객에게 더 나은 서비스를 제공한다. 이 접근법 하에서, 도착한 가장 이른 메시지가 수락되고, 나중의 메시지는 폐기된다. 이 접근법은, 유출 처리 복잡성을 증가시키는 댓가로, 가상 네트워크 신뢰성을 증가시키고 지연을 감소시킨다. 일부 이러한 실시예들에서, 중복 트래픽을 감소시키면서 신뢰성을 증가시키기 FEC(Forward Error Correction) 기술이 이용된다. 클린 슬레이트 속성으로 인해, 일부 실시예들의 가상 네트워크는, 애플리케이션-계층 최적화(예를 들어, 중복 제거 및 캐싱 동작) 및 보안 최적화(예를 들어, 암호화의 추가, DPI(심층 패킷 검사) 및 방화벽) 등의, 다른 상위 계층 최적화를 수행한다.
일부 실시예들의 가상 네트워크는, 애니캐스트 메시징(anycast messaging)을 이용함으로써 가상 네트워크 셋업을 더욱 개선하기 위해 클라우드 제공자와의 협업을 감안한다. 예를 들어, 일부 실시예들에서, 모든 MFN들이 동일한 외부 IP 주소를 획득할 때, 임의의 새로운 회사 컴퓨팅 노드를 애니캐스트 접속을 이용하여 최적의 엣지 노드(예를 들어, 가장 가까운 엣지 노드)에 접속하는 것이 더 용이하다. 마찬가지로, 임의의 SaaS 제공자는 이 IP 주소를 획득하여 최적의 MFN(예를 들어, 가장 가까운 MFN)에 접속할 수 있다.
위에서 언급된 바와 같이, 상이한 실시예들은 상이한 유형들의 VPN 접속을 이용하여 회사 컴퓨팅 노드(예를 들어, 지부 및 모바일 디바이스)를 회사 엔티티의 가상 네트워크를 확립하는 MFN에 접속한다. 일부 실시예들은 IPsec을 이용하여 이들 VPN 접속을 셋업한다. 도 6은 일부 실시예들의 IPsec 데이터 메시지 포멧을 나타낸다. 구체적으로, 이 도면은, 회사 컴퓨팅 노드에 있는 머신에 의해 생성된 데이터 메시지(605), 및 IPsec 터널을 통한 (예를 들어, MFN으로의 또는 회사 컴퓨팅 노드로의) 전송을 위해 (예를 들어 회사 컴퓨팅 노드 또는 MFN에서) 데이터 메시지(605)가 캡슐화된 후의 IPsec 캡슐화된 데이터 메시지(610)의 원래의 포멧을 나타낸다.
이 예에서, IPsec 터널은 ESP 터널 모드, 포트 50을 이용하여 셋업된다. 도시된 바와 같이, 이 모드는, 이 예에서는, IP 헤더 내의 TCP 프로토콜 식별자를 ESP 프로토콜 식별자로 대체함으로써 셋업된다. ESP 헤더는, 메시지(615)의 시작(즉, 헤더(620) 및 페이로드(625))을 식별한다. 메시지(615)는, IPsec 캡슐화된 데이터 메시지의 수신자에 의해(예를 들어, MFN의 IPsec 게이트웨이에 의해) 인증되어야 한다. 페이로드(625)의 시작은 메시지(615)의 다음 필드(622)의 값에 의해 식별된다. 또한, 페이로드(625)는 암호화된다. 이 페이로드는, 원본 데이터 메시지(605)의 IP 헤더, TCP 헤더 및 페이로드뿐만 아니라, 다음 필드(622)를 포함하는 패딩 필드(630)를 포함한다.
일부 실시예들에서, 각각의 MFN IPsec 게이트웨이는 동일하거나 상이한 가상 네트워크 임차인에 대한(예를 들어, 동일한 회사 또는 상이한 회사들에 대한) 복수의 IPsec 접속을 처리할 수 있다. 따라서, 일부 실시예들에서의 MFN IPsec 게이트웨이(예를 들어, 게이트웨이(230))는, 터널 ID, 임차인 ID(TID) 및 회사 컴퓨팅 노드 서브넷의 관점에서 각각의 IPsec 접속을 식별한다. 일부 실시예들에서, 임차인의 상이한 회사 노드들(예를 들어, 상이한 지사들)은 (RFC 1579에 따라) 중첩되는 IP 서브넷을 갖지 않는다. 일부 실시예들에서의 IPsec 게이트웨이는, (IPsec 터널 헤더에 포함된) 각각의 IPsec 터널 ID를 임차인 ID에 맵핑하는 테이블을 갖는다. IPsec 게이트웨이가 처리하도록 구성된 주어진 임차인의 경우, IPsec 게이트웨이는 또한, MFN들 및 그들의 클라우드 포워딩 요소들에 의해 확립된 가상 네트워크에 접속되는 그 임차인의 모든 서브넷의 맵핑을 갖는다.
제1 공용 클라우드 데이터센터 내의 유입 제1 MFN이 IPsec 터널을 통해 임차인 ID와 연관되고 제2 공용 클라우드 데이터센터 내의 유출 제2 MFN에 접속된 목적지(예를 들어, 지부 또는 데이터센터 서브넷, 또는 SaaS 제공자)로 예정된 데이터 메시지를 수신할 때, 제1 MFN의 IPsec 게이트웨이는 IPsec 터널 헤더를 제거한다. 일부 실시예들에서, 그 다음, 제1 MFN의 CFE는, 메시지가, 유입 제1 MFN으로부터 유출 제2 MFN까지의 경로를 직접 횡단하거나 또는 하나 이상의 다른 중간 MFN을 통해 횡단하는 것을 허용하는 2개의 캡슐화 헤더로 메시지를 캡슐화한다. 제1 MFN의 CFE는 그 제어기-구성된 라우팅 테이블을 이용함으로써 이 경로를 식별한다.
앞서 언급된 바와 같이, 일부 실시예들에서의 2개의 캡슐화 헤더는, (1) 캡슐화된 데이터 메시지가 가상 네트워크의 MFN들을 통해 횡단하여 유출 MFN CFE에 도달하는 것을 허용하기 위해 다음 홉 MFN CFE를 명시하는 외측 헤더, 및 (2) 가상 네트워크에 출입하는 데이터 메시지의 MFN들을 식별하는 유입 및 유출 MFN CFE들 및 임차인 ID를 명시하는 내측 헤더를 포함한다.
구체적으로, 일부 실시예들에서, 내측 캡슐화 헤더는, 유출 제2 MFN의 CFE의 목적지 IP 주소 및 유입 제1 MFN의 CFE의 소스 IP 주소를 갖는 유효한 IP 헤더를 포함한다. 이 접근법은, 표준 IP 라우터 소프트웨어가 MFN의 모든 CFE에서 이용되는 것을 허용한다. 캡슐화는 임차인 ID(예를 들어, 고객 CID)를 더 포함한다. 메시지가 유출 제2 MFN의 CFE에 도달하면, 메시지는 제2 MFN에 의해 캡슐화되어 그 목적지로 전송된다(예를 들어, 임차인 ID 및 메시지의 목적지 서브넷과 연관된 또 다른 IPsec 터널을 통해 제2 MFN의 IPsec 게이트웨이에 의해 목적지로 전송된다).
소정의 클라우드 제공자는, 머신이 소스 IP를 "스푸핑(spoofing)"하는 것을 금지하거나 및/또는 TCP 및 UDP 트래픽에 대한 다른 제약을 적용한다. 이러한 가능한 제약을 다루기 위해, 일부 실시예들은 외측 헤더를 이용하여 하나 이상의 경로에 의해 이용되는 이웃하는 MFN들의 쌍을 접속한다. 일부 실시예들에서의 이 헤더는, 소스 및 목적지 IP 주소 및 UDP 프로토콜 파라미터를 명시하는 UDP 헤더이다. 일부 실시예들에서, 유입 MFN CFE는 그 외부 IP 주소를 외측 헤더의 소스 IP 주소로서 명시하는 반면, 다음 MFN CFE 홉의 IP 주소를 외측 헤더의 목적지 IP 주소로서 명시한다.
유출 MFN의 CFE로의 경로가 하나 이상의 중간 MFN CFE를 포함할 때, 중간 CFE는 자신이 수신하는 이중-캡슐화된 메시지의 외측 헤더 내의 소스 IP 주소를 그 IP 주소로 대체한다. 이것은 또한, 내측 헤더 내의 목적지 IP 주소를 이용하여 라우팅 테이블에서 경로 조회를 수행해 내측 헤더의 목적지 IP 주소까지의 경로에 있는 다음 홉 MFN CFE의 목적지 IP 주소를 식별한다. 그 다음, 중간 CFE는 외측 헤더 내의 목적지 IP 주소를 경로 테이블 조회를 통해 식별한 IP 주소로 대체한다.
이중 캡슐화된 데이터 메시지가 유출 MFN의 CFE에 도달하면, CFE는, 내측 헤더에서 목적지 IP 주소를 회수할 때 자신이 데이터 메시지에 대한 유출 노드라고 결정하고 이 목적지 IP 주소가 자신에 속한다고 결정한다. 그 다음, 이 CFE는 데이터 메시지로부터 2개의 캡슐화 헤더를 제거한 다음, 목적지에 전송한다(예를 들어, 그 MFN의 IPsec 게이트웨이를 통해, 데이터 메시지의 원본 헤더 내의 목적지 IP 주소 또는 서브넷 및 임차인 ID와 연관된 또 다른 IPsec 터널을 통해 목적지로 전송한다).
도 7은 일부 실시예들의 2개의 캡슐화 헤더의 한 예를 나타내는 반면, 도 8은 일부 실시예들에서 이들 2개의 헤더가 어떻게 이용되는지를 나타내는 한 예를 제시한다. 아래의 논의에서, 내측 헤더는, 임차인의 회사 컴퓨팅 엔드 노드에 접속된 가상-네트워크 유입/유출 노드들의 신원과 함께 임차인 ID를 포함하므로 임차인 헤더라고 지칭된다. 외측 헤더는, 데이터 메시지가 유입 및 유출 MFN CFE들 사이에서 가상 네트워크를 통한 경로를 횡단할 때 가상 네트워크를 통한 다음 홉을 식별하는데 이용되므로 이하에서는 VN-홉 터널 헤더라고 지칭된다.
도 7은, 원본 데이터 메시지(750)를 원본 헤더(755) 및 페이로드(760)로 캡슐화하는 VN-홉 터널 헤더(705) 및 임차인 터널 헤더(720)를 도시한다. 도시된 바와 같이, 일부 실시예들에서의 VN-홉 터널 헤더(705)는 UDP 헤더(710) 및 IP 헤더(715)를 포함한다. 일부 실시예들에서의 UDP 헤더는 UDP 프로토콜에 따라 정의된다. 일부 실시예들에서, VN-홉 터널은 표준 UDP 터널인 반면, 다른 실시예에서는 이 터널은 전용 UDP 터널이다. 또 다른 실시예에서, 이 터널은 표준 또는 전용 TCP 터널이다. 일부 실시예들에서의 터널 헤더(705)는 그 페이로드를 암호화하는 암호화된 것인 반면, 다른 실시예에서는 암호화되지 않은 터널이다.
아래에 더 설명되는 바와 같이, 일부 실시예들에서의 터널 헤더(705)는 오버레이 VNP 네트워크를 정의하는데 이용되고, 언더레이 공용 클라우드 네트워크(underlay public cloud network)를 통해 다음 홉 MFN CFE에 도달하기 위해 각각의 MFN CFE에 의해 이용된다. 따라서, 터널 헤더(705)의 IP 헤더(715)는, VNP 터널에 의해 접속된 제1 및 제2 이웃 MFN들의 제1 및 제2 CFE들의 소스 및 목적지 IP 주소들을 식별한다. 일부 경우에(예를 들어, 다음 홉 목적지 MFN이 소스 MFN과는 상이한 공용 클라우드 벤더의 상이한 공용 클라우드에 있을 때), 소스 및 목적지 IP 주소는 MFN들을 포함하는 공용 클라우드 데이터센터들에 의해 이용되는 공용 IP 주소이다. 다른 경우에, 소스 및 목적지 MFN CFE가 동일한 공용 클라우드에 속할 때, 소스 및 목적지 IP 주소는 공용 클라우드에서만 이용되는 사설 IP 주소일 수 있다. 대안으로서, 이러한 경우, 소스 및 목적지 IP 주소는 여전히 공용 클라우드 벤더의 공용 IP 주소일 수 있다.
도 7에 도시된 바와 같이, 임차인 터널 헤더(720)는, IP 헤더(725), 임차인 ID 필드(730) 및 가상 회로 라벨(VCL)(735)을 포함한다. 임차인 터널 헤더(720)는, 데이터 메시지를 유출 MFN의 유출 CFE에 포워딩하기 위한 다음 홉을 식별하기 위해 유입 홉 CFE 이후의 각각의 홉 CFE에 의해 이용된다. 따라서, IP 헤더(725)는, 유입 CFE의 IP 주소인 소스 IP 주소, 및 유출 CFE의 IP 주소인 목적지 IP 주소를 포함한다. VN-홉 헤더(705)의 소스 및 목적지 IP 주소에서와 같이, 임차인 헤더(720)의 소스 및 목적지 IP 주소는, 하나의 공용 클라우드 제공자의 사설 IP 주소이거나(데이터 메시지가 하나의 공용 클라우드 제공자의 데이터센터만을 거쳐가는 경로를 횡단할 때), 하나 이상의 공용 클라우드 제공자의 공용 IP 주소일 수 있다(예를 들어, 데이터 메시지가 2개 이상의 공용 클라우드 제공자의 데이터센터를 거쳐가는 경로를 횡단할 때).
임차인 헤더(720)의 IP 헤더는, 일부 실시예들에서 임의의 표준 소프트웨어 라우터 및 IP 라우팅 테이블을 이용함으로써 라우팅될 수 있다. 임차인 ID 필드(730)는, 임차인을 고유하게 식별하기 위해 유입 및 유출 MFN들에서 이용될 수 있는 고유 임차인 식별자인 임차인 ID를 포함한다. 일부 실시예들에서의 가상 네트워크 제공자는, 제공자의 임차인들인 상이한 회사 엔티티들에 대해 상이한 임차인 ID들을 정의한다. VCL 필드(735)는, 일부 실시예들이 네트워크를 통해 메시지를 포워딩하기 위한 대안적인 방식(비 IP-기반의 방식)을 제공하기 위해 이용하는 임의적 라우팅 필드이다. 일부 실시예들에서, 임차인 터널 헤더(720)는 GUE(Generic UDP Encapsulation) 헤더이다.
도 8은 이들 2개의 터널 헤더(705 및 710)가 일부 실시예들에서 어떻게 이용되는지를 나타내는 한 예를 제시한다. 이 예에서, 데이터 메시지(800)는, 회사의 제1 지사(805)의 제1 머신(802)(예를 들어, 제1 VM)으로부터 회사의 제2 지사(810)의 제2 머신(804)(예를 들어, 제2 VM)으로 전송된다. 2개의 머신은, 10.1.0.0 및 10.2.0.0인 상이한 2개의 서브넷에 있고, 여기서, 제1 머신은 IP 주소 10.1.0.17을 갖고 제2 머신은 IP 주소 10.2.0.22를 갖는다. 이 예에서, 제1 지사(805)는 제1 공용 클라우드 데이터센터(830) 내의 유입 MFN(850)에 접속되는 반면, 제2 지사(810)는 제2 공용 클라우드 데이터센터(838) 내의 유출 MFN(855)에 접속된다. 또한, 이 예에서, 제1 및 제2 공용 클라우드 데이터센터 내의 유입 및 유출 MFN(850 및 855)은, 제3 공용 클라우드 데이터센터(836)의 중간 MFN(857)을 통해 간접적으로 접속된다.
도시된 바와 같이, 머신(802)으로부터의 데이터 메시지(800)는, 제1 지사(805)를 유입 MFN(850)에 접속하는 IPsec 터널(870)을 따라 유입 MFN(850)에 전송된다. 이 IPsec 터널(870)은, 제1 지사의 IPsec 게이트웨이(848)와 유입 MFN(850)의 IPsec 게이트웨이(852) 사이에 확립된다. 이 터널은, 데이터 메시지(800)를 IPsec 터널 헤더(806)로 캡슐화함으로써 확립된다.
MFN(850)의 IPsec 게이트웨이(852)는, 데이터 메시지를 캡슐화해제하고(즉, IPsec 터널 헤더(806)를 제거하고), 캡슐화해제된 메시지를, 직접 또는 하나 이상의 미들박스 서비스 머신을 통해(예를 들어, 도 2의 머신(210) 등의, 방화벽 머신을 통해), 이 MFN의 CFE(832)에 전달한다. 이 메시지를 전달함에 있어서, 일부 실시예들에서의 MFN(850)의 IPsec 게이트웨이 또는 어떤 다른 모듈은 메시지를 IPsec 터널의 터널 ID 및 회사의 임차인 ID와 연관시킨다. 이 임차인 ID는 가상 네트워크 제공자의 레코드에서 회사를 식별한다.
연관된 임차인 ID 및/또는 IPsec 터널 ID에 기초하여, 유입 MFN(850)의 CFE(832)는, 상이한 공용 클라우드 데이터센터들 내의 MFN들에 의해 확립된 가상 네트워크를 통한 그 목적지 머신의 서브넷으로의(즉, 제2 지사(810))로의) 메시지에 대한 경로를 식별한다. 예를 들어, CFE(832)는 임차인 ID 및/또는 IPsec 터널 ID를 이용하여 회사에 대한 라우팅 테이블을 식별한다. 이 라우팅 테이블에서, CFE(832)는, 그 다음, 수신된 메시지의 목적지 IP 주소 10.2.0.22를 이용하여, 공용 클라우드 데이터센터(838)의 유출 MFN(855)의 CFE(853)를 식별하는 레코드를, 데이터 메시지(800)에 대한 목적지 유출 포워딩 노드로서 식별한다. 일부 실시예들에서, 식별된 레코드는 제2 지사(810)의 전체 서브넷 10.2.0.0/16을 MFN(855)의 CFE(853)에 맵핑한다.
유출 CFE(853)를 식별한 후, 유입 MFN(850)의 CFE(832)는, 수신된 데이터 메시지를, 그 IP 헤더(725)에서 유입 CFE(832)의 소스 IP 및 유출 CFE(853)의 목적지 IP를 포함하는 임차인 터널 헤더(860)로 캡슐화한다. 일부 실시예들에서, 이들 IP 주소는 공용 IP 주소 공간에서 정의된다. 터널 헤더(860)는 또한, 유입 MFN(850)에서 데이터 메시지와 연관된 임차인 ID를 포함한다. 위에서 언급된 바와 같이, 이 터널 헤더는 또한, 일부 실시예들에서 VCL 헤더 값을 포함한다.
일부 실시예들에서, 유입 CFE(832)는 또한, 유출 CFE(853)로의 원하는 CFE 라우팅 경로에 있는 다음 홉 MFN을 식별한다. 일부 실시예들에서, 유입 CFE(832)는, 유출 CFE(853)의 목적지 IP 주소를 이용함으로써 라우팅 테이블에서 이 다음 홉 CFE를 식별한다. 이 예에서의 다음 홉 MFN CFE는, 제3 공용 클라우드 데이터센터(836)의 제3 MFN(857)의 CFE(856)이다.
다음 홉 MFN CFE를 식별한 후, 유입 MFN CFE는 캡슐화된 데이터 메시지(800)를 VN-홉, 제2 터널 헤더(862)로 캡슐화한다. 이 터널 헤더는 메시지가 다음 홉 CFE(856)로 라우팅되는 것을 허용한다. 이 외측 헤더(862)의 IP 헤더(715)에서, 유입 MFN CFE(832)는, 소스 및 목적지 IP 주소를, 유입 CFE(832)의 소스 IP 및 중간 CFE(856)의 목적지 IP로서 명시한다. 이것은 또한, 일부 실시예들에서 그 계층 4 프로토콜을 UDP인 것으로서 명시한다.
제3 MFN(857)의 CFE(856)가 이중-캡슐화된 데이터 메시지를 수신하면, VN-홉, 제2 터널 헤더(862)를 제거하고, 임차인 헤더(860)로부터, 유출 MFN(855)의 CFE(853)의 목적지 IP 주소를 추출한다. 이 IP 주소는 CFE(856)와 연관되어 있지 않으므로, 데이터 메시지는 목적지에 도달하기 위해 또 다른 MFN으로 여전히 횡단해야 한다. 따라서, CFE(856)는 추출된 목적지 IP 주소를 이용하여 라우팅 테이블에서 다음 홉 MFN CFE(853)를 식별하는 레코드를 식별한다. 이것은, 그 다음, 데이터 메시지를 외측 헤더(705)로 재캡슐화 변경하고, 그 IP 헤더(715)의 소스 및 목적지 IP 주소를 자 자신의 IP 주소 및 MFN CFE(853)의 목적지 IP 주소로서 명시한다. 그 다음, CFE(856)는 공용 클라우드 데이터센터(836 및 838)의 개재하는 라우팅 패브릭을 통해 이중-캡슐화된 데이터 메시지(800)를 유출 CFE(853)에 포워딩한다.
캡슐화된 데이터 메시지를 수신한 후, 유출 CFE(853)는 내측 헤더(860)에서 목적지 IP 주소를 회수할 때는 캡슐화된 메시지가 자신에게 향한다고 결정하고 이 목적지 IP 주소가 자신에 속하는 것으로 결정한다. 유출 CFE(853)는 데이터 메시지(800)로부터 양쪽 모두의 캡슐화 헤더(860 및 862)를 제거하고 데이터 메시지의 원본 헤더에서 목적지 IP 주소를 추출한다. 이 목적지 IP 주소는, 제2 지사의 서브넷에서 제2 머신(804)의 IP 주소를 식별한다.
제거된 임차인 터널 헤더(860) 내의 임차인 ID를 이용하여, 유출 CFE(853)는 검색할 올바른 라우팅 테이블을 식별한 다음, 수신된 데이터 메시지의 원본 헤더 값으로부터 추출된 목적지 IP 주소에 기초하여 이 라우팅 테이블을 검색한다. 이 검색으로부터, 유출 CFE(853)는, 데이터 메시지를 그 목적지로 포워딩하는데 이용할 IPsec 접속을 식별하는 레코드를 식별한다. 그 다음, 이것은, IPsec 접속 식별자와 함께 데이터 메시지를 제2 MFN의 IPsec 게이트웨이(858)에 제공하고, 이 IPsec 게이트웨이(858)는, 이 메시지를 IPsec 터널 헤더(859)로 캡슐화한 다음, 이것을 제2 지사(810)의 IPsec 게이트웨이(854)로 포워딩한다. 그 다음, 게이트웨이(854)는 IPsec 터널 헤더를 제거하고 데이터 메시지를 목적지 머신(804)으로 포워딩한다.
여러 개의 더 상세한 메시지-처리 예들이 이제 도 9 내지 도 15를 참조하여 설명될 것이다. 이들 예에서, 각각의 임차인 IPsec 인터페이스는, VNP 터널에서와 같이, 동일한 로컬 공용 IP 주소에 있다고 가정한다. 따라서, 일부 실시예들에서의 인터페이스는 단일 VRF(virtual routing and forwarding; 가상 라우팅 및 포워딩) 명칭공간에 부착된다. 이 VRF 명칭공간은 이하에서는 VNP 명칭공간이라고 지칭된다.
도 9 내지 도 11은, 임차인의 2개의 상이한 외부 머신 위치(예를 들어, 지사들, 데이터센터들 등)의 2개의 컴퓨팅 디바이스들 사이에서 전송되는 메시지를 수신할 때 유입, 중간 및 유출 MFN들에 의해 각각 수행되는 메시지-처리 프로세스(900-1100)를 나타낸다. 일부 실시예들에서, 제어기 클러스터(160)는, 각각의 이러한 CFE가 임차인의 상이한 데이터 메시지 흐름들에 대한 유입, 중간 및 유출 CFE로서 역할하는 후보일 때, 각각의 MFN의 CFE를 유입, 중간 및 유출 CFE로서 동작하도록 구성한다.
프로세스(900-1100)는 도 8 및 도 12의 2개의 예를 참조하여 아래에서 설명될 것이다. 위에서 언급한 바와 같이, 도 8은 데이터 메시지가 중간 MFN을 거쳐 유출 MFN에 도달하는 때의 한 예를 나타낸다. 도 12는 유입 및 유출 MFN들 사이에 중간 MFN을 포함하지 않는 한 예를 나타낸다. 구체적으로, 이 도면은, 2개의 지사가, 직접 접속된 2개의 MFN(1250 및 1255)을 갖는 2개의 공용 클라우드 데이터센터(1230 및 1238)에 접속될 때, 제1 지사(1205)의 제1 디바이스(1202)로부터 제2 지사(1220)의 제2 디바이스(1210)로 전송되는 데이터 메시지(1200)를 나타낸다. 도시된 바와 같이, 이들 예에서의 MFN들의 CFE들(1232 및 1253)은 각각의 MFN과 연관된 라우팅 동작을 수행한다.
유입 MFN(850 및 1250)의 유입 CFE(예를 들어, 유입 CFE(832 또는 1232))는 일부 실시예들에서 프로세스(900)를 수행한다. 도 9에 도시된 바와 같이, 유입 프로세스(900)는, 수신된 데이터 메시지 내의 IPsec 터널의 식별자(예를 들어, 806 또는 1206)에 기초하여 임차인 라우팅 컨텍스트를 초기에 식별함으로써(905에서) 시작한다. 일부 실시예들에서, IPsec 게이트웨이 또는 다른 MFN 모듈은, IPsec 터널 ID에 대한 임차인 ID를 맵핑 테이블에 저장한다. 특정한 IPsec 터널을 따라 데이터 메시지가 수신될 때마다, IPsec 게이트웨이는 IPsec 터널 ID를 추출하고, 이 게이트웨이 또는 다른 MFN 모듈은, IPsec 터널 ID를 이용하여 맵핑 테이블을 참조하여 연관된 임차인 ID를 식별한다. 임차인 ID를 식별함으로써, 프로세스는 이용할 임차인 라우팅 테이블 또는 VRF 명칭공간의 임차인 부분을 식별한다.
910에서, 프로세스는 식별된 IPsec 터널의 RX(수신) 카운터를 증가시켜 이 데이터 메시지 수신을 감안한다. 그 다음, 915에서, 프로세스는 식별된 임차인 라우팅 컨텍스트에서(예를 들어, VRF 명칭공간의 임차인 부분에서) 경로 조회(예를 들어, 가장 긴 프리픽스 정합, LPM, 조회)를 수행하여 공용 클라우드 데이터센터를 통해 구축된 임차인의 가상 네트워크를 빠져 나가기 위한 유출 인터페이스의 IP 주소를 식별한다. 지부-대-지부 예의 경우, 유출 인터페이스는, 목적지 지부에 접속된 MFN의 유출 CFE(예를 들어, CFE 853 또는 1253)의 IP 주소이다.
920에서, 프로세스는 임차인 터널 헤더(예를 들어, 헤더 860 또는 1260)를 수신된 데이터 메시지에 추가하고, 유입 CFE(예를 들어, 유입 CFE 832 또는 1252)의 소스 IP 주소와 유출 CFE(예를 들어, 유출 CFE 853 또는 1253)의 목적지 IP 주소를 이 터널 헤더 내의 소스 및 목적지 IP 주소로서 내장한다. 임차인 헤더에서, 프로세스는 또한, (905에서 식별된) 임차인 ID를 임차인 헤더에 저장한다. 920에서, 프로세스는 임차인 헤더 외부에 VN-홉 터널 헤더(예를 들어, 헤더 862 또는 1262)를 추가하고 그 IP 주소를 소스 IP 주소로서 이 헤더에 저장한다. 프로세스는 또한, (920에서) VNP 터널 헤더의 UDP 파라미터(예를 들어, UDP 포트)를 명시한다.
그 다음, 925에서, 프로세스는 임차인에 대한 VN-전송 카운터를 증가시켜 이 데이터 메시지의 전송을 감안한다. 930에서, 프로세스는 식별된 VNP 라우팅 컨텍스트에서(예를 들어, VRF 명칭공간의 VNP 부분에서) 경로 조회(예를 들어, LPM 조회)를 수행하여 이 데이터 메시지에 대한 다음 홉 인터페이스를 식별한다. 일부 실시예들에서, 이 경로 조회는 유출 CFE의 목적지 IP에 적어도 부분적으로 기초하는 LPM 조회(예를 들어, VRF 명칭공간의 VNP 부분에서)이다.
935에서, 프로세스는 다음 홉 유출 인터페이스가 유입 CFE의 로컬 인터페이스(예를 들어, 물리적 또는 가상 포트)인지를 결정한다. 만일 그렇다면, 프로세스는 (937에서) VN-홉 외측 터널 헤더 내의 목적지 IP 주소를 915에서 식별된 유출 인터페이스 IP 주소로서 정의한다. 그 다음, 940에서, 프로세스는 이중 캡슐화된 데이터 메시지를 그 로컬 인터페이스에 제공하여 목적지 유출 CFE로 포워딩될 수 있게 한다. 940 이후에, 프로세스(900)는 종료된다.
도 12는, 유입 CFE(1232)가 제1 지사(1205)의 디바이스(1202)로부터 수신하는 데이터 메시지(1200)에 대한 동작(905-940)의 한 예를 나타낸다. 도시된 바와 같이, 이 CFE의 MFN(1250)은, 제1 지사(1205)의 IPsec 게이트웨이(1248)로부터 이 데이터 메시지를 IPsec 캡슐화된 메시지로서 IPsec 게이트웨이(1252)에서 수신한다. 유입 CFE(1232)는, 수신된 메시지(1200)를 (그 IPsec 헤더가 IPsec 게이트웨이(1252)에 의해 제거된 후) VN-홉 터널 헤더(1262) 및 임차인 터널 헤더(1260)로 캡슐화하고, 이 이중 캡슐화된 메시지를 공용 클라우드(1238)의 MFN(1255)의 유출 CFE(1253)에 포워딩한다. 도시된 바와 같이, 양쪽 터널 헤더(1260 및 1262) 모두의 소스 및 목적지 IP 주소는 이 예에서는 동일하다. 이들 2개 세트의 IP 주소들이 동일하다고 가정하면, 일부 실시예들은, 데이터 메시지가 CFE(856) 등의 어떠한 개재 CFE를 통해서도 라우팅되지 않을 때 외측 IP 헤더(1262)를 이용하는 것을 포기한다.
프로세스가, 다음 홉 유출 인터페이스가 유입 CFE의 로컬 인터페이스가 아니라 또 다른 라우터의 목적지 IP 주소인 것으로 (935에서) 결정할 때, 프로세스는, 다음 홉 중간 CFE(예를 들어, 중간 CFE 856)의 목적지 IP 주소를, VN-홉 터널 헤더의 목적지 IP 주소로서 VN-홉 터널 헤더에 (945에서) 내장한다.
그 다음, 950에서, 프로세스는 식별된 VNP 라우팅 컨텍스트에서(예를 들어, VRF 명칭공간의 VNP 부분에서) 또 다른 경로 조회(예를 들어, LPM 조회)를 수행한다. 이번에는, 조회는 VNP 터널 헤더에서 식별된 중간 CFE의 IP 주소에 기초한다. 중간 CFE(예를 들어, CFE 856)는, 유입 CFE(예를 들어, CFE 832)에 대한 가상 네트워크 내의 다음 홉 CFE이므로, 라우팅 테이블은 중간 CFE에 전송된 데이터 메시지에 대한 로컬 인터페이스(예를 들어, 로컬 포트)를 식별한다. 따라서, VNP 라우팅 컨텍스트에서의 이 조회는, 유입 CFE가 (950에서) 이중 캡슐화된 메시지를 제공하는 로컬 인터페이스를 식별한다. 그 다음, 프로세스는 VN-중간 카운터를 (955에서) 증가시켜 이 데이터 메시지의 전송을 감안한다. 955 후에, 프로세스가 종료된다.
도 10은, 유출 MFN의 CFE(예를 들어, CFE 853 또는 1253)가 MFN에 접속된 회사 컴퓨팅 노드(예를 들어, 지사, 데이터센터, 원격 사용자 위치)로 포워딩되어야 하는 데이터 메시지를 수신할 때 일부 실시예들에서 수행하는 프로세스(1000)를 나타낸다. 도시된 바와 같이, 프로세스는 가상 네트워크와 연관된 인터페이스 상에서 데이터 메시지를 (1005에서) 초기에 수신한다. 이 메시지는, VN-홉 터널 헤더(예를 들어, 헤더 862 또는 1262) 및 임차인 터널 헤더(예를 들어, 헤더 860 또는 1260)로 캡슐화된다.
1010에서, 프로세스는 VN-홉 터널 헤더 내의 목적지 IP 주소가 그 CFE의 목적지 IP 주소(예를 들어, CFE 853 또는 1253의 IP 주소)라고 결정한다. 그 다음, 1015에서 프로세스는 2개의 터널 헤더를 제거했다. 그 다음, 프로세스는 제거된 임차인 터널 헤더로부터 임차인 ID를 회수한다(1020에서). 수신된 데이터 메시지를 감안하기 위해, CFE는, 그 다음, 추출된 임차인 ID에 의해 명시된 임차인에 대해 유지하는 RX(수신) 카운터를 증가시킨다(1025에서).
그 다음, 1030에서, 프로세스는, 이 데이터 메시지의 다음 홉 인터페이스를 식별하기 위해 식별된 임차인 라우팅 컨텍스트에서(즉, 1020에서 추출된 임차인 ID에 의해 식별된 임차인의 라우팅 컨텍스트에서) 경로 조회(예를 들어, LPM 조회)를 수행한다. 프로세스는, 일부 실시예들에서, 수신된 데이터 메시지의 원본 헤더(예를 들어, 헤더 755) 내의 목적지 IP 주소에 기초하여 이 조회를 수행한다. 이 조회를 통해 식별된 레코드로부터, 프로세스(1000)는 데이터 메시지가 그 목적지에 전송되기 위해 거쳐야 할 IPsec 인터페이스를 식별한다. 따라서, 프로세스(1000)는, 캡슐화해제된 수신된 데이터 메시지를 그 MFN의 IPsec 게이트웨이(예를 들어, 게이트웨이 858 또는 1258)에 전송한다.
그 다음, 이 게이트웨이는 데이터 메시지를 IPsec 터널 헤더(예를 들어, 터널 헤더 859 또는 1259)로 캡슐화하고 이것을 목적지 회사 컴퓨팅 노드(예를 들어, 목적지 지사)의 게이트웨이(예를 들어, 게이트웨이 854 또는 1254)로 포워딩하며, 여기서, 이것은 캡슐화해제되어 그 목적지로 포워딩된다. 1030 후에, CFE 또는 그 MFN은, 목적지 회사 컴퓨팅 노드로의 IPsec 접속(예를 들어, 게이트웨이들 854 및 858 사이, 또는 게이트웨이들 1254 및 1258 사이의 IPsec 접속)을 따라 메시지를 전송하기 위해 유지하는 카운터를 (1035에서) 증가시킨다.
도 11은 중간 MFN의 CFE(예를 들어, CFE 856)가, 또 다른 MFN의 또 다른 CFE로 포워딩되어야 하는 데이터 메시지를 수신할 때 일부 실시예들에서 수행하는 프로세스(1100)를 나타낸다. 도시된 바와 같이, 프로세스는 가상 네트워크와 연관된 인터페이스 상에서 데이터 메시지를 (1105에서) 초기에 수신한다. 일부 실시예들에서, 이 메시지는, 2개의 터널 헤더, 즉, VN-터널 헤더(예를 들어, 헤더 862) 및 임차인 터널 헤더(예를 들어, 헤더 860)로 캡슐화된다.
1110에서, 프로세스는, 이 터널 헤더 내의 목적지 IP 주소가 CFE의 목적지 IP 주소라고(예를 들어, CFE(856)의 목적지 IP 주소라고) 결정할 때 VN-홉 터널을 종료한다. 그 다음, 1115에서, 프로세스는 VN-홉 터널 헤더가 올바른 UDP 포트를 명시하는지를 결정한다. 그렇지 않으면, 프로세스는 종료된다. 그외의 경우, 1120에서, 프로세스는 VN-홉 터널 헤더를 제거한다. 수신된 데이터 메시지를 감안하기 위해, CFE는, 그 다음, 중간 홉 CFE로서 수신한 메시지들의 수를 정량화하기 위해 유지하는 RX(수신) 카운터를 (1125에서) 증가시킨다.
1130에서, 프로세스는 식별된 VNP 라우팅 컨텍스트에서(예를 들어, VRF 명칭공간의 VNP 부분에서) 경로 조회(예를 들어, LPM 조회)를 수행하여 이 데이터 메시지에 대한 다음 홉 인터페이스를 식별한다. 일부 실시예들에서, 이 경로 조회는, 내측 임차인 터널 헤더에서 식별되는 유출 CFE의 목적지 IP에 적어도 부분적으로 기초하는 (예를 들어, VRF 명칭공간의 VNP 명칭공간에서의) LPM 조회이다.
그 다음, 프로세스는 다음 홉 유출 인터페이스가 중간 CFE의 로컬 인터페이스인지를 결정한다(1135에서). 만일 그렇다면, 프로세스는 (1140에서) VN-홉 터널 헤더를 데이터 메시지에 추가하고, 이 데이터 메시지는 임차인 터널 헤더로 이미 캡슐화되어 있다. 프로세스는, (1142에서), VN-홉 터널 헤더 내의 목적지 IP 주소를, 임차인 터널 헤더에 명시된 유출 CFE의 목적지 IP 주소로 설정한다. 이것은 또한, (1142에서) VN-홉 터널 헤더 내의 소스 IP 주소를 그 CFE의 IP 주소로 설정한다. 이 터널 헤더에서, 프로세스는 또한, UDP 속성(예를 들어, UDP 포트 등)도 설정한다.
그 다음, 1144에서, 프로세스는 이중 캡슐화된 데이터 메시지를 (1130에서 식별된) 그 로컬 인터페이스에 제공하여 목적지 유출 CFE로 포워딩될 수 있게 한다. 이 VN-홉 터널 캡슐화해제 및 포워딩의 한 예는, 도 8의 CFE(856)의 동작들을 참조하여 위에서 설명되었다. 수신된 데이터 메시지를 감안하기 위해, CFE는, 그 다음, 중간 홉 CFE로서 전송한 메시지들의 수를 정량화하기 위해 유지하는 TX(전송) 카운터를 (1146에서) 증가시킨다. 1146 이후에, 프로세스(1100)는 종료된다.
반면, 프로세스가, 다음 홉 유출 인터페이스가 그 CFE의 로컬 인터페이스가 아니라 또 다른 라우터의 목적지 IP 주소라고 (1135에서) 결정하면, 프로세스는 (1150에서) 이전에 VN-홉 터널 헤더를 제거한 데이터 메시지에 VN-홉 터널 헤더를 추가한다. 새로운 VN-홉 터널 헤더에서, 프로세스(1100)는, 그 CFE의 소스 IP 주소 및 다음 홉 중간 CFE의 (1130에서 식별된) 목적지 IP 주소를, VN-홉 터널 헤더의 소스 및 목적지 IP 주소로서 (1150에서) 내장한다. 이 VNP 터널 헤더는 또한, UDP 목적지 포트가 있는 UDP 계층 4 프로토콜을 명시한다.
그 다음, 1155에서, 프로세스는 식별된 VNP 라우팅 컨텍스트에서(예를 들어, VRF 명칭공간의 VNP 부분에서) 또 다른 경로 조회(예를 들어, LPM 조회)를 수행한다. 이번에는, 조회는 새로운 VN-홉 터널 헤더에서 식별된 다음 홉 중간 CFE의 IP 주소에 기초한다. 이 중간 CFE는 가상 네트워크 내의 현재의 중간 CFE의 다음-홉이므로, 라우팅 테이블은 다음-홉 중간 CFE에 전송된 데이터 메시지에 대한 로컬 인터페이스를 식별한다. 따라서, VNP 라우팅 컨텍스트에서 이 조회는, 현재의 중간 CFE가 이중 캡슐화된 메시지를 제공하는 로컬 인터페이스를 식별한다. 그 다음, 프로세스는 VN-중간 TX(전송) 카운터를 (1160에서) 증가시켜 이 데이터 메시지의 전송을 감안한다. 1160 후에, 프로세스가 종료된다.
도 13은, (예를 들어, 지사 내의) 임차인의 회사 컴퓨팅 디바이스로부터 (예를 들어, 또 다른 지사, 임차인 데이터센터 또는 SaaS 제공자 데이터센터 내의) 또 다른 임차인 머신에 전송된 임차인에 대한 메시지를 수신할 때 유입 MFN의 CFE에 의해 수행되는 메시지-처리 프로세스(1300)를 나타낸다. 도 9의 프로세스(900)는 이하에서 더 설명되는 바와 같이 이 프로세스(1300)의 서브세트이다. 도 13에 도시된 바와 같이, 프로세스(1300)는 인입 IPsec 터널의 식별자에 기초하여 임차인 라우팅 컨텍스트를 (905에서) 초기에 식별함으로써 시작한다.
1310에서, 프로세스는, 수신된 데이터 메시지의 헤더 내의 소스 및 목적지 IP 주소 양쪽 모두가 공용 IP 주소인지를 결정한다. 그렇다면, 프로세스는 (1315에서) 데이터 메시지를 삭제하고 수신된 데이터 메시지의 IPsec 터널에 대해 유지하는 누락 카운터(drop counter)를 증가시킨다. 1315에서, 프로세스는 임차인의 IPsec 터널을 통해 메시지를 수신할 때 공용 IP 주소에 및 공용 IP 주소로부터 어드레싱된 메시지를 수신하고 있지 않아야 하므로 카운터를 누락한다. 일부 실시예들에서, 프로세스(1300)는 또한, ICMP 에러 메시지를 소스 회사 컴퓨팅 머신에 다시 전송한다.
한편, 프로세스가, 데이터 메시지가 공용 IP 주소로부터 나와 또 다른 공용 IP 주소로 가고 있지 않다고 (1310에서) 결정하면, 프로세스는, 수신된 데이터 메시지의 헤더 내의 목적지 IP 주소가 공용 IP 주소인지를 (1320에서) 결정한다. 만일 그렇다면, 프로세스는, 프로세스(1300)의 시작에서 수행된 동작(905)을 제외하고, 도 9의 프로세스(900)를 수행하기 위해 1325로 천이한다. 1325 이후에, 프로세스(1300)는 종료된다. 한편, 프로세스(1300)가 수신된 데이터 메시지의 헤더 내의 목적지 IP 주소가 공용 IP 주소가 아니라고 (1320에서) 결정하면, 프로세스는 식별된 IPsec 터널의 RX(수신) 카운터를 (1330에서) 증가시켜 이 데이터 메시지의 수신을 감안한다.
그 다음, 프로세스(1300)는, 식별된 임차인 라우팅 컨텍스트에서(예를 들어, VRF 명칭공간의 임차인 부분에서) 경로 조회(예를 들어, LPM 조회)를 (1335에서) 수행한다. 이 조회는, 공용 클라우드 데이터센터를 통해 구축된 임차인의 가상 네트워크를 빠져 나오기 위한 유출 인터페이스의 IP 주소를 식별한다. 도 13에 도시된 예에서, 프로세스(1300)는, 데이터 메시지가 SaaS 제공자 데이터센터 내의 머신을 위한 것일 때 조회 동작(1335)에 도달한다. 따라서, 이 조회는 임차인의 가상 네트워크를 벗어나 SaaS 제공자 머신에 도달하기 위한 유출 라우터의 IP 주소를 식별한다. 일부 실시예들에서, 모든 SaaS 제공자 경로들은, 하나의 경로 테이블에 또는 VRF 명칭공간의 한 부분에 설치되는 반면, 다른 실시예들에서는 상이한 SaaS 제공자들에 대한 경로들은 상이한 경로 테이블들에 또는 상이한 VRF 명칭공간 부분들에 저장된다.
1340에서, 프로세스는, 수신된 데이터 메시지에 임차인 터널 헤더를 추가하고, 유입 CFE의 소스 IP 주소 및 유출 라우터의 목적지 IP 주소를, 이 터널 헤더의 소스 및 목적지 IP 주소로서 내장한다. 그 다음, 1345에서, 프로세스는 임차인에 대한 VN-전송 카운터를 증가시켜 이 데이터 메시지의 전송을 감안한다. 1350에서, 프로세스는, VNP 라우팅 컨텍스트에서(예를 들어, VRF 명칭공간의 VNP 부분에서)에서 경로 조회(예를 들어, LPM 조회)를 수행하여 그 로컬 인터페이스들 중 하나를 이 데이터 메시지에 대한 다음 홉 인터페이스로서 식별한다. 다음 홉이 (예를 들어, 다른 공용 클라우드 데이터센터 내의) 또 다른 CFE일 때, 일부 실시예들에서의 프로세스는 또한, 데이터 메시지를 VN-홉 헤더로 캡슐화하고, 그 CFE의 IP 주소 및 다른 CFE의 IP 주소를 VN-홉 헤더의 소스 및 목적지 주소로서 내장한다. 1355에서, 프로세스는 캡슐화된 데이터 메시지를 그 식별된 로컬 인터페이스에 제공하여 데이터 메시지가 유출 라우터로 포워딩될 수 있게 한다. 1355 이후에, 프로세스(1300)는 종료된다.
일부 경우에, 유입 MFN은, 그 CFE가 또 다른 MFN의 CFE를 거치지 않고 데이터 메시지의 목적지 머신으로 직접 포워딩할 수 있는 임차인에 대한 데이터 메시지를 수신할 수 있다. 일부 이러한 경우에, CFE가 임의의 임차인 특유의 정보를 임의의 다른 후속 VN 처리 모듈에 중계할 필요가 없거나 필요한 정보가 다른 메커니즘을 통해 후속 VN 처리 모듈에 제공될 수 있을 때 데이터 메시지는 임차인 헤더 또는 VN-홉 헤더로 캡슐화될 필요가 없다.
예를 들어, 임차인의 데이터 메시지를 외부 SaaS 제공자 데이터센터로 직접 포워딩하기 위해, 유입 MFN의 NAT 엔진(215)은, 이하에서 더 설명되는 바와 같이, 임차인 식별자에 기초하여 NAT 동작을 수행해야 할 것이다. 유입 MFN 내의 유입 CFE 또는 다른 모듈은, 임차인 식별자를 유입 MFN의 연관된 NAT 엔진(215)에 제공해야 한다. 유입 CFE 및 NAT 엔진이 동일한 컴퓨터에서 실행될 때, 일부 실시예들은 이 정보를 공유된 메모리 위치에 저장함으로써 이들 2개의 모듈들 사이에서 이 정보를 공유한다. 반면, CFE와 NAT 엔진이 동일한 컴퓨터에서 실행되지 않을 때, 일부 실시예들은 다른 메커니즘(예를 들어, 대역외 통신)을 이용하여 유입 CFE와 NAT 엔진 사이에서 임차인 ID를 공유한다. 그러나, 이러한 경우에, 다른 실시예들은 임차인 ID를 저장하고 유입 MFN의 상이한 모듈들 사이에서 이것을 공유하기 위해 캡슐화 헤더를 이용한다(즉, 대역내 통신을 이용한다).
아래에 더 설명되는 바와 같이, 일부 실시예들은, 임차인의 가상 네트워크 외부로 메시지를 전송하기 전에 데이터 메시지의 소스 IP/포트 주소에 관해 하나 또는 2개의 소스 NAT 동작을 수행한다. 도 14는 유출 라우터에서 수행되는 NAT 동작을 나타낸다. 그러나, 아래에 더 설명되는 바와 같이, 일부 실시예들은 유입 라우터에서 데이터 메시지에 대해 또 다른 NAT 동작을 수행하지만, 이러한 여분의 NAT 동작은 도 13을 참조하여 위에서 설명되지 않았다.
도 14는, 유출 라우터가 인터넷을 통해 SaaS 제공자 데이터센터에 포워딩되어야 하는 데이터 메시지를 수신할 때 일부 실시예들에서 수행하는 프로세스(1400)를 나타낸다. 도시된 바와 같이, 프로세스는 가상 네트워크와 연관된 인터페이스 상에서 데이터 메시지를 (1405에서) 초기에 수신한다. 이 메시지는 임차인 터널 헤더로 캡슐화된다.
1410에서, 프로세스는 이 터널 헤더 내의 목적지 IP 주소가 그 라우터의 목적지 IP 주소라고 결정하고, 따라서 임차인 터널 헤더를 제거한다. 그 다음, 프로세스는 제거된 터널 헤더로부터 임차인 ID를 회수한다(1415에서). 수신된 데이터 메시지를 감안하기 위해, 프로세스는, 추출된 임차인 ID에 의해 명시된 임차인에 대해 유지하는 RX(수신) 카운터를 증가시킨다(1420에서).
그 다음, 1425에서, 프로세스는, 데이터 메시지의 원본 헤더의 목적지 IP가 유출 라우터의 로컬 인터페이스(예를 들어, 로컬 포트)를 통해 도달가능한 공용 IP인지를 결정한다. 이 로컬 인터페이스는 VNP 터널과 연관되지 않은 인터페이스이다. 그렇지 않으면, 프로세스는 종료된다. 그 외의 경우, 프로세스는 이 메시지의 헤더 내의 데이터 메시지의 소스 IP/포트 주소를 변경하기 위해 소스 NAT 동작을 (1430에서) 수행한다. NAT 동작 및 이 동작을 수행하는 이유는, 도 16 및 도 17을 참조하여 아래에서 더 설명될 것이다.
1430 이후에, 프로세스는, 인터넷 라우팅 컨텍스트에서(즉, 라우팅 데이터의 인터넷 라우팅 부분, 예를 들어 라우터의 인터넷 VRF 명칭공간에서) 경로 조회(예를 들어, LPM 조회)를 (1435에서) 수행하여 이 데이터 메시지의 다음 홉 인터페이스를 식별한다. 프로세스는, 일부 실시예들에서, 수신된 데이터 메시지의 원본 헤더의 목적지 네트워크 주소(예를 들어, 목적지 IP 주소)에 기초하여 이 조회를 수행한다. 이 조회를 통해 식별된 레코드로부터, 프로세스(1400)는 데이터 메시지가 그 목적지에 전송되기 위해 거쳐야 할 로컬 인터페이스를 식별한다. 따라서, 1435에서, 프로세스(1400)는, 목적지로 포워딩하기 위해 소스 네트워크-주소 변환된 데이터 메시지를 그 식별된 로컬 인터페이스에 제공한다. 1435 이후, 프로세스는 메시지를 SaaS 제공자에게 전송하기 위해 유지하는 카운터를 (1440에서) 증가시킨 다음, 종료한다.
도 15는 SaaS 제공자 머신으로부터 임차인 머신으로 전송되는 메시지를 수신하는 유입 라우터에 의해 수행되는 메시지-처리 프로세스(1500)를 나타낸다. 도시된 바와 같이, 유입 프로세스(1500)는, 여러개의 또는 모든 SaaS 제공자 통신에 이용되는 공용 IP 주소를 갖는 전용 입력 인터페이스 상에서 데이터 메시지를 (1505에서) 초기에 수신함으로써 시작한다. 일부 실시예들에서, 이 입력 인터페이스는, 가상 네트워크와 통신하는데 이용되는 것과는 상이한 IP 주소를 갖는 상이한 인터페이스이다.
메시지를 수신한 후, 프로세스는, 수신된 데이터 메시지의 헤더에 포함된 목적지 IP 주소를 이용함으로써 공용 인터넷 라우팅 컨텍스트에서 경로 조회를 (1510에서) 수행한다. 이 조회에 기초하여, 프로세스는, 목적지 IP 주소가 로컬이고 인에이블된 NAT 동작과 연관되어 있는지를 (1515에서) 결정한다. 그렇지 않으면, 프로세스는 종료된다. 그외의 경우, 프로세스는 (1520에서) 인터넷 RX(수신) 카운터를 증가시켜 데이터 메시지 수신을 감안한다.
그 다음, 1525에서, 프로세스는, 데이터 메시지의 목적지 IP/포트 주소를 가상 네트워크가 특정한 임차인과 연관시키는 새로운 목적지 IP/포트 주소로 변환하는 역방향 NAT 동작을 수행한다. 이 NAT 동작은 또한, 임차인 ID를 생성한다(예를 들어, 임차인 ID를 변환된 목적지 IP와 연관시키는 맵핑 테이블로부터 임차인 ID를 회수하거나, 새로운 목적지 IP/포트 주소를 획득하는데 이용되는 동일한 맵핑 테이블로부터 임차인 ID를 회수한다). 일부 실시예들에서, 프로세스(1500)는, 프로세스(1400)가 (1430에서) SNAT 동작을 수행하여 (1525에서) 역방향 NAT 동작을 수행할 때 생성된 접속 레코드를 이용한다. 이 접속 레코드는, SNAT 및 DNAT 동작에 의해 이용되는 내부 및 외부 IP/포트 주소들 사이의 맵핑을 포함한다.
변환된 목적지 네트워크 주소에 기초하여, 프로세스는, 식별된 임차인 라우팅 컨텍스트에서(즉, 임차인 ID에 의해 명시된 라우팅 컨텍스트에서) 경로 조회(예를 들어, LPM 조회)를 (1530에서) 수행하여 임차인의 가상 네트워크를 벗어나 (예를 들어, 지사 내의) 회사 컴퓨팅 노드의 임차인 머신에 도달하기 위한 유출 인터페이스의 IP 주소를 식별한다. 이 유출 인터페이스는, 일부 실시예들에서 유출 MFN의 유출 CFE의 IP 주소이다. 1530에서, 프로세스는, 수신된 데이터 메시지에 임차인 터널 헤더를 추가하고, 유입 라우터의 IP 주소 및 유출 CFE IP 주소를, 이 터널 헤더의 소스 및 목적지 IP 주소로서 내장한다. 그 다음, 1535에서, 프로세스는 임차인에 대한 VN-전송 카운터를 증가시켜 이 데이터 메시지의 전송을 감안한다.
1540에서, 프로세스는, 식별된 VNP 라우팅 컨텍스트에서(예를 들어, 라우터의 VRF 명칭공간에서와 같이, 라우팅 데이터의 VNP 부분에서) 경로 조회(예를 들어, LPM 조회)를 수행하여 유입 라우터가 캡슐화된 메시지를 제공하는 그 로컬 인터페이스(예를 들어, 그 물리적 또는 가상 포트)를 식별한다. 그 다음, 프로세스는, 수신된 데이터 메시지에 VN-홉 헤더를 (1540에서) 추가하고, 유입 라우터의 IP 주소 및 다음 홉 CFE의 IP 주소를 이 VN-홉 헤더의 소스 및 목적지 IP 주소로서 내장한다. 1555 후에, 프로세스가 종료된다.
위에서 언급한 바와 같이, 일부 실시예들에서의 MFN은, 가상 네트워크 내로의 및 외부로의 데이터 메시지의 유입 및/또는 유출 경로에서 NAT 동작을 수행하는 NAT 엔진(215)을 포함한다. NAT 동작은 오늘날 많은 상황에서 및 많은 디바이스(예를 들어, 라우터, 방화벽 등)에 의해 흔하게 수행된다. 예를 들어, NAT 동작은, 전형적으로, 트래픽이 사설 네트워크를 빠져 나와 내부 IP 주소 공간을 인터넷에서 이용되는 규제된 공용 IP 주소 공간으로부터 분리할 때 수행된다. NAT 동작은 전형적으로 한 IP 주소를 또 다른 IP 주소에 맵핑한다.
인터넷에 접속된 컴퓨터들이 확산됨에 따라, 컴퓨터의 수가 이용가능한 IP 주소의 수를 초과할 것이라는 것이 해결과제이다. 불행히도, 4,294,967,296개의 가능한 고유한 주소가 있지만, 각각의 컴퓨터에 대해 고유한 공용 IP 주소를 할당하는 것은 이미 실용적이지 않다. 해결 방법 중 하나는, 사설 네트워크의 엣지 지점에 있는 라우터에만 공용 IP 주소를 할당하는 반면, 네트워크 내부의 다른 디바이스들은 그들의 내부 사설 네트워크에서만 고유한 주소를 갖는 것이다. 한 디바이스가 그 내부 사설 네트워크 외부의 디바이스와 통신하기를 원할 때, 그 트래픽은 전형적으로, NAT 동작을 수행하여 이 트래픽의 소스 IP를 인터넷 게이트웨이의 공용 소스 IP 주소로 대체하는 인터넷 게이트웨이를 통과한다.
사설 네트워크의 인터넷 게이트웨이는 인터넷 상에서 등록된 공용 주소를 얻지만, 이 게이트웨이에 접속된 사설 네트워크 내부의 각각의 디바이스는 등록되지 않은 사설 주소를 수신한다. 내부 사설 네트워크의 사설 주소는 임의의 범위의 IP 주소일 수 있다. 그러나 IETF(Internet Engineering Task Force)는 사설 네트워크가 이용할 여러 범위의 사설 주소들을 제안했다. 이들 범위는 일반적으로 공용 인터넷 상에서는 이용할 수 없어서, 라우터가 사설 주소와 공용 주소를 용이하게 구별할 수 있게 한다. 이들 사설 주소들의 범위는 RFC 1918로서 알려져 있고, 다음과 같다: (1) 클래스 A 10.0.0.0 - 10.255.255.255, (2) 클래스 B 172.16.0.0 - 172.31.255.255 및 (3) 클래스 C 192.168.0.0 - 192.168.255.255.
외부 디바이스들이 동일한 내부 IP 주소들을 이용하는 상이한 사설 네트워크들 내의 상이한 디바이스들을 구별할 수 있도록, 사설 네트워크를 빠져 나가는 데이터 메시지 흐름에 관해 소스 IP 변환을 수행하는 것이 중요하다. 외부 디바이스가 사설 네트워크 내부의 디바이스에 응답 메시지를 전송해야 할 때, 그 외부 디바이스는 인터넷 상의 고유하고 라우팅가능한 공용 주소로 그 응답을 전송해야 한다. 이것은 수많은 사설 네트워크의 수많은 디바이스에 의해 이용되는 내부 디바이스의 원본 IP 주소를 이용할 수 없다. 외부 디바이스는, 원래의 NAT 동작이 내부 디바이스의 사설 소스 IP 주소를 대체하는데 이용한 공용 IP 주소로 그 응답을 전송한다. 이 응답 메시지를 수신한 후, 사설 네트워크(예를 들어, 네트워크의 게이트웨이)는 또 다른 NAT 동작을 수행하여 응답 내의 공용 목적지 IP 주소를 내부 디바이스의 IP 주소로 대체한다.
사설 네트워크 내부의 많은 디바이스들 및 이들 디바이스들 상에서 실행되는 많은 애플리케이션들은, 사설 네트워크와 연관된 하나 또는 유한한 개수의 공용 IP 주소를 공유해야 한다. 따라서, NAT 동작은 전형적으로 또한, 계층 4 포트 주소(예를 들어, UDP 주소, TCP 주소, RTP 주소 등)를 변환하여 외부 메시지 흐름을 상이한 내부 머신들 및/또는 이들 내부 머신들 상의 상이한 애플리케이션들에서 시작하거나 종료하는 내부 메시지 흐름과 고유하게 연관시킬 수 있다. NAT 동작들은 또한, 많은 상황에서 이들 동작들이 접속을 추적하고, 테이블, 메시지 재조립, 타임아웃, 만료된 추적된 접속의 강제 종료 등을 동적으로 처리할 필요가 있기 때문에, 종종 상태유지 동작(stateful operation)이다.
앞서 언급된 바와 같이, 일부 실시예들의 가상 네트워크 제공자는 복수의 공용 클라우드를 통해 상이한 임차인들에게 가상 네트워크를 서비스로서 제공한다. 이들 임차인들은 그들의 사설 네트워크에서 공통 IP 주소들을 이용할 수 있고, 가상 네트워크 제공자의 공통 세트의 네트워크 자원들(예를 들어, 공용 IP 주소들)을 공유한다. 일부 실시예들에서, 상이한 임차인들의 데이터 트래픽은, 터널들을 통해 오버레이 네트워크의 CFE들 사이에서 운반되고 터널은 각각의 메시지를 고유한 임차인 ID로 마킹한다. 이들 임차인 식별자들은, 사설 임차인 IP 공간들이 중첩되는 때에도 메시지가 소스 디바이스에 다시 전송되는 것을 허용한다. 예를 들어, 임차인 식별자는, 소스 주소 10.5.12.1을 갖는 임차인(17)의 지사로부터 Amazon.com으로 전송된 메시지가, 동일한 소스 주소를 갖는(및 심지어 동일한 소스 포트 번호, 55331을 갖는) 임차인(235)의 지사로부터 Amazon.com으로 전송된 메시지와 구별되는 것을 허용한다.
RFC 1631에 따라 구현된 표준 NAT는 임차의 개념을 지원하지 않으므로, 결과적으로 동일한 사설 IP 주소를 가진 2개의 메시지를 구별할 방법이 없다. 그러나, 일부 실시예들의 많은 가상 네트워크 배치에서, 오늘날 많은 성숙한 오픈-소스 고성능 구현이 존재하기 때문에 표준 NAT 엔진을 이용하는 것이 유리하다. 사실상, 오늘날 많은 Linux 커널들은 NAT 엔진을 표준 피처로서 기능시키고 있다.
임차인 가상 네트워크의 상이한 임차인들에 대해 표준 NAT 엔진을 이용하기 위하여, 일부 실시예들의 가상 네트워크 제공자는 표준 NAT 엔진을 이용하기 전에 임차-맵핑(tenancy-mapping)(TM) 엔진을 이용한다. 도 16은, 인터넷으로의 가상 네트워크의 유출 경로에 있는 각각의 가상-네트워크 게이트웨이(1602)에 배치된 이러한 TM 엔진(1605)을 나타낸다. 도시된 바와 같이, 각각의 TM 엔진(1605)은, 인터넷(1625)을 통한 SaaS 제공자 데이터센터(1620)로의 메시지 유출 경로에서 NAT 엔진(1610) 앞에 배치된다. 일부 실시예들에서, MFN의 각각의 NAT 엔진(215)은, TM 엔진(TM 엔진(1605) 등) 및 표준 NAT 엔진(NAT 엔진(1610) 등의)을 포함한다.
도 16에 도시된 예에서, 메시지 흐름은 2개의 가상-네트워크 임차인들의 2개의 지사(1655 및 1660) 및 한 데이터센터(1665)로부터 나왔고, 동일한 유입 게이트웨이(1670)를 통해 가상 네트워크(1600)로 들어가지만, 이것은 반드시 그래야 할 필요는 없다. 일부 실시예들에서의 가상 네트워크(1600)는, 복수의 공용 클라우드 벤더의 복수의 공용 클라우드 데이터센터를 통해 정의된다. 일부 실시예들에서, 가상-네트워크 게이트웨이는 관리형 포워딩 노드의 일부이고, TM 엔진은 유출 MFN에서 NAT 엔진(1610) 앞에 배치된다.
데이터 메시지가 SaaS 제공자 데이터센터(1620)로 가는 도중에 가상 네트워크를 빠져 나가기 위해 유출 게이트웨이(1602)에 도달할 때, 각각의 TM 엔진(1605)은 이들 데이터 메시지들의 소스 네트워크 주소(예를 들어, 소스 IP 및/또는 포트 주소)를 새로운 소스 네트워크 주소(예를 들어, 소스 IP 및/또는 포트 주소)로 맵핑하고, NAT 엔진(1610)은 새로운 소스 네트워크 주소를 역시 또 다른 소스 네트워크 주소(예를 들어, 또 다른 소스 IP 및/또는 포트 주소)에 맵핑한다. 일부 실시예들에서, TM 엔진은 상태유지 없는 요소(stateless element)이고, 어떠한 동적 데이터 구조도 살피지않고 정적 테이블을 통해 각각의 메시지에 대한 맵핑을 수행한다. 상태유지 없는 요소로서, TM 엔진은, 데이터 메시지 흐름의 후속 메시지를 처리하기 위해 주소 맵핑을 수행하는데 있어서 이 접속 레코드를 이용하기 위하여 데이터 메시지 흐름 중 제1 데이터 메시지를 처리할 때 접속 레코드를 생성하지 않는다.
반면, 일부 실시예들에서의 NAT 엔진(1605)은, 그 이전의 SNAT 맵핑을 반영하는 접속 레코드를 저장하는 접속 스토리지를 참조하여 맵핑을 수행하는 상태유지 요소이다. NAT 엔진이 데이터 메시지를 수신할 때, 일부 실시예들에서의 이 엔진은 먼저, 접속 스토리지를 체크하여 수신된 메시지의 흐름에 대한 접속 레코드를 이전에 생성했는지를 결정한다. 만일 그렇다면, NAT 엔진은 이 레코드에 포함된 맵핑을 이용하여 SNAT 동작을 수행한다. 그외의 경우, 새로운 데이터 메시지 흐름에 대한 새로운 주소 맵핑을 도출하는데 이용하는 한 세트의 기준에 기초하여 SNAT 동작을 수행한다. 이를 위해, 일부 실시예들에서의 NAT 엔진은 일반적인 네트워크 주소 변환 기술을 이용한다.
일부 실시예들에서, NAT 엔진은 또한, 응답 데이터 메시지를 원래의 메시지를 전송한 임차인 머신에 포워딩하기 위해 DNAT 동작을 수행하기 위하여, SaaS 제공자 머신으로부터 응답 데이터 메시지를 수신할 때 일부 실시예들에서 접속 스토리지를 이용할 수 있다. 일부 실시예들에서, 각각의 처리된 데이터 메시지 흐름에 대한 접속 레코드는, 그 흐름의 식별자(예를 들어, 변환된 소스 네트워크 주소를 갖는 5개의 튜플 식별자)를 포함하는 레코드 식별자를 갖는다.
맵핑을 수행함에 있어서, TM 엔진은, 동일한 소스 IP 및 포트 주소를 이용하는 상이한 임차인들로부터의 데이터 메시지 흐름들이 고유의 중첩되지 않는 주소 공간에 맵핑되는 것을 보장한다. 각각의 메시지에 대해, TM 엔진은 임차인 ID를 식별하고 이 식별자에 기초하여 주소 맵핑을 수행한다. 일부 실시예들에서, TM 엔진은, 상이한 임차인들로부터의 임의의 2개의 메시지가 동일한 IP 주소에 맵핑되지 않도록, 상이한 임차인들의 소스 IP 주소들을 상이한 IP 범위들로 맵핑한다.
결과적으로, 상이한 임차인 ID를 갖는 각각의 네트워크 유형은, IP 주소의 전체 232개 지역(0.0.0.0-255.255.255.255) 내의 고유한 주소로 맵핑될 것이다. 클래스 A 및 B 네트워크는, 클래스 C 네트워크보다 256 및 16배 더 많은 가능한 IP 주소를 갖는다. 클래스 A, B 및 C 네트워크들의 크기 비율을 고려하면, 256개의 클래스 A 네트워크는 다음과 같이 할당될 수 있다: (1) 240개는 240개 임차인을 클래스 A 네트워크와 맵핑, (2) 15개는 240개 임차인을 클래스 B 네트워크와 맵핑, 및 (3) 단일의 클래스 A 네트워크는 240개 임차인을 클래스 C 네트워크와 맵핑. 더 구체적으로는, 일부 실시예들에서, (0.x.x.x/24에서 시작하여, 1.x.x.x/24 ... 239.x.x.x/24까지의) 가장 낮은 범위의 클래스 A 네트워크들은, 10.x 클래스 A 네트워크로부터 나오는 주소들을 240개의 상이한 타겟 클래스 A 네트워크들에 맵핑하는데 이용될 것이다. 다음 15개의 클래스 A 네트워크 240.x.x.x/24 내지 254.x.x.x/24 각각은, 각각의 16개의 클래스 B 네트워크를 포함하는데 이용될 것이다(예를 들어, 총 240개의 네트워크(15*16)에 대해). 마지막 클래스 A 네트워크 255.x.x.x/24는 최대 256개의 사설 클래스 C 네트워크를 포함하는데 이용될 것이다. 256개의 임차인이 맞을 수 있지만, 240개만 이용되고 16개의 클래스 C 네트워크는 이용되지 않는다. 요약하면, 일부 실시예들은 다음과 같은 맵핑을 이용한다:
● 10.x.x.x/24 네트워크들 -> 1.x.x.x/24-239.x.x.x/24는, 각각의 임차인에 대해 240개의 상이한 맵핑을 야기한다;
● 172.16-31.x.x/12 네트워크들 -> 240.x.x.x/24-254.x.x.x/24는, 각각의 임차인에 대해 240개의 상이한 맵핑을 야기한다;
● 192.168.x.x/16 -> 255.x.x.x/24 네트워크들은, 각각의 임차인에 대해 256개의 가능한 맵핑 중 240개를 야기한다.
전술된 방식은, 어떤 유형의 네트워크 클래스를 임차인이 이용할지를 미리 알지 못한다고 가정할 때, 최대 240개의 임차인을 지원할 수 있다. 일부 실시예들에서, 공용 클라우드 네트워크는 사설 IP 주소를 이용한다. 이러한 경우, 다시 사설 주소 공간에 맵핑하지 않는 것이 바람직하다. 일부 실시예들은 클래스 A 네트워크 및 클래스 B 네트워크를 제거함에 따라, 이들 실시예에서 지원될 수 있는 단지 239개의 상이한 임차인들만이 존재한다. 고유한 맵핑을 달성하기 위해, 일부 실시예들은 모든 임차인 ID들을 1 내지 239까지 넘버링한 다음, 임차인 ID(8 비트로 표현됨) 모듈로 240에 대한 사설 도메인의 마스킹되지 않은 부분의 최하위 8 비트에 더한다. 이 경우, 클래스 A 주소에 대해, 제1 임차인(번호 1)은, 11 xx.xx.xx/24에 맵핑되고, 마지막 임차인(239)은 9.xx.xx.xx/24에 맵핑될 것이다.
도 16에 도시된 구현에서, 일부 실시예들은, 임의의 잠재적인 임차인 ID 서브넷들 및 각각의 이러한 서브넷 내의 임의의 특정한 IP 주소에 다시 메시지를 라우팅하는 방식을 각각의 TM 엔진(1605)에 제공한다. 이 정보는, 임차인, 지부, 및 모바일 디바이스가 추가되거나 제거될 때 동적으로 변경될 수 있다. 따라서, 이 정보는 가상 네트워크의 인터넷 유출 게이트웨이 내의 TM 엔진들에 동적으로 배포되어야 한다. 가상 네트워크 제공자의 유출 인터넷 게이트웨이들이 많은 수의 임차인에 의해 이용될 수 있으므로 배포되고 정기적으로 업데이트되는 정보의 양이 많을 수 있다. 또한, 임차인 ID 240(또는 239)의 제약은 전역적이며 복수의 IP 주소를 유출 지점들에 추가해야만 해결될 수 있다.
도 17은 도 16에 나타낸 단일 NAT 접근법 대신에 일부 실시예들에서 이용되는 이중-NAT 접근법을 나타낸다. 도 17에 나타낸 접근법은 적은 임차인 데이터가, 전부는 아니더라도, 대부분의 TM 엔진에 배포될 것을 요구하고, 더 많은 사설 임차인 네트워크들이 가상 네트워크 제공자의 내부 네트워크에 맵핑되는 것을 허용한다. 임차인 머신으로부터 가상 네트워크(1700) 및 그 다음 인터넷(1625)을 통해 또 다른 머신으로(예를 들어, SaaS 제공자 데이터센터(1620)의 머신으로) 횡단하는 데이터 메시지 흐름에 대해, 도 17에 도시된 접근법은, 데이터 메시지 흐름의 유입 게이트웨이(1770)에 있는 NAT 엔진을 가상 네트워크 내에 배치하고 이 흐름의 유출 게이트웨이(1702 또는 1704)에 있는 NAT 엔진을 가상 네트워크 외부에 및 인터넷(1625) 내에 배치한다. 이 접근법은 또한, 유입 게이트웨이(1770)의 NAT 엔진(1712) 앞에 TM 엔진(1705)을 배치한다.
도 17에 도시된 예에서, 메시지 흐름은 2개의 가상-네트워크 임차인들의 2개의 지사(1755 및 1760) 및 한 데이터센터(1765)로부터 나왔고, 동일한 유입 게이트웨이(1770)를 통해 가상 네트워크(1700)로 들어가지만, 이것은 반드시 그래야 할 필요는 없다. 가상 네트워크(1600)처럼, 일부 실시예들에서의 가상 네트워크(1700)는 복수의 공용 클라우드 벤더의 복수의 공용 클라우드 데이터센터를 통해 정의된다. 또한, 일부 실시예들에서, 가상-네트워크 게이트웨이(1702, 1704 및 1770)는 관리형 포워딩 노드의 일부이며, TM 엔진은 이들 실시예에서 이들 MFN의 NAT 엔진(215) 앞에 배치된다.
TM 엔진(1605 및 1705)은 도 16 및 17에서 유사하게 동작한다. TM 엔진(1605)처럼, TM 엔진(1705)은 가상 네트워크에 진입하는 데이터 메시지들의 소스 IP 및 포트 주소를, 이들 데이터 메시지가 SaaS 제공자 데이터센터(1620)를 향할 때(즉, SaaS 제공자 데이터센터에 대한 목적지 IP 주소를 가질 때), 새로운 소스 IP 및 포트 주소에 맵핑한다. 각각의 이러한 데이터 메시지에 대해, TM 엔진(1705)은 임차인 ID를 식별하고 이 식별자에 기초하여 주소 맵핑을 수행한다.
TM 엔진(1605)처럼, 일부 실시예들에서의 TM 엔진(1705)은 상태유지 없는 요소이고, 어떠한 동적 데이터 구조도 살피지않고 정적 테이블을 통해 각각의 메시지에 대한 맵핑을 수행한다. 상태유지 없는 요소로서, TM 엔진은, 데이터 메시지 흐름의 후속 메시지를 처리하기 위해 주소 맵핑을 수행하는데 있어서 이 접속 레코드를 이용하기 위하여 데이터 메시지 흐름 중 제1 데이터 메시지를 처리할 때 접속 레코드를 생성하지 않는다.
맵핑을 수행함에 있어서, 유입 게이트웨이(1770) 내의 TM 엔진(1705)은, 동일한 소스 IP 및 포트 주소를 이용하는 상이한 임차인들로부터의 데이터 메시지 흐름들이 고유의 중첩되지 않는 주소 공간에 맵핑되는 것을 보장한다. 일부 실시예들에서, TM 엔진은, 상이한 임차인들로부터의 임의의 2개의 메시지가 동일한 IP 주소에 맵핑되지 않도록, 상이한 임차인들의 소스 IP 주소들을 상이한 IP 범위들로 맵핑한다. 다른 실시예들에서, TM 엔진(1705)은 2개의 상이한 임차인의 소스 IP 주소들을 동일한 소스 IP 범위이지만 상이한 소스 포트 범위들에 맵핑할 수 있다. 또 다른 실시예에서, TM 엔진은 2개의 임차인을 상이한 소스 IP 범위들에 맵핑하는 반면, 2개의 다른 임차인을 동일한 소스 IP 범위이지만 상이한 소스 포트 범위들에 맵핑한다.
TM 엔진(1605)과는 달리, 가상-네트워크 유입 게이트웨이의 TM 엔진(1705)은 유입 게이트웨이에 접속된 지사, 회사 데이터센터 및 회사 컴퓨팅 노드에 대한 임차인을 식별할 필요만 있다. 이것은, 각각의 TM 엔진에 초기에 공급되고 주기적으로 업데이트되어야 하는 임차인 데이터를 크게 감소시킨다. 또한, 이전과 마찬가지로, 각각의 TM 엔진은 239/240 임차인들만 고유한 주소 공간에 맵핑할 수 있다. 그러나, TM 엔진들은 가상 네트워크 제공자의 유입 게이트웨이들에 배치되므로, TM 엔진들 각각은 239/240 임차인들을 고유하게 맵핑할 수 있다.
일부 실시예들에서의 유입 게이트웨이(1770)의 NAT 엔진(1712)은, 유입 게이트웨이(1770)가 상주하는 공용 클라우드(예를 들어, AWS, GCP 또는 Azure) 특유의 내부 IP 주소 또는 외부 공용 IP 주소를 이용할 수 있다. 어느 경우이든, NAT 엔진(1712)은 인입 메시지(즉, 가상 네트워크(1700)에 들어가는 메시지)의 소스 네트워크 주소를 그 유입 게이트웨이의 사설 클라우드 네트워크 내에서 고유한 IP 주소에 맵핑한다. 일부 실시예들에서, NAT 엔진(1712)은 각각의 임차인 데이터 메시지 흐름의 소스 IP 주소를 상이한 고유한 IP 주소로 변환한다. 그러나, 다른 실시예들에서, NAT 엔진(1712)은 상이한 임차인들의 데이터 메시지 흐름의 소스 IP 주소를 동일한 IP 주소로 변환하지만, 상이한 임차인들의 데이터 메시지 흐름들을 구분하기 위해 소스 포트 주소들을 이용한다. 또 다른 실시예들에서, NAT 엔진은 2개의 임차인의 소스 IP 주소를 상이한 소스 IP 범위들에 맵핑하는 반면, 2개의 다른 임차인의 소스 IP 주소들은 동일한 소스 IP 범위이지만 상이한 소스 포트 범위들에 맵핑한다.
일부 실시예들에서, NAT 엔진(1712)은, 이전의 SNAT 맵핑을 반영하는 접속 레코드를 저장하는 접속 스토리지를 참조하여 맵핑을 수행하는 상태유지 요소이다. 일부 실시예들에서, NAT 엔진은 또한, 응답 데이터 메시지를 원래의 메시지를 전송한 임차인 머신에 포워딩하기 위해 DNAT 동작을 수행하기 위하여, SaaS 제공자 머신으로부터 응답 데이터 메시지를 수신할 때 일부 실시예들에서 접속 스토리지를 이용할 수 있다. TM 및 NAT 엔진(1705, 1710 및 1712)은, 일부 실시예들에서, 제어기 클러스터(160)에 의해 구성된다(예를 들어, 상이한 임차인들 및 상이한 범위들의 네트워크 주소 공간에 대해 이용하기 위한 맵핑을 기술하기 위한 테이블이 제공된다).
도 18은 유입 NAT 엔진(1712)의 소스 포트 변환을 나타내는 한 예를 제시한다. 구체적으로, 이것은, 임차 맵핑 엔진(1705) 및 유입 NAT 엔진(1712)이, 유입 게이트웨이(1770)를 통해 가상 네트워크(1700)에 진입할 때 및 유출 게이트웨이(1702)에서 가상 네트워크를 벗어날 때의 데이터 메시지(1800)에 관해 수행하는 소스 주소 맵핑을 나타낸다. 도시된 바와 같이, 임차인 게이트웨이(1810)는 소스 IP 주소가 10.1.1.13이고 소스 포트 주소가 4432인 IPsec 게이트웨이(1805)에 도달하는 데이터 메시지(1800)를 전송한다. 일부 실시예들에서, 이들 소스 주소는 임차인 머신(미도시)에 의해 이용되는 주소인 반면, 다른 실시예들에서는, 이들 소스 주소들 중 하나 또는 양쪽 모두는 임차인 게이트웨이 또는 임차인 데이터센터 내의 또 다른 네트워크 요소에 의해 수행되는 소스 NAT 동작에 의해 생성되는 소스 주소이다.
이 메시지가 IPsec 게이트웨이(1805)에 의해 처리된 후, 이 게이트웨이 또는 유입 MFN의 또 다른 모듈은 이 메시지를, 메시지(1800)가 속하는 가상-네트워크 임차인을 식별하는 임차인 ID(15)와 연관시킨다. 이 임차인 ID에 기초하여, 임차인 맵핑 엔진(1705)은, 그 다음, 도시된 바와 같이, 소스 IP 및 포트 주소를, 소스 IP 및 포트 주소 쌍 15.1.1.13 및 253에 맵핑한다. 이 소스 IP 및 포트 주소는, 데이터 메시지(1800)의 메시지 흐름을 고유하게 식별한다. 일부 실시예들에서, TM 엔진(1705)은 상태유지 없는 방식으로(즉, 접속 추적 레코드를 참조하지 않고) 이 맵핑을 수행한다. 다른 실시예들에서, TM 엔진은 이 맵핑을 상태유지 방식으로 수행한다.
그 다음, 유입 NAT 엔진(1712)은, (1) 데이터 메시지(1800)의 소스 IP 주소를 고유한 사설 또는 공용(내부 또는 외부) IP 주소 198.15.4.33으로 변환하고, (2) 이 메시지의 소스 포트 주소를 포트 주소 714로 변환한다. 일부 실시예들에서, 가상 네트워크는, 동일하거나 상이한 임차인의 다른 데이터 메시지 흐름들에 대해 이 IP 주소를 이용한다. 따라서, 이들 실시예에서, NAT 엔진(1712)의 소스 네트워크 주소 변환(SNAT) 동작은, 소스 포트 주소를 이용하여 가상 네트워크 내에서 동일한 IP 주소를 이용하는 상이한 임차인들의 상이한 메시지 흐름들을 구별한다.
일부 실시예들에서, 유입 NAT 엔진의 SNAT 동작에 의해 할당된 소스 포트 주소는 또한, 가상 네트워크(1700) 외부의 상이한 메시지 흐름들을 구별하는데 이용되는 소스 포트 주소이다. 이것이 도 18에 나타낸 예의 경우이다. 도시된 바와 같이, 이 예에서의 유출 NAT 엔진(1710)은 SNAT 동작을 수행할 때 데이터 메시지의 소스 포트 주소를 변경하지 않는다. 대신에, 이것은 단지, 소스 IP 주소를, 일부 실시예들에서는 가상 네트워크의 유출 게이트웨이(들)의 공용 IP 주소인 외부 IP 주소 198.15.7.125로 변경한다. 일부 실시예들에서의 이 공용 IP 주소는 또한, 유입 및 유출 게이트웨이(1770 및 1702)가 동작하는 공용 클라우드 데이터센터의 IP 주소이다.
소스 IP 및 포트 주소 198.15.7.125 및 714에 의해, 데이터 메시지는 SaaS 제공자 데이터센터의 게이트웨이(1815)에 도달하기 위해 인터넷을 통해 라우팅된다. 이 데이터센터에서, SaaS 제공자 머신은 이 메시지에 기초하여 동작을 수행하고, 응답 메시지(1900)를 다시 전송하는데, 그 처리는 도 19를 참조하여 후술될 것이다. 일부 실시예들에서, SaaS 제공자 머신은, 소스 IP 및 포트 주소 198.15.7.125 및 714를 참조하여 정의되는 하나 이상의 서비스 규칙에 기초하여, 데이터 메시지에 관해 하나 이상의 서비스 동작(예를 들어, 방화벽 동작, IDS 동작, IPS 동작 등의 미들박스 서비스 동작)을 수행한다. 이들 실시예들 중 일부에서, 상이한 임차인들에 대한 상이한 서비스 규칙들은, 규칙 식별자들에서 동일한 소스 IP 주소(예를 들어, 198.15.7.125)를 명시하면서, 이들 규칙 식별자들에서 상이한 소스 포트 주소들을 명시할 수 있다. 규칙 식별자, 데이터 메시지와 정합하는 규칙을 식별하는 조회 동작을 수행하는 동안 데이터 메시지 흐름 속성들과 비교하기 위한 한 세트의 속성들을 명시한다.
도 19는, SaaS 머신(미도시)이 데이터 메시지(1800)의 처리에 응답하여 전송하는 응답 메시지(1900)의 처리를 나타낸다. 일부 실시예들에서, 응답 메시지(1900)는 원본 데이터 메시지(1800)와 동일하거나, 원본 데이터 메시지(1800)의 수정된 버전이거나, 완전히 새로운 데이터 메시지일 수 있다. 도시된 바와 같이, SaaS 게이트웨이(1815)는 메시지(1900)를 전송하되, 이 메시지가 SaaS 게이트웨이(1815)에 도달할 때 데이터 메시지(1800)의 소스 IP 및 포트 주소인 목적지 IP 및 포트 주소 198.15.7.125 및 714에 기초하여 전송한다.
메시지(1900)는 가상 네트워크의 게이트웨이(미도시)에서 수신되고, 이 게이트웨이는, 이 메시지가 SaaS 제공자에게 전송되기 전에 메시지(1800)에 관한 마지막 SNAT 동작을 수행한 NAT 엔진(1710)에 데이터 메시지를 제공한다. 도 19에 나타낸 예에서는 데이터 메시지(1900)가 마지막 SNAT 동작을 수행한 동일한 NAT 엔진(1710)에서 수신되지만, 이것은 각각의 배치에서 반드시 그런 것은 아니다.
(이제는 유입 NAT 엔진으로서 작동하는) NAT 엔진(1710)은 데이터 메시지(1900)에 관해 DNAT(목적지 NAT) 동작을 수행한다. 이 동작은, 외부 목적지 IP 주소(198.15.7.125)를, 공용 클라우드 라우팅 패브릭을 통해 및 가상 네트워크 컴포넌트들 사이에서 데이터 메시지(1900)를 포워딩하기 위해 가상 네트워크에 의해 이용되는 목적지 IP 주소 198.15.4.33으로 변경한다. 또한, IP 주소 198.15.4.33은 일부 실시예들에서 공용 또는 사설 IP 주소일 수 있다.
도시된 바와 같이, (이제는 유출 NAT 엔진으로서 동작하는) NAT 엔진(1712)은, NAT 엔진(1710)이 목적지 IP 주소를 변환한 후에 메시지(1900)를 수신한다. 그 다음, NAT 엔진(1712)은, 이 메시지(1900)에 관해, 목적지 IP 및 포트 주소를 15.1.1.13 및 253으로 대체하는 제2 DNAT 동작을 수행한다. 이들 주소는 TM 엔진(1705)에 의해 인식되는 주소들이다. TM 엔진(1705)은 이들 주소를 목적지 IP 및 포트 주소 10.1.1.13 및 4432로 대체하고, 데이터 메시지(1900)를 임차인 ID(15)와 연관시키고, 메시지(1900)를 이 임차인 ID와 함께 임차인 게이트웨이(1810)에 포워딩하기 위해 IPsec 게이트웨이(1805)에 제공한다.
일부 실시예들에서, 가상 네트워크 제공자는, 전술된 프로세스, 시스템 및 컴포넌트를 이용하여 동일하거나 또는 상이한 공용 클라우드 제공자들의 복수의 공용 클라우드를 통해 복수의 상이한 임차인(예를 들어, 복수의 회사에 대한 복수의 상이한 회사 WAN)에 대한 복수의 가상 WAN을 제공한다. 도 20은 하나 이상의 공용 클라우드 제공자의 N개 공용 클라우드(2005)에서 네트워크 인프라스트럭처와 제어기 클러스터(들)(2010)를 갖는 가상 네트워크 제공자의 M개의 임차인에 대한 M개의 가상 회사 WAN(2015)을 보여주는 한 예를 제시한다.
각각의 임차인의 가상 WAN(2015)은, N개의 공용 클라우드(2005)의 모두 또는 이들 공용 클라우드들의 서브세트에 걸쳐 있을 수 있다. 각각의 임차인의 가상 WAN(2015)은, 하나 이상의 지사(2020), 데이터센터(2025), SaaS 제공자 데이터센터(2030), 및 임차인의 원격 디바이스들을 접속한다. 일부 실시예들에서, 각각의 임차인의 가상 WAN은, VNP의 제어기 클러스터가 임차인의 상이한 컴퓨팅 노드들(2020-2035) 사이에서 데이터 메시지들을 효율적으로 포워딩하는데 필요한 것으로 간주되는 임의의 공용 클라우드(2005)에 걸쳐 있다. 공용 클라우드를 선택함에 있어서, 일부 실시예들에서의 제어기 클러스터는 또한, 임차인이 선택하는 공용 클라우드 및/또는 임차인 또는 임차인의 적어도 하나의 SaaS 제공자가 하나 이상의 머신을 갖는 공용 클라우드를 감안한다.
각각의 임차인의 가상 WAN(2015)은, SaaS 제공자 서비스에 액세스(즉, SaaS 제공자 머신 또는 머신 클러스터에 액세스)하기 위하여, 임차인의 원격 디바이스(2035)(예를 들어, 모바일 디바이스 또는 원격 컴퓨터)가 임의의 지사 또는 임차인 데이터센터에 있는 임차인의 WAN 게이트웨이와의 상호작용을 피하는 것을 허용한다. 일부 실시예들에서의 임차인의 가상 WAN은, 이들 WAN 게이트웨이(예를 들어, WAN 보안 게이트웨이)의 기능을 가상 WAN이 걸쳐 있는 공용 클라우드 내의 하나 이상의 머신으로 이동시킴으로써, 원격 디바이스가 지사 및 임차인 데이터센터에 있는 WAN 게이트웨이를 피하는 것을 허용한다.
예를 들어, 원격 디바이스가 임차인 또는 그 SaaS 제공자 서비스의 컴퓨팅 자원에 액세스하는 것을 허용하기 위해, 일부 실시예들에서의 WAN 게이트웨이는 원격 디바이스가 임차인의 컴퓨터 자원 또는 그 SaaS 제공자 서비스에 액세스할 수 있는 방법을 제어하는 방화벽 규칙을 시행해야 한다. 임차인의 지부 또는 데이터센터 WAN 게이트웨이를 피하기 위해, 임차인의 방화벽 엔진(210)은, 임차인의 가상 WAN이 걸쳐 있는 하나 이상의 공용 클라우드 내의 가상 네트워크 MFN에 배치된다.
이들 MFN 내의 방화벽 엔진(210)은, 원격 디바이스들로부터의 및 원격 디바이스들로의 데이터 메시지 흐름들에 관한 방화벽 서비스 동작을 수행한다. 하나 이상의 공용 클라우드를 통해 배치된 가상 네트워크에서 이들 동작들을 수행함으로써, 임차인의 원격 디바이스와 연관된 데이터 메시지 트래픽이, 방화벽 규칙 처리를 받기 위해 불필요하게 임차인의 데이터센터(들) 또는 지사를 통해 라우팅될 필요가 없다. 이것은, 임차인 데이터센터 및 지사에서의 트래픽 혼잡을 완화하고, 이들 위치의 컴퓨팅 자원으로 향하지 않는 트래픽을 처리하기 위해 이들 위치에서 값비싼 유입/유출 네트워크 대역폭을 소비하는 것을 피한다. 이것은 또한, 이 접근법에 의해 데이터 메시지 흐름들이 그들의 목적지(예를 들어, 유입 MFN, 유출 MFN 또는 중간-홉 MFN)로 횡단할 때 가상 네트워크 내에서 개재 방화벽 규칙 처리가 발생하는 것이 허용되기 때문에, 원격 디바이스들로부터의 및 원격 디바이스들로의 데이터 메시지 트래픽의 포워딩을 가속할 수 있다.
일부 실시예들에서, MFN의 방화벽 시행 엔진(210)(예를 들어, 방화벽 서비스 VM)은, VNP 중앙 제어기(160)로부터 방화벽 규칙을 수신한다. 일부 실시예들에서의 방화벽 규칙은 규칙 식별자 및 동작을 포함한다. 일부 실시예들에서의 규칙 식별자는, 방화벽 규칙이 데이터 메시지와 정합하는지를 결정하기 위하여, 계층 2 속성(예를 들어, MAC 주소), 계층 3 속성(예를 들어, 5개의 튜플 식별자 등), 임차인 ID, 위치 ID(예를 들어, 사무실 위치 ID, 데이터센터 ID, 원격 사용자 ID 등) 등의, 데이터 메시지 속성들과 비교될 하나 이상의 정합 값을 포함한다.
일부 실시예들에서 방화벽 규칙의 동작은, 방화벽 규칙이 데이터 메시지의 속성과 정합할 때 방화벽 시행 엔진(210)이 데이터 메시지에 관해 취해야 하는 동작(예를 들어, 허용, 누락, 방향전환 등)을 명시한다. 복수의 방화벽 규칙이 데이터 메시지와 정합할 가능성을 해결하기 위해, 방화벽 시행 엔진(210)은, 방화벽 규칙(제어기 클러스터(160)로부터 수신한 방화벽 규칙)을, 하나의 방화벽 규칙이 또 다른 방화벽 규칙보다 높은 우선순위를 가질 수 있도록 하는 계층적 방식으로 방화벽 규칙 데이터 스토리지에 저장한다. 데이터 메시지가 2개의 방화벽 규칙과 정합할 때, 방화벽 시행 엔진은, 일부 실시예들에서 더 높은 우선순위를 갖는 규칙을 적용한다. 다른 실시예들에서, 방화벽 시행 엔진은, 또 다른 더 낮은 우선순위 규칙이 데이터 메시지와 정합할 수도 있는 경우에 더 높은 우선순위 규칙과 먼저 정합하도록 보장하기 위하여, 계층에 따라 방화벽 규칙들을 검사한다(즉, 더 낮은 우선순위 규칙에 앞서 더 높은 우선순위 규칙을 검사한다).
일부 실시예들은, 데이터 메시지가 가상 네트워크에 진입할 때 유입 노드(예를 들어, 노드 850)에서, 가상 네트워크 상의 중간 노드(예를 들어, 노드 857)에서, 데이터 메시지가 가상 네트워크를 빠져 나갈 때 유출 노드(예를 들어, 노드 855)에서, 방화벽 서비스 엔진이 데이터 메시지를 검사하도록 제어기 클러스터가 MFN 컴포넌트들을 구성하는 것을 허용한다. 이들 노드들 각각에서, 일부 실시예들에서의 CFE(예를 들어, 832, 856 또는 858)는, CFE가 수신하는 데이터 메시지에 관해 방화벽 서비스 동작을 수행하기 위해 그 연관된 방화벽 서비스 엔진(210)을 호출한다. 일부 실시예들에서, 방화벽 서비스 엔진은, 자신을 호출한 모듈에게(예를 들어, CFE에게) 자신의 결정을 반환하여, 이 모듈이 데이터 메시지에 관해 방화벽 동작을 수행할 수 있게 하는 반면, 다른 실시예들에서는, 방화벽 서비스 엔진이 데이터 메시지에 관해 그 방화벽 동작을 수행한다.
일부 실시예들에서, 다른 MFN 컴포넌트들은 방화벽 서비스 엔진에게 그 동작을 수행하도록 지시한다. 예를 들어, 유입 노드에서, 일부 실시예들에서의 VPN 게이트웨이(예를 들어, 225 또는 230)는, 데이터 메시지가 유입 노드의 CFE로 전달되어 하는지를 결정하기 위하여, 그 연관된 방화벽 서비스 엔진이 그 동작을 수행하도록 지시한다. 또한, 유출 노드에서, 일부 실시예들에서의 CFE는 데이터 메시지를 그 연관된 방화벽 서비스 엔진에 전달하고, 방화벽 서비스 엔진은, 데이터 메시지가 통과하는 것을 허용하기로 결정한다면, 데이터 메시지를 외부 네트워크(예를 들어, 인터넷)를 통해 목적지에 전달하거나, 데이터 메시지를 그 연관된 NAT 엔진(215)에 전달하여, 데이터 메시지를 외부 네트워크를 통해 목적지에 전달하기 전에 NAT 동작을 수행한다.
일부 실시예들의 가상 네트워크 제공자는, 공용 클라우드에서 정의된 임차인의 WAN 보안 게이트웨이가 방화벽 서비스에 추가하여 또는 그 대신에 다른 보안 서비스를 구현하는 것을 허용한다. 예를 들어, (일부 실시예들에서는 임차인의 가상 네트워크가 걸쳐 있는 각각의 공용 클라우드 데이터센터에 걸쳐 분포된) 임차인의 분산형 WAN 보안 게이트웨이는, 방화벽 서비스 엔진을 포함할 뿐만 아니라, 침입 검출 엔진 및 침입 방지 엔진도 포함한다. 일부 실시예들에서, 침입 검출 엔진 및 침입 방지 엔진은 MFN(150)에 구조적으로 통합되어 방화벽 서비스 엔진(210)과 유사한 위치를 점유한다.
일부 실시예들에서의 이들 엔진 각각은, 중앙 제어기 클러스터(160)에 의해 배포된 침입 검출/방지 정책을 저장하는 하나 이상의 스토리지를 포함한다. 일부 실시예들에서, 이들 정책은, (여러 공용 클라우드 데이터센터들 통해 배치된) 임차인의 가상 네트워크에 대한 무단 침입을 검출/방지하고, 검출된 침입 이벤트에 응답하여 조치(예를 들어, 로그 생성, 통보 전송, 서비스 또는 머신 셧다운 등)를 취하도록 엔진을 구성한다. 방화벽 규칙처럼, 침입 검출/방지 정책은, 가상 네트워크가 정의된 다양한 상이한 관리형 포워딩 노드(예를 들어, 데이터 메시지 흐름의 유입 MFN, 중간 MFN 및/또는 유출 MFN)에서 시행될 수 있다.
앞서 언급된 바와 같이, 가상 네트워크 제공자는, 가상 WAN이 걸쳐 있는 각각의 공용 클라우드에 적어도 하나의 MFN을 배치하고, 임차인의 메시지 흐름이 가상 WAN에 출입하는 것을 허용하는 MFN들 사이의 경로를 정의하도록 배치된 MFN들을 구성함으로써, 각각의 임차인의 가상 WAN을 배치한다. 또한, 앞서 언급된 바와 같이, 일부 실시예들에서는 각각의 MFN이 상이한 임차인들에 의해 공유될 수 있는 반면, 다른 실시예들에서는 각각의 MFN은 단 하나의 특정한 임차인을 위해 배치된다.
일부 실시예들에서, 각각의 임차인의 가상 WAN은, 오버레이 터널을 통해 WAN에 의해 이용되는 MFN들을 접속함으로써 확립되는 보안 가상 WAN이다. 일부 실시예들에서의 이 오버레이 터널 접근법은, 각각의 임차인에 대해 고유한, 예를 들어, 임차인을 고유하게 식별하는 임차인 식별자를 포함하는 터널 헤더로 각각의 임차인의 데이터 메시지 흐름을 캡슐화한다. 임차인의 경우, 일부 실시예들에서의 가상 네트워크 제공자의 CFE는, 하나의 터널 헤더를 이용하여 임차인의 가상 WAN에 출입하기 위한 유입/유출 포워딩 요소들을 식별하고, 또 다른 터널 헤더를 이용하여 가상 네트워크의 개재 포워딩 요소들을 횡단한다. 가상 WAN의 CFE는 다른 실시예들에서 상이한 오버레이 캡슐화 메커니즘을 이용한다.
하나 이상의 공용 클라우드를 통해 임차인에 대한 가상 WAN을 배치하기 위해, VNP의 제어기 클러스터는, (1) 임차인의 회사 컴퓨팅 노드(예를 들어, 지사, 데이터센터, 모바일 사용자 및 SaaS 제공자)의 위치에 기초하여 임차인에 대한 (상이한 데이터 메시지 흐름들에 대해 유입 또는 유출 MFN으로서 역할할 수 있는) 가능한 엣지 MFN들을 식별하고, (2) 모든 가능한 엣지 MFN들 사이의 경로를 식별한다. 일단 이들 경로가 식별되고 나면, 이들은 CFE들의 포워딩 테이블들에 전파된다(예를 들어, OpenFlow를 이용하여 상이한 OVS-기반의 가상 네트워크 라우터들에 전파됨). 구체적으로는, 임차인의 가상 WAN을 통한 최적의 경로를 식별하기 위해, 이 WAN과 연관된 MFN들은, 그들과 그들의 이웃 MFN들 사이의 네트워크 접속의 품질을 정량화하는 측정 값을 생성하고, 그들의 측정 값들을 VNP의 제어기 클러스터에 정기적으로 제공한다.
위에서 언급된 바와 같이, 제어기 클러스터는, 그 다음, 상이한 MFN들로부터 측정치들을 집계하고, 이들 측정치에 기초하여 라우팅 그래프를 생성하고, 임차인의 가상 WAN을 통한 경로를 정의한 다음, 이들 경로를 MFN들의 CFE들의 포워딩 요소들에 배포한다. 임차인의 가상 WAN에 대해 정의된 경로들을 동적으로 업데이트하기 위해, 이 WAN과 연관된 MFN들은 주기적으로 그들을 측정치들을 생성하고 이들 측정치들을 제어기 클러스터에 제공하며, 제어기 클러스터는, 그 다음, 자신이 수신하는 업데이트된 측정치에 기초하여, 측정치 집계, 경로-그래프 생성, 경로 식별, 및 경로 배포를 주기적으로 반복한다.
임차인의 가상 WAN을 통한 경로를 정의하는데 있어서, VNP의 제어기 클러스터는, 인터넷을 통한 임차인의 메시지 흐름들의 라우팅을 최소화하려고 시도하면서, 원하는 종단간 성능, 신뢰성 및 보안을 위해 경로를 최적화한다. 제어기 클러스터는 또한, 네트워크를 통과하는 데이터 메시지 흐름의 계층 4 처리를 최적화(예를 들어, 접속 경로에 걸쳐 속도 제어 메커니즘을 분할함으로써 TCP 접속의 종단간 속도를 최적화)하도록 MFN 컴포넌트들을 구성한다.
공용 클라우드의 확산에 따라, 회사의 각각의 지사에 가까운 주요 공용 클라우드 데이터센터를 발견하는 것은 종종 매우 용이하다. 마찬가지로, SaaS 벤더들은, 점점 더, 공용 클라우드 내에 그들의 애플리케이션을 호스팅하거나, 유사하게 일부 공용 클라우드 데이터센터 근처에 위치한다. 결과적으로, 가상 회사 WAN(2015)은, 공용 클라우드(2005)를, 회사 컴퓨팅 노드(예를 들어, 지사, 데이터센터, 원격 디바이스 및 SaaS 제공자) 부근에 존재하는 회사 네트워크 인프라스트럭처로서 안전하게 이용한다.
회사 WAN은, 비즈니스 중요 애플리케이션을 항상 수락가능한 성능에서 제공하기 위해 대역폭 보장을 요구한다. 이러한 애플리케이션은, 대화형 데이터 애플리케이션, 예를 들어, ERP, 재무 또는 조달, 마감일 중심의 애플리케이션(예를 들어, 산업 또는 IoT 제어), 실시간 애플리케이션(예를 들어, VoIP 또는 화상 회의)일 수 있다. 결과적으로 기존 WAN 인프라스트럭처(예를 들어, Frame Relay 또는 MPLS)는 이러한 보장을 제공한다.
복수-임차인 네트워크에서 대역폭 보장을 제공하는데 있어서 주요 장애물은, 소정의 고객을 위해 하나 이상의 경로에 관한 대역폭을 예약할 필요성이다. 일부 실시예들에서, VNP는 QoS 서비스를 제공하고 ICR(Ingress Committed Rate) 보장 및 ECR(Egress Committed Rate) 보장을 제공한다. ICR은 가상 네트워크로 들어오는 트래픽 속도를 지칭하는 반면, ECR은 임차인 사이트쪽으로 가상 네트워크를 빠져 나가는 트래픽 속도를 지칭한다.
트래픽이 ICR 및 ECR 한계를 초과하지 않는 한, 일부 실시예들에서의 가상 네트워크는 대역폭 및 지연 보장을 제공한다. 예를 들어, HTTP 유입 또는 유출 트래픽이 1Mbps를 초과하지 않는 한, 대역폭과 낮은 지연이 보장된다. QoS 목적을 위해, VNP가 트래픽 목적지를, 그 목적지가 ICR/ECR 한도 내에 있는 한, 추적할 필요가 없기 때문에, 이것은 포인트-투-클라우드 모델이다. 이 모델을 때때로 호스 모델(hose model)이라고 불린다.
고객이 포인트-투-포인트 보장을 원하는 더 엄격한 애플리케이션의 경우, 매우 중요한 트래픽을 전달하기 위해 가상 데이터 파이프(virtual data pipe)가 구성될 필요가 있다. 예를 들어, 기업은 높은 서비스 수준 계약 보장과 함께 접속된 2개의 허브 사이트 또는 데이터센터를 원할 수 있다. 이 목적을 위해, VNP 라우팅은, 각각의 고객에 대한 대역폭 제약을 충족하는 라우팅 경로를 자동으로 선택한다. 이것을 포인트-투-포인트 모델 또는 파이프 모델이라고 지칭한다.
최종 사용자에게 보장된 대역폭을 제공함에 있어서 VNP의 주요 장점은, 변화하는 대역폭 수요에 따라 VNP 인프라스트럭처를 조정하는 능력이다. 대부분의 공용 클라우드는, 동일한 클라우드의 상이한 지역들에 위치한 각각의 2개의 인스턴스 사이에 최소 대역폭 보장을 제공한다. 현재의 네트워크가 새로운 요청에 대한 보장된 대역폭을 제공하기에 충분한 미사용 용량을 갖지 않고 있다면, VNP는 그 설비에 새로운 자원을 추가한다. 예를 들어, VNP는 수요가 많은 지역에 새로운 CFE를 추가할 수 있다.
하나의 해결과제는, 경로를 계획하고 인프라스트럭처를 확장 및 축소하는데 있어서 이 새로운 차원의 성능 및 비용을 최적화하는 것이다. 알고리즘 및 대역폭 고려를 용이화하기 위해, 일부 실시예들은 종단간 대역폭 예약이 분할되지 않는다고 가정한다. 다른 방식으로, 만일 소정의 임차인의 지부 A와 지부 B 사이에 소정의 대역폭(예를 들어, 10Mbps)이 예약된다면, 그 대역폭은, 지부 A가 접속된 유입 CFE에서 시작하여, 한 세트의 제로 또는 그 이상의 중간 CFE들을 횡단해, 지부 B에 접속된 유출 CFE에 도달하는 단일 경로에 걸쳐 할당된다. 일부 실시예들은 또한, 대역폭 보장된 경로가 단일 공용 클라우드만을 횡단한다고 가정한다.
네트워크 토폴로지에 걸쳐 교차하는 다양한 대역폭 예약을 감안하기 위하여, 일부 실시예들에서의 VNP는, 예약된 대역폭 경로를 통한 라우팅을 정적으로 정의하여, 데이터 메시지 흐름은 대역폭 요건을 위해 예약된 동일한 경로를 항상 횡단할 수 있게 한다. 일부 실시예들에서, 각각의 경로는, 그 경로에 의해 통과된 각각의 CFE가 이 경로와 연관된 단일의 송출 인터페이스와 정합하는 단일 태그에 의해 식별된다. 구체적으로, 각각의 CFE는, 헤더에서 이 태그를 갖고 특정한 인입 인터페이스로부터 도달하는 각각의 데이터 메시지에 대해 단일의 송출 인터페이스를 정합시킨다.
일부 실시예들에서, 제어기 클러스터는 여러 개의 상호접속된 노드들에 의해 형성된 네트워크 그래프를 유지한다. 그래프 내의 각각의 노드 n은, 이 노드와 연관된 할당된 총 보장된 대역폭(TBW n ) 및 이 노드(RBW n )에 의해 이미 예약된(소정의 예약된 경로에 할당된) 대역폭의 양을 갖는다. 또한, 각각의 노드에 대해, 그래프는, 이 노드와 그래프 내의 모든 다른 노드들 사이의 트래픽 전송과 연관된 기가바이트 당 센트 단위의 비용(C ij ) 및 밀리초 단위의 지연(D ij )을 포함한다. 노드 i와 노드 j 사이의 트래픽 전송과 연관된 가중치는 W ij = a * C ij + D ij 이며, 여기서 a는 전형적으로 1과 10 사이의 시스템 파라미터이다.
지부 A와 B 사이의 값 BW의 대역폭 예약에 대한 요청이 수락될 때, 제어기 클러스터는 먼저, 그 요청을, 지부 A와 B에 각각 결속된 특정한 유입 및 유출 라우터 n 및 m에 맵핑한다. 그 다음, 제어기 클러스터는 n과 m 사이에서 2개의 최저 비용(예를 들어, 최단 경로) 계산을 수행하는 라우팅 프로세스를 실행한다. 첫번째는, 계산된 경로를 따라 이용가능한 대역폭에 관계없이 n과 m 사이의 최저 비용(예를 들어, 최단 경로) 경로이다. 이 경로의 총 가중치는 W1로서 계산된다.
두번째 최저 비용(예를 들어, 최단 경로) 계산은 처음에, 모든 노드 i를 제거함으로써 그래프를 수정하며, 여기서, BW > TBW i - RBW i 이다. 수정된 그래프를 트리밍된 그래프(trimmed graph)라고 한다. 그 다음, 제어기 클러스터는, 트리밍된 그래프에 관해 제2의 최저 비용(예를 들어, 최단 경로) 경로 계산을 수행한다. 제2 경로의 가중치가 제1 경로보다 K 퍼센트(K는 전형적으로 10%-30%)보다 크지 않다면, 제2 경로가 선호되는 경로로서 선택된다. 반면, 이 요건이 충족되지 않으면, 제어기 클러스터는 TBW i - RBW i 의 최소 값을 갖는 노드 i를 제1 경로에 추가한 다음, 2개의 최저 비용(예를 들어, 최단 경로) 계산을 반복한다. 제어기 클러스터는 이 조건이 충족될 때까지 라우터를 계속 추가할 것이다. 이 시점에서, 예약 대역폭 BW가 모든 RBW i 에 추가되고, 여기서 i는 선택한 경로 상의 라우터이다.
이미 대역폭을 예약한 경로에 대한 추가 대역폭 요청의 특별한 경우에 대해, 제어기 클러스터는 먼저, 노드 A와 B 사이의 현재의 대역폭 예약을 삭제하고, 이들 노드들 사이의 총 대역폭 요청에 대한 경로를 계산할 것이다. 이를 위해, 일부 실시예들에서의 각각의 노드에 대해 보유된 정보는 또한, 예약된 전체 대역폭뿐만 아니라, 각각의 태그, 또는 각각의 소스 및 목적지 지부에 대해 예약된 대역폭을 포함한다. 대역폭 예약이 네트워크에 추가된 후, 일부 실시예들은, 측정된 네트워크 지연 또는 가상 네트워크를 통한 비용에 있어서 주요 변화가 없는 한 경로를 다시 방문하지 않는다. 그러나, 측정치 및/또는 비용이 변할 때, 이들 실시예는 대역폭 예약 및 경로 계산 프로세스를 반복한다.
도 21은 특정한 임차인에 대한 가상 WAN을 배치하고 관리하기 위해 가상 네트워크 제공자의 제어기 클러스터(160)에 의해 수행되는 한 프로세스(2100)를 개념적으로 나타낸다. 일부 실시예들에서, 프로세스(2100)는, 제어기 클러스터(160) 상에서 실행되는 여러 상이한 제어기 프로그램들에 의해 수행된다. 이 프로세스의 동작들은, 이들 동작들이 상이한 프로그램들에 의해 병렬로 또는 상이한 시퀀스로 수행될 수 있기 때문에, 반드시 도 21에 도시된 시퀀스를 따를 필요는 없다. 따라서, 이들 동작은, 제어기 클러스터에 의해 수행되는 하나의 예시적인 동작 시퀀스를 단지 설명하기 위해 이 도면에 도시된 것이다.
도시된 바와 같이, 제어기 클러스터는 처음에, 여러 상이한 공용 클라우드 제공자들(예를 들어, Amazon AWS, Google GCP 등)의 여러 공용 클라우드 데이터센터들 내에 여러 개의 MFN을 (2105에서) 배치한다. 일부 실시예들에서의 제어기 클러스터는, 프로세스(2100)가 도시하고 있는 특정한 임차인과는 상이한 하나 이상의 다른 임차인에 대해 이들 배치된 MFN들을 (2105에서) 구성한다.
2110에서, 제어기 클러스터는, 특정한 임차인으로부터 그 특정한 임차인의 외부 머신 속성들 및 위치들에 관한 데이터를 수신한다. 일부 실시예들에서, 이 데이터는, 특정한 임차인에 의해 이용되는 사설 서브넷들뿐만 아니라, 특정한 임차인이 외부 머신을 갖는 하나 이상의 임차인 사무실 및 데이터센터에 대한 식별자를 포함한다. 일부 실시예들에서, 제어기 클러스터는, API를 통해 또는 제어기 클러스터가 제공하는 사용자 인터페이스를 통해 임차인 데이터를 수신할 수 있다.
그 다음, 2115에서, 제어기 클러스터는, 특정한 임차인에 대한 가상 네트워크를 확립하는데 이용하기 위해 후보 MFN들인 MFN(150)들의 측정 에이전트(205)에 의해 수집된 측정치들로부터 특정한 임차인에 대한 라우팅 그래프를 생성한다. 위에서 언급된 바와 같이, 라우팅 그래프는, MFN들을 나타내는 노드들과, MFN들 사이의 네트워크 접속을 나타내는 노드들 사이의 링크들을 갖는다. 링크는, 링크가 나타내는 네트워크 접속을 이용하는 품질 및/또는 비용을 정량화하는 비용 값에 해당하는 연관된 가중치를 갖는다. 위에서 언급된 바와 같이, 제어기 클러스터는 먼저, 수집된 측정치들로부터 측정 그래프를 생성한 다음, 최적이 아닌(예를 들어, 큰 지연 또는 드롭률을 갖는) 링크를 측정 그래프로부터 제거함으로써 라우팅 그래프를 생성한다.
라우팅 그래프를 구성한 후, 제어기 클러스터는, 임차인의 외부 머신이 데이터 메시지를 (MFN들에 의해 배치된) 가상 네트워크에 전송하고 가상 네트워크로부터 데이터 메시지를 수신하기 위해 이용할 수 있는 상이한 쌍들의 후보 유입 및 유출 노드들(즉, MFN들) 사이의 가능한 경로를 식별하기 위해 경로 검색을 (2120에서) 수행한다. 일부 실시예들에서, 제어기 클러스터는, 알려진 후보 경로 검색 알고리즘을 이용하여 각각의 후보 유입/유출 노드 쌍 사이의 상이한 경로들을 식별한다. 이러한 쌍에 대한 각각의 경로는, 연결될 때 제로개 이상의 중간 노드를 통해 유입 노드로부터 유출 노드로 횡단하는 하나 이상의 링크를 이용한다.
일부 실시예들에서, 임의의 2개의 MFN들 사이의 비용은, 2개의 MFN들 사이의 접속 링크에 대한 추정된 레이턴시와 재정 비용의 가중 합을 포함한다. 레이턴시 및 재정 비용은, 일부 실시예들에서, 다음 중 하나 이상을 포함한다: (1) 링크 지연 측정, (2) 추정된 메시지 처리 레이턴시, (3) 특정한 데이터센터로부터 동일한 공용 클라우드 제공자의 또 다른 데이터센터로의, 또는 공용 클라우드(PC) 제공자의 클라우드로의(예를 들어, 또 다른 공용 클라우드 제공자의 또 다른 공용 클라우드 데이터센터로의 또는 인터넷으로의) 송출 트래픽에 대한 클라우드 요금, 및 (4) 공용 클라우드의 호스트 컴퓨터에서 실행되는 MFN과 연관된 추정된 메시지 처리 비용.
일부 실시예들은, 공용 인터넷을 통해 횡단하는 2개의 MFN 사이의 접속 링크에 대한 페널티를 평가하여, 가능할 때마다 이러한 통과를 최소화한다. 일부 실시예들은 또한, 이러한 접속을 이용하도록 경로 생성을 편향시키기 위하여 (예를 들어, 접속 링크 비용을 감소시킴으로써) 2개의 데이터센터 사이의 사설 네트워크 접속의 이용을 동기부여한다. 이들 쌍을 이룬 링크들의 계산된 비용을 이용하여, 제어기 클러스터는, 라우팅 경로에 의해 이용되는 개개의 쌍일 이룬 링크들의 비용을 집계함으로써 이들 쌍을 이룬 링크들 중 하나 이상을 이용하는 각각의 라우팅 경로의 비용을 계산할 수 있다.
그 다음, 제어기 클러스터는, 각각의 후보 유입/유출 노드 쌍 사이에서 식별된 후보 경로들의 계산된 비용(예를 들어, 최저 총 비용)에 기초하여 하나 또는 최대 N개의 식별된 경로(여기서 N은 1보다 큰 정수임)를 (2120에서) 선택한다. 일부 실시예들에서, 각각의 경로에 대한 계산된 비용은, 위에서 언급된 바와 같이, 경로에 의해 이용된 각각의 링크의 가중 비용에 기초한다(예를 들어, 각각의 링크의 연관된 가중치의 합이다). 유입 MFN 또는 중간 MFN이 다중-경로 동작을 수행하는 것을 허용하기 위해 2개의 MFN들 사이에 하나보다 많은 경로가 필요할 때, 제어기 클러스터는 한 쌍의 유입/유출 노드들 사이에서 하나보다 많은 경로를 선택할 수 있다.
각각의 후보 쌍의 유입/유출 노드들에 대해 하나 또는 N개의 경로를 (2120에서) 선택한 후, 제어기 클러스터는, 선택된 경로에 기초하여 하나 또는 N개의 경로를 정의한 다음, 특정한 임차인의 가상 네트워크를 구현하는 MFN들에 대한 경로 테이블들 또는 경로 테이블 부분들을 생성한다. 생성된 경로 레코드들은, 특정한 임차인의 상이한 서브넷들에 도달하는 엣지 MFN들을 식별하고, 유입 MFN들로부터 유출 MFN들로 경로를 통과시키기 위한 다음 홉 MFN을 식별한다.
2125에서, 제어기 클러스터는, 특정한 임차인에 대한 가상 네트워크를 구현하도록 이들 MFN들의 포워딩 요소(235)를 구성하기 위해 경로 레코드들을 MFN들에 배포한다. 일부 실시예들에서, 제어기 클러스터는, 호스트 컴퓨터에 걸쳐 있는 논리적 네트워크를 구현하도록 호스트 컴퓨터들 상에서 실행되는 소프트웨어 라우터를 구성하기 위해 소프트웨어 정의된 복수-임차인 데이터센터에서 현재 이용되는 통신 프로토콜을 이용함으로써 경로 레코드를 전달하기 위해 포워딩 요소와 통신한다.
일단 MFN들이 구성되고 가상 네트워크가 특정한 임차인에 대해 동작하면, 엣지 MFN들은 임차인의 외부 머신(즉, 가상 네트워크 외부의 머신)으로부터 데이터 메시지를 수신하고 이들 데이터 메시지를 가상 네트워크 내의 엣지 MFN들에 포워딩하며, 이어서, 엣지 MFN들은 데이터 메시지를 임차인의 다른 외부 머신에 포워딩한다. 이러한 포워딩 동작을 수행하는 동안, 유입, 중간 및 유출 MFN들은 그들의 포워딩 동작에 관한 통계를 수집한다. 또한, 일부 실시예들에서, 일부 실시예들에서의 각각의 MFN 상의 하나 이상의 모듈은, 공용 클라우드 데이터센터에서의 네트워크 또는 컴퓨팅 소비에 관한 다른 통계를 수집한다. 일부 실시예들에서, 공용 클라우드 제공자는, 이러한 소비 데이터를 수집하고 수집된 데이터를 가상 네트워크 제공자에게 전달한다.
과금 사이클에 접근할 때, 제어기 클러스터는, MFN들에 의해 수집된 통계, 및/또는 MFN들에 의해 수집되거나 공용 클라우드 제공자에 의해 제공되는 네트워크/컴퓨팅 소비 데이터를 (예를 들어, 2130에서) 수집한다. 수집된 통계 및/또는 제공된 네트워크/컴퓨팅 소비 데이터에 기초하여, 제어기 클러스터는, (2130에서) 과금 보고서를 생성하고, 과금 보고서를 특정한 임차인에게 전송한다.
위에서 언급된 바와 같이, 과금 보고서에서 청구된 금액은, (예를 들어, 2130에서) 제어기 클러스터가 수신하는 통계 및 네트워크/소비 데이터를 감안한다. 또한, 일부 실시예들에서, 청구서는 가상 네트워크 제공자가 (특정한 임차인에 대한 가상 네트워크를 구현하는) MFN들을 운영하기 위해 발생시킨 비용 + 수익률(예를 들어, 10% 증가)을 감안한다. 이 과금 방식은, 특정한 임차인은 그 임차인의 가상 네트워크가 배치되어 있는 복수의 상이한 공용 클라우드 제공자들로부터의 청구서를 처리할 필요가 없기 때문에, 그 특정한 임차인에게 편리하다. 일부 실시예들에서의 VNP의 발생 비용은 공용 클라우드 제공자에 의해 VNP에 부과된 비용을 포함한다. 2130에서, 제어기 클러스터는 또한, 과금 보고서에 반영된 요금에 대해 신용 카드를 청구하거나 은행 계좌로부터 자금을 전자적으로 인출한다.
2135에서, 제어기 클러스터는 자신이 측정 에이전트(205)로부터 새로운 측정을 수신했는지를 결정한다. 만일 그렇지 않다면, 프로세스는 후술될 2145로 천이한다. 반면에, 제어기 클러스터가 자신이 측정 에이전트로부터 새로운 측정치를 수신했다고 결정하면, 새로운 측정치에 기초하여 특정한 임차인에 대한 라우팅 그래프를 재검토할 필요가 있는지를 (2140에서) 결정한다. MFN 고장이 없는 경우, 일부 실시예들에서의 제어기 클러스터는, 최대한, 수신된 업데이트된 측정치에 기초하여 특정한 기간 동안 한번(예를 들어, 24 시간마다 또는 매주 한번) 각각의 임차인에 대한 라우팅 그래프를 업데이트한다.
제어기 클러스터가 자신이 수신한 새로운 측정치에 기초하여 라우팅 그래프를 재검토할 필요가 있다고 (2140에서) 결정하면, 프로세스는 새로 수신된 측정치에 기초하여 새로운 측정 그래프를 (2145에서) 생성한다. 일부 실시예들에서, 제어기 클러스터는, 측정 그래프의 링크와 연관된 측정 값이 새로운 측정치 세트가 수신될 때마다 급격히 변동하지 않도록 보장하기 위하여, 가중 합을 이용하여 각각의 새로운 측정치를 이전의 측정치와 혼합한다.
2145에서, 제어기 클러스터는 또한, 조정된 측정 그래프에 기초하여 라우팅 그래프를 조정할 필요가 있는지를(예를 들어, 링크와 연관된 조정된 측정치 때문에, 라우팅 그래프 링크에 대한 가중치를 조정할 필요가 있는지, 또는 라우팅 그래프에서 링크를 추가하거나 제거할 필요가 있는지를) 결정한다. 만일 그렇다면, 제어기 클러스터, (2145에서), 라우팅 그래프를 조정하고, (동작 2120 등의) 경로 검색 동작을 수행하여, 유입/유출 노드 쌍들 사이의 경로를 식별하고, 식별된 경로에 기초하여 경로 레코드를 생성하며, 경로 레코드를 MFN들에 배포한다. 2145로부터, 프로세스는 2150으로 천이한다.
프로세스는 또한, 제어기 클러스터가 라우팅 그래프를 재검토할 필요가 없다고 (2140에서) 결정할 때 2150으로 천이한다. 2150에서, 제어기 클러스터는, 처리된 데이터 메시지 및 소비된 네트워크/컴퓨팅 자원에 관한 통계를 수집해야 하는 또 다른 과금 사이클에 접근하고 있는지를 결정한다. 만일 그렇지 않다면, 프로세스는 2135로 복귀하여 MFN 측정 에이전트로부터 새로운 측정치를 수신했는지를 결정한다. 그외의 경우, 프로세스는 2130으로 복귀하여, 통계, 네트워크/컴퓨팅 소비 데이터를 수집하고 과금 보고서를 생성 및 전송한다. 일부 실시예들에서, 제어기 클러스터는, 특정한 임차인이 공용 클라우드 데이터센터들에 걸쳐 배치된 가상 네트워크를 더 이상 필요로하지 않을 때까지 프로세스(2100)의 동작들을 반복적으로 수행한다.
일부 실시예들에서, 제어기 클러스터는, 공용 클라우드 데이터센터에서 임차인을 위한 가상 네트워크를 배치할 뿐만 아니라, 공용 클라우드 데이터센터들에서 컴퓨팅 노드 머신 및 서비스 머신을 배치하고 구성하는데 있어서 임차인을 보조한다. 배치된 서비스 머신들은, MFN들의 서비스 머신들과는 분리된 머신들일 수 있다. 일부 실시예들에서, 특정한 임차인에 대한 제어기 클러스터 과금 보고서는 또한, 배치된 컴퓨팅 및 서비스 머신들에 의해 소비된 컴퓨팅 자원을 감안한다. 다시 한번, 임차인에게는, 복수의 공용 클라우드 제공자의 복수의 공용 클라우드 데이터센터에서 소비된 네트워크 및 컴퓨팅 자원에 대해, 복수의 공용 클라우드 제공자로부터 복수의 청구서를 수신하는 것보다, 하나의 가상 네트워크 제공자로부터의 하나의 청구서를 갖는 것이 더 바람직하다.
전술된 많은 피처들 및 애플리케이션들은, 컴퓨터 판독가능한 저장 매체(컴퓨터 판독가능한 매체라고도 함)에 기록된 한 세트의 명령어들로서 명시되는 소프트웨어 프로세스로서 구현된다. 이들 명령어가 하나 이상의 처리 유닛(들)(예를 들어, 하나 이상의 프로세서, 프로세서의 코어 또는 기타의 처리 유닛)에 의해 실행될 때, 이들은 처리 유닛(들)로 하여금 명령어들서 표시된 동작들을 수행하게 한다. 컴퓨터 판독가능한 매체의 예는, CD-ROM, 플래시 드라이브, RAM 칩, 하드 드라이브, EPROM 등을 포함하지만 이것으로 제한되는 것은 아니다. 컴퓨터 판독가능한 매체는, 무선으로 또는 유선 접속을 통해 전달되는 캐리어파 및 전자 신호를 포함하지 않는다.
본 명세서에서, 용어 "소프트웨어"는, 프로세서에 의한 처리를 위해 메모리 내로 판독될 수 있는, 판독 전용 메모리에 존재하는 펌웨어 또는 자기 스토리지에 저장된 애플리케이션을 포함한다. 또한, 일부 실시예들에서, 복수의 소프트웨어 발명은, 별개의 소프트웨어 발명들을 유지하면서 더 큰 프로그램의 하위 부분으로서 구현될 수 있다. 일부 실시예들에서, 복수의 소프트웨어 발명은 또한, 별도의 프로그램으로서 구현될 수 있다. 마지막으로, 여기서 설명된 소프트웨어 발명을 함께 구현하는 별개의 프로그램들의 임의의 조합은 본 발명의 범위 내에 있다. 일부 실시예들에서, 소프트웨어 프로그램은, 하나 이상의 전자 시스템에서 동작하도록 설치될 때, 소프트웨어 프로그램의 동작을 실행하고 수행하는 하나 이상의 특정한 머신 구현을 정의한다.
도 22는 본 발명의 일부 실시예들을 구현하기 위한 컴퓨터 시스템(2200)을 개념적으로 나타낸다. 컴퓨터 시스템(2200)은, 전술된 호스트, 제어기, 및 관리자 중 임의의 것을 구현하는데 이용될 수 있다. 따라서, 이것은, 전술된 프로세스들 중 임의의 것을 실행하는데 이용될 수 있다. 이 컴퓨터 시스템은, 다양한 유형의 비일시적인 머신 판독가능한 매체 및 다양한 다른 유형의 머신 판독가능한 매체를 위한 인터페이스를 포함한다. 컴퓨터 시스템(2200)은, 버스(2205), 처리 유닛(들)(2210), 시스템 메모리(2225), 판독 전용 메모리(2230), 영구 저장 디바이스(2235), 입력 디바이스(2240), 및 출력 디바이스(2245)를 포함한다.
버스(2205)는, 컴퓨터 시스템(2200)의 수많은 내부 디바이스들을 통신가능하게 접속하는 모든 시스템, 주변기기, 및 칩셋 버스를 집합적으로 나타낸다. 예를 들어, 버스(2205)는, 처리 유닛(들)(2210)을, 판독 전용 메모리(2230), 시스템 메모리(2225), 및 영구 저장 디바이스(2235)와 통신가능하게 접속한다.
이들 다양한 메모리 유닛들로부터, 처리 유닛(들)(2210)은, 본 발명의 프로세스들을 실행하기 위하여 실행할 명령어 및 처리할 데이터를 회수한다. 처리 유닛(들)은 상이한 실시예들에서 단일의 프로세서 또는 멀티-코어 프로세서일 수 있다. ROM(read-only-memory)(2230)은, 처리 유닛(들)(2210) 및 컴퓨터 시스템의 다른 모듈들이 필요로 하는 정적 데이터 및 명령어를 저장한다. 반면, 영구 저장 디바이스(2235)는 판독-및-기입 메모리 디바이스이다. 이 디바이스는 컴퓨터 시스템(2200)이 꺼져 있어도 명령어 및 데이터를 저장하는 비휘발성 메모리 유닛이다. 본 발명의 일부 실시예들은, 영구 저장 디바이스(2235)로서 (자기 또는 광 디스크 및 그 대응하는 디스크 드라이브 등의) 대용량 저장 디바이스를 이용한다.
다른 실시예들은, 영구 저장 디바이스로서 (플로피 디스크, 플래시 드라이브 등의) 착탈식 저장 디바이스를 이용한다. 영구 저장 디바이스(2235)처럼, 시스템 메모리(2225)는 판독-및-기입 메모리 디바이스이다. 그러나, 저장 디바이스(2235)와는 달리, 시스템 메모리는, 랜덤 액세스 메모리 등의, 휘발성 판독-및-기입 메모리이다. 시스템 메모리는, 프로세서가 런타임때 필요로 하는 명령어들 및 데이터들 중 일부를 저장한다. 일부 실시예들에서, 본 발명의 프로세스들은, 시스템 메모리(2225), 영구 저장 디바이스(2235), 및/또는 판독 전용 메모리(2230)에 저장된다. 이들 다양한 메모리 유닛들로부터, 처리 유닛(들)(2210)은, 일부 실시예들의 프로세스들을 실행하기 위하여 실행할 명령어 및 처리할 데이터를 회수한다.
버스(2205)는 또한, 입력 및 출력 디바이스들(2240 및 2245)에 접속된다. 입력 디바이스는, 사용자가 정보를 전달하고 컴퓨터 시스템에 대한 명령을 선택할 수 있게 한다. 입력 디바이스(2240)는, 영숫자 키보드 및 포인팅 디바이스("커서 제어 디바이스"라고도 함)를 포함한다. 출력 디바이스(2245)는 컴퓨터 시스템에 의해 생성된 이미지를 디스플레이한다. 출력 디바이스는, 프린터, 및 CRT(Cathode Ray Tube) 또는 LCD(Liquid Crystal Display) 등의, 디스플레이 디바이스를 포함한다. 일부 실시예들은, 입력 및 출력 디바이스 양쪽 모두로서 기능하는 터치스크린 등의 디바이스를 포함한다.
마지막으로, 도 22에 도시된 바와 같이, 버스(2205)는 또한, 네트워크 어댑터(미도시)를 통해 컴퓨터 시스템(2200)을 네트워크(2265)에 결합한다. 이러한 방식으로, 컴퓨터는, (근거리 통신망("LAN"), 광역 통신망("WAN"), 또는 인트라넷, 인터넷 등의 네트워크들의 네트워크 등의) 컴퓨터들의 네트워크의 일부일 수 있다. 컴퓨터 시스템(2200)의 임의의 또는 모든 컴포넌트는 본 발명과 연계되어 이용될 수 있다.
일부 실시예들은, 컴퓨터 프로그램 명령어들을 머신-판독가능한 또는 컴퓨터-판독가능한 매체(대안으로서, 컴퓨터-판독가능한 저장 매체, 머신-판독가능한 매체, 또는 머신-판독가능한 매체라고도 함)에 저장하는 스토리지 및 메모리, 마이크로프로세서 등의 전자 컴포넌트들을 포함한다. 이러한 컴퓨터-판독가능한 매체의 일부 예는, RAM, ROM, CD-ROM(read-only compact disc), CD-R(recordable compact disc), CD-RW(rewritable compact disc), 판독전용 디지털 버서타일 디스크(예를 들어, DVD-ROM, 듀얼 레이어 DVD-ROM), 다양한 기록가능한/재기록가능한 DVD(예를 들어, DVD-RAM, DVD-RW, DVD+RW 등), 플래시 메모리(예를 들어, SD 카드, 미니-SD 카드, 마이크로-SD 카드 등), 자기 및/또는 솔리드 스테이트 하드 드라이브, 판독전용 및 기록가능한 Blu-Ray® 디스크, 초 고밀도 광 디스크, 기타 임의의 광 또는 자기 매체, 및 플로피 디스크를 포함한다. 컴퓨터-판독가능한 매체는, 적어도 하나의 처리 유닛에 의해 실행가능하고 다양한 동작을 수행하기 위한 명령어 세트를 포함하는 컴퓨터 프로그램을 저장할 수 있다. 컴퓨터 프로그램 또는 컴퓨터 코드의 예는, 컴파일러에 의해 생성되는 것 등의 머신 코드, 및 인터프리터를 이용하여, 컴퓨터, 전자 컴포넌트, 또는 마이크로프로세서에 의해 실행되는 더 높은 수준의 코드를 포함하는 파일을 포함한다.
상기 논의는 주로 소프트웨어를 실행하는 마이크로프로세서 또는 멀티-코어 프로세서를 참조하지만, 일부 실시예들은, ASIC(application specific integrated circuit) 또는 FPGA(Field Programmable Gate Array) 등의 하나 이상의 집적 회로에 의해 수행된다. 일부 실시예들에서, 이러한 집적 회로는 회로 자체에 저장된 명령어를 실행한다.
본 명세서에서 사용될 때, 용어 "컴퓨터", "서버", "프로세서", 및 "메모리"는, 모두, 전자적 또는 다른 기술의 디바이스를 지칭한다. 이들 용어는, 사람들 또는 사람들의 그룹을 제외한다. 본 명세서의 목적을 위해, 디스플레이 또는 디스플레이 수단이라는 용어는, 전자 디바이스 상에서의 디스플레이를 의미한다. 본 명세서에서 사용될 때, "컴퓨터 판독가능한 매체", "컴퓨터 판독가능한 매체들" 및 "머신 판독가능한 매체"라는 용어는, 컴퓨터에 의해 판독가능한 형태로 정보를 저장하는 유형의 물리적 물체로 완전히 제한된다. 이들 용어는, 임의의 무선 신호, 유선 다운로드 신호, 및 기타 임의의 임시적 또는 일시적 신호를 제외한다.
본 발명이 수많은 특정한 상세사항을 참조하여 설명되었지만, 본 기술분야의 통상의 기술자라면, 본 발명이 본 발명의 사상을 벗어나지 않고 다른 특정한 형태로 구현될 수 있다는 것을 인식할 것이다. 예를 들어, 위에서 설명된 몇 가지 예는, 가상 네트워크 제공자의 회사 임차인의 가상 회사 WAN을 나타낸다. 본 기술분야의 통상의 기술자라면, 일부 실시예들에서, 가상 네트워크 제공자는, 비-회사 임차인(예를 들어, 학교, 단과대학, 대학, 비영리 단체 등)을 위한 하나 이상의 공용 클라우드 제공자의 여러 공용 클라우드 데이터센터들을 통해 가상 네트워크를 배치한다는 것을 인식할 것이다. 이들 가상 네트워크는, 비-회사 엔티티의 복수의 컴퓨팅 엔드포인트(예를 들어, 사무실, 데이터센터, 컴퓨터 및 원격 사용자의 디바이스 등)를 접속하는 가상 WAN이다.
전술된 여러 실시예들은 오버레이 캡슐화 헤더에 다양한 데이터를 포함한다. 본 기술분야의 통상의 기술자라면, 다른 실시예들은 이 데이터 모두를 중계하기 위해 캡슐화 헤더를 이용하지 않을 수도 있다는 것을 깨달을 것이다. 예를 들어, 오버레이 캡슐화 헤더에 임차인 식별자를 포함시키는 것 대신에, 다른 실시예들은, 데이터 메시지를 포워딩하는 CFE들의 주소들로부터 임차인 식별자를 도출한다, 예를 들어, 상이한 임차인들이 공용 클라우드에 배치된 그들 자신의 MFN들을 갖는 일부 실시예들에서, 임차인 신원은 임차인 메시지를 처리하는 MFN의 신원과 연관된다.
또한, 여러 도면들은 본 발명의 일부 실시예들의 프로세스를 개념적으로 나타낸다. 다른 실시예들에서, 이들 프로세스의 특정한 동작은, 이들 도면에 도시되고 기술된 순서 그대로로 수행되지 않을 수 있다. 특정한 동작은, 하나의 연속된 일련의 동작들에서 수행되지 않을 수 있고, 상이한 실시예들에서는 상이한 특정한 동작이 수행될 수 있다. 또한, 프로세스는, 여러 개의 서브-프로세스를 이용하여, 또는 더 큰 매크로 프로세스의 일부로서 구현될 수 있다. 따라서, 본 기술분야의 통상의 기술자라면, 본 발명은 전술된 예시적인 상세사항에 의해 제한되는 것이 아니라, 첨부된 청구항들에 의해 정의된다는 것을 이해할 것이다.
Claims (23)
- 적어도 2개의 상이한 공용 클라우드 제공자의 적어도 2개의 공용 클라우드 데이터센터를 통해 데이터 메시지 흐름을 포워딩하는 방법으로서,
제1 공용 클라우드 데이터센터 내의 유입(ingress) 포워딩 요소에서,
상기 공용 클라우드 데이터센터들 외부의 제1 외부 머신으로부터, 상기 공용 클라우드 데이터센터들 외부의 제2 외부 머신으로 어드레싱된 데이터 메시지를 수신하는 단계 - 상기 제2 외부 머신은 제2 공용 클라우드 데이터센터에 있는 유출(egress) 포워딩 요소를 통해 도달가능함 -;
소스 및 목적지 주소로서 상기 유입 및 유출 포워딩 요소들에 대한 네트워크 주소를 포함하는 제1 헤더로 상기 데이터 메시지를 캡슐화하는 단계; 및
상기 유출 포워딩 요소로의 경로 상의 다음 홉이고 공용 클라우드 데이터센터에 있는 다음 홉 포워딩 요소의 네트워크 주소와 상기 유입 포워딩 요소의 상기 네트워크 주소로서 소스 및 목적지 네트워크 주소를 명시하는 제2 헤더로 상기 데이터 메시지를 캡슐화하는 단계
를 포함하는 방법. - 제1항에 있어서, 상기 다음 홉 포워딩 요소는 제3 공용 클라우드 데이터센터에 있는, 방법.
- 제2항에 있어서, 상기 제1, 제2 및 제3 공용 클라우드 데이터센터들은 3개의 상이한 공용 클라우드 제공자에 속하는, 방법.
- 제2항에 있어서, 상기 제1 및 제2 공용 클라우드 데이터센터는 제1 공용 클라우드 제공자에 속하는 반면, 상기 제3 공용 클라우드 데이터센터는 상이한 제2 공용 클라우드 제공자에 속하는, 방법.
- 제2항에 있어서, 상기 제1 및 제2 공용 클라우드 데이터센터들은 2개의 상이한 공용 클라우드 제공자들에 속하는 반면, 상기 제3 공용 클라우드 데이터센터는 상기 제1 공용 클라우드 데이터센터 또는 상기 제2 공용 클라우드 데이터센터의 공용 클라우드 제공자에 속하는, 방법.
- 제2항에 있어서,
상기 다음 홉 포워딩 요소는 제1 다음 홉 포워딩 요소이고,
상기 제1 다음 홉 포워딩 요소는 상기 경로를 따른 제2 다음 홉 포워딩 요소를 상기 데이터 메시지에 대한 다음 홉으로서 식별하고, 상기 제2 헤더에서 소스 및 목적지 네트워크 주소들을 상기 제1 다음 홉 포워딩 요소 및 상기 제2 다음 홉 포워딩 요소의 네트워크 주소들로서 명시하는, 방법. - 제6항에 있어서, 상기 제2 다음 홉 포워딩 요소는 상기 유출 포워딩 요소인, 방법.
- 제7항에 있어서, 상기 캡슐화된 데이터 메시지를 수신한 후에, 상기 유출 포워딩 요소는, 상기 제1 헤더 내의 상기 목적지 네트워크 주소로부터, 상기 캡슐화된 데이터 메시지가 상기 유출 포워딩 요소로 어드레싱되어 있다고 결정하고, 상기 데이터 메시지로부터 상기 제1 및 제2 헤더를 제거하며, 상기 데이터 메시지를 상기 제2 외부 머신에 포워딩하는, 방법.
- 제6항에 있어서, 상기 제2 다음 홉 포워딩 요소는 상기 유출 포워딩 요소와는 상이한 제4 포워딩 요소인, 방법.
- 제1항에 있어서, 상기 다음 홉 포워딩 요소는 상기 유출 포워딩 요소인, 방법.
- 제1항에 있어서,
상이한 임차인들에 대해 공용 클라우드 데이터센터들 상의 상이한 가상 네트워크들을 정의하는 가상 네트워크 제공자의 상기 상이한 임차인들에 속하는 데이터 메시지들을 상기 유입 및 유출 포워딩 요소들에서 처리하는 단계;
상기 수신된 메시지의 제1 헤더를 캡슐화함에 있어서, 상기 제1 및 제2 외부 머신들과 연관된 상기 임차인을 식별하는 임차인 식별자를 저장하는 단계
를 더 포함하는 방법. - 제11항에 있어서, 상기 제1 및 제2 헤더들로의 상기 데이터 메시지의 캡슐화는, 제1 임차인에 대해, 상기 제1 및 제2 공용 클라우드 데이터센터들을 포함하는 그룹 공용 클라우드 데이터센터들의 네트워크들의 그룹에 걸쳐 있는 오버레이 가상 네트워크를 정의하는, 방법.
- 제12항에 있어서, 상기 임차인들은 회사들이고, 상기 가상 네트워크들은 회사 광역 네트워크(WAN)들인, 방법.
- 제1항에 있어서,
상기 제1 외부 머신은 제1 지사 내의 머신, 사설 제1 데이터센터 내의 머신, 또는 원격 머신 중 하나이고,
상기 제2 외부 머신은 제2 지사 내의 머신 또는 사설 제2 데이터센터 내의 머신인, 방법. - 엔티티의, 복수의 공용 클라우드 데이터센터 외부의, 외부 머신들의 위치를 상기 복수의 공용 클라우드 데이터센터 상으로 정의되는 가상 네트워크에 접속하는 방법으로서,
상기 외부 머신들의 위치를 상기 가상 네트워크에 접속하기 위한 후보 엣지 MFN(managed forwarding node)들인 상기 복수의 공용 클라우드 데이터센터 내의 복수의 MFN으로부터 특정한 MFN을 식별하라는 DNS(domain name server) 요청을 전송하는 단계 - 상기 가상 네트워크는 상기 복수의 MFN에 의해 형성됨 -;
상기 DNS 요청에 응답하여, 상기 위치에 있는 상기 외부 머신들로부터 상기 복수의 공용 클라우드 데이터센터 외부의 또 다른 위치에 있는 다른 외부 머신들로 패킷들을 포워딩하도록 상기 특정한 MFN을 상기 가상 네트워크의 유입 노드로서 식별하는 식별자를 수신하는 단계; 및
상기 외부 머신들의 위치를 상기 가상 네트워크에 접속하기 위하여 상기 외부 머신들의 위치와 상기 특정한 MFN 사이에 네트워크 접속을 확립하는 단계
를 포함하는 방법. - 제15항에 있어서, 상기 외부 머신 위치와 상기 가상 네트워크 사이에 네트워크 접속이 확립될 필요가 있다고 결정한 후에 상기 전송, 수신 및 확립 동작들을 수행하는 단계를 더 포함하는 방법.
- 제16항에 있어서, 상기 외부 머신 위치에 대한 상기 엣지 MFN이 상기 외부 머신 위치에 대한 최적의 엣지 MFN임을 보장하기 위하여 주기적으로 결정, 전송, 수신 및 확립하는 단계를 더 포함하는 방법.
- 제16항에 있어서, 상기 결정은 상기 외부 머신 위치와 상기 가상 네트워크 사이에 가상 사설 네트워크(VPN) 접속이 확립될 필요가 있다는 결정에 기초하고, 상기 확립된 네트워크 접속은 VPN 접속인, 방법.
- 제1항에 있어서, 상기 외부 머신 위치는 상기 엔티티의 사무실 또는 개인 데이터센터인 방법.
- 제15항에 있어서, 상기 복수의 MFN은 후보 유입/유출 엣지 MFN들이고, 상기 특정한 MFN은, (i) 상기 가상 네트워크에 접속된 상기 엔티티의 다른 외부 머신들에 포워딩하기 위해 상기 외부 머신 위치로부터 상기 가상 네트워크 내로 데이터 메시지들을 수신하고 (ii) 상기 엔티티의 다른 외부 머신들로부터 상기 가상 네트워크를 통해 상기 외부 머신 위치로 데이터 메시지들을 공급하기 위한 상기 선택된 유입/유출 MFN인, 방법.
- 처리 유닛들 중 적어도 하나에 의해 실행될 때 제1항 내지 제20항 중 어느 한 항에 따른 방법을 구현하는 프로그램을 저장하는 머신 판독가능 매체.
- 전자 디바이스로서,
처리 유닛들의 세트; 및
상기 처리 유닛들 중 적어도 하나에 의해 실행될 때 제1항 내지 제20항 중 어느 한 항에 따른 방법을 구현하는 프로그램을 저장하는 머신 판독가능 매체
를 포함하는, 전자 디바이스. - 제1항 내지 제20항 중 어느 한 항에 따른 방법을 구현하기 위한 수단을 포함하는 시스템.
Applications Claiming Priority (28)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762566524P | 2017-10-02 | 2017-10-02 | |
US62/566,524 | 2017-10-02 | ||
US15/972,091 US10608844B2 (en) | 2017-10-02 | 2018-05-04 | Graph based routing through multiple public clouds |
US15/972,091 | 2018-05-04 | ||
US15/972,093 | 2018-05-04 | ||
US15/972,090 US10666460B2 (en) | 2017-10-02 | 2018-05-04 | Measurement based routing through multiple public clouds |
US15/972,088 US11102032B2 (en) | 2017-10-02 | 2018-05-04 | Routing data message flow through multiple public clouds |
US15/972,086 | 2018-05-04 | ||
US15/972,083 | 2018-05-04 | ||
US15/972,095 | 2018-05-04 | ||
US15/972,100 US10778466B2 (en) | 2017-10-02 | 2018-05-04 | Processing data messages of a virtual network that are sent to and received from external service machines |
US15/972,102 US11855805B2 (en) | 2017-10-02 | 2018-05-04 | Deploying firewall for virtual network defined over public cloud infrastructure |
US15/972,088 | 2018-05-04 | ||
US15/972,083 US11005684B2 (en) | 2017-10-02 | 2018-05-04 | Creating virtual networks spanning multiple public clouds |
US15/972,103 US10841131B2 (en) | 2017-10-02 | 2018-05-04 | Distributed WAN security gateway |
US15/972,104 | 2018-05-04 | ||
US15/972,098 US10805114B2 (en) | 2017-10-02 | 2018-05-04 | Processing data messages of a virtual network that are sent to and received from external service machines |
US15/972,095 US10958479B2 (en) | 2017-10-02 | 2018-05-04 | Selecting one node from several candidate nodes in several public clouds to establish a virtual network that spans the public clouds |
US15/972,100 | 2018-05-04 | ||
US15/972,090 | 2018-05-04 | ||
US15/972,104 US10686625B2 (en) | 2017-10-02 | 2018-05-04 | Defining and distributing routes for a virtual network |
US15/972,098 | 2018-05-04 | ||
US15/972,093 US10594516B2 (en) | 2017-10-02 | 2018-05-04 | Virtual network provider |
US15/972,086 US11516049B2 (en) | 2017-10-02 | 2018-05-04 | Overlay network encapsulation to forward data message flows through multiple public cloud datacenters |
US15/972,102 | 2018-05-04 | ||
US15/972,103 | 2018-05-04 | ||
PCT/US2018/053811 WO2019070611A1 (en) | 2017-10-02 | 2018-10-01 | CREATING VIRTUAL NETWORKS COVERING MULTIPLE PUBLIC CLOUDS |
KR1020227006008A KR102535288B1 (ko) | 2017-10-02 | 2018-10-01 | 복수의 공용 클라우드에 걸쳐 있는 가상 네트워크의 생성 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227006008A Division KR102535288B1 (ko) | 2017-10-02 | 2018-10-01 | 복수의 공용 클라우드에 걸쳐 있는 가상 네트워크의 생성 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230074626A true KR20230074626A (ko) | 2023-05-30 |
Family
ID=65896280
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227006008A KR102535288B1 (ko) | 2017-10-02 | 2018-10-01 | 복수의 공용 클라우드에 걸쳐 있는 가상 네트워크의 생성 |
KR1020237016778A KR20230074626A (ko) | 2017-10-02 | 2018-10-01 | 복수의 공용 클라우드에 걸쳐 있는 가상 네트워크의 생성 |
KR1020207012165A KR102368063B1 (ko) | 2017-10-02 | 2018-10-01 | 복수의 공용 클라우드에 걸쳐 있는 가상 네트워크의 생성 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227006008A KR102535288B1 (ko) | 2017-10-02 | 2018-10-01 | 복수의 공용 클라우드에 걸쳐 있는 가상 네트워크의 생성 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207012165A KR102368063B1 (ko) | 2017-10-02 | 2018-10-01 | 복수의 공용 클라우드에 걸쳐 있는 가상 네트워크의 생성 |
Country Status (10)
Country | Link |
---|---|
US (13) | US10608844B2 (ko) |
EP (2) | EP3662619B1 (ko) |
JP (3) | JP6991646B2 (ko) |
KR (3) | KR102535288B1 (ko) |
CN (2) | CN111095876B (ko) |
AU (3) | AU2018345729B2 (ko) |
BR (1) | BR112020006724A2 (ko) |
CA (2) | CA3200752A1 (ko) |
ES (1) | ES2920281T3 (ko) |
WO (1) | WO2019070611A1 (ko) |
Families Citing this family (126)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8560634B2 (en) * | 2007-10-17 | 2013-10-15 | Dispersive Networks, Inc. | Apparatus, systems and methods utilizing dispersive networking |
US10454714B2 (en) | 2013-07-10 | 2019-10-22 | Nicira, Inc. | Method and system of overlay flow control |
US10749711B2 (en) | 2013-07-10 | 2020-08-18 | Nicira, Inc. | Network-link method useful for a last-mile connectivity in an edge-gateway multipath system |
US9596126B2 (en) | 2013-10-10 | 2017-03-14 | Nicira, Inc. | Controller side method of generating and updating a controller assignment list |
US10498652B2 (en) | 2015-04-13 | 2019-12-03 | Nicira, Inc. | Method and system of application-aware routing with crowdsourcing |
US10135789B2 (en) | 2015-04-13 | 2018-11-20 | Nicira, Inc. | Method and system of establishing a virtual private network in a cloud service for branch networking |
US10425382B2 (en) | 2015-04-13 | 2019-09-24 | Nicira, Inc. | Method and system of a cloud-based multipath routing protocol |
US9942131B2 (en) * | 2015-07-29 | 2018-04-10 | International Business Machines Corporation | Multipathing using flow tunneling through bound overlay virtual machines |
US10826805B2 (en) * | 2016-07-11 | 2020-11-03 | Acronis International Gmbh | System and method for dynamic online backup optimization |
US11706127B2 (en) | 2017-01-31 | 2023-07-18 | Vmware, Inc. | High performance software-defined core network |
US20200036624A1 (en) | 2017-01-31 | 2020-01-30 | The Mode Group | High performance software-defined core network |
US11252079B2 (en) | 2017-01-31 | 2022-02-15 | Vmware, Inc. | High performance software-defined core network |
US20180219765A1 (en) | 2017-01-31 | 2018-08-02 | Waltz Networks | Method and Apparatus for Network Traffic Control Optimization |
US10992568B2 (en) | 2017-01-31 | 2021-04-27 | Vmware, Inc. | High performance software-defined core network |
US11121962B2 (en) | 2017-01-31 | 2021-09-14 | Vmware, Inc. | High performance software-defined core network |
US10992558B1 (en) | 2017-11-06 | 2021-04-27 | Vmware, Inc. | Method and apparatus for distributed data network traffic optimization |
US10574528B2 (en) | 2017-02-11 | 2020-02-25 | Nicira, Inc. | Network multi-source inbound quality of service methods and systems |
US10778528B2 (en) | 2017-02-11 | 2020-09-15 | Nicira, Inc. | Method and system of connecting to a multipath hub in a cluster |
US10523539B2 (en) | 2017-06-22 | 2019-12-31 | Nicira, Inc. | Method and system of resiliency in cloud-delivered SD-WAN |
US10959098B2 (en) | 2017-10-02 | 2021-03-23 | Vmware, Inc. | Dynamically specifying multiple public cloud edge nodes to connect to an external multi-computer node |
US10999165B2 (en) | 2017-10-02 | 2021-05-04 | Vmware, Inc. | Three tiers of SaaS providers for deploying compute and network infrastructure in the public cloud |
US10999100B2 (en) | 2017-10-02 | 2021-05-04 | Vmware, Inc. | Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider |
US10608844B2 (en) | 2017-10-02 | 2020-03-31 | Vmware, Inc. | Graph based routing through multiple public clouds |
US11089111B2 (en) | 2017-10-02 | 2021-08-10 | Vmware, Inc. | Layer four optimization for a virtual network defined over public cloud |
US11115480B2 (en) | 2017-10-02 | 2021-09-07 | Vmware, Inc. | Layer four optimization for a virtual network defined over public cloud |
US11223514B2 (en) | 2017-11-09 | 2022-01-11 | Nicira, Inc. | Method and system of a dynamic high-availability mode based on current wide area network connectivity |
US10523450B2 (en) * | 2018-02-28 | 2019-12-31 | Oracle International Corporation | Overlay network billing |
US11115330B2 (en) * | 2018-03-14 | 2021-09-07 | Juniper Networks, Inc. | Assisted replication with multi-homing and local bias |
AU2019263471A1 (en) * | 2018-05-04 | 2020-11-26 | Digital Age Experts Llc | Emulation of cloud computing service regions |
US10594782B2 (en) * | 2018-06-07 | 2020-03-17 | Level 3 Communications, Llc | Load distribution across superclusters |
US10812337B2 (en) | 2018-06-15 | 2020-10-20 | Vmware, Inc. | Hierarchical API for a SDDC |
US10942788B2 (en) | 2018-06-15 | 2021-03-09 | Vmware, Inc. | Policy constraint framework for an sddc |
US11310107B2 (en) * | 2018-06-20 | 2022-04-19 | NEC Laboratories Europe GmbH | Multi-access edge computing, MEC, system and method for operating the same |
CN110661896B (zh) * | 2018-06-29 | 2021-06-22 | 网宿科技股份有限公司 | 一种确定数据流的映射地址的方法及服务器 |
US11522835B2 (en) * | 2018-07-03 | 2022-12-06 | Vmware, Inc. | Context based firewall service for agentless machines |
US10999220B2 (en) | 2018-07-05 | 2021-05-04 | Vmware, Inc. | Context aware middlebox services at datacenter edge |
US11184327B2 (en) * | 2018-07-05 | 2021-11-23 | Vmware, Inc. | Context aware middlebox services at datacenter edges |
US11086700B2 (en) * | 2018-08-24 | 2021-08-10 | Vmware, Inc. | Template driven approach to deploy a multi-segmented application in an SDDC |
US20200067829A1 (en) * | 2018-08-27 | 2020-02-27 | Ca, Inc. | Methods and devices for intelligent selection of channel interfaces |
US10708125B1 (en) * | 2018-09-05 | 2020-07-07 | Amazon Technologies, Inc. | Gateway configuration using a network manager |
US20200106793A1 (en) * | 2018-10-02 | 2020-04-02 | Olympus Infotech, LLC | Methods, systems, and computer program products for continuous cyber risk monitoring |
US11095558B2 (en) | 2018-12-28 | 2021-08-17 | Alibaba Group Holding Limited | ASIC for routing a packet |
US10630677B1 (en) | 2019-06-06 | 2020-04-21 | NortonLifeLock Inc. | Systems and methods for protecting users |
US10911330B2 (en) * | 2019-06-12 | 2021-02-02 | Cisco Technology, Inc. | Intent based application fabric |
WO2021021173A1 (en) * | 2019-07-31 | 2021-02-04 | Huawei Technologies Co., Ltd. | Transporting a multi-transport network context-identifier (mtnc-id) across multiple domains |
CN116232990A (zh) | 2019-07-31 | 2023-06-06 | 华为技术有限公司 | 在支持SRv6的数据面上传输MTNC-ID以实现5G传输 |
US10659310B1 (en) * | 2019-08-16 | 2020-05-19 | LogicMonitor, Inc. | Discovering and mapping the relationships between macro-clusters of a computer network topology for an executing application |
US11121985B2 (en) | 2019-08-27 | 2021-09-14 | Vmware, Inc. | Defining different public cloud virtual networks for different entities based on different sets of measurements |
CN110650092B (zh) * | 2019-09-24 | 2022-05-03 | 网易(杭州)网络有限公司 | 一种数据处理的方法和装置 |
US11363060B2 (en) * | 2019-10-24 | 2022-06-14 | Microsoft Technology Licensing, Llc | Email security in a multi-tenant email service |
US11611507B2 (en) | 2019-10-28 | 2023-03-21 | Vmware, Inc. | Managing forwarding elements at edge nodes connected to a virtual network |
CN110784398B (zh) * | 2019-11-01 | 2022-05-17 | 锱云(上海)物联网科技有限公司 | 一种工业物联网加工设备数据采集系统以及数据分析方法 |
US10965737B1 (en) * | 2019-11-29 | 2021-03-30 | Amazon Technologies, Inc. | Cloud computing in communications service provider networks |
US11418995B2 (en) | 2019-11-29 | 2022-08-16 | Amazon Technologies, Inc. | Mobility of cloud compute instances hosted within communications service provider networks |
US11470047B1 (en) * | 2019-11-29 | 2022-10-11 | Amazon Technologies, Inc. | Managed virtual networks for computing cloud edge locations |
US10979534B1 (en) | 2019-11-29 | 2021-04-13 | Amazon Technologies, Inc. | Latency-based placement of cloud compute instances within communications service provider networks |
US11394640B2 (en) | 2019-12-12 | 2022-07-19 | Vmware, Inc. | Collecting and analyzing data regarding flows associated with DPI parameters |
US11489783B2 (en) | 2019-12-12 | 2022-11-01 | Vmware, Inc. | Performing deep packet inspection in a software defined wide area network |
US11411777B2 (en) * | 2020-01-14 | 2022-08-09 | Vmware, Inc. | Port mapping for bonded interfaces of ECMP group |
US11438789B2 (en) | 2020-01-24 | 2022-09-06 | Vmware, Inc. | Computing and using different path quality metrics for different service classes |
US11323918B2 (en) * | 2020-01-24 | 2022-05-03 | Cisco Technology, Inc. | Switch and backhaul capacity-based radio resource management |
US11588693B2 (en) * | 2020-02-26 | 2023-02-21 | Red Hat, Inc. | Migrating networking configurations |
CN111404801B (zh) * | 2020-03-27 | 2021-09-28 | 四川虹美智能科技有限公司 | 跨云厂商的数据处理方法、装置及系统 |
WO2021196080A1 (en) | 2020-04-01 | 2021-10-07 | Vmware Information Technology (China) Co., Ltd. | Auto deploying network elements for heterogeneous compute elements |
US11233824B2 (en) | 2020-04-06 | 2022-01-25 | Vmware, Inc. | Site aware policy-based proximity routing and policy-based proximity routing |
CN113726651B (zh) * | 2020-05-25 | 2022-12-13 | 华为技术有限公司 | 一种路由管理方法、设备及系统 |
CN111683086B (zh) * | 2020-06-05 | 2022-11-01 | 北京百度网讯科技有限公司 | 网络数据处理方法、装置、电子设备和存储介质 |
CN113965579B (zh) * | 2020-06-29 | 2023-03-24 | 华为云计算技术有限公司 | 一种云服务的资源发放方法及相关设备 |
US11477127B2 (en) | 2020-07-02 | 2022-10-18 | Vmware, Inc. | Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN |
US11803408B2 (en) | 2020-07-29 | 2023-10-31 | Vmware, Inc. | Distributed network plugin agents for container networking |
US11863352B2 (en) | 2020-07-30 | 2024-01-02 | Vmware, Inc. | Hierarchical networking for nested container clusters |
US11363124B2 (en) | 2020-07-30 | 2022-06-14 | Vmware, Inc. | Zero copy socket splicing |
US10911407B1 (en) | 2020-08-04 | 2021-02-02 | Palo Alto Networks, Inc. | Localization at scale for a cloud-based security service |
US11552930B2 (en) | 2020-08-31 | 2023-01-10 | Equinix, Inc. | Virtual domains within a shared device |
US11362992B2 (en) | 2020-09-21 | 2022-06-14 | Vmware, Inc. | Allocating additional bandwidth to resources in a datacenter through deployment of dedicated gateways |
US11095612B1 (en) | 2020-10-30 | 2021-08-17 | Palo Alto Networks, Inc. | Flow metadata exchanges between network and security functions for a security service |
US11785048B2 (en) | 2020-10-30 | 2023-10-10 | Palo Alto Networks, Inc. | Consistent monitoring and analytics for security insights for network and security functions for a security service |
US11575591B2 (en) | 2020-11-17 | 2023-02-07 | Vmware, Inc. | Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN |
US11575600B2 (en) | 2020-11-24 | 2023-02-07 | Vmware, Inc. | Tunnel-less SD-WAN |
US11601356B2 (en) | 2020-12-29 | 2023-03-07 | Vmware, Inc. | Emulating packet flows to assess network links for SD-WAN |
CN114760167A (zh) * | 2020-12-29 | 2022-07-15 | 华为技术有限公司 | 报文转发的方法、装置和网络系统 |
US11792127B2 (en) | 2021-01-18 | 2023-10-17 | Vmware, Inc. | Network-aware load balancing |
US11979325B2 (en) | 2021-01-28 | 2024-05-07 | VMware LLC | Dynamic SD-WAN hub cluster scaling with machine learning |
US11848985B2 (en) * | 2021-01-29 | 2023-12-19 | Salesforce, Inc. | Mass electronic mail sending system with flexible public sending network addresses |
EP4275450A1 (en) * | 2021-02-08 | 2023-11-15 | Samsung Electronics Co., Ltd. | Method and communication network for providing access to localized services (pals) |
CN113225405A (zh) * | 2021-02-25 | 2021-08-06 | 紫光云技术有限公司 | 一种公有云平台下nat暂停和开启操作的方法、电子设备 |
KR102270143B1 (ko) * | 2021-03-02 | 2021-06-28 | 주식회사 아라드네트웍스 | 네트워크 격리를 위한 통신 제어 방법 및 이를 이용한 장치 |
US11888740B2 (en) | 2021-03-05 | 2024-01-30 | Cisco Technology, Inc. | Classification and forwarding node for integrating disparate headend traffic ingress services with disparate backend services |
US11606290B2 (en) | 2021-03-25 | 2023-03-14 | Vmware, Inc. | Connectivity between virtual datacenters |
CN112948132B (zh) * | 2021-04-07 | 2022-09-06 | 广西师范大学 | 云服务事件及服务等级合约数据的向量化方法 |
US20220329576A1 (en) * | 2021-04-09 | 2022-10-13 | Hewlett Packard Enterprise Development Lp | Securing communication between a cloud platform and an application hosted on an on-premise private network |
US12009987B2 (en) | 2021-05-03 | 2024-06-11 | VMware LLC | Methods to support dynamic transit paths through hub clustering across branches in SD-WAN |
EP4282140A1 (en) | 2021-05-03 | 2023-11-29 | VMware, Inc. | On demand routing mesh for routing packets through sd-wan edge forwarding nodes in an sd-wan |
US11637768B2 (en) | 2021-05-03 | 2023-04-25 | Vmware, Inc. | On demand routing mesh for routing packets through SD-WAN edge forwarding nodes in an SD-WAN |
US11729065B2 (en) | 2021-05-06 | 2023-08-15 | Vmware, Inc. | Methods for application defined virtual network service among multiple transport in SD-WAN |
US11582147B2 (en) | 2021-05-24 | 2023-02-14 | Vmware, Inc. | Allocating additional bandwidth to resources in a datacenter through deployment of dedicated gateways |
CN117178259A (zh) * | 2021-05-24 | 2023-12-05 | Vm维尔股份有限公司 | 通过专用网关的部署为数据中心中的资源分配附加带宽 |
US20220376998A1 (en) * | 2021-05-24 | 2022-11-24 | Cisco Technology, Inc. | Autonomous system bottleneck detection |
CN113259174B (zh) * | 2021-06-07 | 2021-10-19 | 上海慧捷智能技术有限公司 | 一种基于多云架构的联络中心系统及其实现的方法 |
US11606254B2 (en) | 2021-06-11 | 2023-03-14 | Vmware, Inc. | Automatic configuring of VLAN and overlay logical switches for container secondary interfaces |
US11635903B2 (en) * | 2021-06-15 | 2023-04-25 | International Business Machines Corporation | Cloud data migration |
US12015536B2 (en) | 2021-06-18 | 2024-06-18 | VMware LLC | Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of types of resource elements in the public clouds |
US11489720B1 (en) | 2021-06-18 | 2022-11-01 | Vmware, Inc. | Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics |
US20220407915A1 (en) * | 2021-06-18 | 2022-12-22 | Vmware, Inc. | Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics |
US11611566B2 (en) * | 2021-06-25 | 2023-03-21 | Microsoft Technology Licensing, Llc | Automatic verification of safety for virtualized networks |
US11765244B1 (en) * | 2021-06-30 | 2023-09-19 | Amazon Technologies, Inc. | Latency-based service discovery and routing for multi-location service-oriented applications |
US11729094B2 (en) | 2021-07-02 | 2023-08-15 | Vmware, Inc. | Source-based routing for virtual datacenters |
US11375005B1 (en) | 2021-07-24 | 2022-06-28 | Vmware, Inc. | High availability solutions for a secure access service edge application |
US20230025586A1 (en) * | 2021-07-24 | 2023-01-26 | Vmware, Inc. | Network management services in a secure access service edge application |
KR20230021506A (ko) * | 2021-08-05 | 2023-02-14 | 한국전자통신연구원 | 사용자 정의 기반의 가상 네트워크 설정 방법 |
WO2023015311A1 (en) * | 2021-08-05 | 2023-02-09 | Juniper Networks, Inc. | Multiplexing tenant tunnels in software-as-a-service deployments |
US11943146B2 (en) | 2021-10-01 | 2024-03-26 | VMware LLC | Traffic prioritization in SD-WAN |
US11803569B2 (en) * | 2021-10-05 | 2023-10-31 | Procore Technologies, Inc. | Computer system and method for accessing user data that is distributed within a multi-zone computing platform |
WO2023105579A1 (ja) * | 2021-12-06 | 2023-06-15 | 日本電信電話株式会社 | パケット中継システム、および、パケット中継方法 |
US20230231741A1 (en) | 2022-01-14 | 2023-07-20 | Vmware, Inc. | Per-namespace ip address management method for container networks |
US11909815B2 (en) | 2022-06-06 | 2024-02-20 | VMware LLC | Routing based on geolocation costs |
US11962493B2 (en) | 2022-06-21 | 2024-04-16 | VMware LLC | Network address translation in active-active edge cluster |
US11924046B1 (en) | 2022-08-23 | 2024-03-05 | Cisco Technology, Inc. | Network hierarchy constructs enabling instant global wide area network connectivity |
US11962429B1 (en) * | 2022-11-02 | 2024-04-16 | Cisco Technology, Inc. | Sharing transport interfaces between tenants on multi-tenant edge devices |
US20240154879A1 (en) * | 2022-11-08 | 2024-05-09 | Be Broadband Technologies (Bbt.Live) Ltd. | System and method for the management and optimization of software defined networks |
US11848910B1 (en) | 2022-11-11 | 2023-12-19 | Vmware, Inc. | Assigning stateful pods fixed IP addresses depending on unique pod identity |
US11831511B1 (en) | 2023-01-17 | 2023-11-28 | Vmware, Inc. | Enforcing network policies in heterogeneous systems |
US11843536B1 (en) | 2023-01-18 | 2023-12-12 | Bank Of America Corporation | Systems, methods, and apparatuses for determining data routing in an electronic environment |
CN116170406A (zh) * | 2023-01-18 | 2023-05-26 | 阿里云计算有限公司 | 用于实现虚拟机与公网通信的系统和方法 |
US11929838B1 (en) * | 2023-05-11 | 2024-03-12 | VMware LLC | Egress cost optimization for multi-cloud network |
US12009998B1 (en) * | 2023-05-25 | 2024-06-11 | Cisco Technology, Inc. | Core network support for application requested network service level objectives |
Family Cites Families (846)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5652751A (en) | 1996-03-26 | 1997-07-29 | Hazeltine Corporation | Architecture for mobile radio networks with dynamically changing topology using virtual subnets |
JP2964957B2 (ja) | 1996-08-15 | 1999-10-18 | 日本電気株式会社 | 高速ルーティング制御方式 |
US5909553A (en) | 1997-02-19 | 1999-06-01 | International Business Machines Corporation | Systems and methods for controlling the transmission of relatively large data objects in a communications system |
US6157648A (en) | 1997-03-06 | 2000-12-05 | Bell Atlantic Network Services, Inc. | Network session management |
US20080055241A1 (en) | 1998-03-26 | 2008-03-06 | Immersion Corporation | Systems and Methods for Haptic Feedback Effects for Control Knobs |
US6154465A (en) | 1998-10-06 | 2000-11-28 | Vertical Networks, Inc. | Systems and methods for multiple mode voice and data communications using intelligenty bridged TDM and packet buses and methods for performing telephony and data functions using the same |
JP2002525913A (ja) | 1998-09-11 | 2002-08-13 | シェアウェーブ・インコーポレーテッド | コンピュータ・ネットワーク内の通信を制御するための方法および装置 |
US6445682B1 (en) * | 1998-10-06 | 2002-09-03 | Vertical Networks, Inc. | Systems and methods for multiple mode voice and data communications using intelligently bridged TDM and packet buses and methods for performing telephony and data functions using the same |
US6363378B1 (en) | 1998-10-13 | 2002-03-26 | Oracle Corporation | Ranking of query feedback terms in an information retrieval system |
US6578083B2 (en) | 1999-02-05 | 2003-06-10 | Pluris, Inc. | Method for monitoring data flow at a node on a network facilitating data transfer on at least one link having at least one class of service |
US6930983B2 (en) | 2000-03-15 | 2005-08-16 | Texas Instruments Incorporated | Integrated circuits, systems, apparatus, packets and processes utilizing path diversity for media over packet applications |
US6744775B1 (en) | 1999-09-27 | 2004-06-01 | Nortel Networks Limited | State information and routing table updates in large scale data networks |
EP2288083B1 (en) | 2000-06-16 | 2013-07-31 | Fujitsu Limited | Communication device having VPN accomodation function |
US20020087716A1 (en) | 2000-07-25 | 2002-07-04 | Shakeel Mustafa | System and method for transmitting customized multi priority services on a single or multiple links over data link layer frames |
US7003481B2 (en) | 2000-08-25 | 2006-02-21 | Flatrock Ii, Inc. | Method and apparatus for providing network dependent application services |
US7320017B1 (en) | 2000-09-06 | 2008-01-15 | Cisco Technology, Inc. | Media gateway adapter |
US9525696B2 (en) | 2000-09-25 | 2016-12-20 | Blue Coat Systems, Inc. | Systems and methods for processing data flows |
US6876988B2 (en) | 2000-10-23 | 2005-04-05 | Netuitive, Inc. | Enhanced computer performance forecasting system |
US6976087B1 (en) | 2000-11-24 | 2005-12-13 | Redback Networks Inc. | Service provisioning methods and apparatus |
US7333512B2 (en) | 2000-12-18 | 2008-02-19 | Rmi Corporation | Dynamic mixing TDM data with data packets |
US7519048B2 (en) | 2000-12-28 | 2009-04-14 | Nec Corporation | Communication system and packet switching method thereof |
US7536715B2 (en) | 2001-05-25 | 2009-05-19 | Secure Computing Corporation | Distributed firewall system and method |
JP3737385B2 (ja) | 2001-06-07 | 2006-01-18 | 富士通株式会社 | 最適化パス設定方法及びそれを用いた網管理システム |
JP3621987B2 (ja) | 2001-09-07 | 2005-02-23 | 独立行政法人情報通信研究機構 | 無線システムのシームレス統合ネットワークシステム |
US20030061269A1 (en) | 2001-09-17 | 2003-03-27 | Flow Engines, Inc. | Data flow engine |
DE60140471D1 (de) | 2001-12-13 | 2009-12-24 | Sony Deutschland Gmbh | Adaptive Dienstqualitätsreservierung mit vorheriger Ressourcenzuweisung für Mobilfunksysteme |
US20030112808A1 (en) | 2001-12-13 | 2003-06-19 | Net Reality Ltd | Automatic configuration of IP tunnels |
AU2003217640A1 (en) | 2002-02-22 | 2003-09-09 | The Trustees Of The University Of Pennsylvania | System and method for distributing traffic in a network |
JP2003258854A (ja) | 2002-02-27 | 2003-09-12 | Toshiba Corp | ルータ装置及びインターネットサービスプロバイダ選択方法 |
US7751409B1 (en) | 2002-03-20 | 2010-07-06 | Oracle America, Inc. | Logical service domains for enabling network mobility |
US7289456B2 (en) | 2002-04-08 | 2007-10-30 | Telcordia Technologies, Inc. | Determining and provisioning paths within a network of communication elements |
US7280476B2 (en) | 2002-06-04 | 2007-10-09 | Lucent Technologies Inc. | Traffic control at a network node |
AU2002345467A1 (en) | 2002-06-19 | 2004-01-06 | Telefonaktiebolaget L M Ericsson (Publ) | A network device driver architecture |
US7086061B1 (en) | 2002-08-01 | 2006-08-01 | Foundry Networks, Inc. | Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics |
US8656050B2 (en) | 2002-09-24 | 2014-02-18 | Alcatel Lucent | Methods and systems for efficiently configuring IP-based, virtual private networks |
US7440573B2 (en) | 2002-10-08 | 2008-10-21 | Broadcom Corporation | Enterprise wireless local area network switching system |
US8154581B2 (en) | 2002-10-15 | 2012-04-10 | Revolutionary Concepts, Inc. | Audio-video communication system for receiving person at entrance |
US7606156B2 (en) | 2003-10-14 | 2009-10-20 | Delangis Eric M | Residential communications gateway (RCG) for broadband communications over a plurality of standard POTS lines, with dynamic allocation of said bandwidth, that requires no additional equipment or modifications to the associated class 5 offices or the PSTN at large |
US7386605B2 (en) | 2002-11-05 | 2008-06-10 | Enterasys Networks, Inc. | Methods and apparatus for automated edge device configuration in a heterogeneous network |
AU2003300900A1 (en) | 2002-12-13 | 2004-07-09 | Internap Network Services Corporation | Topology aware route control |
US7397795B2 (en) | 2003-02-24 | 2008-07-08 | Intel California | Method and system for label-based packet forwarding among multiple forwarding elements |
JP4354201B2 (ja) | 2003-03-18 | 2009-10-28 | 富士通株式会社 | 不正アクセス対処システム、及び不正アクセス対処処理プログラム |
US7452278B2 (en) | 2003-05-09 | 2008-11-18 | Microsoft Corporation | Web access to secure data |
US7373660B1 (en) | 2003-08-26 | 2008-05-13 | Cisco Technology, Inc. | Methods and apparatus to distribute policy information |
US7313629B1 (en) | 2003-11-06 | 2007-12-25 | Sprint Communications Company L.P. | Method for altering link weights in a communication network within network parameters to provide traffic information for improved forecasting |
US7903555B2 (en) | 2003-12-17 | 2011-03-08 | Intel Corporation | Packet tracing |
JP4398263B2 (ja) | 2004-01-13 | 2010-01-13 | 富士通株式会社 | 経路設計方法 |
US7246256B2 (en) | 2004-01-20 | 2007-07-17 | International Business Machines Corporation | Managing failover of J2EE compliant middleware in a high availability system |
US20050159166A1 (en) | 2004-01-21 | 2005-07-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Quality of service controlled link adaptation |
US8145785B1 (en) | 2004-02-13 | 2012-03-27 | Habanero Holdings, Inc. | Unused resource recognition in real time for provisioning and management of fabric-backplane enterprise servers |
US7376122B2 (en) | 2004-02-23 | 2008-05-20 | Microsoft Corporation | System and method for link quality source routing |
US7428214B2 (en) | 2004-03-04 | 2008-09-23 | Cisco Technology, Inc. | Methods and devices for high network availability |
US7496661B1 (en) | 2004-03-29 | 2009-02-24 | Packeteer, Inc. | Adaptive, application-aware selection of differentiated network services |
US7957266B2 (en) | 2004-05-28 | 2011-06-07 | Alcatel-Lucent Usa Inc. | Efficient and robust routing independent of traffic pattern variability |
US7561534B2 (en) | 2004-06-30 | 2009-07-14 | Alcatel-Lucent Usa Inc. | Methods of network routing having improved resistance to faults affecting groups of links subject to common risks |
US7684374B2 (en) | 2004-07-28 | 2010-03-23 | Broadcom Corporation | Handling of multimedia call sessions and attachments using multi-network simulcasting |
US8572234B2 (en) | 2004-11-30 | 2013-10-29 | Hewlett-Packard Development, L.P. | MPLS VPN fault management using IGP monitoring system |
US7936762B2 (en) | 2004-12-09 | 2011-05-03 | The Boeing Company | QOS provisioning in a network having dynamic link states |
US8250214B2 (en) | 2004-12-20 | 2012-08-21 | Vmware, Inc. | System, method and computer program product for communicating with a private network |
US8954595B2 (en) | 2004-12-30 | 2015-02-10 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP buffering |
CA2590669A1 (en) | 2004-12-31 | 2006-07-06 | British Telecommunications Public Limited Company | Method to run a connectionless network as a connection oriented network |
EP1679835A1 (en) | 2005-01-07 | 2006-07-12 | Koninklijke KPN N.V. | Method, device and system for predicting a data session time |
US7395277B2 (en) | 2005-01-25 | 2008-07-01 | International Business Machines Corporation | Content framework method |
US20060171365A1 (en) | 2005-02-02 | 2006-08-03 | Utstarcom, Inc. | Method and apparatus for L2TP dialout and tunnel switching |
US9306831B2 (en) | 2005-02-14 | 2016-04-05 | Cisco Technology, Inc. | Technique for efficient load balancing of TE-LSPs |
US7609619B2 (en) | 2005-02-25 | 2009-10-27 | Cisco Technology, Inc. | Active-active data center using RHI, BGP, and IGP anycast for disaster recovery and load distribution |
US7710865B2 (en) | 2005-02-25 | 2010-05-04 | Cisco Technology, Inc. | Disaster recovery for active-standby data center using route health and BGP |
US7701851B2 (en) | 2005-07-20 | 2010-04-20 | Vidyo, Inc. | System and method for the control of the transmission rate in packet-based digital communications |
US7945678B1 (en) | 2005-08-05 | 2011-05-17 | F5 Networks, Inc. | Link load balancer that controls a path for a client to connect to a resource |
CN1909501A (zh) | 2005-08-05 | 2007-02-07 | 华为技术有限公司 | 一种端到端业务快速收敛的方法和路由设备 |
US7426626B2 (en) | 2005-08-23 | 2008-09-16 | Qualcomm Incorporated | TLB lock indicator |
US7920572B2 (en) | 2005-09-20 | 2011-04-05 | Cisco Technology, Inc. | Modifying operation of peer-to-peer networks based on integrating network routing information |
US8259566B2 (en) | 2005-09-20 | 2012-09-04 | Qualcomm Incorporated | Adaptive quality of service policy for dynamic networks |
US7401198B2 (en) | 2005-10-06 | 2008-07-15 | Netapp | Maximizing storage system throughput by measuring system performance metrics |
US20070091794A1 (en) | 2005-10-20 | 2007-04-26 | Clarence Filsfils | Method of constructing a backup path in an autonomous system |
US20070115812A1 (en) | 2005-11-22 | 2007-05-24 | Silver Peak Systems, Inc. | Sequence numbers for multiple quality of service levels |
US7693047B2 (en) | 2005-11-28 | 2010-04-06 | Cisco Technology, Inc. | System and method for PE-node protection |
US20070162639A1 (en) | 2005-11-30 | 2007-07-12 | Chu Hsiao-Keng J | TCP-offload-engine based zero-copy sockets |
US7673042B2 (en) | 2005-12-06 | 2010-03-02 | Shunra Software, Ltd. | System and method for comparing service levels to a service level objective |
US8141156B1 (en) | 2005-12-28 | 2012-03-20 | At&T Intellectual Property Ii, L.P. | Method and apparatus for mitigating routing misbehavior in a network |
US7581022B1 (en) | 2005-12-29 | 2009-08-25 | At&T Corp. | Method for tunable inter domain egress selection |
CN101356783B (zh) | 2006-01-12 | 2014-06-04 | 博通以色列研发公司 | 虚拟化网络环境中具有i/o共享的协议卸载和直接i/o的方法和系统 |
US7633956B1 (en) | 2006-01-19 | 2009-12-15 | Cisco Technology, Inc. | System and method for providing support for multipoint L2VPN services in devices without local bridging |
US9015299B1 (en) | 2006-01-20 | 2015-04-21 | Cisco Technology, Inc. | Link grouping for route optimization |
US7680925B2 (en) | 2006-01-24 | 2010-03-16 | Cisco Technology, Inc. | Method and system for testing provisioned services in a network |
US7633882B2 (en) | 2006-02-02 | 2009-12-15 | Eaton Corporation | Ad-hoc network and method employing globally optimized routes for packets |
US20150003240A1 (en) | 2006-02-21 | 2015-01-01 | Rockstar Consortium Us Lp | Adaptive call routing in ip networks |
US7873025B2 (en) | 2006-02-23 | 2011-01-18 | Cisco Technology, Inc. | Network device that determines application-level network latency by monitoring option values in a transport layer message |
US7729257B2 (en) | 2006-03-30 | 2010-06-01 | Alcatel-Lucent Usa Inc. | Method and apparatus for link transmission scheduling for handling traffic variation in wireless mesh networks |
US7865615B2 (en) | 2006-05-08 | 2011-01-04 | Cisco Technology, Inc. | Maintaining IGP transparency of VPN routes when BGP is used as a PE-CE protocol |
US7953020B2 (en) | 2006-05-22 | 2011-05-31 | At&T Intellectual Property Ii, L.P. | Method for implementing and reporting one-way network measurements |
US8488447B2 (en) | 2006-06-30 | 2013-07-16 | Centurylink Intellectual Property Llc | System and method for adjusting code speed in a transmission path during call set-up due to reduced transmission performance |
DE102006032832A1 (de) | 2006-07-14 | 2008-01-17 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Netzwerksystem und Verfahren zur Steuerung verteilter Speicher |
WO2008011354A2 (en) | 2006-07-18 | 2008-01-24 | Gordon Bolt | Controlled incremental multi-protocol label switching (mpls) traffic engineering |
US8566452B1 (en) | 2006-08-03 | 2013-10-22 | F5 Networks, Inc. | Intelligent HTTP based load-balancing, persistence, and application traffic management of SSL VPN tunnels |
US7907595B2 (en) | 2006-09-29 | 2011-03-15 | Avaya, Inc. | Method and apparatus for learning endpoint addresses of IPSec VPN tunnels |
KR100817798B1 (ko) | 2006-10-20 | 2008-03-31 | 한국정보보호진흥원 | 인터넷 제어 메시지 프로토콜의 타임스탬프 기능을 이용한네트워크 링크 가용 대역폭 추정 방법 |
US7885180B2 (en) | 2006-12-15 | 2011-02-08 | Check Point Software Technologies Inc. | Address resolution request mirroring |
US7830804B2 (en) | 2007-01-17 | 2010-11-09 | Sierra Wireless, Inc. | Quality of service application programming interface over socket |
WO2008089305A2 (en) | 2007-01-17 | 2008-07-24 | Nortel Networks Limited | Border gateway protocol procedures for mpls and layer-2 vpn using ethernet-based tunnels |
CN100484037C (zh) | 2007-03-14 | 2009-04-29 | 华为技术有限公司 | 设备跟踪系统、装置及方法 |
US8205246B2 (en) | 2007-05-10 | 2012-06-19 | Cisco Technology, Inc. | User sensitive filtering of network application layer resources |
US8111692B2 (en) | 2007-05-31 | 2012-02-07 | Embarq Holdings Company Llc | System and method for modifying network traffic |
EP2208311B1 (en) * | 2007-06-19 | 2012-08-22 | Sand Holdings, LLC | An autonomous, automatic-reset/restore client and a monitoring system |
US8094659B1 (en) | 2007-07-09 | 2012-01-10 | Marvell Israel (M.I.S.L) Ltd. | Policy-based virtual routing and forwarding (VRF) assignment |
US7974264B2 (en) | 2007-07-13 | 2011-07-05 | Michael Rothschild | Method and a system for determining the spatial location of nodes in a wireless network |
EP2201474B1 (en) | 2007-10-03 | 2020-05-06 | NTT Global Networks Incorporated | Virtualized application acceleration infrastructure |
US8560634B2 (en) | 2007-10-17 | 2013-10-15 | Dispersive Networks, Inc. | Apparatus, systems and methods utilizing dispersive networking |
CA2704958A1 (en) | 2007-11-05 | 2009-05-14 | Intelli-Check--Mobilisa Inc. | Dynamic access control in response to flexible rules |
US8667095B2 (en) | 2007-11-09 | 2014-03-04 | Cisco Technology, Inc. | Local auto-configuration of network devices connected to multipoint virtual connections |
US8503334B2 (en) | 2007-12-14 | 2013-08-06 | Level 3 Communications, Llc | System and method for providing network services over shared virtual private network (VPN) |
US9130968B2 (en) | 2008-01-16 | 2015-09-08 | Netapp, Inc. | Clustered cache appliance system and methodology |
GB2458154B (en) | 2008-03-07 | 2012-06-27 | Hewlett Packard Development Co | Routing across a virtual network |
US8681709B2 (en) | 2008-03-27 | 2014-03-25 | At&T Mobility Ii Llc | Dynamic allocation of communications resources |
US8170123B1 (en) | 2008-04-15 | 2012-05-01 | Desktone, Inc. | Media acceleration for virtual computing services |
US8964548B1 (en) | 2008-04-17 | 2015-02-24 | Narus, Inc. | System and method for determining network application signatures using flow payloads |
US8395989B2 (en) | 2008-04-23 | 2013-03-12 | Verizon Patent And Licensing Inc. | Method and system for network backbone analysis |
US8001413B2 (en) | 2008-05-05 | 2011-08-16 | Microsoft Corporation | Managing cluster split-brain in datacenter service site failover |
US8160063B2 (en) | 2008-06-09 | 2012-04-17 | Microsoft Corporation | Data center interconnect and traffic engineering |
US8125907B2 (en) | 2008-06-12 | 2012-02-28 | Talari Networks Incorporated | Flow-based adaptive private network with multiple WAN-paths |
US7962458B2 (en) | 2008-06-12 | 2011-06-14 | Gravic, Inc. | Method for replicating explicit locks in a data replication engine |
US9717021B2 (en) | 2008-07-03 | 2017-07-25 | Silver Peak Systems, Inc. | Virtual network overlay |
US8098663B2 (en) | 2008-07-08 | 2012-01-17 | Cisco Technology, Inc. | Carrier's carrier without customer-edge-to-customer-edge border gateway protocol |
US8243589B1 (en) | 2008-08-14 | 2012-08-14 | United Services Automobile Association (Usaa) | Systems and methods for data center load balancing |
JP5074327B2 (ja) | 2008-08-21 | 2012-11-14 | 株式会社日立製作所 | 経路制御システム |
US9715401B2 (en) | 2008-09-15 | 2017-07-25 | International Business Machines Corporation | Securing live migration of a virtual machine from a secure virtualized computing environment, over an unsecured network, to a different virtualized computing environment |
US7974219B2 (en) | 2008-09-26 | 2011-07-05 | Hewlett-Packard Development Company, L.P. | Network troubleshooting using path topology |
US8006129B2 (en) | 2008-10-03 | 2011-08-23 | Cisco Technology, Inc. | Detecting and preventing the split-brain condition in redundant processing units |
US9270595B2 (en) | 2008-10-10 | 2016-02-23 | Hewlett Packard Enterprise Development Lp | Method and system for controlling a delay of packet processing using loop paths |
US7978612B2 (en) | 2008-10-13 | 2011-07-12 | Cisco Technology, Inc. | Two-hop relay for reducing distance vector routing information |
US8116225B2 (en) | 2008-10-31 | 2012-02-14 | Venturi Wireless | Method and apparatus for estimating channel bandwidth |
US9929964B2 (en) | 2008-11-12 | 2018-03-27 | Teloip Inc. | System, apparatus and method for providing aggregation of connections with a secure and trusted virtual network overlay |
US8155158B2 (en) | 2008-11-12 | 2012-04-10 | Patricio Humberto Saavedra | System, apparatus and method for providing aggregated network connections |
US20100128600A1 (en) | 2008-11-26 | 2010-05-27 | A T & T Intellectual Property I, L.P. | Automated Network Fault Analysis |
US8442043B2 (en) | 2008-12-29 | 2013-05-14 | Cisco Technology, Inc. | Service selection mechanism in service insertion architecture data plane |
US20110302068A1 (en) | 2010-06-04 | 2011-12-08 | David Garrett | Method and system for multi-tier billing for downloading content via a broadband gateway |
US8893009B2 (en) | 2009-01-28 | 2014-11-18 | Headwater Partners I Llc | End user device that secures an association of application to service policy with an application certificate check |
US10057775B2 (en) | 2009-01-28 | 2018-08-21 | Headwater Research Llc | Virtualized policy and charging system |
US8289997B2 (en) | 2009-02-02 | 2012-10-16 | Novara Technology, LLC | Bandwidth sharing in a distributed wireless client application using inverse multiplexing termination |
US7961599B2 (en) | 2009-03-03 | 2011-06-14 | Alcatel Lucent | Pseudowire tunnel redundancy |
US8094575B1 (en) | 2009-03-24 | 2012-01-10 | Juniper Networks, Inc. | Routing protocol extension for network acceleration service-aware path selection within computer networks |
JP5391777B2 (ja) | 2009-03-30 | 2014-01-15 | 日本電気株式会社 | 経路選択方法及び経路選択システム並びにそれに用いるルータ |
US8582502B2 (en) | 2009-06-04 | 2013-11-12 | Empire Technology Development Llc | Robust multipath routing |
US8199753B2 (en) | 2009-06-05 | 2012-06-12 | Juniper Networks, Inc. | Forwarding frames in a computer network using shortest path bridging |
US10785117B2 (en) | 2009-06-11 | 2020-09-22 | Talari Networks Incorporated | Methods and apparatus for configuring a standby WAN link in an adaptive private network |
US9069727B2 (en) | 2011-08-12 | 2015-06-30 | Talari Networks Incorporated | Adaptive private network with geographically redundant network control nodes |
US9210065B2 (en) | 2009-06-22 | 2015-12-08 | Alcatel Lucent | Providing cloud-based services using dynamic network virtualization |
US8489744B2 (en) | 2009-06-29 | 2013-07-16 | Red Hat Israel, Ltd. | Selecting a host from a host cluster for live migration of a virtual machine |
US8885667B2 (en) | 2009-07-10 | 2014-11-11 | Time Warner Cable Enterprises Llc | Destination based methodology for managing network resources |
JP5398410B2 (ja) | 2009-08-10 | 2014-01-29 | アラクサラネットワークス株式会社 | ネットワークシステム,パケット転送装置,パケット転送方法及びコンピュータプログラム |
US8744807B2 (en) | 2009-08-10 | 2014-06-03 | Siemens Aktiengesellschaft | Scalable and extensible framework for storing and analyzing sensor data |
US8346808B2 (en) | 2009-08-12 | 2013-01-01 | Westell Technologies, Inc. | System and method of accessing resources in a computer network |
US8787380B2 (en) | 2009-08-20 | 2014-07-22 | Nec Europe Ltd. | Method for controlling the traffic within a network structure and a network structure |
CN102025591B (zh) | 2009-09-18 | 2013-12-18 | 中兴通讯股份有限公司 | 虚拟专用网络的实现方法及系统 |
CN102035814B (zh) | 2009-09-30 | 2014-08-27 | 瞻博网络公司 | 通过vpn ipsec隧道确保服务质量 |
US8619779B2 (en) | 2009-09-30 | 2013-12-31 | Alcatel Lucent | Scalable architecture for enterprise extension in a cloud topology |
IN2012DN02858A (ko) | 2009-10-13 | 2015-07-24 | Ericsson Telefon Ab L M | |
US8260830B2 (en) | 2009-11-09 | 2012-09-04 | Middlecamp William J | Adapting a timer bounded arbitration protocol |
US8488491B2 (en) | 2009-11-12 | 2013-07-16 | Cisco Technology, Inc. | Compressed virtual routing and forwarding in a communications network |
JP5392049B2 (ja) | 2009-12-11 | 2014-01-22 | 富士通株式会社 | 経路制御方法、通信システム、及び通信装置 |
US8422379B2 (en) | 2009-12-15 | 2013-04-16 | At&T Intellectual Property I, Lp | Method of simple and efficient failure resilient load balancing |
US20110153909A1 (en) | 2009-12-22 | 2011-06-23 | Yao Zu Dong | Efficient Nested Virtualization |
US8224971B1 (en) | 2009-12-28 | 2012-07-17 | Amazon Technologies, Inc. | Using virtual networking devices and routing information to initiate external actions |
US8452932B2 (en) | 2010-01-06 | 2013-05-28 | Storsimple, Inc. | System and method for efficiently creating off-site data volume back-ups |
US9378473B2 (en) | 2010-02-17 | 2016-06-28 | Alexander Wolfe | Content and application delivery network aggregation |
CN102783089B (zh) | 2010-03-10 | 2017-06-06 | 瑞典爱立信有限公司 | 用于估计子路径的可用带宽的方法 |
US8588066B2 (en) | 2010-03-26 | 2013-11-19 | Citrix Systems, Inc. | Systems and methods for link load balancing on a multi-core device |
US8665722B2 (en) | 2010-03-29 | 2014-03-04 | Ted Szymanski | Method to achieve bounded buffer sizes and quality of service guarantees in the internet network |
CA2796431C (en) | 2010-04-15 | 2018-04-10 | Vonage Network, Llc | Systems and methods of improving the quality of voip communications |
US9300576B2 (en) | 2010-05-03 | 2016-03-29 | Pluribus Networks Inc. | Methods, systems, and fabrics implementing a distributed network operating system |
US8724456B1 (en) | 2010-05-19 | 2014-05-13 | Juniper Networks, Inc. | Network path selection for multi-homed edges to ensure end-to-end resiliency |
US8799504B2 (en) | 2010-07-02 | 2014-08-05 | Netgear, Inc. | System and method of TCP tunneling |
US8705530B2 (en) | 2010-07-29 | 2014-04-22 | At&T Intellectual Property I, L.P. | Methods and apparatus to implement multipoint and replicated communication paths using upstream and recursive downstream label mappings |
US8989185B2 (en) | 2010-08-05 | 2015-03-24 | Thomson Licensing | Method and apparatus for converting a multicast session to a unicast session |
US9323561B2 (en) | 2010-08-13 | 2016-04-26 | International Business Machines Corporation | Calibrating cloud computing environments |
US9215175B2 (en) | 2010-09-09 | 2015-12-15 | Nec Corporation | Computer system including controller and plurality of switches and communication method in computer system |
WO2012038722A1 (en) | 2010-09-24 | 2012-03-29 | Bae Systems Plc | Admission control in a self aware network |
US8547835B2 (en) | 2010-10-21 | 2013-10-01 | Telefonaktiebolaget L M Ericsson (Publ) | Controlling IP flows to bypass a packet data network gateway using multi-path transmission control protocol connections |
US8589558B2 (en) | 2010-11-29 | 2013-11-19 | Radware, Ltd. | Method and system for efficient deployment of web applications in a multi-datacenter system |
WO2012078142A1 (en) | 2010-12-07 | 2012-06-14 | Empire Technology Development Llc | Audio fingerprint differences for end-to-end quality of experience measurement |
US8385225B1 (en) | 2010-12-14 | 2013-02-26 | Google Inc. | Estimating round trip time of a network path |
US9031059B2 (en) | 2010-12-17 | 2015-05-12 | Verizon Patent And Licensing Inc. | Fixed mobile convergence and voice call continuity using a mobile device/docking station |
US9330162B2 (en) | 2010-12-21 | 2016-05-03 | Telefonaktiebolaget L M Ericsson | Method and apparatus for providing temporal context for recommending content for consumption by a user device |
US8806482B1 (en) | 2011-01-06 | 2014-08-12 | Amazon Technologies, Inc. | Interaction with a virtual network |
US9009217B1 (en) | 2011-01-06 | 2015-04-14 | Amazon Technologies, Inc. | Interaction with a virtual network |
US9135037B1 (en) | 2011-01-13 | 2015-09-15 | Google Inc. | Virtual network protocol |
US10637782B2 (en) | 2011-03-23 | 2020-04-28 | Hughes Network Systems, Llc | System and method for policy-based multipath WAN transports for improved quality of service over broadband networks |
US8462780B2 (en) | 2011-03-30 | 2013-06-11 | Amazon Technologies, Inc. | Offload device-based stateless packet processing |
US8774213B2 (en) | 2011-03-30 | 2014-07-08 | Amazon Technologies, Inc. | Frameworks and interfaces for offload device-based packet processing |
US8661295B1 (en) | 2011-03-31 | 2014-02-25 | Amazon Technologies, Inc. | Monitoring and detecting causes of failures of network paths |
US20120266026A1 (en) | 2011-04-18 | 2012-10-18 | Ramya Malanai Chikkalingaiah | Detecting and diagnosing misbehaving applications in virtualized computing systems |
WO2012154506A1 (en) | 2011-05-06 | 2012-11-15 | Interdigital Patent Holdings, Inc. | Method and apparatus for bandwidth aggregation for ip flow |
US9253252B2 (en) | 2011-05-06 | 2016-02-02 | Citrix Systems, Inc. | Systems and methods for cloud bridging between intranet resources and cloud resources |
US9054999B2 (en) | 2012-05-09 | 2015-06-09 | International Business Machines Corporation | Static TRILL routing |
US8873398B2 (en) | 2011-05-23 | 2014-10-28 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing EPC in a cloud computer with openflow data plane |
US9154327B1 (en) | 2011-05-27 | 2015-10-06 | Cisco Technology, Inc. | User-configured on-demand virtual layer-2 network for infrastructure-as-a-service (IaaS) on a hybrid cloud network |
JP5672154B2 (ja) | 2011-05-31 | 2015-02-18 | 株式会社バッファロー | ネットワークシステム、ゲートウェイ装置、経路決定方法、プログラム、および記憶媒体 |
EP2716132A2 (en) | 2011-06-02 | 2014-04-09 | Interdigital Patent Holdings, Inc. | Methods, apparatus, and systems for managing converged gateway communications |
US9304798B2 (en) * | 2011-06-07 | 2016-04-05 | Hewlett Packard Enterprise Development Lp | Scalable multi-tenant network architecture for virtualized datacenters |
US20120317270A1 (en) | 2011-06-10 | 2012-12-13 | Alcatel-Lucent Usa Inc. | Intelligent presence cost management based upon congestion status and subscriber profile |
US20120331160A1 (en) | 2011-06-22 | 2012-12-27 | Telefonaktiebolaget L M Ericsson (Publ) | Multi-path transmission control protocol proxy service |
US8804745B1 (en) | 2011-06-27 | 2014-08-12 | Amazon Technologies, Inc. | Virtualization mapping |
US8661287B2 (en) | 2011-06-30 | 2014-02-25 | Rackspace Us, Inc. | Automatically performing failover operations with a load balancer |
US9100305B2 (en) | 2011-07-12 | 2015-08-04 | Cisco Technology, Inc. | Efficient admission control for low power and lossy networks |
KR101607180B1 (ko) | 2011-08-17 | 2016-03-29 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 패킷 재조립 및 재배열 방법, 장치 및 시스템 |
JP5870192B2 (ja) | 2011-08-17 | 2016-02-24 | ニシラ, インコーポレイテッド | 論理l3ルーティング |
US8830835B2 (en) | 2011-08-17 | 2014-09-09 | Nicira, Inc. | Generating flows for managed interconnection switches |
US8630291B2 (en) | 2011-08-22 | 2014-01-14 | Cisco Technology, Inc. | Dynamic multi-path forwarding for shared-media communication networks |
CA2750345C (en) | 2011-08-24 | 2013-06-18 | Guest Tek Interactive Entertainment Ltd. | Method of allocating bandwidth between zones according to user load and bandwidth management system thereof |
US10044678B2 (en) | 2011-08-31 | 2018-08-07 | At&T Intellectual Property I, L.P. | Methods and apparatus to configure virtual private mobile networks with virtual private networks |
US8797874B2 (en) | 2011-09-09 | 2014-08-05 | Futurewei Technologies, Inc. | Apparatus and system for packet routing and forwarding in an interior network |
US8811212B2 (en) | 2012-02-22 | 2014-08-19 | Telefonaktiebolaget L M Ericsson (Publ) | Controller placement for fast failover in the split architecture |
CN102377630A (zh) | 2011-10-13 | 2012-03-14 | 华为技术有限公司 | 基于流量工程隧道的虚拟专用网络实现方法及系统 |
US9923826B2 (en) | 2011-10-14 | 2018-03-20 | Citrix Systems, Inc. | Systems and methods for dynamic adaptation of network accelerators |
US9300548B2 (en) | 2011-10-14 | 2016-03-29 | Alcatel Lucent | Providing dynamic reliability and security in communications environments |
US20130103834A1 (en) | 2011-10-21 | 2013-04-25 | Blue Coat Systems, Inc. | Multi-Tenant NATting for Segregating Traffic Through a Cloud Service |
US8700683B2 (en) | 2011-10-24 | 2014-04-15 | Nokia Corporation | Method and apparatus for providing a key-value based storage interface |
US8745177B1 (en) | 2011-11-01 | 2014-06-03 | Edgecast Networks, Inc. | End-to-end monitoring and optimization of a content delivery network using anycast routing |
CN103095543B (zh) | 2011-11-07 | 2016-10-05 | 华为技术有限公司 | 用于域间虚拟专用网络对接的方法和设备 |
KR20130050156A (ko) | 2011-11-07 | 2013-05-15 | 한국전자통신연구원 | 가상 주소 공간 전환 장치 |
US8769089B2 (en) | 2011-11-15 | 2014-07-01 | International Business Machines Corporation | Distributed application using diagnostic heartbeating |
US8756453B2 (en) | 2011-11-15 | 2014-06-17 | International Business Machines Corporation | Communication system with diagnostic capabilities |
US8874974B2 (en) | 2011-11-15 | 2014-10-28 | International Business Machines Corporation | Synchronizing a distributed communication system using diagnostic heartbeating |
US20130142201A1 (en) | 2011-12-02 | 2013-06-06 | Microsoft Corporation | Connecting on-premise networks with public clouds |
CN103166824B (zh) | 2011-12-13 | 2016-09-28 | 华为技术有限公司 | 一种互联方法、装置和系统 |
US9411655B2 (en) | 2011-12-30 | 2016-08-09 | Dell Products, Lp | System and method for detection and deployment of virtualization capable assets in a managed datacenter |
CN102413061B (zh) | 2011-12-31 | 2015-04-15 | 杭州华三通信技术有限公司 | 一种报文传输方法及设备 |
US8855071B1 (en) | 2012-01-04 | 2014-10-07 | Juniper Networks, Inc. | Handling errors in subscriber session management within mobile networks |
US8908698B2 (en) | 2012-01-13 | 2014-12-09 | Cisco Technology, Inc. | System and method for managing site-to-site VPNs of a cloud managed network |
US20130185729A1 (en) | 2012-01-13 | 2013-07-18 | Rutgers, The State University Of New Jersey | Accelerating resource allocation in virtualized environments using workload classes and/or workload signatures |
US9106555B2 (en) | 2012-01-25 | 2015-08-11 | Cisco Technology, Inc. | Troubleshooting routing topology based on a reference topology |
US8660129B1 (en) | 2012-02-02 | 2014-02-25 | Cisco Technology, Inc. | Fully distributed routing over a user-configured on-demand virtual network for infrastructure-as-a-service (IaaS) on hybrid cloud networks |
CN104106242B (zh) | 2012-02-24 | 2017-06-13 | 华为技术有限公司 | 分片网络中委托转发和地址解析 |
US20130223226A1 (en) | 2012-02-29 | 2013-08-29 | Dell Products, Lp | System and Method for Providing a Split Data Plane in a Flow-Based Switching Device |
US20130238782A1 (en) | 2012-03-09 | 2013-09-12 | Alcatel-Lucent Usa Inc. | Method and apparatus for identifying an application associated with an ip flow using dns data |
US8730793B2 (en) | 2012-03-16 | 2014-05-20 | Avaya Inc. | Method and apparatus providing network redundancy and high availability to remote network nodes |
US8892936B2 (en) | 2012-03-20 | 2014-11-18 | Symantec Corporation | Cluster wide consistent detection of interconnect failures |
US8885562B2 (en) | 2012-03-28 | 2014-11-11 | Telefonaktiebolaget L M Ericsson (Publ) | Inter-chassis redundancy with coordinated traffic direction |
US8730806B2 (en) | 2012-04-03 | 2014-05-20 | Telefonaktiebolaget L M Ericsson (Publ) | Congestion control and resource allocation in split architecture networks |
US8856339B2 (en) | 2012-04-04 | 2014-10-07 | Cisco Technology, Inc. | Automatically scaled network overlay with heuristic monitoring in a hybrid cloud environment |
US8923149B2 (en) | 2012-04-09 | 2014-12-30 | Futurewei Technologies, Inc. | L3 gateway for VXLAN |
US9996370B1 (en) | 2012-04-18 | 2018-06-12 | Open Invention Network Llc | Page swapping in virtual machine environment |
US9203784B2 (en) | 2012-04-24 | 2015-12-01 | Cisco Technology, Inc. | Distributed virtual switch architecture for a hybrid cloud |
US9071541B2 (en) | 2012-04-25 | 2015-06-30 | Juniper Networks, Inc. | Path weighted equal-cost multipath |
US9389920B2 (en) | 2012-05-02 | 2016-07-12 | Futurewei Technologies, Inc. | Intelligent data center cluster selection |
JP5991013B2 (ja) | 2012-05-08 | 2016-09-14 | 富士通株式会社 | 基地局及び無線リソース割当て方法 |
US9379971B2 (en) | 2012-05-11 | 2016-06-28 | Simula Inovation AS | Method and apparatus for determining paths between source/destination pairs |
US9602348B2 (en) | 2012-05-15 | 2017-03-21 | Telefonaktiebolaget Lm Ericsson | Methods and apparatus for detecting and handling split brain issues in a link aggregation group |
WO2013173973A1 (zh) | 2012-05-22 | 2013-11-28 | 华为技术有限公司 | 网络通信方法和装置 |
TWI482469B (zh) | 2012-05-23 | 2015-04-21 | Gemtek Technology Co Ltd | 路由裝置 |
US10063443B2 (en) | 2012-05-29 | 2018-08-28 | Openet Telecom Ltd. | System and method for managing VoLTE session continuity information using logical scalable units |
US8959185B2 (en) | 2012-06-06 | 2015-02-17 | Juniper Networks, Inc. | Multitenant server for virtual networks within datacenter |
US9898317B2 (en) | 2012-06-06 | 2018-02-20 | Juniper Networks, Inc. | Physical path determination for virtual network packet flows |
US9647938B2 (en) | 2012-06-11 | 2017-05-09 | Radware, Ltd. | Techniques for providing value-added services in SDN-based networks |
US9729424B2 (en) | 2012-06-11 | 2017-08-08 | Futurewei Technologies, Inc. | Defining data flow paths in software-defined networks with application-layer traffic optimization |
US10031782B2 (en) | 2012-06-26 | 2018-07-24 | Juniper Networks, Inc. | Distributed processing of network device tasks |
US9100329B1 (en) | 2012-06-28 | 2015-08-04 | Juniper Networks, Inc. | Providing non-interrupt failover using a link aggregation mechanism |
US9203764B2 (en) | 2012-07-11 | 2015-12-01 | Telefonaktiebolaget L M Ericsson (Publ) | Quality of experience enhancement through feedback for adjusting the quality of service in communication networks |
US9819658B2 (en) | 2012-07-12 | 2017-11-14 | Unisys Corporation | Virtual gateways for isolating virtual machines |
WO2014027989A1 (en) | 2012-08-13 | 2014-02-20 | Unify Gmbh & Co. Kg | Method and apparatus for indirectly assessing a status of an active entity |
US9210079B2 (en) | 2012-08-14 | 2015-12-08 | Vmware, Inc. | Method and system for virtual and physical network integration |
US9563480B2 (en) | 2012-08-21 | 2017-02-07 | Rackspace Us, Inc. | Multi-level cloud computing system |
US9331940B2 (en) | 2012-08-28 | 2016-05-03 | Alcatel Lucent | System and method providing distributed virtual routing and switching (DVRS) |
CN103227843B (zh) | 2012-08-31 | 2016-05-04 | 杭州华三通信技术有限公司 | 一种物理链路地址管理方法及装置 |
CN103685026A (zh) | 2012-08-31 | 2014-03-26 | 中兴通讯股份有限公司 | 一种虚拟网络的接入方法和系统 |
US9807613B2 (en) | 2012-09-06 | 2017-10-31 | Dell Products, Lp | Collaborative method and system to improve carrier network policies with context aware radio communication management |
US9106548B2 (en) | 2012-09-11 | 2015-08-11 | Telefonaktiebolaget L M Ericsson (Publ) | Network fault localization |
WO2014052878A1 (en) | 2012-09-28 | 2014-04-03 | Cornell University | System and methods for improved network routing |
CN103731407B (zh) | 2012-10-12 | 2017-08-11 | 华为技术有限公司 | Ike报文协商的方法及系统 |
US9917865B2 (en) | 2012-10-16 | 2018-03-13 | Citrix Systems, Inc. | Systems and methods for bridging between public and private clouds through multilevel API integration |
US20140112171A1 (en) | 2012-10-23 | 2014-04-24 | Mr. Babak PASDAR | Network system and method for improving routing capability |
US9223635B2 (en) | 2012-10-28 | 2015-12-29 | Citrix Systems, Inc. | Network offering in cloud computing environment |
US9497250B2 (en) | 2012-10-29 | 2016-11-15 | International Business Machines Corporation | Runtime grouping of tuples in a streaming application |
US9930011B1 (en) | 2012-11-30 | 2018-03-27 | United Services Automobile Association (Usaa) | Private network request forwarding |
US9417922B2 (en) | 2012-12-03 | 2016-08-16 | Cutting Edge Consulting Associates, Inc. | Systems and methods for protecting an identity in network communications |
CN103688489B (zh) | 2012-12-03 | 2017-02-22 | 华为技术有限公司 | 一种策略处理的方法及网络设备 |
US9185114B2 (en) | 2012-12-05 | 2015-11-10 | Symantec Corporation | Methods and systems for secure storage segmentation based on security context in a virtual environment |
KR20140073243A (ko) | 2012-12-06 | 2014-06-16 | 삼성전자주식회사 | Http 메시지 처리 방법 및 장치 |
US9338225B2 (en) | 2012-12-06 | 2016-05-10 | A10 Networks, Inc. | Forwarding policies on a virtual service network |
US20140164718A1 (en) | 2012-12-07 | 2014-06-12 | Open Kernel Labs, Inc. | Methods and apparatus for sharing memory between multiple processes of a virtual machine |
US10057183B2 (en) | 2012-12-07 | 2018-08-21 | Hewlett Packard Enterprise Development Lp | Network resource management |
US9055000B1 (en) | 2012-12-17 | 2015-06-09 | Juniper Networks, Inc. | Distributed network subnet |
US9515899B2 (en) | 2012-12-19 | 2016-12-06 | Veritas Technologies Llc | Providing optimized quality of service to prioritized virtual machines and applications based on quality of shared resources |
US9053058B2 (en) | 2012-12-20 | 2015-06-09 | Apple Inc. | QoS inband upgrade |
US9563423B1 (en) | 2012-12-21 | 2017-02-07 | EMC IP Holding Company LLC | System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service |
US9203748B2 (en) | 2012-12-24 | 2015-12-01 | Huawei Technologies Co., Ltd. | Software defined network-based data processing method, node, and system |
US9680870B2 (en) | 2012-12-28 | 2017-06-13 | Verizon Patent And Licensing Inc. | Software-defined networking gateway |
WO2014108173A1 (en) | 2013-01-08 | 2014-07-17 | Telefonaktiebolaget L M Ericsson (Publ) | Distributed traffic inspection in a telecommunications network |
US9621460B2 (en) | 2013-01-14 | 2017-04-11 | Versa Networks, Inc. | Connecting multiple customer sites over a wide area network using an overlay network |
JP6024474B2 (ja) | 2013-01-23 | 2016-11-16 | 富士通株式会社 | マルチテナントシステム、管理装置、管理プログラム、およびマルチテナントシステムの制御方法 |
EP2763362A1 (en) | 2013-01-31 | 2014-08-06 | Thomson Licensing | A method for connecting a multi-homed and MPTCP capable client with a regular TCP server |
US9060025B2 (en) | 2013-02-05 | 2015-06-16 | Fortinet, Inc. | Cloud-based security policy configuration |
EP2945320B1 (en) | 2013-02-06 | 2018-01-31 | Huawei Technologies Co., Ltd. | Method, device and routing system for data transmission of network virtualization |
US9225647B2 (en) | 2013-02-11 | 2015-12-29 | Vmware, Inc. | Distributed deep packet inspection |
WO2014127280A2 (en) | 2013-02-14 | 2014-08-21 | Huawei Technologies Co., Ltd. | System and method for network resource allocation considering user experience, satisfaction and operator interest |
JP5953421B2 (ja) | 2013-02-25 | 2016-07-20 | 株式会社日立製作所 | 仮想サーバおよび非仮想サーバ混在環境におけるテナントネットワーク構成の管理方法 |
US9525564B2 (en) | 2013-02-26 | 2016-12-20 | Zentera Systems, Inc. | Secure virtual network platform for enterprise hybrid cloud computing environments |
US9699034B2 (en) | 2013-02-26 | 2017-07-04 | Zentera Systems, Inc. | Secure cloud fabric to connect subnets in different network domains |
US10348767B1 (en) | 2013-02-26 | 2019-07-09 | Zentera Systems, Inc. | Cloud over IP session layer network |
US9065734B2 (en) | 2013-03-08 | 2015-06-23 | Telefonaktiebolaget L M Ericsson (Publ) | Network bandwidth allocation in multi-tenancy cloud computing networks |
US9306949B1 (en) | 2013-03-12 | 2016-04-05 | Amazon Technologies, Inc. | Configure interconnections between networks hosted in datacenters |
US20140269690A1 (en) | 2013-03-13 | 2014-09-18 | Qualcomm Incorporated | Network element with distributed flow tables |
WO2014153233A1 (en) | 2013-03-14 | 2014-09-25 | Google Inc. | Systems and methods for wireless backhaul transport |
WO2014153237A1 (en) | 2013-03-14 | 2014-09-25 | Google Inc. | Optimizing packet/frame forwarding or routing in a wireless backhaul transport system |
US9450817B1 (en) | 2013-03-15 | 2016-09-20 | Juniper Networks, Inc. | Software defined network controller |
US9832205B2 (en) | 2013-03-15 | 2017-11-28 | International Business Machines Corporation | Cross provider security management functionality within a cloud service brokerage platform |
US9477500B2 (en) | 2013-03-15 | 2016-10-25 | Avi Networks | Managing and controlling a distributed network service platform |
US8818892B1 (en) | 2013-03-15 | 2014-08-26 | Palantir Technologies, Inc. | Prioritizing data clusters with customizable scoring strategies |
US9075771B1 (en) | 2013-03-15 | 2015-07-07 | Symantec Corporation | Techniques for managing disaster recovery sites |
US9354983B1 (en) | 2013-03-15 | 2016-05-31 | Entreda, Inc. | Integrated it service provisioning and management |
US9628328B2 (en) | 2013-03-15 | 2017-04-18 | Rackspace Us, Inc. | Network controller with integrated resource management capability |
WO2014147197A1 (en) | 2013-03-20 | 2014-09-25 | Wolting Holding B.V. | Compiler for and method for software defined networks |
EP2784996A1 (en) | 2013-03-27 | 2014-10-01 | British Telecommunications public limited company | Deadline driven content delivery |
JP5977706B2 (ja) | 2013-03-29 | 2016-08-24 | 株式会社日立ソリューションズ | データ交換システム、及び仮想プライベートクラウド間でデータ交換を可能とする環境を設定する方法 |
US9432245B1 (en) | 2013-04-16 | 2016-08-30 | Amazon Technologies, Inc. | Distributed load balancer node architecture |
US10021027B2 (en) | 2013-04-30 | 2018-07-10 | Comcast Cable Communications, Llc | Network validation with dynamic tunneling |
US20140337674A1 (en) | 2013-05-10 | 2014-11-13 | Nec Laboratories America, Inc. | Network Testing |
US20140355441A1 (en) | 2013-05-29 | 2014-12-04 | Ashok Kumar Jain | Method and apparatus of delivering assured services over unreliable internet infrastructure by using virtual overlay network architecture over a public cloud backbone |
JP6310066B2 (ja) | 2013-05-31 | 2018-04-11 | テレコム・イタリア・エッセ・ピー・アー | パケット交換通信ネットワークのリンクのパフォーマンス測定 |
CN104219147B (zh) | 2013-06-05 | 2018-10-16 | 中兴通讯股份有限公司 | 边缘设备的vpn实现处理方法及装置 |
US9529692B2 (en) | 2013-06-07 | 2016-12-27 | Apple Inc. | Memory management tools |
US9471356B2 (en) | 2013-06-12 | 2016-10-18 | Dell Products L.P. | Systems and methods for providing VLAN-independent gateways in a network virtualization overlay implementation |
US9264289B2 (en) | 2013-06-27 | 2016-02-16 | Microsoft Technology Licensing, Llc | Endpoint data centers of different tenancy sets |
US9648547B1 (en) | 2013-06-28 | 2017-05-09 | Google Inc. | Self-organizing topology management |
US9608962B1 (en) | 2013-07-09 | 2017-03-28 | Pulse Secure, Llc | Application-aware connection for network access client |
US10454714B2 (en) | 2013-07-10 | 2019-10-22 | Nicira, Inc. | Method and system of overlay flow control |
US9722815B2 (en) | 2013-07-10 | 2017-08-01 | Sunil Mukundan | Edge-gateway multipath method and system |
US10749711B2 (en) | 2013-07-10 | 2020-08-18 | Nicira, Inc. | Network-link method useful for a last-mile connectivity in an edge-gateway multipath system |
US9197529B2 (en) | 2013-07-12 | 2015-11-24 | Nicira, Inc. | Tracing network packets through logical and physical networks |
US10003536B2 (en) | 2013-07-25 | 2018-06-19 | Grigore Raileanu | System and method for managing bandwidth usage rates in a packet-switched network |
US9979622B2 (en) | 2013-07-30 | 2018-05-22 | Cisco Technology, Inc. | Elastic WAN optimization cloud services |
US9203781B2 (en) | 2013-08-07 | 2015-12-01 | Cisco Technology, Inc. | Extending virtual station interface discovery protocol (VDP) and VDP-like protocols for dual-homed deployments in data center environments |
US9311140B2 (en) | 2013-08-13 | 2016-04-12 | Vmware, Inc. | Method and apparatus for extending local area networks between clouds and migrating virtual machines using static network addresses |
US9641551B1 (en) | 2013-08-13 | 2017-05-02 | vIPtela Inc. | System and method for traversing a NAT device with IPSEC AH authentication |
US9338223B2 (en) | 2013-08-14 | 2016-05-10 | Verizon Patent And Licensing Inc. | Private cloud topology management system |
CN103703724B (zh) | 2013-08-15 | 2015-06-10 | 华为技术有限公司 | 一种资源发放方法 |
US9559951B1 (en) | 2013-08-29 | 2017-01-31 | Cisco Technology, Inc. | Providing intra-subnet and inter-subnet data center connectivity |
US9875355B1 (en) | 2013-09-17 | 2018-01-23 | Amazon Technologies, Inc. | DNS query analysis for detection of malicious software |
CN105745886B (zh) | 2013-09-23 | 2019-06-04 | 迈克菲有限公司 | 在两个实体之间提供快速路径 |
US20150089628A1 (en) | 2013-09-24 | 2015-03-26 | Michael Lang | System and Method for Provision of a Router / Firewall in a Network |
US20150088942A1 (en) | 2013-09-25 | 2015-03-26 | Westell Technologies, Inc. | Methods and Systems for Providing File Services |
US9379981B1 (en) | 2013-09-27 | 2016-06-28 | Google Inc. | Flow level dynamic load balancing |
US9461969B2 (en) | 2013-10-01 | 2016-10-04 | Racemi, Inc. | Migration of complex applications within a hybrid cloud environment |
US9635580B2 (en) | 2013-10-08 | 2017-04-25 | Alef Mobitech Inc. | Systems and methods for providing mobility aspects to applications in the cloud |
US9628290B2 (en) | 2013-10-09 | 2017-04-18 | International Business Machines Corporation | Traffic migration acceleration for overlay virtual environments |
US20160212773A1 (en) | 2013-10-10 | 2016-07-21 | Telefonaktiebolaget L M Ericsson (Publ) | Pool of network gateways |
US9361336B2 (en) | 2013-10-11 | 2016-06-07 | Vmware, Inc. | Methods and apparatus to manage virtual machines |
US9608917B1 (en) | 2013-10-21 | 2017-03-28 | Google Inc. | Systems and methods for achieving high network link utilization |
US9397946B1 (en) | 2013-11-05 | 2016-07-19 | Cisco Technology, Inc. | Forwarding to clusters of service nodes |
JP2015095784A (ja) | 2013-11-12 | 2015-05-18 | 富士通株式会社 | 情報処理システム、情報処理システムの制御方法及び情報処理装置の制御プログラム |
US9912582B2 (en) | 2013-11-18 | 2018-03-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Multi-tenant isolation in a cloud environment using software defined networking |
US9231871B2 (en) | 2013-11-25 | 2016-01-05 | Versa Networks, Inc. | Flow distribution table for packet flow load balancing |
DE102013113023A1 (de) | 2013-11-25 | 2015-05-28 | Reiner Kunz | Innovative Operationsleuchte für Operationsräume, welche zu einem Datenaustausch mit anderen Operationsraum-Geräten in der Lage ist |
US9813343B2 (en) | 2013-12-03 | 2017-11-07 | Akamai Technologies, Inc. | Virtual private network (VPN)-as-a-service with load-balanced tunnel endpoints |
US9461923B2 (en) | 2013-12-06 | 2016-10-04 | Algoblu Holdings Limited | Performance-based routing in software-defined network (SDN) |
TWI528755B (zh) | 2013-12-06 | 2016-04-01 | 財團法人工業技術研究院 | 軟體定義網路中用於延遲量測之網路控制器、延遲量測系統及延遲量測方法 |
US9288135B2 (en) | 2013-12-13 | 2016-03-15 | International Business Machines Corporation | Managing data flows in software-defined network using network interface card |
US9363178B2 (en) | 2013-12-18 | 2016-06-07 | Telefonaktiebolaget L M Ericsson (Publ) | Method, apparatus, and system for supporting flexible lookup keys in software-defined networks |
US9612854B2 (en) | 2013-12-18 | 2017-04-04 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for virtualizing a remote device |
US9467478B1 (en) | 2013-12-18 | 2016-10-11 | vIPtela Inc. | Overlay management protocol for secure routing based on an overlay network |
US20150189009A1 (en) | 2013-12-30 | 2015-07-02 | Alcatel-Lucent Canada Inc. | Distributed multi-level stateless load balancing |
US9450852B1 (en) | 2014-01-03 | 2016-09-20 | Juniper Networks, Inc. | Systems and methods for preventing split-brain scenarios in high-availability clusters |
US10097372B2 (en) | 2014-01-09 | 2018-10-09 | Ciena Corporation | Method for resource optimized network virtualization overlay transport in virtualized data center environments |
JP6328432B2 (ja) | 2014-01-16 | 2018-05-23 | クラリオン株式会社 | ゲートウェイ装置、ファイルサーバシステム及びファイル分散方法 |
US9436813B2 (en) | 2014-02-03 | 2016-09-06 | Ca, Inc. | Multi-tenancy support for a product that does not support multi-tenancy |
US20150257081A1 (en) | 2014-02-04 | 2015-09-10 | Architecture Technology, Inc. | Hybrid autonomous network and router for communication between heterogeneous subnets |
US9825822B1 (en) | 2014-02-13 | 2017-11-21 | Amazon Technologies, Inc. | Group networking in an overlay network |
US20150236962A1 (en) | 2014-02-14 | 2015-08-20 | Exinda Networks PTY, Ltd. of Australia | Method and system for using dynamic bandwidth detection to drive quality of service control refinement |
US8989199B1 (en) | 2014-02-24 | 2015-03-24 | Level 3 Communications, Llc | Control device discovery in networks having separate control and forwarding devices |
JP5858205B1 (ja) | 2014-03-07 | 2016-02-10 | 日本電気株式会社 | ネットワークシステムと拠点間ネットワーク連携制御装置及びネットワーク制御方法並びにプログラム |
US9479481B2 (en) | 2014-03-14 | 2016-10-25 | Soha Systems, Inc. | Secure scalable multi-tenant application delivery system and associated method |
US9479424B2 (en) | 2014-03-18 | 2016-10-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Optimized approach to IS-IS LFA computation with parallel links |
US10476698B2 (en) | 2014-03-20 | 2019-11-12 | Avago Technologies International Sales Pte. Limited | Redundent virtual link aggregation group |
US9647883B2 (en) | 2014-03-21 | 2017-05-09 | Nicria, Inc. | Multiple levels of logical routers |
US9787559B1 (en) | 2014-03-28 | 2017-10-10 | Juniper Networks, Inc. | End-to-end monitoring of overlay networks providing virtualized network services |
US9401851B2 (en) | 2014-03-28 | 2016-07-26 | Verizon Patent And Licensing Inc. | Network management system |
US10846257B2 (en) | 2014-04-01 | 2020-11-24 | Endance Technology Limited | Intelligent load balancing and high speed intelligent network recorders |
US9807004B2 (en) | 2014-04-01 | 2017-10-31 | Google Inc. | System and method for software defined routing of traffic within and between autonomous systems with enhanced flow routing, scalability and security |
US9226156B2 (en) | 2014-04-28 | 2015-12-29 | Stad.Io, Llc | Authenticated registration of participants for web access at live events |
US9407541B2 (en) | 2014-04-24 | 2016-08-02 | International Business Machines Corporation | Propagating a flow policy by control packet in a software defined network (SDN) based network |
US20150317169A1 (en) | 2014-05-04 | 2015-11-05 | Midfin Systems Inc. | Constructing and operating high-performance unified compute infrastructure across geo-distributed datacenters |
RU2667039C2 (ru) | 2014-05-12 | 2018-09-13 | Хуавэй Текнолоджиз Ко., Лтд. | Частичная замена коммутатора программно-конфигурируемой сети в ip сетях |
US9455922B2 (en) | 2014-05-19 | 2016-09-27 | Intel Corporation | Technologies for moderating packet ingress interrupt generation |
EP2966815A4 (en) | 2014-05-29 | 2016-04-13 | Huawei Tech Co Ltd | PACKET PROCESSING AND VXLAN GATEWAY |
US9961545B2 (en) | 2014-06-03 | 2018-05-01 | Qualcomm Incorporated | Systems, methods, and apparatus for authentication during fast initial link setup |
US11399063B2 (en) | 2014-06-04 | 2022-07-26 | Pure Storage, Inc. | Network authentication for a storage system |
US9866487B2 (en) | 2014-06-05 | 2018-01-09 | KEMP Technologies Inc. | Adaptive load balancer and methods for intelligent data traffic steering |
US9413659B2 (en) | 2014-06-11 | 2016-08-09 | Cisco Technology, Inc. | Distributed network address and port translation for migrating flows between service chains in a network environment |
US10062045B2 (en) | 2014-06-12 | 2018-08-28 | International Business Machines Corporation | Project workspace prioritization |
US9350710B2 (en) | 2014-06-20 | 2016-05-24 | Zscaler, Inc. | Intelligent, cloud-based global virtual private network systems and methods |
US10019278B2 (en) | 2014-06-22 | 2018-07-10 | Cisco Technology, Inc. | Framework for network technology agnostic multi-cloud elastic extension and isolation |
US10075329B2 (en) | 2014-06-25 | 2018-09-11 | A 10 Networks, Incorporated | Customizable high availability switchover control of application delivery controllers |
US9634936B2 (en) | 2014-06-30 | 2017-04-25 | Juniper Networks, Inc. | Service chaining across multiple networks |
US9379956B2 (en) * | 2014-06-30 | 2016-06-28 | Nicira, Inc. | Identifying a network topology between two endpoints |
US9876723B2 (en) | 2014-12-21 | 2018-01-23 | Pismo Labs Technology Limited | Methods and systems for evaluating network performance of an aggregated connection |
US20160019317A1 (en) | 2014-07-16 | 2016-01-21 | Commvault Systems, Inc. | Volume or virtual machine level backup and generating placeholders for virtual machine files |
US20160035183A1 (en) | 2014-07-31 | 2016-02-04 | Wms Gaming Inc. | Electronic gaming machine service bus |
CN105323136B (zh) | 2014-07-31 | 2020-01-10 | 中兴通讯股份有限公司 | 信息的处理方法及装置 |
WO2016069077A1 (en) | 2014-08-03 | 2016-05-06 | Hughes Network Systems, Llc | Centralized ground-based route determination and traffic engineering for software defined satellite communications networks |
US10609159B2 (en) | 2014-08-04 | 2020-03-31 | Microsoft Technology Licensing, Llc | Providing higher workload resiliency in clustered systems based on health heuristics |
US9665432B2 (en) | 2014-08-07 | 2017-05-30 | Microsoft Technology Licensing, Llc | Safe data access following storage failure |
US9356943B1 (en) | 2014-08-07 | 2016-05-31 | Symantec Corporation | Systems and methods for performing security analyses on network traffic in cloud-based environments |
CN105684382A (zh) | 2014-08-11 | 2016-06-15 | 华为技术有限公司 | 报文的控制方法、交换机及控制器 |
US10038629B2 (en) | 2014-09-11 | 2018-07-31 | Microsoft Technology Licensing, Llc | Virtual machine migration using label based underlay network forwarding |
US9336040B2 (en) | 2014-09-15 | 2016-05-10 | Intel Corporation | Techniques for remapping sessions for a multi-threaded application |
CN107078921A (zh) | 2014-09-16 | 2017-08-18 | 云端吉尼斯公司 | 用于基于商业意图驱动策略的网络业务表征、监视和控制的方法和系统 |
EP3198931B1 (en) | 2014-09-23 | 2020-10-21 | Nokia Solutions and Networks Oy | Transmitting data based on flow input from base station |
US9935829B1 (en) | 2014-09-24 | 2018-04-03 | Amazon Technologies, Inc. | Scalable packet processing service |
US10038601B1 (en) | 2014-09-26 | 2018-07-31 | Amazon Technologies, Inc. | Monitoring a multi-tier network fabric |
US9723065B2 (en) | 2014-10-13 | 2017-08-01 | Vmware, Inc. | Cross-cloud object mapping for hybrid clouds |
US9825905B2 (en) | 2014-10-13 | 2017-11-21 | Vmware Inc. | Central namespace controller for multi-tenant cloud environments |
US10931478B2 (en) | 2014-10-14 | 2021-02-23 | Mido Holdings Ltd. | System and method for distributed flow state P2P setup in virtual networks |
US20160164886A1 (en) | 2014-10-17 | 2016-06-09 | Computer Sciences Corporation | Systems and methods for threat analysis of computer data |
US10594659B2 (en) | 2014-11-07 | 2020-03-17 | British Telecommunications Public Limited Company | Method and system for secure communication with shared cloud services |
US9590902B2 (en) | 2014-11-10 | 2017-03-07 | Juniper Networks, Inc. | Signaling aliasing capability in data centers |
KR102233645B1 (ko) | 2014-11-11 | 2021-03-30 | 한국전자통신연구원 | 가상 네트워크 기반 분산 다중 도메인 라우팅 제어 시스템 및 라우팅 제어 방법 |
US9930013B2 (en) | 2014-11-14 | 2018-03-27 | Cisco Technology, Inc. | Control of out-of-band multipath connections |
US9983936B2 (en) | 2014-11-20 | 2018-05-29 | Commvault Systems, Inc. | Virtual machine change block tracking |
US10135956B2 (en) | 2014-11-20 | 2018-11-20 | Akamai Technologies, Inc. | Hardware-based packet forwarding for the transport layer |
US9602544B2 (en) | 2014-12-05 | 2017-03-21 | Viasat, Inc. | Methods and apparatus for providing a secure overlay network between clouds |
US9560018B2 (en) | 2014-12-08 | 2017-01-31 | Cisco Technology, Inc. | Autonomic locator/identifier separation protocol for secure hybrid cloud extension |
EP3238401B1 (en) | 2014-12-23 | 2019-02-20 | Huawei Technologies Co., Ltd. | Network extended tcp splicing |
EP3238402B1 (en) | 2014-12-23 | 2019-11-27 | Telecom Italia S.p.A. | Method and client apparatus for dynamic rate adaptation of a stream of multimedia contents in a wireless communication network |
US9747249B2 (en) | 2014-12-29 | 2017-08-29 | Nicira, Inc. | Methods and systems to achieve multi-tenancy in RDMA over converged Ethernet |
US20160192403A1 (en) | 2014-12-30 | 2016-06-30 | Qualcomm Incorporated | Mechanism to provide lte voice, internet and embms services over ethernet for connected home architecture |
US9787573B2 (en) | 2014-12-31 | 2017-10-10 | Juniper Networks, Inc. | Fast convergence on link failure in multi-homed Ethernet virtual private networks |
CN105812260B (zh) | 2014-12-31 | 2019-03-19 | 华为技术有限公司 | 一种控制mac地址转发表发送的方法、装置及系统 |
US20160197834A1 (en) | 2015-01-02 | 2016-07-07 | Siegfried Luft | Architecture and method for traffic engineering between diverse cloud providers |
US20160197835A1 (en) | 2015-01-02 | 2016-07-07 | Siegfried Luft | Architecture and method for virtualization of cloud networking components |
US20160198003A1 (en) | 2015-01-02 | 2016-07-07 | Siegfried Luft | Architecture and method for sharing dedicated public cloud connectivity |
US10257021B2 (en) | 2015-01-12 | 2019-04-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for router maintenance |
US10061664B2 (en) | 2015-01-15 | 2018-08-28 | Cisco Technology, Inc. | High availability and failover |
US9722906B2 (en) | 2015-01-23 | 2017-08-01 | Cisco Technology, Inc. | Information reporting for anomaly detection |
US9819565B2 (en) | 2015-01-26 | 2017-11-14 | Ciena Corporation | Dynamic policy engine for multi-layer network management |
KR102029849B1 (ko) | 2015-01-27 | 2019-10-08 | 노키아 솔루션스 앤드 네트웍스 오와이 | 트래픽 흐름 모니터링 |
CN115834534A (zh) | 2015-01-28 | 2023-03-21 | 安博科技有限公司 | 用于全局虚拟网络的系统 |
WO2016123314A1 (en) | 2015-01-28 | 2016-08-04 | Hewlett-Packard Development Company, L.P. | Data loop determination in a software-defined network |
US10313428B2 (en) | 2015-02-07 | 2019-06-04 | Vmware, Inc. | Multi-subnet participation for network gateway in a cloud environment |
CN104639639B (zh) | 2015-02-09 | 2018-04-27 | 华为技术有限公司 | 一种虚拟机部署位置的调整方法、装置及系统 |
US9800507B2 (en) | 2015-02-10 | 2017-10-24 | Verizon Patent And Licensing Inc. | Application-based path computation |
US20160255169A1 (en) | 2015-02-27 | 2016-09-01 | Futurewei Technologies, Inc. | Method and system for smart object eviction for proxy cache |
CN105991430B (zh) | 2015-03-05 | 2022-01-14 | 李明 | 跨多个自治网络系统的数据路由 |
US9729451B2 (en) | 2015-03-06 | 2017-08-08 | Juniper Networks, Inc. | Managing routing information in a hub-and-spokes network |
US9628380B2 (en) | 2015-03-06 | 2017-04-18 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for routing a network function chain |
US10491525B2 (en) | 2015-03-10 | 2019-11-26 | Huawei Technologies Co., Ltd. | Traffic engineering feeder for packet switched networks |
US10614056B2 (en) | 2015-03-24 | 2020-04-07 | NetSuite Inc. | System and method for automated detection of incorrect data |
US10756929B2 (en) | 2015-04-07 | 2020-08-25 | Umbra Technologies Ltd. | Systems and methods for providing a global virtual network (GVN) |
US10579406B2 (en) | 2015-04-08 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Dynamic orchestration of overlay tunnels |
US10498652B2 (en) | 2015-04-13 | 2019-12-03 | Nicira, Inc. | Method and system of application-aware routing with crowdsourcing |
US10135789B2 (en) | 2015-04-13 | 2018-11-20 | Nicira, Inc. | Method and system of establishing a virtual private network in a cloud service for branch networking |
US10425382B2 (en) | 2015-04-13 | 2019-09-24 | Nicira, Inc. | Method and system of a cloud-based multipath routing protocol |
US9948552B2 (en) | 2015-04-17 | 2018-04-17 | Equinix, Inc. | Cloud-based services exchange |
US10681058B2 (en) | 2015-05-01 | 2020-06-09 | Pcms Holdings, Inc. | Systems, methods, and devices to defend against attacks |
US9848041B2 (en) | 2015-05-01 | 2017-12-19 | Amazon Technologies, Inc. | Automatic scaling of resource instance groups within compute clusters |
US9769065B2 (en) | 2015-05-06 | 2017-09-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Packet marking for L4-7 advanced counting and monitoring |
US9954799B2 (en) | 2015-05-14 | 2018-04-24 | International Business Machines Corporation | Adaptive service chain management |
US10834054B2 (en) * | 2015-05-27 | 2020-11-10 | Ping Identity Corporation | Systems and methods for API routing and security |
US10349240B2 (en) | 2015-06-01 | 2019-07-09 | Huawei Technologies Co., Ltd. | Method and apparatus for dynamically controlling customer traffic in a network under demand-based charging |
US9729348B2 (en) | 2015-06-04 | 2017-08-08 | Cisco Technology, Inc. | Tunnel-in-tunnel source address correction |
US10397277B2 (en) | 2015-06-14 | 2019-08-27 | Avocado Systems Inc. | Dynamic data socket descriptor mirroring mechanism and use for security analytics |
US9563514B2 (en) | 2015-06-19 | 2017-02-07 | Commvault Systems, Inc. | Assignment of proxies for virtual-machine secondary copy operations including streaming backup jobs |
CN108353029B (zh) | 2015-06-25 | 2021-02-26 | Nec实验室欧洲有限公司 | 用于管理计算网络中的数据业务的方法和系统 |
US20160380886A1 (en) | 2015-06-25 | 2016-12-29 | Ciena Corporation | Distributed data center architecture |
US10503532B2 (en) | 2015-06-26 | 2019-12-10 | Vmware, Inc. | Creating a virtual machine clone of the host computing device and handling of virtual machine clone requests via an I/O filter |
US10498664B2 (en) | 2015-06-29 | 2019-12-03 | Vmware, Inc. | Hybrid cloud resource scheduling |
US10136359B2 (en) | 2015-06-30 | 2018-11-20 | Qualcomm Incorporated | Traffic flow migration in backhaul networks |
US9787641B2 (en) | 2015-06-30 | 2017-10-10 | Nicira, Inc. | Firewall rule management |
US10550093B2 (en) | 2015-07-01 | 2020-02-04 | The Research Foundation For The State University Of New York | Third generation taxoids and methods of using same |
US10797992B2 (en) * | 2015-07-07 | 2020-10-06 | Cisco Technology, Inc. | Intelligent wide area network (IWAN) |
US9462010B1 (en) | 2015-07-07 | 2016-10-04 | Accenture Global Services Limited | Threat assessment level determination and remediation for a cloud-based multi-layer security architecture |
US10397283B2 (en) | 2015-07-15 | 2019-08-27 | Oracle International Corporation | Using symmetric and asymmetric flow response paths from an autonomous system |
US10050951B2 (en) | 2015-07-20 | 2018-08-14 | Cisco Technology, Inc. | Secure access to virtual machines in heterogeneous cloud environments |
CN106375231B (zh) | 2015-07-22 | 2019-11-05 | 华为技术有限公司 | 一种流量切换方法、设备及系统 |
US10637889B2 (en) | 2015-07-23 | 2020-04-28 | Cisco Technology, Inc. | Systems, methods, and devices for smart mapping and VPN policy enforcement |
US10298489B2 (en) | 2015-07-24 | 2019-05-21 | International Business Machines Corporation | Adding multi-tenant awareness to a network packet processing device on a software defined network (SDN) |
US9942131B2 (en) | 2015-07-29 | 2018-04-10 | International Business Machines Corporation | Multipathing using flow tunneling through bound overlay virtual machines |
CN106412628B (zh) | 2015-07-30 | 2020-07-24 | 华为技术有限公司 | 一种带宽调整方法及相关设备 |
US9819581B2 (en) | 2015-07-31 | 2017-11-14 | Nicira, Inc. | Configuring a hardware switch as an edge node for a logical router |
US10567347B2 (en) | 2015-07-31 | 2020-02-18 | Nicira, Inc. | Distributed tunneling for VPN |
JP6673356B2 (ja) * | 2015-08-04 | 2020-03-25 | 日本電気株式会社 | 通信システム、通信装置、通信方法、端末、プログラム |
US10630749B2 (en) | 2015-08-14 | 2020-04-21 | Cisco Technology, Inc. | Timely delivery of real-time media problem when TCP must be used |
US9763054B2 (en) | 2015-08-19 | 2017-09-12 | Locix Inc. | Systems and methods for determining locations of wireless sensor nodes in a tree network architecture having mesh-based features |
US10198724B2 (en) | 2015-08-21 | 2019-02-05 | Mastercard International Incorporated | Payment networks and methods for facilitating data transfers within payment networks |
CN106487534B (zh) | 2015-08-24 | 2019-08-13 | 华为技术有限公司 | 网络控制策略的生成方法、装置及网络控制器 |
US10038650B2 (en) | 2015-08-25 | 2018-07-31 | Futurewei Technologies, Inc. | System and method for tunnel stitching transport |
US9894103B2 (en) | 2015-08-28 | 2018-02-13 | Nicira, Inc. | Performing source network address translation based on remote device management attributes |
US10547540B2 (en) | 2015-08-29 | 2020-01-28 | Vmware, Inc. | Routing optimization for inter-cloud connectivity |
JP6440203B2 (ja) | 2015-09-02 | 2018-12-19 | Kddi株式会社 | ネットワーク監視システム、ネットワーク監視方法およびプログラム |
JP2017059991A (ja) | 2015-09-16 | 2017-03-23 | 株式会社日立製作所 | ネットワーク制御装置、ネットワーク制御方法、および、ネットワーク制御プログラム |
US9733973B2 (en) | 2015-09-16 | 2017-08-15 | Cisco Technology, Inc. | Automatically determining sensor location in a virtualized computing environment |
US10178032B1 (en) | 2015-09-23 | 2019-01-08 | EMC IP Holding Company LLC | Wide area network distribution, load balancing and failover for multiple internet protocol addresses |
EP3318047B1 (en) | 2015-09-23 | 2020-12-09 | Google LLC | Systems and methods for load balancing in a distributed software defined network packet core system |
US9680704B2 (en) * | 2015-09-25 | 2017-06-13 | Ubiquiti Networks, Inc. | Compact and integrated key controller apparatus for monitoring networks |
US10229017B1 (en) | 2015-10-01 | 2019-03-12 | EMC IP Holding Company LLC | Resetting fibre channel devices for failover in high availability backup systems |
US10067780B2 (en) | 2015-10-06 | 2018-09-04 | Cisco Technology, Inc. | Performance-based public cloud selection for a hybrid cloud environment |
US10033607B2 (en) | 2015-10-13 | 2018-07-24 | Nxp Usa, Inc. | Packet loss debug system and method |
US10462136B2 (en) | 2015-10-13 | 2019-10-29 | Cisco Technology, Inc. | Hybrid cloud security groups |
US9838284B2 (en) | 2015-10-14 | 2017-12-05 | At&T Intellectual Property I, L.P. | Dedicated software-defined networking network for performance monitoring of production software-defined networking network |
US9672074B2 (en) | 2015-10-19 | 2017-06-06 | Vmware, Inc. | Methods and systems to determine and improve cost efficiency of virtual machines |
US9948503B2 (en) | 2015-10-23 | 2018-04-17 | Hughes Network Systems, Llc | Gateway redundancy protocol for communications networks |
US10333897B2 (en) | 2015-10-23 | 2019-06-25 | Attala Systems Corporation | Distributed firewalls and virtual network services using network packets with security tags |
CN106656801B (zh) | 2015-10-28 | 2019-11-15 | 华为技术有限公司 | 业务流的转发路径的重定向方法、装置和业务流转发系统 |
US9747179B2 (en) | 2015-10-29 | 2017-08-29 | Netapp, Inc. | Data management agent for selective storage re-caching |
US10027530B2 (en) | 2015-10-30 | 2018-07-17 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for troubleshooting SDN networks using flow statistics |
US11025514B2 (en) | 2015-10-30 | 2021-06-01 | Nicira, Inc. | Automatic health check and performance monitoring for applications and protocols using deep packet inspection in a datacenter |
WO2017070970A1 (zh) | 2015-10-31 | 2017-05-04 | 华为技术有限公司 | 一种确定路由的方法、对应装置及系统 |
US9794370B2 (en) | 2015-11-09 | 2017-10-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Systems and methods for distributed network-aware service placement |
US9916214B2 (en) | 2015-11-17 | 2018-03-13 | International Business Machines Corporation | Preventing split-brain scenario in a high-availability cluster |
US9825911B1 (en) | 2015-11-18 | 2017-11-21 | Amazon Technologies, Inc. | Security policy check based on communication establishment handshake packet |
KR20170058201A (ko) | 2015-11-18 | 2017-05-26 | 한국전자통신연구원 | 다중 클라우드 환경에서의 가상 네트워크 제공 시스템 및 그 방법 |
US10904142B2 (en) | 2015-11-19 | 2021-01-26 | Adaptiv Networks Inc. | System, apparatus and method for providing a virtual network edge and overlay with virtual control plane |
WO2017083975A1 (en) | 2015-11-19 | 2017-05-26 | Teloip Inc. | System, apparatus and method for providing a virtual network edge and overlay with virtual control plane |
US9602389B1 (en) | 2015-11-21 | 2017-03-21 | Naveen Maveli | Method and system for defining logical channels and channel policies in an application acceleration environment |
US10425302B2 (en) | 2015-11-23 | 2019-09-24 | International Business Machines Corporation | Scalable end-to-end quality of service monitoring and diagnosis in software defined networks |
US9992091B2 (en) | 2015-11-30 | 2018-06-05 | Cisco Technology, Inc. | Performing network topology traces with minimal data collection |
US9843485B2 (en) | 2015-11-30 | 2017-12-12 | International Business Machines Coprporation | Monitoring dynamic networks |
US10257019B2 (en) | 2015-12-04 | 2019-04-09 | Arista Networks, Inc. | Link aggregation split-brain detection and recovery |
US10148756B2 (en) | 2015-12-09 | 2018-12-04 | At&T Intellectual Property I, L.P. | Latency virtualization in a transport network using a storage area network |
US9426030B1 (en) | 2015-12-11 | 2016-08-23 | International Business Machines Coporation | Automatically generating configuration images and deploying computer components in a computing environment that comprises a shared pool of configurable computing resources |
US10117285B2 (en) | 2015-12-16 | 2018-10-30 | Verizon Patent And Licensing Inc. | Cloud WAN overlay network |
US9542219B1 (en) | 2015-12-17 | 2017-01-10 | International Business Machines Corporation | Automatic analysis based scheduling of jobs to appropriate cloud resources |
US20170180220A1 (en) | 2015-12-18 | 2017-06-22 | Intel Corporation | Techniques to Generate Workload Performance Fingerprints for Cloud Infrastructure Elements |
US10187289B1 (en) | 2015-12-28 | 2019-01-22 | Amazon Technologies, Inc. | Route advertisement management using tags in directly connected networks |
US11025477B2 (en) | 2015-12-31 | 2021-06-01 | Akamai Technologies, Inc. | Overlay network ingress edge region selection |
US10536326B2 (en) | 2015-12-31 | 2020-01-14 | Affirmed Networks, Inc. | Network redundancy and failure detection |
EP3229405B1 (en) | 2015-12-31 | 2020-07-15 | Huawei Technologies Co., Ltd. | Software defined data center and scheduling and traffic-monitoring method for service cluster therein |
US10103947B2 (en) | 2016-01-08 | 2018-10-16 | Universal Research Solutions, Llc | Processing of portable device data |
WO2017119950A1 (en) | 2016-01-08 | 2017-07-13 | Inspeed Networks, Inc. | Bidirectional data traffic control |
US9866637B2 (en) | 2016-01-11 | 2018-01-09 | Equinix, Inc. | Distributed edge processing of internet of things device data in co-location facilities |
WO2017121460A1 (en) | 2016-01-12 | 2017-07-20 | Telefonaktiebolaget Lm Ericsson (Publ) | System, method, and apparatus for managing co-channel interference |
US20170214701A1 (en) | 2016-01-24 | 2017-07-27 | Syed Kamran Hasan | Computer security based on artificial intelligence |
US10367655B2 (en) | 2016-01-25 | 2019-07-30 | Alibaba Group Holding Limited | Network system and method for connecting a private network with a virtual private network |
US10389643B1 (en) | 2016-01-30 | 2019-08-20 | Innovium, Inc. | Reflected packets |
CN115955723A (zh) | 2016-02-03 | 2023-04-11 | 三菱电机株式会社 | 通信系统 |
WO2017141078A1 (en) | 2016-02-15 | 2017-08-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Ospf extensions for flexible path stitching and selection for traffic transiting segment routing and mpls networks |
US9842045B2 (en) | 2016-02-19 | 2017-12-12 | International Business Machines Corporation | Failure recovery testing framework for microservice-based applications |
US10200278B2 (en) | 2016-03-02 | 2019-02-05 | Arista Networks, Inc. | Network management system control service for VXLAN on an MLAG domain |
US10142163B2 (en) * | 2016-03-07 | 2018-11-27 | Cisco Technology, Inc | BFD over VxLAN on vPC uplinks |
WO2017152396A1 (zh) * | 2016-03-09 | 2017-09-14 | 华为技术有限公司 | 流表处理方法及装置 |
CN107533668B (zh) | 2016-03-11 | 2021-01-26 | 慧与发展有限责任合伙企业 | 用于计算神经网络的节点值的硬件加速器和方法 |
US10158727B1 (en) | 2016-03-16 | 2018-12-18 | Equinix, Inc. | Service overlay model for a co-location facility |
US9942787B1 (en) | 2016-03-22 | 2018-04-10 | Amazon Technologies, Inc. | Virtual private network connection quality analysis |
US10404727B2 (en) | 2016-03-25 | 2019-09-03 | Cisco Technology, Inc. | Self organizing learning topologies |
US10205683B2 (en) | 2016-03-28 | 2019-02-12 | Mellanox Technologies Tlv Ltd. | Optimizing buffer allocation for network flow control |
US9935955B2 (en) | 2016-03-28 | 2018-04-03 | Zscaler, Inc. | Systems and methods for cloud based unified service discovery and secure availability |
US10313241B2 (en) | 2016-03-28 | 2019-06-04 | Cox Communications, Inc. | Systems and methods for routing internet packets between enterprise network sites |
US10250466B2 (en) | 2016-03-29 | 2019-04-02 | Juniper Networks, Inc. | Application signature generation and distribution |
US10277505B2 (en) | 2016-03-30 | 2019-04-30 | Juniper Networks, Inc. | Routing inter-AS LSPs with centralized controller |
US20170289002A1 (en) | 2016-03-31 | 2017-10-05 | Mrittika Ganguli | Technologies for deploying dynamic underlay networks in cloud computing infrastructures |
US10187292B2 (en) | 2016-04-15 | 2019-01-22 | Microsoft Technology Licensing, Llc | Data center topology having multiple classes of reliability |
US10819630B1 (en) | 2016-04-20 | 2020-10-27 | Equinix, Inc. | Layer three instances for a cloud-based services exchange |
CN116112539A (zh) | 2016-04-26 | 2023-05-12 | 安博科技有限公司 | 吊索路由逻辑与负载均衡 |
CN105827623B (zh) | 2016-04-26 | 2019-06-07 | 山石网科通信技术股份有限公司 | 数据中心系统 |
US10333849B2 (en) | 2016-04-28 | 2019-06-25 | Nicira, Inc. | Automatic configuration of logical routers on edge nodes |
US10484515B2 (en) | 2016-04-29 | 2019-11-19 | Nicira, Inc. | Implementing logical metadata proxy servers in logical networks |
CN107332812B (zh) | 2016-04-29 | 2020-07-07 | 新华三技术有限公司 | 网络访问控制的实现方法及装置 |
US10841273B2 (en) | 2016-04-29 | 2020-11-17 | Nicira, Inc. | Implementing logical DHCP servers in logical networks |
US10305807B2 (en) | 2016-05-03 | 2019-05-28 | Citrix Systems, Inc. | Systems and methods to choose an optimal path from multiple high latency links |
CN109076013B (zh) | 2016-05-10 | 2021-01-15 | 华为技术有限公司 | 分组交换业务识别方法及终端 |
US20170339022A1 (en) | 2016-05-17 | 2017-11-23 | Brocade Communications Systems, Inc. | Anomaly detection and prediction in a packet broker |
US10129177B2 (en) | 2016-05-23 | 2018-11-13 | Cisco Technology, Inc. | Inter-cloud broker for hybrid cloud networks |
US10389621B2 (en) | 2016-05-24 | 2019-08-20 | Level 3 Communications, Llc | Route selection system for a communication network and method of operating the same |
US10200264B2 (en) | 2016-05-31 | 2019-02-05 | 128 Technology, Inc. | Link status monitoring based on packet loss detection |
US10275325B2 (en) | 2016-06-17 | 2019-04-30 | Weixu Technology Co., Ltd. | Method of site isolation protection, electronic device and system using the same method |
CA3028397A1 (en) | 2016-06-18 | 2017-12-21 | Clevernet, Inc. | Intelligent adaptive transport layer to enhance performance using multiple channels |
US10404827B2 (en) | 2016-06-22 | 2019-09-03 | Cisco Technology, Inc. | Client network information service |
US10182035B2 (en) | 2016-06-29 | 2019-01-15 | Nicira, Inc. | Implementing logical network security on a hardware switch |
CN107547393B (zh) | 2016-06-29 | 2021-06-01 | 华为技术有限公司 | 一种计算转发路径的方法及网络设备 |
US10404788B2 (en) | 2016-06-30 | 2019-09-03 | Alibaba Group Holding Limited | Express route transmissions between virtual machines and cloud service computing devices |
US9992154B2 (en) | 2016-06-30 | 2018-06-05 | Juniper Networks, Inc. | Layer 3 convergence for EVPN link failure |
US9888278B2 (en) | 2016-07-07 | 2018-02-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Bandwidth and ABR video QoE management based on OTT video providers and devices |
US20180013636A1 (en) | 2016-07-07 | 2018-01-11 | Cisco Technology, Inc. | System and method for scaling application containers in cloud environments |
US10320664B2 (en) | 2016-07-21 | 2019-06-11 | Cisco Technology, Inc. | Cloud overlay for operations administration and management |
US10608928B2 (en) | 2016-08-05 | 2020-03-31 | Huawei Technologies Co., Ltd. | Service-based traffic forwarding in virtual networks |
US10972437B2 (en) | 2016-08-08 | 2021-04-06 | Talari Networks Incorporated | Applications and integrated firewall design in an adaptive private network (APN) |
JP6505172B2 (ja) | 2016-08-25 | 2019-04-24 | エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation | 仮想ネットワーク環境で仮想スイッチを利用してロードバランシングを処理する方法およびシステム |
US10193749B2 (en) | 2016-08-27 | 2019-01-29 | Nicira, Inc. | Managed forwarding element executing in public cloud data compute node without overlay network |
US10681131B2 (en) | 2016-08-29 | 2020-06-09 | Vmware, Inc. | Source network address translation detection and dynamic tunnel creation |
US10225103B2 (en) | 2016-08-29 | 2019-03-05 | Vmware, Inc. | Method and system for selecting tunnels to send network traffic through |
US10454758B2 (en) | 2016-08-31 | 2019-10-22 | Nicira, Inc. | Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP |
US10326830B1 (en) | 2016-09-02 | 2019-06-18 | Amazon Technologies, Inc. | Multipath tunneling to a service offered at several datacenters |
US10491531B2 (en) | 2016-09-13 | 2019-11-26 | Gogo Llc | User directed bandwidth optimization |
US10552267B2 (en) | 2016-09-15 | 2020-02-04 | International Business Machines Corporation | Microcheckpointing with service processor |
US10587700B2 (en) | 2016-09-16 | 2020-03-10 | Oracle International Corporation | Cloud operation reservation system |
CN107864168B (zh) | 2016-09-22 | 2021-05-18 | 华为技术有限公司 | 一种网络数据流分类的方法及系统 |
US10116593B1 (en) | 2016-09-23 | 2018-10-30 | Amazon Technologies, Inc. | Transmission and storage of routing path information and routing topology information using a single routing protocol |
JP6763267B2 (ja) | 2016-09-29 | 2020-09-30 | 株式会社リコー | 情報処理システム、情報処理装置、プログラム及びレポート作成方法 |
CN106230650A (zh) | 2016-09-30 | 2016-12-14 | 赛特斯信息科技股份有限公司 | SDN Overlay网络故障定位系统及方法 |
US10148564B2 (en) | 2016-09-30 | 2018-12-04 | Juniper Networks, Inc. | Multiple paths computation for label switched paths |
US10250498B1 (en) | 2016-10-03 | 2019-04-02 | Sprint Communications Company L.P. | Session aggregator brokering of data stream communication |
US9667619B1 (en) | 2016-10-14 | 2017-05-30 | Akamai Technologies, Inc. | Systems and methods for utilizing client side authentication to select services available at a given port number |
US10355944B2 (en) | 2016-10-31 | 2019-07-16 | Riverbed Technology, Inc. | Minimally invasive monitoring of path quality |
US10263882B2 (en) | 2016-10-31 | 2019-04-16 | Riverbed Technology, Inc. | Dynamically influencing route re-distribution between an exterior gateway protocol and an interior gateway protocol |
US10778722B2 (en) | 2016-11-08 | 2020-09-15 | Massachusetts Institute Of Technology | Dynamic flow system |
US9906401B1 (en) | 2016-11-22 | 2018-02-27 | Gigamon Inc. | Network visibility appliances for cloud computing architectures |
US10749856B2 (en) | 2016-11-23 | 2020-08-18 | Ingram Micro, Inc. | System and method for multi-tenant SSO with dynamic attribute retrieval |
US10560431B1 (en) | 2016-12-05 | 2020-02-11 | Amazon Technologies, Inc. | Virtual private gateway for encrypted communication over dedicated physical link |
US10826905B2 (en) | 2016-12-05 | 2020-11-03 | Citrix Systems, Inc. | Secure access to on-premises web services from multi-tenant cloud services |
US10298619B2 (en) | 2016-12-16 | 2019-05-21 | Nicira, Inc. | Application template generation and deep packet inspection approach for creation of micro-segmentation policy for network applications |
US10868760B2 (en) | 2016-12-19 | 2020-12-15 | Vmware, Inc. | System and method for managing public IP addresses for virtual data centers |
US10887173B2 (en) | 2016-12-21 | 2021-01-05 | Juniper Networks, Inc. | Communicating state information in distributed operating systems |
US10237123B2 (en) | 2016-12-21 | 2019-03-19 | Nicira, Inc. | Dynamic recovery from a split-brain failure in edge nodes |
US10802858B2 (en) | 2016-12-22 | 2020-10-13 | Nicira, Inc. | Collecting and processing contextual attributes on a host |
US10263832B1 (en) | 2016-12-29 | 2019-04-16 | Juniper Networks, Inc. | Physical interface to virtual interface fault propagation |
CN108306831B (zh) | 2017-01-13 | 2021-12-03 | 华为技术有限公司 | 选路方法及装置 |
US10440049B2 (en) | 2017-01-19 | 2019-10-08 | Paypal, Inc. | Network traffic analysis for malware detection and performance reporting |
US20200296026A1 (en) | 2017-01-31 | 2020-09-17 | The Mode Group | High performance software-defined core network |
US11121962B2 (en) | 2017-01-31 | 2021-09-14 | Vmware, Inc. | High performance software-defined core network |
US11706127B2 (en) | 2017-01-31 | 2023-07-18 | Vmware, Inc. | High performance software-defined core network |
US20200021515A1 (en) | 2017-01-31 | 2020-01-16 | The Mode Group | High performance software-defined core network |
US20190280963A1 (en) | 2017-01-31 | 2019-09-12 | The Mode Group | High performance software-defined core network |
US10992558B1 (en) | 2017-11-06 | 2021-04-27 | Vmware, Inc. | Method and apparatus for distributed data network traffic optimization |
US20190280962A1 (en) | 2017-01-31 | 2019-09-12 | The Mode Group | High performance software-defined core network |
US20190280964A1 (en) | 2017-01-31 | 2019-09-12 | The Mode Group | High performance software-defined core network |
US20180219766A1 (en) | 2017-01-31 | 2018-08-02 | Waltz Networks | Method and Apparatus for Network Traffic Control Optimization |
US20190238449A1 (en) | 2017-01-31 | 2019-08-01 | The Mode Group | High performance software-defined core network |
US20180219765A1 (en) | 2017-01-31 | 2018-08-02 | Waltz Networks | Method and Apparatus for Network Traffic Control Optimization |
US20200106696A1 (en) | 2017-01-31 | 2020-04-02 | The Mode Group | High performance software-defined core network |
US11252079B2 (en) | 2017-01-31 | 2022-02-15 | Vmware, Inc. | High performance software-defined core network |
US10992568B2 (en) | 2017-01-31 | 2021-04-27 | Vmware, Inc. | High performance software-defined core network |
US20190372889A1 (en) | 2017-01-31 | 2019-12-05 | The Mode Group | High performance software-defined core network |
US20200036624A1 (en) | 2017-01-31 | 2020-01-30 | The Mode Group | High performance software-defined core network |
US20200021514A1 (en) | 2017-01-31 | 2020-01-16 | The Mode Group | High performance software-defined core network |
US10778528B2 (en) | 2017-02-11 | 2020-09-15 | Nicira, Inc. | Method and system of connecting to a multipath hub in a cluster |
US10574528B2 (en) | 2017-02-11 | 2020-02-25 | Nicira, Inc. | Network multi-source inbound quality of service methods and systems |
US10506926B2 (en) | 2017-02-18 | 2019-12-17 | Arc Devices Limited | Multi-vital sign detector in an electronic medical records system |
US10382492B2 (en) | 2017-03-02 | 2019-08-13 | Draios Inc. | Automated service-oriented performance management |
US11032248B2 (en) | 2017-03-07 | 2021-06-08 | Nicira, Inc. | Guest thin agent assisted host network encryption |
US10002530B1 (en) | 2017-03-08 | 2018-06-19 | Fujitsu Limited | Traffic signal control using multiple Q-learning categories |
US10503427B2 (en) | 2017-03-10 | 2019-12-10 | Pure Storage, Inc. | Synchronously replicating datasets and other managed objects to cloud-based storage systems |
CN106656847B (zh) | 2017-03-10 | 2019-05-24 | 重庆邮电大学 | 网络效用最大化的sdn负载均衡方法 |
WO2018165934A1 (en) | 2017-03-16 | 2018-09-20 | Intel Corporation | Systems, methods and devices for user plane traffic forwarding |
US10367712B2 (en) | 2017-03-20 | 2019-07-30 | Citrix Systems, Inc. | Auto tuning of hybrid wan links by adaptive duplication of packets on alternate links |
US9832128B1 (en) | 2017-03-20 | 2017-11-28 | Engine Media, Llc | Dynamic advertisement routing |
US10959124B2 (en) | 2017-03-23 | 2021-03-23 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Uplink data transmission method, terminal, network side device and system |
US10873794B2 (en) | 2017-03-28 | 2020-12-22 | Cisco Technology, Inc. | Flowlet resolution for application performance monitoring and management |
US10172020B2 (en) | 2017-04-06 | 2019-01-01 | Common Networks, Inc. | Systems and methods for networking and wirelessly routing communications |
CN108696434B (zh) | 2017-04-11 | 2022-01-14 | 华为技术有限公司 | 一种转发数据报文的方法、设备和系统 |
CA3001394A1 (en) | 2017-04-13 | 2018-10-13 | Iot Cloud Technologies Inc. | Method and system to sanitize, recover, analyze and wipe data stored on memory devices connected to a dedicated embedded microcomputer system with a network connection |
US10333836B2 (en) | 2017-04-13 | 2019-06-25 | Cisco Technology, Inc. | Convergence for EVPN multi-homed networks |
US10498810B2 (en) | 2017-05-04 | 2019-12-03 | Amazon Technologies, Inc. | Coordinating inter-region operations in provider network environments |
US10142226B1 (en) | 2017-05-24 | 2018-11-27 | Amazon Technologies, Inc. | Direct network connectivity with scalable forwarding and routing fleets |
US10476817B2 (en) | 2017-05-31 | 2019-11-12 | Juniper Networks, Inc. | Transport LSP setup using selected fabric path between virtual nodes |
US10382333B2 (en) | 2017-05-31 | 2019-08-13 | Juniper Networks, Inc. | Fabric path context-based forwarding for virtual nodes |
US10432523B2 (en) | 2017-05-31 | 2019-10-01 | Juniper Networks, Inc. | Routing protocol signaling of multiple next hops and their relationship |
US10164873B1 (en) | 2017-06-01 | 2018-12-25 | Ciena Corporation | All-or-none switchover to address split-brain problems in multi-chassis link aggregation groups |
US10462042B2 (en) | 2017-06-20 | 2019-10-29 | Cisco Technology, Inc. | Network path selection |
US10523539B2 (en) | 2017-06-22 | 2019-12-31 | Nicira, Inc. | Method and system of resiliency in cloud-delivered SD-WAN |
US10616379B2 (en) | 2017-06-23 | 2020-04-07 | Futurewei Technologies, Inc. | Seamless mobility and session continuity with TCP mobility option |
US10742447B2 (en) | 2017-07-10 | 2020-08-11 | Level 3 Communications, Llc | Connecting to multiple cloud instances in a telecommunications network |
JP6904127B2 (ja) | 2017-07-19 | 2021-07-14 | 富士通株式会社 | 中継ノード決定プログラム、中継ノード決定方法および並列処理装置 |
US10742750B2 (en) | 2017-07-20 | 2020-08-11 | Cisco Technology, Inc. | Managing a distributed network of function execution environments |
US10454812B2 (en) | 2017-07-28 | 2019-10-22 | Juniper Networks, Inc. | Service level agreement based next-hop selection |
US10523560B2 (en) | 2017-07-28 | 2019-12-31 | Juniper Networks, Inc. | Service level agreement based next-hop selection |
US10461993B2 (en) | 2017-07-31 | 2019-10-29 | Cisco Technology, Inc. | Network hub site redundancy and failover |
US20190046056A1 (en) | 2017-08-10 | 2019-02-14 | VVVital Patent Holdings Limited | Multi-Vital Sign Detector in an Electronic Medical Records System |
US20190058709A1 (en) | 2017-08-16 | 2019-02-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Tenant management method and system in a cloud computing environment |
CN109412964B (zh) | 2017-08-18 | 2022-04-29 | 华为技术有限公司 | 报文控制方法及网络装置 |
US11695648B2 (en) | 2017-08-23 | 2023-07-04 | Nec Corporation | Method for supporting service level agreement monitoring in a software defined network and corresponding software defined network |
US10491516B2 (en) | 2017-08-24 | 2019-11-26 | Nicira, Inc. | Packet communication between logical networks and public cloud service providers native networks using a single network interface and a single routing table |
CN111052686B (zh) | 2017-08-27 | 2022-03-29 | Nicira股份有限公司 | 在公共云中执行在线服务的方法和机器可读介质 |
EP3677000B1 (en) | 2017-08-30 | 2022-11-16 | Telefonaktiebolaget LM Ericsson (PUBL) | Method and system for tracing packets in software defined networks |
EP3518479B1 (en) | 2017-08-30 | 2021-12-01 | NTT Communications Corporation | Network control device, communication system, network control method, program, and recording medium |
US10616085B2 (en) | 2017-08-31 | 2020-04-07 | Zte Corporation | Residence time measurement for optimizing network services |
US10554538B2 (en) | 2017-09-12 | 2020-02-04 | Adara Networks, Inc. | Dynamic link state routing protocol |
US10511546B2 (en) | 2017-09-29 | 2019-12-17 | Juniper Networks, Inc. | Connecting virtual nodes in a network device using abstract fabric interfaces |
US10999100B2 (en) | 2017-10-02 | 2021-05-04 | Vmware, Inc. | Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider |
US10999165B2 (en) | 2017-10-02 | 2021-05-04 | Vmware, Inc. | Three tiers of SaaS providers for deploying compute and network infrastructure in the public cloud |
US11115480B2 (en) | 2017-10-02 | 2021-09-07 | Vmware, Inc. | Layer four optimization for a virtual network defined over public cloud |
US10959098B2 (en) | 2017-10-02 | 2021-03-23 | Vmware, Inc. | Dynamically specifying multiple public cloud edge nodes to connect to an external multi-computer node |
US10608844B2 (en) | 2017-10-02 | 2020-03-31 | Vmware, Inc. | Graph based routing through multiple public clouds |
US11089111B2 (en) | 2017-10-02 | 2021-08-10 | Vmware, Inc. | Layer four optimization for a virtual network defined over public cloud |
US10608887B2 (en) | 2017-10-06 | 2020-03-31 | Nicira, Inc. | Using packet tracing tool to automatically execute packet capture operations |
EP3701687A4 (en) | 2017-10-27 | 2021-02-17 | Telefonaktiebolaget LM Ericsson (publ) | OPTIMIZED DATA PATH ERROR RECOVERY WITH FOLLOW-UP ENGINE |
US10805181B2 (en) | 2017-10-29 | 2020-10-13 | Nicira, Inc. | Service operation chaining |
US11223514B2 (en) | 2017-11-09 | 2022-01-11 | Nicira, Inc. | Method and system of a dynamic high-availability mode based on current wide area network connectivity |
US10778651B2 (en) | 2017-11-15 | 2020-09-15 | Nicira, Inc. | Performing context-rich attribute-based encryption on a host |
US10644978B2 (en) | 2017-11-22 | 2020-05-05 | Hughes Network Systems, Llc | Latency increase estimated rate limiter adjustment |
US10565464B2 (en) | 2017-12-21 | 2020-02-18 | At&T Intellectual Property I, L.P. | Adaptive cloud offloading of mobile augmented reality |
US20190207844A1 (en) | 2018-01-03 | 2019-07-04 | Hewlett Packard Enterprise Development Lp | Determining routing decisions in a software-defined wide area network |
US10797910B2 (en) | 2018-01-26 | 2020-10-06 | Nicira, Inc. | Specifying and utilizing paths through a network |
US10673781B2 (en) | 2018-01-31 | 2020-06-02 | Hewlett Packard Enterprise Development Lp | Dedicated virtual local area network for peer-to-peer traffic transmitted between switches |
US10439927B2 (en) | 2018-01-31 | 2019-10-08 | International Business Machines Corporation | Distributed storage path configuration |
AU2019214925B2 (en) | 2018-01-31 | 2022-01-27 | Assia Spe, Llc | Systems and methods for broadband communication link performance monitoring |
EP3747167B1 (en) | 2018-02-19 | 2022-08-31 | Huawei Technologies Co., Ltd. | Multi-cloud vpc routing and registration |
US10932322B2 (en) | 2018-02-23 | 2021-02-23 | Cisco Technology, Inc. | Policy mapping methods and apparatus for use in interconnecting software-defined wide area network (SD-WAN) fabrics with mobile networks for communications with UEs |
US11792307B2 (en) | 2018-03-28 | 2023-10-17 | Apple Inc. | Methods and apparatus for single entity buffer pool management |
US20190319881A1 (en) | 2018-04-13 | 2019-10-17 | Microsoft Technology Licensing, Llc | Traffic management based on past traffic arrival patterns |
US11102079B2 (en) | 2018-04-17 | 2021-08-24 | Microsoft Technology Licensing, Llc | Cross-regional virtual network peering |
US10778464B2 (en) | 2018-04-20 | 2020-09-15 | Futurewei Technologies, Inc. | NSH encapsulation for traffic steering establishing a tunnel between virtual extensible local area network (VxLAN) tunnel end points (VTEPS) using a NSH encapsulation header comprising a VxLAN header whose VNI field has been replaced by an NSH shim |
US20200301764A1 (en) | 2018-04-23 | 2020-09-24 | SCRRD, Inc. | Operating system on a computing system |
US10715427B2 (en) | 2018-04-27 | 2020-07-14 | Hewlett Packard Enterprise Development Lp | Determining routing decisions in a software-defined wide area network overlay |
US20190334786A1 (en) | 2018-04-30 | 2019-10-31 | Hewlett Packard Enterprise Development Lp | Predicting Workload Patterns in a Data Storage Network |
US11388096B2 (en) | 2018-05-04 | 2022-07-12 | T-Mobile Usa, Inc. | Performance driven software defined networking |
EP3808040B1 (en) | 2018-06-13 | 2023-08-02 | Telefonaktiebolaget LM Ericsson (publ) | Apparatus and method to trace packets in a packet processing pipeline of a software defined networking switch |
US10666497B2 (en) | 2018-06-22 | 2020-05-26 | Intel Corporation | Localized service resiliency |
US11184327B2 (en) | 2018-07-05 | 2021-11-23 | Vmware, Inc. | Context aware middlebox services at datacenter edges |
US10749773B2 (en) | 2018-07-06 | 2020-08-18 | International Business Machines Corporation | Determining a location of optimal computing resources for workloads |
WO2020012491A1 (en) | 2018-07-10 | 2020-01-16 | Telefonaktiebolaget L M Ericsson (Publ) | Mechanism for hitless resynchronization during sdn controller upgrades between incompatible versions |
WO2020018704A1 (en) | 2018-07-18 | 2020-01-23 | The Mode Group | High performance software-defined core network |
US10892958B2 (en) | 2018-08-03 | 2021-01-12 | Huawei Technologies Co., Ltd. | Methods and functions of network performance monitoring and service assurance |
US10999163B2 (en) | 2018-08-14 | 2021-05-04 | Juniper Networks, Inc. | Multi-cloud virtual computing environment provisioning using a high-level topology description |
US11233778B2 (en) | 2018-08-15 | 2022-01-25 | Juniper Networks, Inc. | Secure forwarding of tenant workloads in virtual networks |
US10992654B2 (en) | 2018-08-17 | 2021-04-27 | Cisco Technology, Inc. | Secure WAN path selection at campus fabric edge |
US11115327B2 (en) | 2018-08-24 | 2021-09-07 | Oracle International Corporation | Methods, systems, and computer readable media for providing mobile device connectivity |
US11182209B2 (en) | 2018-09-21 | 2021-11-23 | Google Llc | Distributed job scheduling system |
US11271905B2 (en) | 2018-09-21 | 2022-03-08 | Google Llc | Network architecture for cloud computing environments |
US10834004B2 (en) | 2018-09-24 | 2020-11-10 | Netsia, Inc. | Path determination method and system for delay-optimized service function chaining |
US10911374B1 (en) | 2018-09-28 | 2021-02-02 | Riverbed Technology, Inc. | Software defined wide area network (SD WAN) enabled network fabric for containers |
US11108664B2 (en) | 2018-10-19 | 2021-08-31 | Comcast Cable Communications, Llc | Prioritized message routing |
DE112018008119T5 (de) | 2018-11-01 | 2021-08-12 | Hewlett Packard Enterprise Development Lp | Modifizieren einer Ressourcenzuweisung oder einer Strategie in Reaktion auf Steuerungsinformationen von einer virtuellen Netzwerkfunktion |
US11102113B2 (en) | 2018-11-08 | 2021-08-24 | Sap Se | Mapping of internet protocol addresses in a multi-cloud computing environment |
US10708144B2 (en) | 2018-11-14 | 2020-07-07 | Juniper Networks, Inc. | Predicting application quality of experience metrics using adaptive machine learned probes |
EP3878160A1 (en) | 2018-11-15 | 2021-09-15 | VMware, Inc. | Layer four optimization in a virtual network defined over public cloud |
US10795817B2 (en) | 2018-11-16 | 2020-10-06 | Western Digital Technologies, Inc. | Cache coherence for file system interfaces |
US10893004B2 (en) | 2018-11-20 | 2021-01-12 | Amazon Technologies, Inc. | Configurable detection of network traffic anomalies at scalable virtual traffic hubs |
US10715402B2 (en) | 2018-11-27 | 2020-07-14 | Servicenow, Inc. | Systems and methods for enhanced monitoring of a distributed computing system |
US11201854B2 (en) | 2018-11-30 | 2021-12-14 | Cisco Technology, Inc. | Dynamic intent-based firewall |
US10999197B2 (en) | 2018-11-30 | 2021-05-04 | Cisco Technology, Inc. | End-to-end identity-aware routing across multiple administrative domains |
US11233822B2 (en) | 2018-11-30 | 2022-01-25 | Cisco Technology, Inc. | Dynamic honeypots |
US11115426B1 (en) | 2018-12-13 | 2021-09-07 | Cisco Technology, Inc. | Distributed packet capture for network anomaly detection |
US10951529B2 (en) | 2018-12-13 | 2021-03-16 | Fortinet, Inc. | Dynamic service-based load balancing in a software-defined wide area network (SD-WAN) |
US11095558B2 (en) | 2018-12-28 | 2021-08-17 | Alibaba Group Holding Limited | ASIC for routing a packet |
US11032175B2 (en) | 2018-12-31 | 2021-06-08 | Hughes Network Systems | Packet loss isolation test |
US11099873B2 (en) | 2019-01-04 | 2021-08-24 | Microsoft Technology Licensing, Llc | Network configuration updates for virtual machine |
US10892989B2 (en) | 2019-01-18 | 2021-01-12 | Vmware, Inc. | Tunnel-based service insertion in public cloud environments |
US11552874B1 (en) | 2019-01-18 | 2023-01-10 | Keysight Technologies, Inc. | Methods, systems and computer readable media for proactive network testing |
US11012299B2 (en) | 2019-01-18 | 2021-05-18 | Cisco Technology, Inc. | Seamless multi-cloud routing and policy interconnectivity |
US20200244721A1 (en) | 2019-01-30 | 2020-07-30 | Hewlett Packard Enterprise Development Lp | Deploying a workload |
US11336482B2 (en) | 2019-01-31 | 2022-05-17 | Juniper Networks, Inc. | Policy-driven on-demand tunnel creation/deletion based on traffic information in a wide area network (WAN) |
US11271795B2 (en) | 2019-02-08 | 2022-03-08 | Ciena Corporation | Systems and methods for proactive network operations |
US10911517B2 (en) | 2019-02-17 | 2021-02-02 | Cisco Technology, Inc. | Determining end times for single page applications |
US11165828B2 (en) | 2019-02-28 | 2021-11-02 | Cisco Technology, Inc. | Systems and methods for on-demand flow-based policy enforcement in multi-cloud environments |
US11134126B2 (en) | 2019-03-06 | 2021-09-28 | Hewlett Packard Enterprise Development Lp | Adaptive routing of branch traffic in software-defined wide area network (SDWAN) deployments |
US10855575B2 (en) | 2019-03-06 | 2020-12-01 | Hewlett Packard Enterprise Development Lp | Adaptive traffic routing in a software-defined wide area network |
US11005729B2 (en) | 2019-03-14 | 2021-05-11 | Juniper Networks, Inc. | Satisfying service level agreement metrics for unknown applications |
US11423254B2 (en) | 2019-03-28 | 2022-08-23 | Intel Corporation | Technologies for distributing iterative computations in heterogeneous computing environments |
US20200314614A1 (en) | 2019-03-29 | 2020-10-01 | Apple Inc. | Systems and methods for autonomous vehicle communication |
US10972386B2 (en) | 2019-03-29 | 2021-04-06 | Juniper Networks, Inc. | Scalable multi-tenant underlay network supporting multi-tenant overlay network |
US11201800B2 (en) | 2019-04-03 | 2021-12-14 | Cisco Technology, Inc. | On-path dynamic policy enforcement and endpoint-aware policy enforcement for endpoints |
US11128492B2 (en) | 2019-04-16 | 2021-09-21 | Hewlett Packard Enterprise Development Lp | Automated gateway selection in SD-WAN |
US11502936B2 (en) | 2019-04-18 | 2022-11-15 | Hewlett Packard Enterprise Development Lp | Heuristic-based SD-WAN route reconfiguration |
US11128490B2 (en) | 2019-04-26 | 2021-09-21 | Microsoft Technology Licensing, Llc | Enabling access to dedicated resources in a virtual network using top of rack switches |
US11212223B2 (en) | 2019-04-27 | 2021-12-28 | Hewlett Packard Enterprise Development Lp | Uplink selection in a SD-WAN |
US11050644B2 (en) | 2019-04-30 | 2021-06-29 | Hewlett Packard Enterprise Development Lp | Dynamic device anchoring to SD-WAN cluster |
US11303727B2 (en) | 2019-04-30 | 2022-04-12 | Jio Platforms Limited | Method and system for routing user data traffic from an edge device to a network entity |
US11025522B2 (en) | 2019-05-04 | 2021-06-01 | Juniper Networks, Inc. | Path monitoring system (PMS) controller or ingress node based multiprotocal label switching (MPLS) ping and traceroute in inter- autonomous system (AS) segment routing (SR) networks |
US11093287B2 (en) | 2019-05-24 | 2021-08-17 | Intel Corporation | Data management for edge architectures |
US10693739B1 (en) | 2019-05-29 | 2020-06-23 | Accenture Global Solutions Limited | Network design platform |
US10979316B2 (en) | 2019-05-31 | 2021-04-13 | Juniper Networks, Inc. | Dynamic application SLA metric generation, distribution, and intent-based SD-WAN link selection |
US10826775B1 (en) | 2019-06-19 | 2020-11-03 | Cisco Technology, Inc. | Policy plane integration across multiple domains |
US11258628B2 (en) | 2019-06-24 | 2022-02-22 | Cisco Technology, Inc. | Plug and play at sites using TLOC-extension |
US11526434B1 (en) | 2019-06-25 | 2022-12-13 | Amazon Technologies, Inc. | Network-level garbage collection in an on-demand code execution system |
US20200412483A1 (en) | 2019-06-25 | 2020-12-31 | Cisco Technology, Inc. | Xor forward error correction for isolated and burst losses over a software-defined-wide area network |
US11071005B2 (en) | 2019-06-27 | 2021-07-20 | Cisco Technology, Inc. | Congestion avoidance with adaptive QoS policy enforcement from SD-WAN controller in SD-WAN networks |
US11032107B2 (en) | 2019-06-28 | 2021-06-08 | Juniper Networks, Inc. | GRE tunneling with reduced packet encryption at intermediate routers |
US10498665B1 (en) | 2019-07-15 | 2019-12-03 | Capital One Services, Llc | Method for managing state of cloud-based systems |
US11184273B2 (en) | 2019-07-24 | 2021-11-23 | Vmware, Inc. | Machine learning-based path priority determination for routing data in software-defined networks |
JP7388032B2 (ja) | 2019-07-29 | 2023-11-29 | 富士フイルムビジネスイノベーション株式会社 | 情報処理システム及び情報処理システム用制御プログラム |
US11374791B2 (en) | 2019-07-31 | 2022-06-28 | Hewlett Packard Enterprise Development Lp | Orchestration of subnetwork extensions across a wide area network |
US11329950B2 (en) | 2019-08-02 | 2022-05-10 | Cisco Technology, Inc. | Wide area network edge device connectivity for high availability and extensibility |
WO2021029856A1 (en) | 2019-08-09 | 2021-02-18 | Hewlett-Packard Development Company, L.P. | Network connectivity performance determination on computing devices |
US10691728B1 (en) | 2019-08-13 | 2020-06-23 | Datadog, Inc. | Transforming a data stream into structured data |
US11121985B2 (en) | 2019-08-27 | 2021-09-14 | Vmware, Inc. | Defining different public cloud virtual networks for different entities based on different sets of measurements |
US10938717B1 (en) | 2019-09-04 | 2021-03-02 | Cisco Technology, Inc. | Policy plane integration across multiple domains |
US11169816B2 (en) | 2019-09-05 | 2021-11-09 | Facebook Technologies, Llc | System and method for key value store |
US20210092062A1 (en) | 2019-09-20 | 2021-03-25 | Citrix Systems, Inc. | Quality of experience (qoe) enhancement device and related techniques |
US11082304B2 (en) | 2019-09-27 | 2021-08-03 | Oracle International Corporation | Methods, systems, and computer readable media for providing a multi-tenant software-defined wide area network (SD-WAN) node |
US11115347B2 (en) | 2019-10-14 | 2021-09-07 | Hewlett Packard Enterprise Development Lp | Dynamic monitoring and migration of applications |
US11153119B2 (en) | 2019-10-15 | 2021-10-19 | Cisco Technology, Inc. | Dynamic discovery of peer network devices across a wide area network |
US20210126854A1 (en) | 2019-10-23 | 2021-04-29 | Arista Networks, Inc. | Tcp performance model based in-band network telemetry |
US11509534B2 (en) | 2019-10-23 | 2022-11-22 | Juniper Networks, Inc. | Collection of error packet information for network policy enforcement |
US11611507B2 (en) | 2019-10-28 | 2023-03-21 | Vmware, Inc. | Managing forwarding elements at edge nodes connected to a virtual network |
US11483796B2 (en) | 2019-11-25 | 2022-10-25 | Cisco Technology, Inc. | Systems and methods for dynamically generating a mobile software-defined wide area network gateway location for remote users |
US11411857B2 (en) | 2019-11-25 | 2022-08-09 | Cisco Technology, Inc. | Multicast performance routing and policy control in software defined wide area networks |
US11316869B2 (en) | 2019-12-10 | 2022-04-26 | Cisco Technology, Inc. | Systems and methods for providing attestation of data integrity |
US11394640B2 (en) | 2019-12-12 | 2022-07-19 | Vmware, Inc. | Collecting and analyzing data regarding flows associated with DPI parameters |
US11489783B2 (en) | 2019-12-12 | 2022-11-01 | Vmware, Inc. | Performing deep packet inspection in a software defined wide area network |
EP3991359A1 (en) | 2019-12-12 | 2022-05-04 | VMware, Inc. | Collecting an analyzing data regarding flows associated with dpi parameters |
FR3105681B1 (fr) | 2019-12-20 | 2021-12-03 | Sagemcom Broadband Sas | Procédé et dispositif de détermination d’une topologie d’un réseau de points d’accès sans fils |
CN111198764B (zh) | 2019-12-31 | 2024-04-26 | 江苏省未来网络创新研究院 | 一种基于sdn的负载均衡实现系统及方法 |
US11398969B2 (en) | 2020-01-22 | 2022-07-26 | Cisco Technology, Inc. | Network conversation testing of flow level operations |
US11438789B2 (en) | 2020-01-24 | 2022-09-06 | Vmware, Inc. | Computing and using different path quality metrics for different service classes |
US11665095B2 (en) | 2020-02-21 | 2023-05-30 | Cisco Technology, Inc. | Fine-grained SD-WAN optimization services for cloud-native applications |
US11556349B2 (en) | 2020-03-04 | 2023-01-17 | International Business Machines Corporation | Booting a secondary operating system kernel with reclaimed primary kernel memory |
US11316773B2 (en) | 2020-04-06 | 2022-04-26 | Vmware, Inc. | Configuring edge device with multiple routing tables |
US20210314385A1 (en) | 2020-04-07 | 2021-10-07 | Cisco Technology, Inc. | Integration of hyper converged infrastructure management with a software defined network control |
US11108851B1 (en) | 2020-04-10 | 2021-08-31 | Hewlett Packard Enterprise Development Lp | Dynamic application routing in a software defined wide area network |
WO2021207922A1 (zh) | 2020-04-14 | 2021-10-21 | 华为技术有限公司 | 报文传输方法、装置及系统 |
US20200241927A1 (en) | 2020-04-15 | 2020-07-30 | Intel Corporation | Storage transactions with predictable latency |
WO2021211906A1 (en) | 2020-04-15 | 2021-10-21 | Gunuganta Ramakanth | Application-agnostic tenant onboarding onto a multi-tenant system |
US11750512B2 (en) | 2020-04-22 | 2023-09-05 | Hewlett Packard Enterprise Development Lp | Identifying a dynamic network parameter probe interval in an SD-WAN |
US11394606B2 (en) | 2020-05-26 | 2022-07-19 | Cisco Technology, Inc. | Auto-provisioning of SD-WAN hubs and spokes |
US20200322287A1 (en) | 2020-06-18 | 2020-10-08 | Intel Corporation | Switch-managed resource allocation and software execution |
US11297513B2 (en) | 2020-06-23 | 2022-04-05 | T-Mobile Usa, Inc. | System for administering test cases from a mobile device for a telecommunications network |
US11398948B2 (en) | 2020-06-29 | 2022-07-26 | Cisco Technology, Inc. | Generation and deployment of inherited network topology models |
US11477127B2 (en) | 2020-07-02 | 2022-10-18 | Vmware, Inc. | Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN |
CN115668865A (zh) | 2020-07-21 | 2023-01-31 | 谷歌有限责任公司 | 网络异常检测 |
US11363124B2 (en) | 2020-07-30 | 2022-06-14 | Vmware, Inc. | Zero copy socket splicing |
US11240153B1 (en) | 2020-07-31 | 2022-02-01 | Cisco Technology, Inc. | Scoring policies for predictive routing suggestions |
US11516104B2 (en) | 2020-08-10 | 2022-11-29 | Cisco Technology, Inc. | Systems and methods for determining a network path trace |
US11588711B2 (en) | 2020-08-14 | 2023-02-21 | Cisco Technology, Inc. | Intent-driven cloud branches |
US11337227B2 (en) | 2020-08-24 | 2022-05-17 | Amazon Technologies, Inc. | Distributed network connectivity monitoring of provider network edge location resources from cellular networks |
US11356319B2 (en) | 2020-09-11 | 2022-06-07 | Arista Networks, Inc. | Distinguishing network vs server issues when diagnosing application performance problems |
CN116325900A (zh) | 2020-10-22 | 2023-06-23 | 华为技术有限公司 | 一种通信方法及装置 |
US20220131807A1 (en) | 2020-10-28 | 2022-04-28 | Vmware, Inc. | Identification of faulty sd-wan segment |
US11095612B1 (en) | 2020-10-30 | 2021-08-17 | Palo Alto Networks, Inc. | Flow metadata exchanges between network and security functions for a security service |
CN115918139A (zh) | 2020-11-16 | 2023-04-04 | 瞻博网络公司 | 网络切片的主动保证 |
US11575591B2 (en) | 2020-11-17 | 2023-02-07 | Vmware, Inc. | Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN |
US11575600B2 (en) | 2020-11-24 | 2023-02-07 | Vmware, Inc. | Tunnel-less SD-WAN |
US11522780B1 (en) | 2020-12-10 | 2022-12-06 | Amazon Technologies, Inc. | Monitoring networks by detection of noisy agents |
CN117157628A (zh) | 2020-12-21 | 2023-12-01 | 吉尼赛斯云服务第二控股有限公司 | 与所应用的异常检测和联络中心计算环境相关的系统和方法 |
US11601356B2 (en) | 2020-12-29 | 2023-03-07 | Vmware, Inc. | Emulating packet flows to assess network links for SD-WAN |
US11765057B2 (en) | 2020-12-30 | 2023-09-19 | Oracle International Corporation | Systems and methods for performing end-to-end link-layer and IP-layer health checks between a host machine and a network virtualization device |
US11381474B1 (en) | 2020-12-31 | 2022-07-05 | Juniper Networks, Inc. | Wan link selection for SD-WAN services |
US11575651B2 (en) | 2020-12-31 | 2023-02-07 | Palo Alto Networks, Inc. | Dynamically scalable application firewall deployment for cloud native applications |
US11595231B2 (en) | 2021-01-07 | 2023-02-28 | Hewlett Packard Enterprise Development Lp | Metric based dynamic virtual private network (VPN) tunnel between branch gateway devices |
WO2022154850A1 (en) | 2021-01-18 | 2022-07-21 | Vmware, Inc. | Network-aware load balancing |
US11792127B2 (en) | 2021-01-18 | 2023-10-17 | Vmware, Inc. | Network-aware load balancing |
US20220231949A1 (en) | 2021-01-18 | 2022-07-21 | Vmware, Inc. | Network-aware load balancing |
EP4189935A1 (en) | 2021-01-21 | 2023-06-07 | VMware, Inc. | Proactive optimization across network segments to maintain end-to-end performance |
US11979325B2 (en) | 2021-01-28 | 2024-05-07 | VMware LLC | Dynamic SD-WAN hub cluster scaling with machine learning |
US11797510B2 (en) | 2021-04-20 | 2023-10-24 | Netapp, Inc. | Key-value store and file system integration |
US20220353190A1 (en) | 2021-04-29 | 2022-11-03 | Vmware, Inc. | Methods for micro-segmentation in sd-wan for virtual networks |
WO2022231668A1 (en) | 2021-04-29 | 2022-11-03 | Vmware, Inc. | Methods for micro-segmentation in sd-wan for virtual networks |
US11637768B2 (en) | 2021-05-03 | 2023-04-25 | Vmware, Inc. | On demand routing mesh for routing packets through SD-WAN edge forwarding nodes in an SD-WAN |
US12009987B2 (en) | 2021-05-03 | 2024-06-11 | VMware LLC | Methods to support dynamic transit paths through hub clustering across branches in SD-WAN |
EP4282140A1 (en) | 2021-05-03 | 2023-11-29 | VMware, Inc. | On demand routing mesh for routing packets through sd-wan edge forwarding nodes in an sd-wan |
US11729065B2 (en) | 2021-05-06 | 2023-08-15 | Vmware, Inc. | Methods for application defined virtual network service among multiple transport in SD-WAN |
US20220407773A1 (en) | 2021-06-18 | 2022-12-22 | Vmware, Inc. | Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of sub-types of resource elements in the public clouds |
US20220407790A1 (en) | 2021-06-18 | 2022-12-22 | Vmware, Inc. | Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics |
US11489720B1 (en) | 2021-06-18 | 2022-11-01 | Vmware, Inc. | Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics |
US20220407774A1 (en) | 2021-06-18 | 2022-12-22 | Vmware, Inc. | Method and apparatus for modifying the deployment of resource elements in public clouds based on harvested performance metrics |
EP4282136A1 (en) | 2021-06-18 | 2023-11-29 | VMware, Inc. | Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics |
US20220407915A1 (en) | 2021-06-18 | 2022-12-22 | Vmware, Inc. | Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics |
US12015536B2 (en) | 2021-06-18 | 2024-06-18 | VMware LLC | Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of types of resource elements in the public clouds |
US20230028872A1 (en) | 2021-07-22 | 2023-01-26 | Vmware, Inc. | Methods for smart bandwidth aggregation based dynamic overlay selection among preferred exits in sd-wan |
WO2023009159A1 (en) | 2021-07-24 | 2023-02-02 | Vmware, Inc. | Network management services in a point-of-presence |
US11375005B1 (en) | 2021-07-24 | 2022-06-28 | Vmware, Inc. | High availability solutions for a secure access service edge application |
US20230026865A1 (en) | 2021-07-24 | 2023-01-26 | Vmware, Inc. | Network management services in a virtual network |
US20230025586A1 (en) | 2021-07-24 | 2023-01-26 | Vmware, Inc. | Network management services in a secure access service edge application |
US20230026330A1 (en) | 2021-07-24 | 2023-01-26 | Vmware, Inc. | Network management services in a point-of-presence |
US11943146B2 (en) | 2021-10-01 | 2024-03-26 | VMware LLC | Traffic prioritization in SD-WAN |
US20230216804A1 (en) | 2022-01-04 | 2023-07-06 | Vmware, Inc. | Efficient mechanism for the transmission of multipath duplicate packets |
US20230216768A1 (en) | 2022-01-04 | 2023-07-06 | Vmware, Inc. | Enhanced path selection using online detection of paths overlaps |
US20230216801A1 (en) | 2022-01-04 | 2023-07-06 | Vmware, Inc. | Explicit congestion notification in a virtual environment |
-
2018
- 2018-05-04 US US15/972,091 patent/US10608844B2/en active Active
- 2018-05-04 US US15/972,102 patent/US11855805B2/en active Active
- 2018-05-04 US US15/972,104 patent/US10686625B2/en active Active
- 2018-05-04 US US15/972,086 patent/US11516049B2/en active Active
- 2018-05-04 US US15/972,098 patent/US10805114B2/en active Active
- 2018-05-04 US US15/972,090 patent/US10666460B2/en active Active
- 2018-05-04 US US15/972,100 patent/US10778466B2/en active Active
- 2018-05-04 US US15/972,093 patent/US10594516B2/en active Active
- 2018-05-04 US US15/972,083 patent/US11005684B2/en active Active
- 2018-05-04 US US15/972,088 patent/US11102032B2/en active Active
- 2018-05-04 US US15/972,095 patent/US10958479B2/en active Active
- 2018-05-04 US US15/972,103 patent/US10841131B2/en active Active
- 2018-10-01 CN CN201880058539.9A patent/CN111095876B/zh active Active
- 2018-10-01 JP JP2020505426A patent/JP6991646B2/ja active Active
- 2018-10-01 CA CA3200752A patent/CA3200752A1/en active Pending
- 2018-10-01 CN CN202210719316.0A patent/CN115051869A/zh active Pending
- 2018-10-01 KR KR1020227006008A patent/KR102535288B1/ko active IP Right Grant
- 2018-10-01 AU AU2018345729A patent/AU2018345729B2/en active Active
- 2018-10-01 EP EP18796521.5A patent/EP3662619B1/en active Active
- 2018-10-01 EP EP22166144.0A patent/EP4106280A1/en active Pending
- 2018-10-01 CA CA3074501A patent/CA3074501C/en active Active
- 2018-10-01 ES ES18796521T patent/ES2920281T3/es active Active
- 2018-10-01 KR KR1020237016778A patent/KR20230074626A/ko not_active Application Discontinuation
- 2018-10-01 BR BR112020006724-5A patent/BR112020006724A2/pt unknown
- 2018-10-01 WO PCT/US2018/053811 patent/WO2019070611A1/en unknown
- 2018-10-01 KR KR1020207012165A patent/KR102368063B1/ko active IP Right Grant
-
2021
- 2021-08-25 AU AU2021221592A patent/AU2021221592B2/en active Active
- 2021-12-06 JP JP2021197848A patent/JP7275237B2/ja active Active
-
2023
- 2023-05-02 JP JP2023076202A patent/JP2023109797A/ja active Pending
- 2023-07-13 AU AU2023204664A patent/AU2023204664A1/en active Pending
- 2023-10-02 US US18/375,925 patent/US20240039760A1/en active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102535288B1 (ko) | 복수의 공용 클라우드에 걸쳐 있는 가상 네트워크의 생성 | |
US11894949B2 (en) | Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SaaS provider | |
US10999165B2 (en) | Three tiers of SaaS providers for deploying compute and network infrastructure in the public cloud | |
US10959098B2 (en) | Dynamically specifying multiple public cloud edge nodes to connect to an external multi-computer node |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E902 | Notification of reason for refusal |