Галкин В.А., Григорьев Ю.А. - Телекоммуникации и сети (1053870), страница 89
Текст из файла (страница 89)
Этот начальный маршрутизатор возвращает сообщение ICMPо перенаправлении всякий раз, когда компьютер посьшает дейтаграмму, длякоторой существует лучший маршрут. Таблица маршрутизации компьютераостанется маленькой, но содержит оптимальные маршруты для всех используемых назначений.Сообщения о перенаправлении, тем не менее, не решают проблему распространения информации о маршрутах полностью, так как они предназначенытолько для взаимодействия между маршрутизатором и компьютером в однойфизической сети. Каждое сообщение о перенаправлении содержит 32-битовоеполе «ГР-адрес маршрутизатора» и поле «Префикс дейтаграммы», как это показано на рис. 5.33.3755.
Сетевые протоколы16Тип (5)Код (0-3)31Контрольная суммаIP- адрес м^шругазатораПрефикс дейтаграммы (Заголовок плюс первые 8 байт дейтаграммы)Рис. 5.33. Формат сообщения о перенаправлении ICMPПоле «Межсетевой адрес маршрутизатора» содержит IP-адрес маршрутизатора, который должен использовать компьютер при отправлении дейтаграммы к назначению, указанному в заголовке дейтаграммы. Поле «Префикс дейтаграммы» содержит заголовок IP и следующие 8 байт дейтаграммы, котораяпривела к появлению этого сообщения.
Поэтому компьютер, принимающийсообщение о перенаправлении ICMP, должен выделить адрес назначения дейтаграммы из префикса дейтаграммы. Поле «Код» в сообщении о перенаправлении ICMP более конкретно указывает, как интерпретировать адрес назначения, при этом значения имеют следующий смысл: О - перенаправлениедейтаграмм для этой сети (устарело), 1 - перенаправление дейтаграмм дляэтого компьютера, 2 - перенаправление дейтаграмм для этого типа сервиса исети, 3 - перенаправление дейтаграмм для этого типа сервиса и компьютера.Напомним, что каждый заголовок IP указывает тип сервиса, используемогопри маршрутизащш.
Как правило, маршрутизаторы посьшают запросы переназначения ICMP только на компьютеры, а не на другие маршрутизаторы.Изменение маршрута является одной из наиболее интересных фушщий протокола ICMP - по существу, это один из механизмов автоматической оптимизащш доставки пакетов и адаптации сетей ТСРЯР к изменениям топологии.Запросы «Информация о маршрутизаторах» {типы 9 w 10).Информащ1Я о маршрутизащш находится в местных конфигуращюнных файлах и загружается оттуда при запуске компьютера. Чтобы таблрща маршрутизащш не содержала устаревших данных она обновляется динамически. ICMPпротокол реализует один из способов ее обновления.Существует 2 типа сообщений маршрутизаторов:• 9 - информащ1я о маршрутизащш;• 10 - регистращы маршрутизатора.Всякий раз, когда компьютер запускают, он генерирует сообщения о регистращш.
В ответ маршрутизаторы, находящиеся в той же локальной сети, посылают сообщения с информащ1ей о маршрутизащш, позволяющие правильносконфигурировать маршрутную таблицу.Формат сообщения «Информация о маршрутизации» (тип 9) описан в RFC 1256(рис. 5.34).3765.5. Протоколы III уровня стека TCP/IP8Тип (9)Количествоадресов16Код(О)31Контрольная суммаДлина поляадресаВремя существованияП*-адрес маршрутизатора 1Приоритет 1IP- адрес маршрутизатора 2Приоритет 2Рис. 5.34. Формат сообщения «Информация о маршрутизации»В одном ICMP-сообщении может содержаться описание нескольких адресов, количество которых указано в поле «Количество адресов».
Поле «Размерадреса» задает длину адреса в 32-битовых словах. В настоящее время «Длинаполя адреса» всегда равна 2.Поле «Время существования» задает интервал времени, в течение которого информащм еще не устарела. Как правило, это 1800 с.Поле «Приоритет» указьшает, какой из адресов следует использовать первым и более интенсивно. Как правило, чем больше значение поля, тем вышеприоритет. Маршрутизаторы передают информационные сообщения широковещательно через случайные интервалы времени. Обычно через 450...600 с.Поле «Время существования» можно использовать для уведомления, что данный маршрутизатор выключается.
При этом содержимое данного поля устанавливается равным 0.Формат сообщения «Регистрация» (тип 10) представлен на рис. 5.35.Запрос «Регистрация» передается 3 раза с интервалом 3 с при запуске маршрутизатора и продолжает (при необходимости) передаваться, пока маршрутизатор не получит информационного сообщения с нужной маршрутной информацией.Обнаруэюеиие циклических или слишком длинных путей. Как было омечено вьппе для защиты Интернета от перегрузок каждая дейтаграмма имеет счетчик времени жизни TTL (Time-To-Live). Маршрутизатор декрементирует счетчик времени жиз1Ш всякий раз, когда он обрабатывает дейтаграмму,и удаляет ее, когда счетчик становится нулевым.08Тип (10)Указатель16Код(О)31Контрольная суммаЗаполняется нулямиРис. 5.35. Формат сообщения «Регистрация»3775. Сетевые протоколы0816Код(О)Тип (10)Указатель31Контрольная суммаЗаполняется нулямиРис.
5.36. Формат сообщения«Лимит времеш! для дейтаграммы превышен»Независимо от того, удалил ли маршрутизатор дейтаграмму из-за обнуления счетчика времени жизни или из-за превышения времени ожидания фрагментов дейтаграммы, он посьшает сообщение ICMP «Лимит времени для дейтаграммы превьппен» источнику дейтаграммы определенного формата (рис. 5.36).Поле «Код» объясняет причину сообщения: О - превышено значение счетчика времени жизни; 1 - превышено время ожидания фрагмента при сборке.Сообщения о других ситуациях. Когда маршрутизатор или компьютер сталкивается с проблемой, не укладывающейся в рамки описанных сообщений обошибках ICMP (например, некорректный заголовок дейтаграммы), связаннойс дейтаграммой, он посьшает сообщение «Проблема с параметром пакета»первоначальному отправителю. Такую ситуащпо может вызвать некорректность аргументов опции. Сообщение, формат которого показан на рис.
5.37,посьшается только в том случае, если дейтаграмма должна быгь удалена изза этой опшбки. Для уточнения места ошибки в дейтаграмме отправитель использует поле «Указатель» в заголовке сообщения для идентификации октетав дейтаграмме, содержащего ошибку.Синхронизация часов и оценка времени передачи. Стек протоколов TCP/IPвключает несколько протоколов, которые могут использоваться для синхронизации часов.
В сети для этого используется несколько технологий. Одна из простейших технологий реализуется сообщениями ICMP для получения значениявремеьш от другой машины. Запрашивающая машина посьшает сообщениеICMP «Запрос метки времени» другой машине, ожидая, что вторая машинавернет ей текущее значение времени. Принимающая машина возвращает «Ответ для метки времени» машине, вьщавшей запрос.
Рис. 5.38 иллюстрируетформат сообщений запроса и ответа временной метки. Поле «Тип» идентифицирует сообщение как запрос (13) или ответ (14); поля «Идентификатор» и «Последовательный номер» используют источник для связи между ответами и запросами. Оставшиеся поля специфицируют времена, указанные в миллисекундахпосле полуночи, по Гринвичу.
Поле «Временная метка отправителя» заполняет16Тип (12)УказательКод (0-1)31Кошрольная суммаНе используется (должно быть нулевым)Префикс дейтаграммы (Заголовок плюс первые 8 байт дейтаграммы)Рис. 5.37. Формат сообщения «Проблема с параметром пакета»3785.5. Протоколы III уровня стека TCP/IPОТип (13 или 14)168Код(О)Идентификатор31Контрольная суммаПоследовательный номерПрефикс дейтаграммы (Заголовок плюс первые 8 байт дейгаграммы)Временная метка отправителяВременная метка приемаВременная метка передачиРис.
5.38. Формат сообщений «Запрос метки времени»и «Ответ для метки времени»первоначальный отправитель перед передачей пакета, поле «Временная меткаприема» заполняется сразу после приема запроса, а поле «Временная меткапередачи» - непосредственно перед отправкой ответа.Компьютеры используют эти три поля временных меток для определенияожидаемого времени передачи между ними и синхронизации своих часов. Таккак ответ включает поле «Временная метка отправителя», компьютер можетвычислить общее время, требуемое для передачи запроса к назначению, формирования ответа на него и возвращения ответа. Так как ответ содержит каквремя прихода запроса на удаленную машину, так и время выдачи ответа, компьютер может вычислить время передачи по сети, а на его основе - разницумежду своими и удаленными часами. На практике бывает трудно точно оценить время передачи по сети, так как IP является технологией с негарантированной доставкой, дейтаграммы могут быть потеряны, задержаны или доставлены не по порядку, что ограничивает полезность сообщений ICMP о временныхметках.Сообщения запроса и ответа информации.
Сообщения ICMP запросаинформации и ответа информации (тип 15 и 16) в настоящее время устарели иих использовать не рекомендуется. Они предназначались для обнаружениякомпьютерами своих IP-адресов при загрузке. Сейчас для определения адресаиспользуют протоколы RARP и ВООТР.Получение маски подсети. Для применения адресации подсетей компьютеру надо знать, какие биты их 32-битного IP-адреса соответствуют физической сети, а какие - адресу компьютера. Информация, требуемая для интерпретации адреса, представляет собой 32-битовую величину, называемую маскойподсети.