If we see the total internet traffic breakup for any service provider the % of traffic from Google is around 30% ,15-20% of the traffic is from Facebook and sites such as download.microsoft.com etc. The OTT players such as Google in order to enhance user experience have tried to get as close to the user as possible by direct peering with the regional service providers and provide contents using CDN (Content delivery network) providers. Google is having its own CDN network branded as a service called Google Global Cache (GGC) and Other big players such as Facebook and Microsoft have bought CDN services from Akamai,Limelight etc. Typically any service provider will be having around 40% traffic being served from Google and Akamai combined. So it would be interesting to know how these services work.
Google Global cache
To begin with, a service provider installs the Google cache servers, typically 6-8 servers at a pop location bandwidth in multiples of 1G or 10G .It establishes BGP peering with one of the the Google cache server’s (ideally the 16th IP address from the subnet provided).The ISP router does not receive any prefix but advertises its end user and DNS resolver IP pool to the Google cache cluster. Thats it ,advertise the Google cache’s subnet into the internet and we are good to go.
Now once the user tries to access websites such as youtube.com ,the destination url s will be resolved into the normal Google network IP address ,now for the further cacheable contents the DNS resolver sends the requests to the Google network ,this Google network on seeing the resolver IP address as the one advertised in the BGP peering with GGC ,understands that there is a Google cache server in the service provider’s network and thus redirects the resolver for the requested cachable content to the local google cache server.This can be seen the developer tools in Google chrome as in which Cache server is being used for playing the said video.
A GGC may or may not serve the traffic to the user ,in case his IP pool is not advertised in the BGP session .In this case he is redirected to other Google cache servers.Typically redirection to the first Google cache takes aroung 3 seconds and subsequent redirections take 200-300ms based upon network behaviour.For the video in the right
Address: 220.127.116.11 -> IP address of the Google cluster in service provider network
nslookup -q=txt o-o.myaddr.l.google.com
o-o.myaddr.l.google.com text =
“18.104.22.168” ->Check which DNS resolver is seen by Google for the user
We can also check which Google cache server is being mapped to the end user’s IP pool by following URL
Akamai CDN network
Akamai servers the traffic for content providers such as facebook ,Microsoft discoverchannel,espncricinfo etc. It works on a fairly simple mechanism .The service provider installs the cache servers in his network and advertises the subnet assigned to the cache servers to the internet cloud.Now here the service providers also sets a BGP session with Akamai ,but this time it is with the Akamai network IP address(Akamai BGP collectors over EBGP multihop).In the BGP session the service provider advertises the DNS resolver prefixes instead of the user IP pool.
We a user requests for facebook.com the cacheable content are directed towards the URL such as fbstatic-a.akamaihd.net ,now the service providers resolvers requests the authoritative Akamai DNS via the route servers for the A record(IP address) corresponding to URL.The Authoritative DNS on seeing the source DNS IP address ,checks that there is already an Akamai cluster present in the service provider’s network ,so in this case it resolves the URL to the Cluster’s IP address and the request in served. In case the content in not present in the cache servers ,the content is fetched from the neareast cluster in Akamai network .Also in case there is no Akamai cache server present in the service provider’s network ,the authoritative Akamai DNS resolves the URL to the nearest Akamai cluster.
Below is the image from Wikipedia explaining the flow.
Interesting to note is that since around 50% of the traffic of the service provider still can be cachable.The service provider can purchase caching solutions from Bluecoat,Allot,PeeApp etc to leverage this content and save on his annual CAPEX spent on purchasing bandwidth from the upstream service providers.