Mòdul 5
Serveis de xarxa amb GNU/Linux
Exercici 123

 
Descripció del servei accelerador web

Introducció

L'ample de banda de la connexió a Internet d'un centre educatiu s'omple bàsicament per les consultes a la Web i la descàrrega d'aplicacions, essent força menor el trànsit resultant del moviment de missatges de correu i altres aplicacions.

Aquesta particularitat es repeteix a la majoria de les xarxes que formen Internet, "embrutant" ràpidament una bona part de l'ample de banda disponible només per l'accés a la Web. Per 'aturar' aquest fenomen usuaris de la mateixa Internet van fer sorgir les aplicacions tipus proxy-cache, anunciant un augment de la velocitat en la navegació acompanyat d'un estalvi de la connexió exterior (sembla del tot impossible !!!).

Aquestes aplicacions es basen en els principis de cache (presents en molts elements tecnològics) o sigui, un magatzem secundari, en aquest cas situat entre Internet i els usuaris, gestionat de forma automàtica per servir el contingut de les peticions http i ftp mogut des dels navegadors de la manera més ràpida possible.

Així doncs es promou des d'Internet l'ús d'aquests magatzems, que normalment s'estructuren en jerarquies (per exemple un nivell nacional que serveix nodes provincials, aquests a altres regionals, etc.) de forma que el trànsit a Internet s'optimitzi al màxim i els usuaris gaudeixin d'una connexió a la Web més fluida.

 

Primer nivell de cache: el navegador de l'estació de treball

El nivell més bàsic de cache es troba en l'estació de treball de l'internauta. Aquesta cache és molt recomanable i la incorporen tots els programes navegadors Web.

El navegador reserva un espai de memòria i disc per a les pàgines i així pot presentar més ràpidament les més sol·licitades, llegint-les directament de la RAM o del disc dur de l'ordinador.

D'una forma força 'rústica' permet controlar el refresc de les pàgines fent una comparació de les emmagatzemades localment amb les originals que es troben a l'exterior.

Normalment només hi ha tres opcions:

 "Mai" - No compara mai les pàgines, pot presentar informació 'caducada', la navegació és directa del disc dur i molt ràpida a partir de la primera descàrrega inicial.

"Sempre" - Sempre fa una comparació amb l'exterior per evitar rebre informació 'caducada'. La velocitat de la cache no s'aprofita gaire, doncs sempre cal esperar una resposta inicial de l'exterior per verificar la pàgina.

"Un cop per sessió" - Quan accedim a les pàgines per primera vegada fa una comparació amb l'exterior. Si en la mateixa sessió hi tornem a accedir no es farà cap més comparació. La velocitat és força bona i s'aprofita molt la cache.

El comportament del Navegador pot canviar 'radicalment' si triem una opció o una altra, normalment per defecte tindrem activada l'opció "Un cop per sessió".

 
 

Segon nivell de cache: dins la Xarxa Local del centre

El segon nivell de cache ja cal implementar-lo utilitzant un equip dedicat i un programari específic.

Es tracta d'aconseguir que el conjunt d'ordinadors de tota una xarxa local, quan volen accedir a la Web, ho facin senvint-se d'una sola màquina que inclou un nou magatzem cache en la seva memòria i disc dur.

Aquesta cache, que podem anomenar 'de xarxa', millora la versió dels navegadors en molts punts:

- Treballa amb uns algoritmes molt elaborats per decidir de forma automàtica si cal refrescar o no algun dels objectes que té emmagatzemats.

- Manté una cache de la resolució de noms (DNS), evitant noves peticions per pàgines ja visitades.

- Permet crear jerarquies amb les caches d'altres xarxes per aprofitar al màxim els objectes emmagatzemats i actualitzats més propers.

- Els objectes 'aconseguits' per la cache des d'un dels navegadors de la xarxa, queden a disposició de tots els altres, incrementant el nombre d'encerts si tots fan navegació guiada per les mateixes URL.

L'equip amb el que aconseguirem aquest servei per a la nostra xarxa serà el servidor Linux i el programari a utilitzar, l'aplicació Squid.

 

Tercer nivell i superiors: jerarquia de caches

Les aplicacions de cache en xarxa demostren tota la seva potència quan formen part d'una jerarquia.

Un proxy A pot relacionar-se amb un altre B fent-li de:

Pare (parent) - Normalment el proxy Pare el trobem 'per sobre' de la nostra xarxa local i l'utilitzem per aprofitar al màxim la seva connexió de xarxa i el seu magatzem.

El proxy B demanarà tots els objectes al seu pare i en el cas que no els tingui emmagatzemats haurà d'anar-los a buscar i lliurar-los al seu 'fill'.

Aquesta relació permet aprofitar des d'un sol punt diferents línies d'accés a Internet, només enllaçant el nostre proxy fill amb un pare col·locat a cadascuna d'aquestes línies.

Germà (sibling) - Aquesta relació permet compartir el contigut de la cache en disc entre els proxy de la mateixa xarxa.

El proxy B demanarà als seus germans l'objecte que vol servir a l'usuari, si un dels germans el té en el magatzem li donarà, en cas de no tenir-lo, haurà de ser el proxy B qui l'hagi de recollir directament d'Internet.

Aquesta relació fa possible 'aprofitar' el contigut d'una cache propera sense 'embrutar' la seva connexió amb l'exterior. S'utilitza en els casos que els administradors de la xarxa on hi ha aquest proxy no vulguin que totes les peticions dels altres surtin a través de la seva connexió Internet.