Meet the brains behind the world’s largest federated CDN network. Every request made to retrieve a file hosted on the CDN.net network goes through our routing engine, making it responsible for millions of decisions each second. The routing engine uses several different pieces of information to provide your visitor’s with the best browsing experience.
The old way – geographic based routing.
In the past, most CDNs (including CDN.net) used the geographic distance to determine the CDN PoP nearest your visitor. This wasn’t the most efficient way to make the routing decision. There’s several reasons why the nearest location may not be the fastest, such as the speed of the server’s connection, peering agreements, or congestion. In a real world example, a visitor in Eastern Russia may be closer to our PoP in Tokyo, Japan, however due to inter-connectivity agreements, your visitor may be better off accessing the content using one of our western Russia or Eastern European PoPs.
Another example is the Netflix-Comcast paid peering agreement. In the past Netflix was passing traffic to Comcast under settlement-free peering. The amount of traffic Netflix was passing to Comcast grew significantly and that peering point became overloaded, causing slower access speeds and as a result, higher ping times. Even though a PoP may have been closest to the visitor, with the peering point along the way being overloaded, it may not be the best PoP for your visitors.
No speed limits on this network.
There is a better way to make routing decisions. In the internet world, one way to determine the network speed is to use the ping time, using ICMP. Ping times are measured in milliseconds (ms) – the lower the ms, the faster the network.
In 2012 we developed a new routing engine using ping as the major metric in the routing decisions made. This provides much more accurate routing compared to the previous distance-based decision making process.
How do we obtain the ping time? When a visitor makes a request to a CDN.net hosted asset, the CDN.net DNS network obtains the IP address or the recursive DNS IP address of the visitor. Our traffic coordinator will then use its intelligence to locate the PoP with the lowest ping time to serve your visitor. If there are multiple caching servers with less than a 10% variance in ping time, we’ll load balance the requests amongst a maximum of 5 different PoPs.
Good behavior on the internet.
We want to be friends with everyone — especially the internet service providers (ISPs) of the world. As a result there is one instance where the routing decision is made based off the country rather than the ping time. We call this same country routing.
Bandwidth prices can vary greatly between countries; thus, your visitor’s local ISP would always wish for a request to utilize local traffic rather than international traffic, as it may result in increased costs for them. To be a good player on the internet, we always attempt to keep routing within the same country.
Since we developed the “ping routing” engine, it’s undergone multiple evolutions, improving the routing algorithm. We’ll continue to improve upon the routing engine, while adding density to our CDN network. We won’t ever stop being obsessed with improving the speed of the internet.