Skip to main content

Keep Alive

All’indirizzo Keep Alive (chiamato anche KA), è un messaggio inviato da un dispositivo all’altro per controllare se la connessione tra i due funziona o per evitare che la connessione venga interrotta.

Descrizione di Keep Alive

Un segnale da Keep Alive è inviato molto frequentemente a intervalli predefiniti e gioca un ruolo significativo su Internet. Se non si riceve alcuna risposta dopo l’invio del segnale, il programma presume che la connessione sia stata interrotta. Così, tutti gli altri dati vengono inviati attraverso un percorso diverso. Questo continua fino a quando una connessione può essere ristabilita.

Poiché l’unico scopo è quello di trovare collegamenti interrotti o di indicare connessioni che dovrebbero essere mantenute, i messaggi di Keep Alive sono di solito brevi e non usano molta larghezza di banda. Tuttavia, il loro formato esatto e i termini di utilizzo dipendono dal protocollo di comunicazione.

TCP-Keep Alives

TCP-Keep Alives(Transmission Control Protocol) è una caratteristica opzionale e, se inclusa, deve essere disabilitata di default. Il pacchetto KA non contiene dati. In una rete Ethernet, questo si traduce in frame con una dimensione minima (64 Byte). Ci sono tre parametri che si riferiscono ai KA:

  • Il tempo KA è la durata tra due trasmissioni KA inattive. Il tempo di ritenzione TCP deve essere configurabile ed è impostato di default ad almeno due ore.
  • L’intervallo KA è la durata tra due ritrasmissioni KA consecutive quando non viene ricevuto alcun riscontro per la precedente trasmissione KA.
  • Il KA retry è il numero di ritrasmissioni che devono essere eseguite prima di dichiarare che l’estremità remota non è disponibile.
I pacchetti TCP-KA possono anche essere usati per controllare se la connessione desiderata è ancora valida. Qui, però, due host devono essere collegati via TCP/IP (una rete). La maggior parte degli host che supportano TCP supportano anche TCP-Keep Alives. Ogni host (o peer) invia periodicamente un pacchetto TCP al suo peer richiedendo una risposta. Se viene inviato un certo numero di Keep Alives e non si riceve alcuna risposta (ACK), l’host che invia termina la connessione dalla sua parte. Se una connessione è stata terminata a causa di un timeout TCP-KA e l’altro host eventualmente invia un pacchetto per la vecchia connessione, l’host che ha terminato la connessione invia un pacchetto con il flag RST impostato per indicare all’altro host che la vecchia connessione non è più attiva. Questo costringe l’altro host a terminare la fine della connessione in modo da poter stabilire una nuova connessione.

Tipicamente, TCP Keep Alives viene inviato ogni 45 o 60 secondi su una connessione TCP inattiva. La connessione viene terminata dopo aver perso tre ACKs consecutivi. Questo varia a seconda dell’host. Per esempio, i PC Windows inviano il primo pacchetto TCP Keep Alive dopo 7.200.000 ms (2 ore) per default, seguito da 5 Keep Alives a intervalli di 1.000 ms. La connessione viene terminata se non c’è risposta a nessuno dei pacchetti KA.

Keep Alive s su strati superiori

Poiché TCP-KA è opzionale, vari protocolli (ad esempio SMB e TLS) implementano la propria funzione KA in aggiunta a TCP. È anche comune per i protocolli che gestiscono una sessione su un protocollo senza connessione, per esempio OpenVPN su UDP, implementare la propria funzione KA.


Avete altre domande?

Vi preghiamo di contattarci


Ulteriori contenuti