Примеры сетевых топологий


Ping и Traceroute - часть 4


в соответствии с требованиями IP-протокола.

ping -d 300 ns.itep.ru (команда получения текста пакета-отклика на запрос)

host responding, time = 25 ms

Dump of incoming packet

Version = 4 IP header length = 5 Precedence = Routine

Type of service = Normal

Total length = 284 Protocol = 1 TTL = 254

45 00 01 1C EE 29 00 00 FE 01 C5 00 C1 7C E0 23 C0 94 A6 81

00 00 93 BD EB 03 00 01 ..............

В принципе, процедуру Ping и Traceroute можно реализовать и с привлечением протоколов UDP и TCP. Рассмотрим следующую модель реализации Traceroute <URL>:

Посылаем последовательно по адресу IP(URL) IP-пакеты со значением TTL=1, 2,... и т.д. Если до <URL> больше одного шага, соответствующий маршрутизатор, размещенный по пути следования к адресату, уничтожит посланный пакет и вернет ICMP-сообщение: Time Exceeded (тип ICMP-сообщения=11), указав при этом IP-адрес узла, где это произошло. Послав запрос типа get_name_by_address для присланного IP, можно получить имя узла, откуда пришло данное уведомление. Отсутствие сообщения Time Exceeded (например, после трех попыток) будет говорить о достижении <URL>-адресата. Еще лучше для контроля наличия отклика от узла-мишени использовать реализацию ping на основе протокола UDP или ТСР (например, из библиотеки PERL), так как в этом случае можно задать бессмысленный номер порта и адресат откликнется ICMP-сообщением - порт недоступен (с предъявлением своего IP-адреса). Это будет означать, что адресат достигнут и вы располагаете исчерпывающими данными о пути до него. В результате такой последовательности посылок будет получена исчерпывающая информация о пути до указанной цели.

Для данной методики реализации traceroute не существенно, какой протокол использовать, UDP, ICMP или TCP.





Начало  Назад  Вперед



Книжный магазин