Протоколы Internet


Ping и Traceroute - часть 4


/p>

Dump of outgoing packet

Version = 4 IP header length = 5 Precedence = Routine

Type of Service = Normal

Total length = 284 Protocol = 1 TTL = 64

45 00 01 1C 00 02 00 00 40 01 71 29 C0 94 A6 81 C1 7C E0 23 IP-заголовок

08 00 8D BD E9 03 00 01 ... ICMP-заголовок

host responding, time = 60 ms

Выдачи ради экономии места сильно сокращены. Тексты пакетов начинаются с кодов IP-версии (=4) и длины заголовка (=5), далее следует байт TOS=0, два байта длины пакета (01 1С) и т.д. в соответствии с требованиями 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 :

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

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




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



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