In maniera ap­pros­si­ma­ti­va si potrebbe dire che Internet consista in una serie di computer cluster, i quali sono connessi tra loro tramite dei fili, dei cavi in fibra ottica e ri­ce­vi­to­ri senza fili, che si scambiano dati uti­liz­zan­do una “lingua” comune. Questo standard comune e fon­da­men­ta­le, che può essere inteso appunto come la lingua di co­mu­ni­ca­zio­ne, è l’Internet Protocol (IP). I dati vengono disposti in maniera tale che solo i computer che con­di­vi­do­no lo stesso pro­to­col­lo, li possono in­ter­pre­ta­re.

In­nan­zi­tut­to un co­sid­det­to indirizzo IP (co­no­sciu­to anche solo come “IP”) rende i di­spo­si­ti­vi digitali rin­trac­cia­bi­li in una rete. Tale indirizzo è dunque un pre­re­qui­si­to ir­ri­nun­cia­bi­le per inviare i pacchetti elet­tro­ni­ci in maniera af­fi­da­bi­le. È proprio partendo da questa base che gli ap­pa­rec­chi co­mu­ni­ca­no tra di loro, come ad esempio su Internet. L’indirizzo IP serve a far sì che i dati del mittente giungano al de­sti­na­ta­rio corretto, come ad esempio da un browser ad un web server e viceversa. Un indirizzo IP può dunque essere assegnato ad un singolo ap­pa­rec­chio o anche con­tem­po­ra­nea­men­te ad altri diversi e ugual­men­te un singolo di­spo­si­ti­vo può avere più indirizzi IP allo stesso momento.

Per capire esat­ta­men­te cosa sia un floating IP, bisogna in­nan­zi­tut­to conoscere le dif­fe­ren­ze tra un indirizzo IP dinamico ed uno statico.

IP dinamico

Nella maggior parte dei casi in cui un computer si collega ad Internet, gli verrà assegnato dal provider (Internet Service Provider o ab­bre­via­to ISP) un IP dinamico. Gli indirizzi IP dinamici sono lo standard e sono eco­no­mi­ca­men­te con­ve­nien­ti sia per l’utente che per il fornitore. Questi indirizzi sono con­tras­se­gna­ti e vengono assegnati ad un singolo terminale solo tem­po­ra­nea­men­te e vengono rias­se­gna­ti dopo un certo periodo, stabilito in maniera fissa (ad esempio ogni 24 ore) o in maniera ir­re­go­la­re. L’utente ottiene dunque dal proprio Internet Service Provider un nuovo e dinamico indirizzo IP per il proprio computer, mentre il suo indirizzo pre­ce­den­te viene assegnato ad un altro utente.

IP statico

Un IP statico, al contrario, as­so­mi­glia ad un indirizzo postale o ad un numero di telefono e viene assegnato ad un di­spo­si­ti­vo per­ma­nen­te­men­te. Gli indirizzi IP statici si possono trovare so­prat­tut­to nei web server o nei mail server ed in par­ti­co­la­re dove offerte e contenuti delle pagine web devono essere rag­giun­gi­bi­li tramite un URL fisso, così che sia possibile (ri)trovare utenti e procedure senza dif­fi­col­tà. Anche computer in una rete o pe­ri­fe­ri­che come stampanti pos­sie­do­no indirizzi IP fissi, in modo che i singoli ap­pa­rec­chi possano co­mu­ni­ca­re tra di loro all’interno della rete.

Per evitare che un utente debba me­mo­riz­zar­si una sequenza complessa di cifre, è possibile assegnare ad un IP statico un nome di dominio (in inglese “Domain Name”), come ad esempio www.example.org. Il numero IP, ovvero “il numero di con­nes­sio­ne” di un ap­pa­rec­chio in rete, verrà quindi con­ver­ti­to pos­si­bil­men­te in un nome facile da ricordare. Questa ca­rat­te­ri­sti­ca è ge­ne­ral­men­te riservata agli IP statici, visto che per gli indirizzi IP dinamici, che cambiano con­ti­nua­men­te, ri­sul­te­reb­be pra­ti­ca­men­te senza senso.

Floating IP: de­fi­ni­zio­ne

Un floating IP è di norma un indirizzo IP pubblico e in­stra­da­bi­le che non viene assegnato au­to­ma­ti­ca­men­te ad un’istanza. Invece un re­spon­sa­bi­le di un de­ter­mi­na­to processo ordina questi indirizzi IP ad una o più istanze in maniera tem­po­ra­nea e a seconda della propria necessità. L’istanza in questione dispone quindi sia di un IP statico per la co­mu­ni­ca­zio­ne tra due istanze in una parte privata e non in­stra­da­bi­le della rete, sia di un floating IP assegnato in maniera manuale. Questo rende i servizi dell’istanza, ossia di una rete, ri­co­no­sci­bi­li e perciò rag­giun­gi­bi­li per gli utenti, eccezion fatta per un Cloud.

Nel caso in cui il server non dovesse essere rag­giun­gi­bi­le, un simile IP, anche se dinamico, “fluttua” (dall’inglese “floating”) verso un’altra unità attiva della rete, di modo che assuma senza ritardi la funzione di un’altra istanza non più attiva e risponda al suo posto alle richieste in entrata.

Come viene generato un floating IP?

