Google omreži Slovenijo
Na stricu Googlu je nekaj pasjega. Več kot očitno rad markira ta svet. Najprej ga ves čas indeksira po spletu, vsega je že poslikal s satelitov, nato ga je želel vsega prevoziti in v vseh smereh posneti (pa mu je to preprečila Nataša Pirc), bolj na skrivaj pa že nekaj let plete svoje podatkovno omrežje in ob njem seje nekakšne "relejne" postaje. Govorimo o zaenkrat še preizkusnem beta projektu Google Global Caching.
Morda ste zadnje mesece opazili, da vam nekatere Googlove spletne storitve, denimo YouTube, delujejo hitreje, z manj zatikanja. Podjetje je namreč že pred leti sklenilo svet omrežiti z nekakšnim distribuiranim omrežjem posredniških (proxy) strežnikov, ki bi razbremenjevali promet po medcelinskih povezavah in določene vsebine ponujali kar lokalno. Take, po katerih je veliko poizvedb - denimo novi Britneyjin videospot na YouTubu. Resnica je, da Google tako opremo povsod po svetu namešča vsem večjim ponudnikom spleta brezplačno, če seveda na to pristanejo. Google global caching (GGC) v tehnološkem smislu seveda ni nič novega, tako pohitritev spletnega prometa so ponujali že mnogi, denimo Akamai in še druga podjetja. Novo je to, da tako omrežje nekdo gradi za svoje potrebe.
Skrivnostni strežnik Google Global Cache nam je uspelo tudi fotografirati. Kje, ne povemo. Gre pa očitno za Dellovo napravo.
Nikoli dovolj pasovne širine
Google je v spletnem smislu zares velikan. Zaradi gigantskega spletnega prometa si je moral postopoma omisliti svoje hrbtenično omrežje in po svetu posejane podatkovne centre in je tako postal nekakšen veliki spletni operater, ki pa vsega tega ne oddaja naročnikom za denar, temveč po njem prenaša svoje vsebine. Teh je še zlasti veliko po letu 2007, ko so si pripojili YouTube. Če si ogledamo grafikon iz zadnje, sicer že skoraj poldrugo leto stare raziskave NANOGa (North American Network Operators Group), vidimo, kako skokovito se povečuje količina podatkov, ki se nanaša na Google. S pičlega odstotka leta 2007 se je že leta 2009 povečal na 6-10 % vsega spletnega prometa. Ker v družbi mislijo tudi kako leto naprej, jim je že kmalu postalo jasno, da so slabe omrežne povezave njihova največja cokla, če želijo tudi v prihodnosti bogateti na račun spletnih vsebin. Lani so tako napovedali vzpostavitev vzorčne optične (FTTH) zanke za 500.000 priključkov v ZDA, po kateri bodo hitrosti gigabit na sekundo. Vse to naj bi postavili brezplačno, menda zato, da bi lahko ameriškemu kongresu demonstrirali, kaj vse še omogoča splet, in bi ta namenil več sredstev za prenovo širokopasovnih omrežij po ZDA. Drži, ta so ponekod zares obupna.
Odstotek globalnega prometa, ki ga zaseda Google in ločeno YouTube. Slednjemu se odstotek zmanjšuje prav zaradi omrežja GGC. (Vir: NANOG)
Google Global Cache v praksi
Alternativa in dodatek k vedno hitrejšim povezavam je, kot rečeno, vzpostavitev posredniških (proxy) oz. predpomnilnih (cache) strežnikov - Google Global Cache (GGC). Namen GGC je povečati odzivnost spleta (zmanjšati latenco), omejiti porabo pasovne širine splošnih povezav in uporabnikom zagotoviti boljšo izkušnjo. Danes tako že večina Googlovih storitev (več kot 60 %) teče neposredno med Googlom in uporabnikom, brez uporabe posredniških omrežij. Najpomembnejši razlog za vzpostavitev omrežja GGC je seveda YouTube, s čimer se strinjajo tudi prav vsi slovenski ponudniki interneta, s katerimi smo govorili.
Da, ko nam je prišlo na uho, da so se GGC strežniki prek poletja nameščali v Sloveniji in da so Googlove "škatle" prejeli vsi operaterji razen enega, nas je zadeva začela zanimati. Poklicali smo naše ponudnike in sprva trčili ob zid molka. Google namreč pred dobavo škatel zahteva podpis t. i. pogodbe NDA oziroma non-disclosure agreementa, zaradi katerega novinarjem načeloma ne bi smeli povedati niti, da zadeva je na voljo ("da, res je, vendar tega niste izvedeli od nas!"). No, pa vendar - spletni ponudnik, ki je GGC zavrnil, je seveda Siol. Pri njih menda že imajo odlično neposredno povezavo z Googlovimi strežniki prek mednarodnega "križišča" DE-CIX.
Drugi ponudniki so na svoj naslov tik pred poletjem dobili škatlo s strežnikom ali več njih. Dellovi strežniki, uspelo nam je dobiti njihovo fotografijo, se namestijo v običajne strežniške regale in se po 4 ali 6 povezujejo v gruče. Vsak od teh strežnikov nato tudi poskrbi za varnostne kopije preostalih v gruči. No, v resnici nas je še najbolj zanimalo, ali so k spletnim ponudnikom prišli integratorji v pajacih z napisom Google, oziroma koga si je gigant izbral za podizvajalca pri nas? Poparjeni smo bili, ko smo izvedeli, da je namestitev povsem trivialno opravilo in da jo je vsak operater opravil sam.
Vsem operaterjem smo zastavili tudi vprašanje, kakšne spremembe so zaznali v mednarodnem prometu, po vključitvi Googlovih cachejev, a nismo prejeli odgovora. Ponekod zaradi bojazni pred sopogodbenikom iz Mountain Viewa, drugod pa zaradi poletja, ko je promet zaradi počitnic povsem deformiran in podatki neuporabni. Googlovi podatki kažejo, da so prihranki okoli 20 % in da se namestitev brez izjeme izplača vsem ponudnikom, ki imajo veliko prometa z Googlom. Mirno lahko rečemo, da drugačnih sploh ni.
V praksi se izkaže, da poteka predvajanje tako "lokaliziranih" video posnetkov hitreje in brez zatikanja. To ne čudi, saj ping do lokalnega internetnega ponudnika traja 3 ms, do "pravega" Googlovega strežnika pa 33 ms. Mimogrede, če imate za DNS strežnik vpisan Googlov znani 8.8.8.8, bo zdaj čas, da ga opustite, saj z njim nismo deležni pohitritve Google Global Cache.
Bodo pa počasi o takem omrežju morali začenjati razmišljati tudi drugi, zlasti ponudniki storitev v oblaku. Po naših podatkih ne bo dolgo, ko bosta na vrata operaterjev začela trkati tudi Microsoft in Amazon.
Kako deluje
Celoten sistem GGC deluje le na preusmeritvah DNS. Ko v Youtubu kliknemo povezavo do filma, naš brskalnik zahteva vsebino http, ki se glasi nekako takole:
http://www.youtube.com/watch?v=cCpoitjuJs0
Google najprej preveri, ali je uporabnik, ki je zahteval ta video posnetek, povezan prek internetnega ponudnika, ki ima infrastrukturo GGC, in nato še, ali je ta posnetek tudi dejansko že v posredniških strežnikih. Če je, potem prenos videa steče neposredno iz centra lokalnega ponudnika, če ne, pa se bo vsebina začela pretakati iz enega od Googlovih podatkovnih centrov in se nato na GCC shranila za morebitne kasnejše poizvedbe. V resnici prenos vedno teče iz strežnika cache.google.com, le da je ta v primeru GCC pač pri lokalnem internetnem ponudniku, sicer pa kje dlje, v katerem izmed svetovnih Googlovih centrov.
Da bi ugotovili, s kom komunicira naš računalnik, ko kliknemo predvajanje videa z youtube.com, smo uporabili program Wireshark.
Najpomembnejši del vsega je torej razvrščanje zahtevkov uporabnikov glede na njihovo zemljepisno lego in vrsto poizvedbe, in nato njihovo preusmerjanje na najbližji GGC strežnik. Google za tako usklajevanje DNSja z vsakim uporabnikom uporablja tehniko IP-2 GEO.
Ko smo imeli za DNS strežnik v računalniku vpisan splošni Googlov naslov 8.8.8.8, so se filmi z Youtuba do nas pretakali pod Atlantikom. Ko smo vpisali DNS strežnik našega internetnega ponudnika, AMISa, komunikacija ni preskočila slovenskih meja.