К. Закер - Компьютерные сети. Модернизация и поиск неисправностей (953092), страница 88
Текст из файла (страница 88)
Для получения болев подробной информации о процессе маршругвваиаа см. вла»у 6. Регулярное общение соседних маршрутизаторов помогает каждой.системе справляться с постоянными изменениями условий, происходящими в сети. Если, например, один из маршрутизаторов вышел из строя, его соседи заметят его отсутствие и сообщат всем остальным о том, что он не функционирует. Другие маршрутизаторы сразу скорректируют свою линию поведения, чтобы избежать отправки пакетов в тупиковом направлении. Протоколы маршрутизации позволяют кажлому маршрутизатору состав«ппь таблицу сетей с информацией, необходимой лля отправки пакетов в каждую сеть. По сути, таблица говорит маршрутизатору: "чтобы посля«ь пакет в сеть х, используй интерфейс у", «з«е у — зто адин из собственных сетевых интерфейсов данного мяршруппатора Администраторы сетей могут также вручную конфигурировать маршрутизаторы через сеть.
Такал процедура носит название стал«ическай маршрул«изации «згалс гаиллл1, в отличие от конфигурирования, обеспечиваемого протоколами маршрутизации, нязь«ааемого динамической маршрутлизацией 14аал««с гаи«тлд1. В комплексных сетях возможен выбор из множества вариантов маршрута, который может быль пройден пакетом на пути от источника к цели. Маршрутизаторы постоянно оценивают имеющиеся для пакета варианты маршрута через сеть и могут определить самый короткий из ннх, самый быстрый или наилегчайший. Протокол! СМР 1п«еше«Сошп«1 Меззаяс Рпяосо1 11СМР, протокол контроля сообщений в сети Интернет) относится к протоколам Сетевого уровня,' япторые не переносят пользовательскую информацию, хотя его сообщения инкапсулнруются 1Р- дейтаграммами. Протокол 1СМР выполняет сразу две роли в стеке ТСР/1Р, а именно: обеспечив«ет выработку управляющн1«сорб«пений об ошибкм, например, информирует систему-источник о таы, что переданные данные не достигли мести назначения, а также переносит.
сообщения-запросы и сообщения-ответы для диагностических программ. В качестве примера можно привести утилиту РП«1О, вхоляшую в любой набор протоколов ТСР/1Р, кото1л«л применяет ес1к«-саабщення протокола 1СМР лля топз,.чтобы определить, мажет ли лонкрен«ая система сети получать и передавать информацию.
Протокол 1СМР, в соответствии с КГС 792„состоит нз сообщений, заключенных в 1Р-пакеты со значением 1 в поле протокола и значением О для поля типа сервиса в заголовке. Формат сообщения протокола 1СМР показан на рис. 11.14. Сообщение протокола 1СМР включает поля, описанные ниже. С1 Тяп (Туре)„1 байт. Содержит код, идентифициРующий основную функцию сообшейия.
П 33?д (Себе)„1 байт. Уточняет функцию сообщения в пределах конкретного типа. П Тьсатравъаая СуММа (СВЕС!Гяяп)т 2 байта. ПОЛЕ СОХраыяЕт В СЕ6Е рЕЗуЛЬтат вычисления контрольной суммы всего 1СМР-сообщения, включая поля кода, контрольной суммы и данных (при расчете используется значение поля контрольной суммы, равное О). О Давиые (Вапт), перемеаамй раиеер. Содержи~ информацию, специфическую для каждого сообщения. 1336567813345678123456У8133456?8 Рис.
11.3е, Формат сообщения протоколе $СМР Допустимые типы 1СМР-сообщений перечислены в табл. 11.6. Таблица т т и. Типы сообщений преп?кола (СМР Тап Код Запрос(3))/ Функция Оиавбка(Е) Есьо Нер!у Нет г?пгеасиаЫе Ноет ОпгеасЬ8ЬЬ Рп?$осо! !ЗпгеасиаЬЬ Реп ОгаеасиаЫе ГгапгпепЫоп Меесег! апд Оопт Егаоптеп1Фаа Ве1 бопгсе ЙопЬ Ра! в3 О И ау Неве Кип ОеаепаИов Ноет Опмкптп Зппп?е Ноя! !асЬтет! О?папппвайоп тт!!и Оеаапабоп Иеттгог!г Ь Дсгп!пЬ1гатг?е)у РгоЬ33Ьо' Ооптгпигаса!!оп в6!Ь Оеайпа!к81 Ноет !а Дг!пт!пЬЬа!8?е!у Ргси[ийет! Оеавптйоп Йе!пег!г ФаеасЬаЬЬ !сг Туре СИ беплсе Оеебпадоп Нсвт ОпгеасьаЬЬ тот Туре О! беп?Ье уапрпйа 11 е Фвргт3п1рге/ Запросйзгг 'Опвзбка(Ег Тпп 1~од Ес1тю йет1юеа1 йоо1ег гтгйгегввегпепт в о 9 О 1О О йюютег Вювс1тз$юп Тате То ~вге Ехсеебе4 1п Ттапа1 11 О Ргавпеп1 йеаззепю1у Тепе Ехсавюе$ Ро1птег 1птйсатез ве Епог 11 1 1г о 12 1 1г г М1ззйто а йетргвег1 Ораоп в а~ цтп Твтезвтгпр Т впевтзгпр йер1у 1пуоппаИап йетргез1 1п1оптеЯоп йер1у Аст1гевз Маза йвююев1 Моева МаФ йер1у Тгасе имев 0 О 1б О 17 О 1В О 3О О 0а1аогагп ссцъегвоп Епти МоЫ!е йозг йед1гес1 31 О 32 О Е Е Вюогсе Свтепсп йесугес1 Оагадгапзп взбе.йвззог1т 1юг ВтгЬтз6 йет11тзют 0атавтатоют 1ОГ ПЕ.НМ1 йедкест Оатвогагппт угз Пе Туре О1 Вепг1се агз1 г1етттюгз йет1вест Оа1ацгалнп 1ог Ве Туре О$ Ветт1се агв1 Нозг 33 О,.
-.'Ц 1Р-ггб ууПеге-аге-уюи 1Р-тгб 1-апт-1теге МоЫе йецапатеп йещцзет Мою11е йе91взайоп йер1у г а1ь тсРл Сообщений оротокола! СМР об ошибках Так как сеть ТСР/1Р распределяет рутинные операции по маршрутизации между многими системами, не существует способа, с помощью которого любая из оконечных систем, вовлеченных в передачу пакета, могла бы иметь информацию о том, что же происходило на пути следования пакета.
Протокол 1Р не устанавливает соединения, поэтому никаких подтверждаюших сообщений на этом уровне отправителю не п~ютупает. При использовании протокола Транспортного урошш, ориентированного на соединение, например, ТСР, система-получатель подтверждает передачу, но только тех пакетов, которые она получает. Если же в процессе передачи нроисхолдт что-либо, не позволяющее пакету прибыть по месту назначения, протоколы ТСР или 1Р не имеют никакой возможности известить отправителя о том, почему и кэк зто случилось.
Сообщения об ошибках протокола 1СМР разработаны для компенсации этого недостатка. Когда промежуточная система, например, маршрутизатор, испытывает трудности с обработкой пакета„она обычно просто отбрасывает его, оставляя для протоколов более высоких уровней работу по отслеживанию отсутствующих пакетов и организации повторной передачи. Сообшения протокола 1СМР позволяют маршрутизатору информировать отправителя о конкретной причине возникшей проблемы.
Системы-получатели также могут посылать 1СМР-сообщения, когда сталкиваются с тем, что пакет успешно прибывают, но его невозможно обработать. Поле данных 1СМР-сообщения об ошибке всегда содержйт заголовок 1Р- пакета, который система не может правильно интерпретировать, шпос первые 8 байтов поля данных собственно дейтаграммы. В большинстве случаев эти 8 байтов содержат ИЭР-заголовок или начала ТСР-заголовка, включая номера портов отправителя и адресата и порядковый номер (в случае ТСРу. Наличие такой информации предоставляет воэможносп системе,,получив-, шей сообщение об ошибке, определить точное время возникновения ошибки н передачу, которая к ней привела. Вместе с тем, 1СМР-сообщения об ошибках являются только инфбриацпонными.
Система„получающая их, никак ие отвечает и не обязана предпринимать никаких действий в плане исправления ситуации. Пользователю или администратору придется самим решать проблему, приволяпбло к неполадкам. Вообще говоря, ТСР/1Р-системы могут совершенно 'свободно посылать 1СМР-сообщения об ошибках, кроме некоторых специФических ситуаций. Зтя исключения призваны предотвратить образование протоколом 1СМР слишком интенсивного сетевого графика из-за генерации большого числа одинаковых сообщений. Данные исключения перечислены ниже. О ТСР/1Р-системы не вырабатывают 1СМР-сообщения об ошибках в ответ на другие 1СМР-сообщения об ошибках. Без подобной оговорки две системы могут обмениваться 1СМР-сосбшениямн об ошибках в обоих на- Часп !г!.
Сетевьв и!татслплы правлениях ла бесконечности. С другой стороны;-системы могут отвечать 1СМР-сообщениями об ошибках на 1СМР-запросы. с3 В случае фрагментированной дейтаграммы система генерирует 1СМР- сообщение аб ошибке толька лля первого фрагмента. с3 ТСРг1Р-системы никогда не посыла!от 1СМР-сообщения аб ошибках в ответ на шиуакавешательные или групповые Сообщения, а также сообщения, где й качестве 1Р-адреса назначения стоит О.О.О.О, или сообщения, направленные па адресу обратной связи (1оарЬас(с Ас(с(тем). Следующие разделы описывают наиболее часта встречаюпсиеся тйпы 1СМР- сообщений аб ошибках и их функции. Сообщения тица Юеебпабоп ОпгваспаЫв Эти 1СМР-сообщения имеют значение 3 в целе типа (Туре) и одна из 13 значений в пале кода (Соде).