Олифер В.Г., Олифер Н.А. - Компьютерные сети. Принципы, технологии, протоколы (4-ое изд.) - 2010 - обработка (953099), страница 148
Текст из файла (страница 148)
693 Протокол 1СМР Таблица кодов причин ошибок 3 Таблица типов 1СМР.сообщений Причина Сеп и»иост«миме Значение в поле «Тмл» Тип сообщения Узел непсстммзм Лротммп нзпсспзеим з( / и 2,/ Узел назначения недостижим Подавление источника Перенаправление маршрута Узвъиспмнмз изопнрсезн Эхо-запрос Истечение времени диаграммы 2 сообщение-зеп рос С т' > ообщоиие-ответ сообщение.оизнбиэ Проблема с параметрами пакета 12 Запрос отметки времени 2, 2, l 13 Ответ отметки врамени Запрос маски 17 Рис.
17.23. Типы и коды 1СМР-сообщений Утилита 1гасегоиФе 3 мчестве примера рассмотрим использование сообщений об ошибках в популярной Пилите мониторинга сети ггасегоше. йгяя маршрутизатор не может передать или доставить 1Р-пакет, он отсылает узлу, отпра- ввшеиу этот пакет, сообщение о недостижимости узла назначения. Формат этого сообще- мя показан на рис.
17.24. В поле типа помещается значение 3, а в поле кода — значение вяиапазона 0-15, уточняющее причину, по которой пакет не был доставлен. Следующие авелем контрольной суммы четыре байта заголовка не ислользугоглся и заполняются яуяяии. бюбщения, относящиеся к группе сообщений об ошибках, конкретизируются уточняющим вгиои. На рисунке показан фрагмент таблицы кодов для сообщения об ошибке недостижииссги узла назначения, имеющей тип 3. Из таблицы мы видим, что это сообщение может Зять вызвано различными причинами, такими как неверный адрес сети или узла (код О яяи 1), отсутствием на конечном узле-адресате необходимого протокола прикладного ровня (код 2 — «протокол недостижим») или открытого порта ()РР/ТСР (код 3 — «порт яяисстнжнм»). Узел (или сеть) назначения может быть также недостижим по причине яу«пенной неработоспособности аппаратуры или из-за того, что маршрутизатор не имеет вииых о пути к сети назначения.
Всего таблица содержит 15 кодов. Аналогичные таблицы юиоз существуют и для других типов сообщений об ошибках. Глава 17. Базовые протоколы ТСР/ а О Рис. 17.2Я. Формат (СМР-особ<пения об ои<ибкв недостижимости узла назначения Помимо причины ошибки, указанной в заголовке (в полях типа и кода), дополиитель; диагностическая информация передается в поле данных 1СМР-сообщения.
Именно т помещается заголовок 1Р и первые В байт данных того 1р-пакета, который вызвал оши( Эта информация позволяет узлу-отправителю еще точнее диагиостировать причину ош ки, Это возможио, так как все протоколы стека ТСР/1Р, использующие для передачи св сообшеиий 1Р-пакеты, помещают наиболее важную для анализа информацию в пер 8 байт своих сооб(цеиий. В частности, ими вполне могут оказаться первые 8 байт зап(лс ТСР или 1) 1)Р в которых содержится информация (иомер порта), идентифицирую< приложение, пославшее потерянный пакет.
Следовательно, при разработке приложе можно предусмотреть встроенные средства реакции иа сообщения о иедоставлев( пакетах. 1СМР-сообшеиия об ошибках лежат в основе работы популярной утилиты ггасегоцге Ып1х, имеющей в ЪМп<(овъ название ггасегг. Эта утилита позволяет проследить маршру удаленного хоста, определить среднее время оборота (КТТ), 1Р-адрес и в некоторых сл ях доменное имя каждого промежуточного маршрутизатора. Такая информация помо найти маршрутизатор, иа котором обрывается путь пакета к удаленному хосту Утилита ггасегоцге осуществляет трассировку маршрута, посылая серию обычных пакетов в конечную точку изучаемого маршрута.
Идея метода состоит в следующем. Зи. иие времени жизни ('ГГЬ) первого отправляемого пакета устанавливается равным 1. К< протокол 1Р первого маршрутизатора принимает этот пакет, то ои в соответствии со св алгоритмом уменьшает значение ТТЬ иа 1 и получает О. Маршрутизатор отбрасывает и; с нулевым временем жизни и возвращает узлу-источнику 1СМР-сообщеиие об оши истечения времени дейтаграммы (зиачеиие поля типа равно 11) вместе с заголовко» и первыми 8 байтами потерянного пакета. Получив 1СМР-сообщение о причине недоставки пакета, утилита (гасегоцге запоми< адрес первого маршрутизатора (который извлекает из заголовка 1Р-пакета, иесув< 1СМР-сообщеиие).
Затем ггасегоцге посылает следующий 1Р-пакет, ио теперь со зиачеиием ТТЬ, равиы» Этот пакет благополучно проходит первый маршрутизатор, ио «умирает» иа втором, о ' немедленно отправляется аналогичное 1СМР-сообщеиие об ошибке истечения врем дейтаграммы. Утилита ггасегоцге запоминает адрес второго маршрутизатора и т. д. Та Протокол 1СМР 595 действия выполняются с каждым маршрутизатором вдоль маршрута вплоть до узла назначения нли неисправного маршрутизатора. Мы рассматриваем работу утилиты сгасегопсе весьма схематично, но н этого достаточно, чтобы оценить изящество идеи, лежащей в основе ее работы. Остальные [СМР-сообщения об ошибках имеют такой же формат и отличаются друг от друга только значениями полей типа и кода. Далее приведена копия экранной формы, выведенной утилитой сгасегс (т47! ос[отче) при трассировке хоста оз,)п!вгп)с.пе! 1198А9.45.291: 1 311 вз 290 аз 261 аз 144.206.192.100 2 281 аз 300 аз 271 вз 194.85.73.5 3 2023 вз 290 аз 311 аз возсое-в9-2-55.ге1сов.ео.пег [193.124.254.37] 4 290 вз 261 аз 280 вз ИЗК-М9- 13 .
йе1 сов. ЕО . пег ( 193 . 125 . 15 . 13] 5 270 вз 281 аз 290 аз МЗК.ВА1(-1-АТНО-!55МЬ.йе1сов.ЕО.пес (193.124.254.82] б 300 вз 311 вз 290 аз 5РВ-КА5СОМ-1-Е3-1-34ИЬ.йе1сов.ЕО.пег (193.124.254.78] 7 311 аз 300 аз 300 аз Низ!11-0.8М1.5ТКЕ.А(ТЕК.МЕТ (146.188.33.125] В 311 аз 330 вз 291 аз 421.АТМВ-О-О.Сй2.5ТК2.41Сег.йег [146.188.5.73] 9 360 вз !331 вз 330 вз 219.нзз!4-0.Сй2.(МО1.41Сег.йес (146.188.2.213] 10 351 вз ЗЗО аз 331 аз 412.АСа5-0.8й1.(М01.41гег.пеС [146.188.3.205) 11 420 аз 461 аз 420 аз 167.АТМВ-О-О.Сй1.АТ(1.А1гег.яег (137.39.69.182] 12 461 аз 441 вз 440 вз 311.АТИ12-0-0.8й1.АТ(1.А1иег.иег [137.39.21.73) 13 451 аз 410 аз 431 аз 411апга1-Ьг1.ЬЬпр1апег.лет [4.0.2.141] !4 420 вз 411 аз 410 аз ч!еппа1-Ьг2.ЬЬпр!апег.пег (4.0.3-.154] 15 41 1 вз 430 вз 2514 вз ч! еппа1 -пЬгЗ .
Ьопр1 апет . пег [4 . О . 3 . 150] 16 430 вз 421 вз 441 аз ч!еппа1-пог2.ЬЬпр]апет.пег (4.0.5.45] 17 431 вз 451 вз 420 вз савЬг!09е1-Ьг1.ЬЬпр1апег.пес [4.0,5.42] 1В 450 аз 461 аз 441 М С савЬг!69е1-сг14.ЬЬпр!апег.пег [4.0.3.94] 19 451 М С 461 М С 460 М С асгбсзто11.ЬЬпр1апег.пет [206.34.99.38] 20 501 М С 460 М С 481 И С злогпоеп.пз.!птегп!с.пет (198.49.45.29) Последовательность строк соответствует последовательности маршрутизаторов, образующих маршрут к заданному узлу. Первое число в строке — число хопов до соответствующего ииршругнзатора. Утилита Сгасегопге тестирует каждый маршрутизатор трижды, поэтому шедуюшие три числа в строке — это значения КП; вычисленные путем посылки трех пакетов, время жизни которых истекло на этом маршрутизаторе.
Если ответ от какого-либо гаршрутизатора не приходит за заданное время, то вместо времени на экране печатается звездочка (*). П7аее идут 1Р-адрес и доменное нмя (если оно имеется) маршрутизатора. Видно, что почти исе интерфейсы маршрутизаторов поставщиков услуг Интернета зарегистрированы миужбе []ХЯ, а первые два, относящиеся к локальным маршрутизаторам, — нет.
Еше раз подчеркнем, что время, указанное в каждой строке, это не время прохождения еветов между двумя соседними маршрутизаторами, а время, за которое пакет проделыит путь от источника до соответствующего маршрутизатора и обратно. Так как ситуация !Интернете с загрузкой маршрутизаторов постоянно меняется, то время достижимости шршрутизаторов не всегда нарастает монотонно, а может изменяться достаточно произиаьпым образом. 696 Глава 17.
Базовые протоколы ТСРДР Утилита р!пя А сейчас давайте рассмотрим представителей другой группы 1СМР-сообщений — эхозапросы и эхо-ответы и поговорим об использовании этих сообщений в известной утилите Р1 л8. Эхо-запрос и эхо-ответ, в совокупности называемые эхо-протоколом, представляют собой очень простое средство мониторинга сети. Компьютер или маршрутизатор посылает по составной сети 1СМР-сообщение эхо-запроса, указывая в нем 1Р-адрес узла, достижимость которого нужно проверить. Узел, получивший эхо-запрос, формирует и отправляет эхо-ответ отправителю запроса.
Так как эхо-запрос и эхо-ответ передаются по сети внутри 1Р-пакетов, то их успешная доставка означает нормальное функционирование всей транспортной системы составной сети. Формат эхо-запроса и эхо-ответа показан на рис. 17.25. Поле типа для эхо-ответа равно О, для эхо-запроса — 8; поле кода всегда равно О и для запроса, и для ответа.
В байтах 5 и 6 заголовка содержится идентификатор запроса, в байтах 7 и 8 — порядковый номер. В поле данных эхо-запроса может быть помещена произвольная информация, которая в соответствии с данным протоколом должна быть скопирована в поле данных эхо-ответа. Рис. 17.25.
Формат 1СМР-сообщений типа эхо-запрос и эхо-ответ Поля идентификатора запроса и порядкового номера используются одинаковым о разом всеми сообщениями типа запрос-ответ. Посылая запрос, приложение помеща в эти два поля информацию, которая предназначена для последующего встраивания в соответствующий ответ. Сообщение-ответ копирует значения этих полей в свои цо того же назначения. Когда ответ возвращается в пункт отправки сообщения-запроса, на основании идентификатора он может внайти и опознатьь приложение, пославшее прос. А порядковый номер используется приложением, чтобы связать полученный от~ с соответствующим запросом (учитывая, что одно приложение может выдать нескол~ однотипных запросов). Утилита р1п8 обычно посылает серию эхо-запросов к тестируемому узлу и предоставл пользователю статистику об утерянных эхо-ответах и среднем времени реакции сеть запросы.