How I get my Youtube & Facebook contents -Google and Akamai CDN

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.

google-cache
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

nslookup r5.sn-uigxx03-auoe.googlevideo.com

Name: r5.sn-uigxx03-auoe.googlevideo.com

Address: 188.29.166.16  -> IP address of the Google cluster in service provider network
nslookup -q=txt o-o.myaddr.l.google.com
Non-authoritative answer:

o-o.myaddr.l.google.com text =

“121.242.190.214”  ->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
http://redirector.c.youtube.com/report_mapping

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.

Akamai traffic-Sumit Menaria
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.

Advertisements

2 thoughts on “How I get my Youtube & Facebook contents -Google and Akamai CDN

  1. Hi,

    my upstream provider have ggc in their network, but when i browse youtube the link/ip in page source show ip destined to ix/international link. Btw i have two link to my upstream, 2 peering, split beetween ix and iix. one for ix/internasional and iix/domestic. I wonder why youtube gave my network refered ip to internasional not the ggc in upstream provider which advertised in iix.

    Thx

    Like

    1. Hi,
      There are a few things to check here
      –Which URL resolves to the international IP address (Google owned IP) .Normal youtube.com and gmail.com can resolve to the actual Google IP address and does not have the GGC information in that.
      More important is that what the URL in the requests for the cacheable contents like videos and images etc .Follow the process mentioned using the Chrome developer options and check the IPs to which the URLs mentioned .

      Other thing could be that the ISP is not advertising your DNS resolver address to GGC via BGP.This you need to check if none of the URLs which you see in the developer tools map to the GGC cluster IP address (http://redirector.c.youtube.com/report_mapping))

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s