How does network routing usually work on the Internet?
The Internet is very fast relative to other modes of communication, but information does not instantly arrive where it is requested. Communication between two machines (usually, a client device like a smartphone or laptop, and a web server) via the Internet has to travel through a variety of interconnected large networks, and each network is known as an autonomous system (AS). Data passes from AS to AS until it arrives at its destination. Each AS is responsible for certain IP addresses.
How does BGP help route data across networks?
BGP, or Border Gateway Protocol, is what makes all this possible. BGP is the protocol that selects the shortest path from one IP address to another when ASes connect at Internet Exchange Points (IXPs).
BGP is like a driver who looks at a map and selects the geographically shortest route to a destination. Without BGP, packets could blindly travel through ASes around the world in order to reach an IP address that was mere miles away; with BGP, packets take the most direct route.
How does BGP decide on routes?
BGP always chooses the shortest path, in order for network traffic to reach its destination with the fewest network hops possible. BGP routers maintain records of the shortest routes; these records are known as 'routing tables.' The routing tables are generated based on which IP addresses each AS claims they own. BGP routing tables will change in response to ASes advertising new or different IP addresses.
Unlike when a driver looks at a map, the Internet is changing all the time, with networks coming on and offline, ASes taking on new IP addresses, and so on. BGP keeps an updated list of all these changes based on the information ASes advertise across the Internet.
When ASes broadcast inaccurate routing information, it can redirect network traffic to the wrong places, potentially impacting users around the world. For instance, in 2018, Google experienced an outage when an ISP in Nigeria accidentally broadcast incorrect routing information across the web. (See our blog post 'How a Nigerian ISP Accidentally Knocked Google Offline'.)
Overall, BGP is effective enough for the Internet to function at a scale never imagined by its original creators. However, it can't detect or adjust to real-time network conditions. It makes routing decisions only based on what the shortest route is. As anyone who has gotten stuck in traffic on a major freeway knows, the shortest route is not necessarily the fastest route.
What is smart routing?
Smart routing is faster than standard routing using BGP. It's like using Google Maps or Waze instead of just measuring distances on a printed map. Drivers may be able to figure out the shortest route with a map, but to figure out the fastest route at that moment, they need real-time traffic data.
Just as a commute can be made faster by driving the long way around to avoid heavy traffic, smart routing chooses less congested routes to avoid network congestion. This optimizes the speed at which data is able to traverse the web and reach its destination.
Smart routing is not an alternative routing system to BGP; rather, it runs on top of BGP to optimize traffic routes.
What is Cloudflare Argo?
Argo is a smart routing service that selects routes based on network congestion and reliability. Because Internet requests for ~10% of the Fortune 1,000 run through Cloudflare’s network, Argo has enough of a sample size to be able to make informed decisions on which routes are most and least trafficked. It also avoids dropped packets by cutting out unreliable network connections.