Hosting & Cloud

Tracert e Ping per individuare problemi di connettività del server

5 minuti lettura
Comandi tracert e ping per verificare problemi connettività server

I comandi Ping e Tracert sono tra i più utilizzati per la diagnostica di rete. Entrambi ci aiutano a comprendere cosa non va, ma in modo diverso. Mentre il comando ping viene utilizzato per testare la connettività di rete e la risoluzione dei nomi, il comando traceroute viene eseguito per trovare il percorso effettivo dalla sorgente alla destinazione.

Ti è mai capitato di accedere al tuo sito web e trovarlo offline? Prima di iniziare a sudare freddo, è importante capire se il problema è della tua postazione o del server che ospita il tuo sito. A riguardo, abbiamo realizzato una Guida con gli step utili a verificare l’irraggiungibilità del servizio di web hosting, cloud vps o server dedicato.

Cos’è il comando Ping

Il comando ping è tra i più utilizzati per la diagnostica di rete: permette la verifica dell’effettiva esistenza di un indirizzo IP e controlla che questo sia in grado di accettare delle richieste di comunicazione. Quando ciò non accade, si verifica una perdita di pacchetti (testimoniata da una scritta di questo genere Pacchetti: Trasmessi=4, Ricevuti=0, Persi=4) nella finestra del prompt dei comandi.

In una situazione di questo tipo, l’host locale e/o l’host remoto stanno funzionando correttamente, ma si sono create delle condizioni per cui alcuni pacchetti vengono persi lungo il tragitto.

Il protocollo TCP/IP è realizzato in modo che possa ripetere la trasmissione quando si verifica una perdita di pacchetti, ma questa evenienza limita drasticamente le performance. Una connessione lenta, ma senza la perdita di pacchetti, spesso è più rapida di una connessione ad alta velocità in cui si verifica la perdita di pacchetti.

Se sospetti che ci possa essere la perdita di alcuni pacchetti, anche se il ping non restituisce alcun errore, puoi provare ad aumentare la dimensione dei pacchetti ICMP. I pacchetti più grandi sono più inclini a evidenziare difetti se esistono problemi nella rete. Si può dire al ping di utilizzare pacchetti di maggiori dimensioni attraverso l’opzione.

Uso del ping

Utilizzare l’opzione è semplice. Tutto ciò che dovrai fare è inserire il comando ping seguito dall’indirizzo da controllare, dallo switch -L e dal numero di byte che desideri inviare.

Per esempio, supponiamo che la rete presenti scarse prestazioni durante la connessione a un host. Sospetti che si sia verificata la perdita di pacchetti, ma il ping ha sempre dato esito positivo. Pertanto, decidi di dire al ping di utilizzare un pacchetto di dimensioni di 1.024 byte. Per farlo, dovrai utilizzare il seguente comando: Ping 192.168.1.1 -L 1024

Puoi utilizzare il comando ping come risoluzione del nome del test: in questo caso, andando sul prompt dei comandi, basterà digitare ping nomesito.com. Se la risposta è positiva significa che la risoluzione del nome tramite DNS funziona correttamente. Se invece non ci sono risposte quando si utilizza il nome di dominio ma ci sono risposte quando si utilizza l’indirizzo IP significa che c’è un problema nel server DNS.

In sostanza, il comando Ping viene utilizzato per inviare segnali alla destinazione.

TTL: Time-to-live

Il prossimo concetto di cui parleremo, in relazione al comando ping, è quello di time-to-live (TTL).

Internet è costituita da un enorme numero di router che sono collegati gli uni agli altri e ogni router è connesso ad almeno altri due router. L’idea alla base di questa architettura è che se un link fallisce dovrebbe essere disponibile almeno un altro percorso che porti comunque i pacchetti a destinazione.

Il problema con questo tipo di architettura è che, in determinate circostanze, l’interruzione sui link può portare i pacchetti a viaggiare in circolo all’infinito, senza mai effettivamente raggiungere la destinazione.

In questa situazione entra in gioco il valore di TTL, ossia time to live. Il TTL può essere paragonato ad un meccanismo di “auto-distruzione” del pacchetto. Anche se può variare in funzione del sistema operativo usato, il valore di TTL è inizialmente fissato a un numero piuttosto elevato. Ogni volta che il pacchetto viaggia attraverso un router, gli viene detto di eseguire un salto. Quando si verifica un salto, il valore di TTL viene decrementato di uno. Se TTL raggiunge lo zero, il pacchetto viene distrutto. Ciò evita a un pacchetto che “si è perso” di viaggiare in Internet per l’eternità.

Cos’è il comando Traceroute

Un altro motivo per cui TTL è molto utile è che un tool per l’individuazione dei problemi chiamato traceroute (tracert) si basa su tale valore. L’uso del comando ping è indicato per il troubleshooting di problemi in reti di piccole dimensioni dove l’host remoto è molto vicino all’host di partenza, ma quando si tratta di Internet o di una WAN (Wide Area Network), l’host remoto può essere a migliaia di chilometri di distanza.

