SD-WAN TURN Server Routing via BGP and SLA Metrics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Implementing a network with a full mesh topology becomes difficult when one or more endpoints are behind a network address translation (NAT) device, as NAT devices can break network functionality if both endpoints are behind them, and traditional solutions like TURN servers can become bottlenecks or single points of failure.
Innovation Solution
A method and system for routing connections in an SD-WAN that involves receiving TURN server performance metrics via BGP and network performance metrics from SLA PDUs, generating a score for TURN servers, selecting the best server based on these metrics, and routing connections accordingly, with automatic switching to alternative servers when the preferred one becomes unavailable.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a TURN server is used to enable full mesh topology when endpoints are behind NAT, then network connectivity is improved, but the TURN server becomes a bottleneck and single point of failure
Solution Approach 1:
The patent divides the TURN server functionality into multiple independent TURN servers distributed across the network. Instead of relying on a single TURN server, the system segments the relay function across multiple servers, allowing connections to be routed to different servers based on performance metrics. This eliminates the single point of failure while maintaining NAT traversal capability.
Solution Approach 2:
The patent implements dynamic selection of TURN servers based on real-time performance metrics. The system continuously monitors TURN server performance and dynamically routes connections to the most suitable server, rather than using a static or fixed TURN server configuration. This dynamic approach optimizes network performance and eliminates dependency on a specific server.
2Reliability
If multiple TURN servers are deployed to eliminate single point of failure, then reliability is improved, but network performance monitoring and selection complexity increases
Solution Approach 1:
The patent implements a feedback mechanism where TURN servers send performance metrics about their own operation and network conditions back to the routing system. This feedback loop enables automatic monitoring and selection of optimal TURN servers based on real-time performance data, reducing the need for complex manual monitoring systems.
Solution Approach 2:
The TURN servers themselves provide the performance monitoring capability by including metrics about their own operation in the routing information. This self-service approach allows the servers to self-report their status and performance, eliminating the need for separate complex monitoring infrastructure.
3Measurement precision
If TURN server performance metrics are collected via BGP and SLA PDUs, then routing accuracy is improved, but protocol complexity and overhead increases
Solution Approach 1:
The patent leverages existing universal protocols (BGP for routing information exchange and SLA PDUs for performance monitoring) to achieve precise metrics collection. By using these established protocols for multiple purposes, the system avoids creating new complex protocols while maintaining accurate performance measurement capabilities.
Data Source
AI summary
In accordance with an embodiment of the invention, a method for routing connections in an SD-WAN is disclosed. The method involves receiving TURN server performance metrics via Border Gateway Protocol (BGP) and receiving network performance metrics from calculations made using Service Level Agreement (SLA) protocol data units (PDUs) for TURN servers in an SD-WAN, generating a score for at least one TURN server in the SD-WAN based on the received TURN server performance metrics and received network performance metrics for the at least one TURN server, selecting a TURN server based on the score generated for the at least one TURN server, and routing a connection over the selected TURN server.


