Created December, 2007 Version 2.0
. . :. :: :.: ::.::: .:. .: : ::: .. :. .:..: :.. ::
Menù » HOMEPAGE 
CURRICULUM
VITAE
PROGETTI  
HOBBY  
LINKS  
GUESTBOOK  
MAPS  
:.
PROGETTI

Torna alla pagina dei progetti: PROGETTI

Progetto di Impianti di Elaborazione


Descrizione del Progetto

Realizzazione, usando netkit, di un'Architettura web distribuita contenente almeno tre web server distribuiti geograficamente

Soluzione del Progetto

Architettura della rete (cfr. SchemaHomework.jpeg ):

La rete è composta da 6 LAN distribuite geograficamente:
  1. LAN 100.0.0.0/24: corrisponde al dominio .COM, e vi sono collegate le seguenti macchine: un host (PC1), un DNS locale (DNS1) ed un router (R1).
  2. LAN 192.100.11.0/24: corrisponde al dominio .NET, e vi sono collegate le seguenti macchine: un host (PC2), un DNS locale (DNS2) ed un router (R2).
  3. LAN 115.12.10.0/24: corrisponde al dominio .IT, e vi sono collegate le seguenti macchine: un webserver (WS1), un DNS (DNS3, che funge da autorità per l'intero dominio .IT) ed un router (R3).
  4. LAN 180.15.1.0/24: corrisponde al dominio .IT, e vi sono collegate le seguenti macchine: un webserver (WS2) ed un router (R4).
  5. LAN 102.10.2.0/24: corrisponde al dominio .IT, e vi sono collegate le seguenti macchine: 3 webserver (WS3, WS4 e WS5) ed un router (R5).
  6. LAN 154.116.80.0/24: su questa LAN è localizzato il DNS di livello superiore (DNSROOT) e vi sono collegate le altre interfacce dei 5 router.
I 5 web-server forniscono lo stesso servizio, e sono tutti raggiungibili attraverso lo stesso URL (ws.it). Il DNS3 conosce gli indirizzi dei vari server (distribuiti geograficamente), e si occupa della distribuzione di carico tramite l'algoritmo di scheduling round-robin (RRDNS).

clique3

Esempio di richiesta di una pagina:

L'host PC1 richiede la pagina http://ws.it/index.php e per risolvere tale URL fa una richiesta al DNS del suo dominio (DNS1). Quest'ultimo per soddisfare la richiesta di PC1 effettua la stessa query al DNSROOT, il quale, sapendo che il DNS autorità per il dominio .IT è il DNS3, reindirizza il DNS1 verso il DNS3. A questo punto il DNS1 rivolge la query al DNS3 che risolve l'indirizzo e risponde fornendogli l'ip di uno dei 5 web-server. L'host riceve tale informazione dal suo DNS locale e può richiedere la pagina html al server.

Cosa fa lo script:

Lo script avvia e configura in modo sequenziale le 16 macchine virtuali che compongono l’architettura. Sui server viene avviato Apache (comando apache). Le ultime due macchine avviate sono PC1 e PC2. Entrambi gli host, dopo la configurazione, richiedono la pagina html tramite il comando wget http://ws.it/index.php per 5 volte (a distanza di 7 secondi l’una dall’altra), in modo da verificare che la risposta arrivi effettivamente da server diversi. Sul terminale degli host infatti viene visualizzato l'ip del server che ha soddisfatto la richiesta, ed inoltre è mostrata la risoluzione dell’URL. Il comando wget salva all’interno della directory homework una copia della pagina html richiesta. Esecuzione dello script: Per avviare lo script bisogna portarsi all’interno della cartella homework e digitare dalla shell il comando homework1.sh start. Per terminare le macchine virtuali digitare, sempre all’interno della cartella homework, il comando homework1_crash.sh crash. Un altro modo per eseguire richieste http al server è quello di digitare, all’interno dei terminali degli host (PC1 o PC2), il comando lynx ws.it/index.php. Tale comando restituisce come output il contenuto testuale della pagina richiesta. Ogni pagina index.php viene modificata dallo script in modo da visualizzare al proprio interno l'indirizzo ip del server che ha soddisfatto la richiesta (ciò solo per una verifica immediata della distribuzione del carico effettuata dal DNS).

Organizzazione del lavoro svolto:

Il lavoro è stato svolto per iterazioni successive, partendo da un’architettura essenziale fino ad arrivare alla struttura definitiva. Il primo passo è stata la modellazione di una rete costituita soltanto da tre lan (con due DNS locali e il DNSROOT ): una volta appurata la connettività della rete (ping tra le macchine virtuali attraverso gli ip, es. ping 192.100.11.1), abbiamo verificato il corretto funzionamento dei DNS (ping tramite i nomi delle macchine virtuali, es. ping pc2.net). A questo punto abbiamo aggiunto altre tre lan sulle quali sono localizzati i web server distribuiti geograficamente. Queste tre lan fanno parte dello stesso dominio .IT: il DNS autorità di tale dominio si trova su una di queste tre lan ed è quello che si occupa del load-balancing.

Note:
  1. Il lavoro è stato svolto su un computer con sistema Linux Mandrake 9.2; la versione di Netkit utilizzata è la 1.4.2.
  2. Un possibile sviluppo dell'architettura sarebbe quello di inserire un web-switch sulla LAN 102.10.2.0/24 in modo da eseguire una ulteriore distribuzione del carico sulla batteria dei server della sottorete.

. . . ALTRE NOTIZIE
:. CONTATORE / TOP 100
:. BANNER

sei il visitatore:











© Stefano Tortora copyright.