L’utente si collega ai floating IP per i propri progetti at­tin­gen­do a diversi pool, con­fi­gu­ra­ti dall’am­mi­ni­stra­to­re di sistema e messi a di­spo­si­zio­ne come risorse del server. Non appena un utente sceglie un floating IP, ne diventa au­to­ma­ti­ca­men­te il “pro­prie­ta­rio”. In qualunque momento può assegnare un’istanza, toglierla ed as­se­gnar­la ad un’altra. Anche quando un’istanza viene terminata, l’utente non perde il floating IP assegnato, ma rimane a sua di­spo­si­zio­ne come sua risorsa ed in qualunque momento può essere rias­se­gna­to ad un’altra istanza.

Il motivo prin­ci­pa­le per l’utilizzo di più pool paralleli di floating IP è il fatto che ogni pool sia gestito da provider diversi e che possa essere assegnato anche da altre reti esterne. In questo modo viene as­si­cu­ra­to che venga mantenuta la con­net­ti­bi­li­tà, ovvero la rag­giun­gi­bi­li­tà, persino quando un provider dovesse risultare non di­spo­ni­bi­le a causa di un mal­fun­zio­na­men­to.

Quando vengono uti­liz­za­ti i floating IP?

Garantire la massima di­spo­ni­bi­li­tà possibile rientra tra i fattori più im­por­tan­ti di ogni ambiente di pro­du­zio­ne. In rete anche una sola falla di sicurezza può portare ad un crash del programma. Ov­via­men­te i pro­gram­ma­to­ri dormono sonni tran­quil­li, coscienti del fatto che i loro programmi sono stati concepiti per resistere a tutti gli scenari im­ma­gi­na­bi­li. Dunque l’ob­biet­ti­vo è quello di preparare un’in­fra­strut­tu­ra, in cui sia garantito il minore tempo possibile di inat­ti­vi­tà (downtime in inglese).

Un indirizzo IP floating può ad esempio servire come un indirizzo fles­si­bi­le per il load balancing (indirizzo di bi­lan­cia­men­to del carico), così da com­pen­sa­re il carico massimo, ovvero di ripartire il traffico di rete in entrata tra diversi nodi. In questo caso per nodi si intendono degli ap­pa­rec­chi, i quali collegano assieme due (o più) mezzi di tra­smis­sio­ne di una rete di te­le­co­mu­ni­ca­zio­ne. Come su un computer, dove i processi vengono di­stri­bui­ti tra più pro­ces­so­ri, anche tramite load balancing, il carico viene ripartito tra più sistemi paralleli, in modo da riuscire a gestire un gran numero di richieste si­mul­ta­nee o di ope­ra­zio­ni par­ti­co­lar­men­te pesanti.

Failover e swit­cho­ver

Quando un load balancer primario o un ap­pli­ca­tion server centrale di un cluster diventa ir­rag­giun­gi­bi­le, un indirizzo IP floating con­fi­gu­ra­to a dovere può trovare e rein­di­riz­za­re ad un ap­pli­ca­tion server ri­don­dan­te (o molto simile) ancora fun­zio­nan­te o as­se­gnar­lo ad un load balancer se­con­da­rio. In questo caso l’indirizzo IP “fluttua” verso l’unità attiva, che ha quindi il compito di portare avanti im­me­dia­ta­men­te i processi richiesti. Un tale “cambio im­pre­vi­sto” tra due servizi di rete viene chiamato “failover”. So­prat­tut­to per i programmi di lavoro aziendali, è par­ti­co­lar­men­te con­si­glia­bi­le adottare una pro­te­zio­ne di questo tipo.

Un “cam­bia­men­to pia­ni­fi­ca­to” da un sistema primario ad uno se­con­da­rio viene invece chiamato “swit­cho­ver”. In questo caso la tra­smis­sio­ne di servizi non viene attivata in seguito a degli errori, bensì nella maggior parte dei casi viene impostata di­ret­ta­men­te dall’am­mi­ni­stra­zio­ne di sistema. Ad esempio, una mo­ti­va­zio­ne tipica per uno swit­cho­ver è la ma­nu­ten­zio­ne di routine del server primario o se­con­da­rio, mentre un’istanza parallela ne fa tem­po­ra­nea­men­te le veci.

Che vantaggi offre un indirizzo IP floating?

I vantaggi di un floating IP risiedono chia­ra­men­te nella sua fles­si­bi­li­tà, cioè la sua ca­rat­te­ri­sti­ca di poter essere assegnato li­be­ra­men­te e in base alle necessità. Gli indirizzi IP floating sono adatti per essere uti­liz­za­ti in casi di failover e swit­cho­ver: ad esempio, per riuscire ad ef­fet­tua­re un upgrade di un’ap­pli­ca­zio­ne o di un intero sito web senza dif­fi­col­tà nel minor tempo di inat­ti­vi­tà possibile; mentre viene eseguito un ag­gior­na­men­to su di un’istanza, un’altra si prende in carico la gestione del traffico. Una volta che l’ag­gior­na­men­to è andato a buon fine, il traffico dati viene rein­di­riz­za­to verso l’unità ag­gior­na­ta.

Un ulteriore vantaggio è quello che anche quando molte istanze vengono assegnate ad un singolo servizio, agli utenti compare comunque l’indirizzo IP del server (e non l’eventuale floating IP).

Vai al menu prin­ci­pa­le