Identifier-Based Virtual Networking for Overlay Network Overhead Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualized computing systems, the use of IP procedures to obtain address information for destination virtual machines adds unwanted overhead to communications due to network broadcasting, particularly when interconnecting virtual machines across hosts in logical overlay networks.
Innovation Solution
Implementing a method that generates and uses arbitrarily assigned IP and MAC addresses for destination virtual machines, which are mapped to unique identifiers, allowing virtual switches to replace original addresses in packets with unique identifiers for transmission, thereby reducing the need for IP procedures and minimizing network overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If IP procedures (DNS, DHCP, ARP, NDP) are used to obtain address information for destination virtual machines, then address resolution can be achieved, but network overhead increases due to broadcast-based protocols
Solution Approach 1:
The system performs address resolution in advance by maintaining forwarding tables that map virtual machine identifiers to overlay network addresses. When a virtual machine needs to communicate with another, the address information is already resolved and stored in the forwarding table, eliminating the need for broadcast-based ARP/NDP queries at the moment of communication.
Solution Approach 2:
The patent introduces a control plane as an intermediary that maintains and manages forwarding tables. Instead of virtual machines directly performing IP procedures to resolve addresses, the control plane pre-resolves addresses and stores mappings in forwarding tables, which virtual switches then use for efficient packet forwarding without requiring broadcast protocols.
2Loss of information
If broadcast-based address resolution protocols are used, then destination addresses can be obtained, but communication efficiency decreases due to network broadcasting overhead
Solution Approach 1:
Address information is resolved and stored in forwarding tables before actual communication occurs. The control plane maintains these tables with mappings between virtual machine identifiers and overlay network addresses, so when packets need to be forwarded, the destination address is already known from the pre-populated table rather than requiring real-time broadcast resolution.
3Loss of energy
If unique identifiers are mapped to arbitrarily assigned addresses and used in packet forwarding, then network overhead is reduced, but device complexity increases due to address mapping and replacement mechanisms
Solution Approach 1:
The control plane acts as an intermediary that manages the complexity of address mapping. It maintains forwarding tables that map virtual machine identifiers to overlay network addresses and distributes these mappings to virtual switches. This centralizes the complexity management, allowing individual virtual switches to perform simple lookups and replacements based on pre-computed mappings rather than implementing complex mapping logic themselves.
Solution Approach 2:
The system creates and maintains forwarding tables that are copies of the address mapping information. Instead of virtual machines or virtual switches performing complex real-time address resolution, they use pre-computed copies of address mappings stored in forwarding tables, simplifying the forwarding operation to table lookup and address replacement.
Data Source
AI summary
A computer system provides a method for processing network packets using unique identifiers associated with source and destination virtual machines (VMs). The method includes receiving, from a first VM, a request for address information associated with a second VM, generating and returning one or more arbitrarily assigned addresses for the second VM, mapping a unique identifier of the second VM to the one or more arbitrarily assigned addresses, receiving a packet from the first VM including one or more addresses associated with the first VM and the one or more arbitrarily assigned addresses associated with the second VM, replacing the addresses associated with the first VM with a unique identifier of the first VM and the one or more arbitrarily assigned addresses associated with the second VM with the unique identifier of the second VM, and transmitting the packet to a host machine associated with the second VM.


