Logical Router Route Server for External Network Communication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Implementing effective dynamic routing protocols for logical routers in datacenters to facilitate communication between user-defined data compute nodes on different subnets and external networks is challenging, as existing methods lack efficient mechanisms for route exchange with external physical networks.
Innovation Solution
A method is provided for implementing dynamic routing protocols like BGP and OSPF for logical routers with multiple interfaces, using centralized routing components on gateway host machines, where each interface connects to an external subnet and is physically connected to an external physical router, allowing for distributed and centralized routing operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If dynamic routing protocols are implemented for logical routers with multiple interfaces in datacenters, then network communication between subnets and external networks is improved, but system complexity increases due to centralized routing components and route distribution mechanisms
Solution Approach 1:
The routing system is segmented into centralized routing components distributed across multiple gateway host machines. Each gateway host machine operates independently with its own routing protocol application, creating modular units that can be managed and scaled separately. This segmentation reduces overall system complexity by breaking down the monolithic routing function into manageable distributed components.
Solution Approach 2:
A route server function is introduced as an intermediary component that mediates route exchange between logical routers and external physical routers. The route server receives routing protocol messages from external networks and distributes them to appropriate logical routers, simplifying the routing implementation by handling the complexity of route distribution centrally while allowing logical routers to focus on their primary forwarding function.
2Reliability
If centralized routing components are distributed across multiple gateway host machines, then network resilience is improved through redundancy, but coordination overhead and communication latency increase
Solution Approach 1:
Routing protocol applications are pre-configured on multiple gateway host machines with standby capability. Route information is proactively distributed and cached across these gateway hosts before failures occur. When a failure is detected, the pre-positioned routing information allows for immediate failover without requiring time-consuming route recalculation or redistribution, thus maintaining resilience while minimizing coordination delays.
3Reliability
If routing protocol applications are implemented on multiple gateway host machines, then fault tolerance is improved through active-standby configurations, but resource consumption and system overhead increase
Solution Approach 1:
Instead of implementing full routing protocol functionality on all gateway host machines, the system uses a partial action approach where only one gateway host runs the active routing protocol application while others operate in standby mode with minimal resource consumption. The standby hosts maintain only essential routing information and can quickly activate if needed, providing fault tolerance without the full resource overhead of running complete routing protocol stacks on every host.
Data Source
AI summary
Some embodiments provide a method for a network controller operating on a host machine that hosts a particular one of multiple centralized routing components for a logical router. The method receives a routing table from a routing protocol application operating on the host machine. Each of the other centralized routing components operates on a different host machine and implements a different interface of the logical router that connects to at least one physical router external to the logical network. The routing protocol application operates as a router server for all of the centralized routing components. For each of the other centralized routing components, the method identifies a set of routes in the routing table to distribute to the centralized routing component. The method sends the identified routes for each centralized routing component to the centralized routing component.


