Я проводил тестирование traceroute
между двумя серверами (только одиночный переход) и мне интересно, почему последующий запуск показывает разные результаты?
(1)
# traceroute to 172.22.10.12 (172.22.10.12), 30 hops max, 60 byte packets
1 172.22.10.12 0.167 ms 0.634 ms 0.152 ms
(2)
# traceroute to 172.22.10.12 (172.22.10.12), 30 hops max, 60 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
6 * 172.22.10.12 0.120 ms 0.094 ms
EDIT: Ср Дек 18 18:09:23 GMT 2013
Почему этот вопрос имеет отрицательные голоса? Я хотел бы знать, почему traceroute показывает разные результаты (количество переходов) каждый раз.
EDIT: Ср Дек 18 19:05:44 GMT 2013
Оба сервера подключены к одному коммутатору, поэтому никакой «маршрутизации» нет и путь должен быть одинаковым:
# ping -R -c 5 172.22.10.12
PING 172.22.10.12 (172.22.10.12) 56(124) bytes of data.
64 bytes from 172.22.10.12: icmp_seq=1 ttl=64 time=0.161 ms
RR: 172.22.10.10
172.22.10.12
172.22.10.12
172.22.10.10
64 bytes from 172.22.10.12: icmp_seq=2 ttl=64 time=0.470 ms (same route)
64 bytes from 172.22.10.12: icmp_seq=3 ttl=64 time=0.113 ms (same route)
64 bytes from 172.22.10.12: icmp_seq=4 ttl=64 time=0.162 ms (same route)
64 bytes from 172.22.10.12: icmp_seq=5 ttl=64 time=0.160 ms (same route)
--- 172.22.10.12 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4001ms
rtt min/avg/max/mdev = 0.113/0.213/0.470/0.130 ms
решение1
Вторая трассировка, с 5 наборами * * *
, не указывает на другой путь. Вы сказали нам, что вызнатьдругого пути нет, эти вещи находятся в одном домене L2 и даже на одном коммутаторе. Tracert будетникогдапоказывают промежуточный скачок, хотя на самом деле в данном случае этого не происходит.
По какой-то причине ваш целевой хост не отвечает на ICMP-запросы при первых нескольких попытках второго tracert. Это все, что вы видите. Может быть, он слишком занят, чтобы отвечать на ICMP? Это одна из причин, по которой простые пинг-тесты не являются хорошими определителями того, работает ли служба или нет.
(Я понятия не имею, почему вы используете инструмент L3, чтобы продемонстрировать поведение, которое не имеет ничего общего с L3.)
решение2
IP-трафик не обязательно следует по тому же пути. Так что в случае traceroute, который отправляет пакеты ICMP, они не всегда обязательно следуют по тому же пути (ICMP работает поверх IP)
Есть целыйзапись в Википедии о traceroute
Надеюсь это поможет.