In questo caso, il pacchetto ICMP generato dal comando ping può dover viaggiare attraverso decine di router per raggiungere l’host remoto. È possibile che occasionalmente si verifichi la situazione in cui l’host locale e/o remoto stiano lavorando correttamente ma uno dei router, da qualche parte lungo il percorso, sta avendo problemi.

Ecco che è possibile utilizzare il comando tracert per diagnosticare questo tipo di problemi.

Il comando tracert è basato sul comando ping: se non ci sono risposte corrette dal comando ping, è possibile utilizzare il comando tracert per trovare dove il pacchetto di dati ha avuto esito negativo lungo il percorso. 

Il comando tracert, infatti, serve per trovare l’esatto percorso che il pacchetto di dati deve prendere per raggiungere la destinazione.

Uso del tracert

L’uso del comando tracert è molto simile a quello del comando ping. Per farlo, è sufficiente digitare il comando tracert seguito dall’indirizzo IP o dal domain name completo dell’host remoto.

In questo modo, un pacchetto di dati va alla destinazione e, ogni volta che passa un router, invia le informazioni su quel router al dispositivo di invio. Queste informazioni includono l’indirizzo IP e il tempo impiegato per viaggiare tra ogni salto.

Il traceroute aiuta quindi a identificare dove si verifica un problema sulla rete, tracciando il percorso da una posizione all’altra, registrando ogni salto lungo la strada.

L’idea alla base è che tracert invii un pacchetto ICMP all’host remoto, ma con il valore di TTL impostato a uno. Questo fa sì che il primo router incontrato rinvii un TTL scaduto nel messaggio di transito. Tale messaggio contiene le informazioni atte a identificare il router che lo ha prodotto. L’identificazione del router viene documentata e quindi il pacchetto ICMP viene inviato di nuovo, ma con un valore di TTL pari a due.

Questa volta, il pacchetto ICMP raggiunge il secondo router prima che scada il valore di TTL. Questo processo viene ripetuto, ogni volta aumentando di uno il valore di TTL, fino a quando l’host viene raggiunto.

Tale procedimento permette di avere un report di tutti i router tra l’host locale e quello remoto. È possibile utilizzare queste informazioni per individuare i problemi lungo il percorso che possono influenzare il flusso del traffico.

Ci sono un paio di cose da tenere a mente quando si usa il comando tracert. In primo luogo, alcuni host utilizzano un firewall per bloccare i pacchetti ICMP. In questo caso, potrebbe capitare che una serie di asterischi indichi che il traceroute non è stato in grado di ottenere informazioni da un particolare host.

Un’altra regola da ricordare è che, come accade con gli host, a ogni router viene assegnato un indirizzo IP. Indipendentemente dal fatto che siano usati per gli host o per i router, gli indirizzi IP sono strutturati in un modo che consentono di riferire la loro ubicazione geografica e, a volte, il tracert fornisce questa informazione geografica o anche una descrizione del router.

I nostri Web Hosting Linux

Shellrent avanza delle soluzioni condivise che rispondono a diverse esigenze. In particolare, i nostri Hosting Linux risultano ideali per la maggior parte dei progetti web, da siti vetrina e blog sino agli e-commerce.

I piani sono studiati per garantire la massima compatibilità con i CMS più diffusi sul mercato, così da fornire le caratteristiche adatte a realizzare siti WordPress, PrestaShop, Woocommerce, Joomla e Magento. I servizi supportano il database MySQL, pagine statiche in HTML o contenuti dinamici con PHP.

I piani sono quattro, pensati per soddisfare tutte le esigenze:

  • Hosting Linux Basic
  • Hosting Linux Standard
  • Hosting Linux Business
  • Hosting Linux Enterprise

Oltre a includere strumenti utili per la sicurezza dei dati, come il backup settimanale, Cloudflare e File Protection, la nostra offerta si rafforza con una serie di servizi aggiuntivi da abbinare all’hosting di riferimento.

Avatar photo
12 articoli

Note sull'autore
Dal 2006 forniamo soluzioni web hosting e cloud dalle alte prestazioni, semplici da gestire e da utilizzare quotidianamente.
Articoli
Articoli correlati
Hosting & Cloud

La differenza tra dischi NVMe, SSD e SATA

3 minuti lettura
Uno dei fattori che può influenzare la scelta di un server è senz’altro la velocità di lettura e di scrittura dei dati,…
Hosting & Cloud

Come monitorare lo stato di un server

3 minuti lettura
Immagina il tuo sito web oberato da un traffico inaspettato, oppure il tuo software gestionale in panne nel bel mezzo di un…
Hosting & Cloud

I migliori server di posta per Linux

4 minuti lettura
Immagina un’email che viaggia attraverso una rete di server, come una lettera che attraversa diverse stazioni postali. Ogni server è un checkpoint…