
Добрый день!
Просьба помочь разобраться с маршрутизаторами.
[root@server]# ping ya.ru
PING ya.ru (213.180.204.3) 56(84) bytes of data.
64 bytes from www.yandex.ru (213.180.204.3): icmp_req=1 ttl=57 time=12.9 ms
64 bytes from www.yandex.ru (213.180.204.3): icmp_req=2 ttl=57 time=13.1 ms
64 bytes from www.yandex.ru (213.180.204.3): icmp_req=3 ttl=57 time=13.3 ms
^C
--- ya.ru ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 12.999/13.146/13.335/0.168 ms
Из приведенной распечатки видно, что в ответ на тестирующие запросы, посланные узлу ya.ru, было получено 3 эхо-ответа. Длина каждого сообщения составляет 64 байта. В колонке time помещены значения времени оборота (RTT), то есть времени от момента отправки запроса до получения ответа на этот запрос. Как видим, сеть работает достаточно стабильно (время ответа практически не меняется, пакеты не теряются: icmp_req идут по порядку). На экран выводится также оставшееся время жизни поступивших пакетов (TTL — time to live). Время жизни посылаемых командой ping пакетов = 64. Когда пакет проходит через маршрутизатор, значение поля TTL уменьшается на 1. Следовательно, по приведенным выше данным можно сделать грубую оценку что на пути следования пакета встретилось 7 маршрутизаторов. В конце приведена общая статистика работы команды: количество отправленных, принятых, потерянных пакетов, а также суммарная статистика по RTT.
Каким образом здесь подсчитано, что их 7?
Какая программа использована для пинга?
Если пользователь находится в системе W8 с cmd и Powershell, как вывести статистику, представленную выше?


Добрый вечер, Артём. Копирую Вам ответ автора:
Ответ на первый вопрос: с помощью программы traceroute
. Её аналог из windows семейства называется tracert
. Как и ping
это довольно примитивные средства сетевой диагностики, однако они являются базовыми для первичной диагностики.
Ответ на второй вопрос: используется программа, которая называется ping
:-) Она имеет одинаковое название практически на всех существующих ОС.
Ответ на третий вопрос: К счастью многочисленные индийские комрады задают подобные вопросы в интернетах во множестве. Выяснить это можно сделав поиск в google: «How to use ping in windows 8». Ответы приблизительно такие:
Опция 1
Если Вы находитесь в MetroUI сразу начинайте набирать на клавиатуре c потом m потом d и, наконец, enter.
Опция 2
- Запускаете Windows Explorer
- Идёте в
C:\Windows\System32
- Запускаете
CMD.EXE
посредством двойного клика на программе.
Опция 3
- Запускаете классический рабочий стол.
- Вызываете меню
Run
- Вводите
cmd
и нажимаетеenter
.
Если Вы сразу запустили PowerShell то просто вводите там ping ya.ru
и нажимаете enter
. It works.
Здравствуйте, Витория. Вот чего не ожидал, так не ожидал))
Итак с первого.
Цитата «Когда пакет проходит через маршрутизатор, значение поля TTL уменьшается на 1. Следовательно, по приведенным выше данным можно сделать грубую оценку что на пути следования пакета встретилось 7 маршрутизаторов.»
То есть по описанию в курсе можно понять, что кол-во маршрутизаторов считается с помощью пинга, а не трейса. Поэтому у меня и возник вопрос? т.к. я никогда прежде не слышал об этом.
Вопрос n2.
Цитата
64 bytes from www.yandex.ru (213.180.204.3): icmp_req=1 ttl=57 time=12.9 ms
64 bytes from www.yandex.ru (213.180.204.3): icmp_req=2 ttl=57 time=13.1 ms
64 bytes from www.yandex.ru (213.180.204.3): icmp_req=3 ttl=57 time=13.3 ms
не видел, чтобы в стандартных командных строчках встречались значения icmp_req, это нечто юниксовое?
И, наконец, 3-й вопрос, он как раз связан напрямую со 2-м, насколько я помню, в 7-ке точно такая же строчка, как и в 8-ке. Как её открыть я знаю :)
Кстати, в тесте дано задание как раз опеределить по пингу кол-во маршрутизаторов, пока я не понял, как это сделать.
Добрый день, Артём.
Всё очень просто. Каждый отсылаемый программой ping пакет имеет такую характеристику как TTL — Time To Live. Когда пакет встречает маршрутизатор, он уменьшает TTL на единицу и пересылает его дальше, в соответствии со своей таблицей маршрутизации.
TTL выставляется для пакетов исходя из стандартных настроек системы. В нашем случае это 64. Другими словами, если пройдя 64 маршрутизатора пакет не достигнет пункта назначения он будет просто отброшен. Отклика в этом случае послано назад не будет.
Принимающий запросы сервер не экстрасенс. Он видит в пришедшем пакете ttl, но не знает, какое значение было изначально. Поэтому он просто откликается, сообщая данные, которые видит. Когда приходящий Вам ответ сообщает, что ttl=57, это означает для нас, что было «64(стандартное значение)-57=7 хопов до узла назначения».
traceroute же позволяет не только посчитать сколько было маршрутизаторов, но и определить что это за маршрутизаторы.
Подсчёт ping грубый, но для прикидки «сетевого расстояния» вполне применим.
icmp_req эквивалентно icmp_seq. Это вопросы терминологии.
Станислав, добрый день!
Спасибо. Рассчитал, получилось!