Perché traceroute visualizza molti indirizzi IP per lo stesso hop?


14

Ecco il percorso da casa mia a sina.com.cn.

 traceroute -n   sina.com.cn
traceroute to sina.com.cn (202.108.33.60), 30 hops max, 60 byte packets
 1  192.168.31.1  0.476 ms  0.587 ms  0.695 ms
 2  140.0.5.1  2.557 ms  2.699 ms  3.065 ms
 3  221.11.155.65  4.501 ms * 221.11.165.9  5.045 ms
 4  * 221.11.156.18  26.480 ms 221.11.165.233  22.950 ms
 5  219.158.9.97  14.176 ms * 219.158.19.149  21.472 ms
 6  219.158.9.97  18.142 ms 219.158.8.81  44.856 ms  52.539 ms
 7  124.65.194.190  53.162 ms 219.158.8.81  50.614 ms 124.65.194.190  47.266 ms
 8  124.65.194.190  50.760 ms 61.148.143.26  49.351 ms  53.515 ms
 9  210.74.176.138  43.056 ms  43.286 ms 61.148.143.26  53.712 ms
10  202.108.33.60  46.385 ms 210.74.176.138  42.896 ms  46.931 ms

192.168.31.1 è il mio router di casa.
140.0.5.1 è il mio IP pubblico fornito dall'ISP.

curl  ifconfig.me
140.0.5.1 

Nella terza riga, dice

3  221.11.155.65  4.501 ms * 221.11.165.9  5.045 ms

Perché ci sono due indirizzi IP 221.11.155.65 e 221.11.165? Cosa significa?

Il pacchetto salta da 140.0.5.1 a 221.11.155.65, quindi salta da 221.11.155.65 a 221.11.165?


Un chiarimento. Se l'ISP ti ha fornito un indirizzo IP, non dovrebbe comparire nei comandi traceroute che esegui. E se dovessi fare un traceroute per l'indirizzo IP, questo verrebbe mostrato come hop 1. Più probabilmente non hai un indirizzo IP ed 140.0.5.1è una sorta di CGN che si comporta in modo un po 'insolito.
Kasperd,

Risposte:


4

Traceroute utilizza i campi delle opzioni in quanto invia pacchetti icmp (Internet Control Message Protocol). Ogni gateway o punto di instradamento nella rete legge i pacchetti su un'interfaccia, decide dove devono andare e li scrive su un'altra interfaccia. Quell'interfaccia è presumibilmente più vicina alla destinazione. Mentre il router inoltra il pacchetto, modifica anche l'intestazione del pacchetto. Riduce il "tempo di vivere" o il campo di conteggio dei luppoli di uno. Ogni Gateway nel percorso del pacchetto verso la destinazione riduce questo campo.

Quando il campo del conteggio degli hop scende a zero, molti router invieranno un messaggio icmp che indica dove è stato rilasciato il pacchetto. Al fine di trovare quale indirizzo IP si trova a una distanza specifica, traceroute invierà pacchetti con le opzioni di tempo per vivere e mi darà una risposta quando scade. i messaggi con numero di hop che iniziano da 1 e aumentano gradualmente restituiranno l'indirizzo IP di router progressivamente più distanti. Perché traceroute lo fa più volte, si ottiene di nuovo (se si dispone di una rete riccamente connessa, come Internet) più risposte in alcuni punti. può accadere che un determinato Gateway risponderà a diversi importi di distanza perché il percorso verso quel gateway ha attraversato salti diversi.


11

Ciò che tracerouteti dà qui come informazione è che hai almeno 2 percorsi per raggiungere la tua destinazione a partire dal router:

           IP adresses                 Internet operator

           140.0.5.1                   Firstmedia - Indonesia
             /    \
            /      \
221.11.155.65      221.11.165.9        China Unicom - China

Questa è una situazione normale per un grande operatore di Internet: avere molti percorsi per resistere ai normali incidenti su Internet.

L' -aopzione di traceroutepuò aiutarti a identificare a quale operatore appartiene ogni indirizzo IP.

Ecco un esempio di un albero più grande di percorsi che puoi ottenere anche dal tuo telefono cellulare attraverso uno strumento di rete come il server http://ping.eu/traceroute/ : traceroute a 140.0.5.1


Nessuna opzione per il mio traceroute in debian9.
trasandato

traceroute [-46dFITUnreAV] [-f first_ttl] [-g gate, ...] [-i device] [-m max_ttl] [-p port] [-s src_addr] [-q nqueries] [-N squeries] [ -t tos] [-l flow_label] [-w waittimes] [-z sendwait] [-UL] [-D] [-P proto] [--sport = port] [-M method] [-O mod_options] [ --mtu] [--back] host [packet_len]
scrapy

Stavo usando quello di FreeBSD qui.
dan

8

Dal traceroute(8)manuale su OpenBSD:

-q Vengono inviate tre sonde (il numero esatto può essere modificato utilizzando l' opzione) e viene stampata una linea che mostra il limite TTL o hop, l'indirizzo del gateway e il tempo di andata e ritorno di ciascuna sonda. Se le risposte della sonda provengono da gateway diversi, verrà stampato l'indirizzo di ciascun sistema di risposta.

Il manuale di Linux avrà una formulazione simile.

I molteplici indirizzi IP visualizzati sono i gateway che rispondono alle singole sonde a limiti hop specifici.

Nel tuo caso, le tre sonde hanno prodotto risposte che, al limite hop 3, ti sono tornate dai gateway il 221.11.155.65 e il 221.11.165.9.

Quindi, la risposta è: No, il pacchetto non salta tra i due host elencati su quella linea, ci sono tre sonde inviate e prendono due percorsi diversi da 140.0.5.1.


1
@RuiFRibeiro Ho chiarito la mia risposta per rispondere alla domanda esplicita che viene posta.
Kusalananda

Anzi, ho confermato, almeno nel traceroute Debian ha la stessa formulazione.
Rui F Ribeiro,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.