Logical Router Configuration for Network Virtualization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In network virtualization environments, communication between virtual machines (VMs) on different IP subnets leads to unnecessary network traffic and performance degradation due to the requirement for packets to traverse through a shared L3 router, even if the destination VM is on the same host machine, resulting in higher latency and lower throughput.
Innovation Solution
A distributed router architecture where each host machine operates a local instance of a logical router (LRE) as a managed physical routing element (MPRE) for L3 packet forwarding, allowing VMs on the same host to communicate locally without going through the physical network, and enabling L3 routing between VMs on different hosts using shared logical interfaces and MAC addresses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a shared L3 router is used for inter-subnet communication, then network connectivity between different subnets is achieved, but network latency increases and throughput decreases due to traffic traversing through the physical network
Solution Approach 1:
The shared L3 router is segmented into multiple distributed LRE instances deployed across different host machines. Each LRE instance handles routing for local VMs, eliminating the need for traffic to traverse the physical network for intra-host communications. This segmentation transforms a centralized bottleneck into distributed local processing points.
Solution Approach 2:
The LRE (Logical Routing Element) acts as an intermediary between VMs on different subnets. Instead of traffic going through the external shared router, the LRE instance on each host intercepts and handles routing decisions locally, mediating communication between VMs without requiring physical network traversal.
2Reliability
If a shared L3 router is used for inter-subnet communication, then network connectivity between different subnets is achieved, but network throughput decreases due to unnecessary traffic traversal
Solution Approach 1:
The routing function is segmented from the shared router and distributed to individual LRE instances on each host. This allows throughput-optimizing local processing for intra-host traffic while maintaining connectivity functionality, effectively parallelizing the routing capacity across multiple hosts.
Solution Approach 2:
Each host machine is given local routing capability through its LRE instance, enabling locally-optimal traffic handling. VMs on the same host can communicate with full throughput without external router involvement, while still maintaining connectivity to remote subnets through the distributed routing infrastructure.
3Reliability
If VMs on the same host communicate through the physical network, then inter-subnet routing is achieved, but network efficiency decreases due to unnecessary external traversal
Solution Approach 1:
Each host machine is empowered to handle its own routing needs through the LRE instance. The system serves itself by making routing decisions locally without requiring external router intervention for intra-host traffic, eliminating unnecessary physical network traversal and improving overall network efficiency.
Data Source
AI summary
Some embodiments provide a method of operating several logical networks over a network virtualization infrastructure. The method defines a managed physical switching element (MPSE) that includes several ports for forwarding packets to and from a plurality of virtual machines. Each port is associated with a unique media access control (MAC) address. The method defines several managed physical routing elements (MPREs) for the several different logical networks. Each MPRE is for receiving data packets from a same port of the MPSE. Each MPRE is defined for a different logical network and for routing data packets between different segments of the logical network. The method provides the defined MPSE and the defined plurality of MPREs to a plurality of host machines as configuration data.


