This guest blog post is by David Heidgerken, Product Engineer, Internap. We thank Internap for being a sponsor.
Much of today’s core network connectivity relies on protocols that were developed decades ago. These protocols don’t consider aspects such as performance and cost of utilization, but such considerations are important to businesses that provide network-based services.
Border Gateway Protocol (BGP) determines best path based on a number of factors; however, shortest Autonomous System (AS) Path count is usually the initial decision. Yet AS hop count doesn’t consider other factors such as oversubscribed links between one AS and another, which can cause packet loss and higher latency.
Other factors such as local pref and Multi Exit Discriminators are configured values that are not dynamic, and thus can’t be adjusted when performance across the Internet degrades.
Route Optimization was the first approach developed to consider performance across multiple providers. SD-WAN is a more recent approach to leveraging performance across multiple paths. This post explores both solutions.
SD-WAN is newer technology that gives network administrators more flexibility for routing traffic across the AS, factoring in multiple links between various locations. Numerous vendors offer SD-WAN solutions, many of which optimize WAN traffic across MPLS and public Internet connectivity across cable and DSL providers that may only provide little more than a default gateway.
SD-WAN products identify traffic based on applications or ports, as well as cost of utilization of the WAN links of all locations. SD-WAN solutions also promise easy configuration due to a Master Controller that provides new devices in the network with the essential information for decision-making processes at the local level. SD-WANs also use VPNs between devices to monitor traffic performance between them.
Each end point is a switch-like device that makes forwarding decisions based on link availability and forwarding tables, as well as application performance and path preferences.
When the SD-WAN device wishes to change a path, it makes the change on the data plane and can enact those changes instantaneously. While each individual device is making changes on the outbound direction, with each location being controlled by an SD-WAN device, traffic can be optimized in both directions.
Because an SD-WAN device is making changes in the data plane, it must be placed in line with the traffic it is optimizing. In the event of a failure, it has a high probability of affecting critical traffic.
Use cases are usually constrained to optimizing traffic between various locations of a single ASN; for instance, between branch offices of a large enterprise and its corporate data center. Because SD-WAN solutions do not require knowledge of the existing network infrastructure or routing protocols, many vendors also offer virtualized packages that can be deployed in multiple cloud environments to optimize connections between the enterprise and its cloud-hosted applications.
Route optimization was originally developed in the late 1990’s. At the time, most Internet connectivity relied on a handful of public peering points, and only a few providers were capable of offering Internet connectivity for enterprises. The public peering points and connections between providers were notorious for oversubscription, leading to higher latency and packet loss.
Early route optimization providers developed approaches that consisted of the same working parts: performance probing, cost mitigation, and BGP route manipulation. This approach required that the hosting network be BGP multi-homed.
The performance component measures latency and packet loss through active probing of destination networks as identified by the traffic in the network. Some solutions allow traffic identification based on a priority policy of applications or port numbers, but ultimately the decisions are enacted through prefix manipulation within BGP.
Each provider requires a small bit of policy-based routing based on GRE tunnels or unique source IP addresses to push probe traffic onto the intended provider. An algorithm is then used to determine the best-performing path for each destination network while considering the cost and utilization of each provider.
For each destination network being optimized, a BGP update message is sent with the next hop of the provider that should be used to send that traffic across.
Because route optimization is a single point solution manipulating BGP route tables, all optimizations are in an outbound direction. However, solutions utilizing multiple route optimizers in different locations can provide bi-directional optimizations.
Route optimization solutions are not inline, so in cases of device failure, BGP routing falls back to natural BGP with little impact on traffic.
Use cases that are primarily focused on heavy outbound utilization, such as gaming and video streaming, benefit the most from route optimization. However, any public-facing data center service or application, such as those focused on financial transactions, can also benefit from this approach.
While both technologies appear to achieve the same benefits — network path selection based on performance to destinations on the network, and mitigating cost of utilization — the environmental conditions and use cases vary considerably.
SD-WAN is inline, enacting changes on the data plane. While this enables much faster changes in the path of any particular flow or connection, it does expose the network to potential single points of failure.
Route optimization solutions are not inline, enacting changes through the BGP route table. While this approach is slower in the detection of performance-degrading issues and initiating path changes, it is still considerably faster than a team of network engineers troubleshooting performance issues and making manual changes to the routing table.
SD-WAN solutions are point-to-point, allowing for bi-directional optimizations to occur, but each point must be managed within a single AS or within a cloud environment with a specific IP destination managed by the same organization.
Route optimization targets external destinations of the local AS, providing optimizations to a wide range of dynamic destinations. However, these optimizations are only in an outbound direction and can do little to optimize inbound traffic performance.