Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Глава 8 Межсетевой протокол: маршрутизация IP-дейтаграмм



8.1 Введение

Мы уже видели, что все межсетевые средства строятся на основе
ненадежной системы доставки пакетов без установления соединения,
и что базовой единицей передачи в интернете TCP/IP является
IP-дейтаграмма. Эта глава добавляет к описанию средства без
установления соединения описание того, как шлюзы маршрутизируют
IP-дейтаграммы и доставляют их к месту назначения. Можно сказать,
что формат дейтаграммы из главы 7 характеризует статические
аспекты Межсетевого Протокола. Описание маршрутизации в этой
главе характеризует его операционные аспекты. Следующая глава
завершит рассмотрение нами IP описанием того, как обрабатываются
ошибки; последующие главы покажут, как другие протоколы
используют его для реализации средств более высокого уровня.

8.2 Маршрутизация в Интернете

В системе с коммутацией пакетов маршрутизация обозначает
процесс выбора пути, по которому будут посылаться пакеты, а
маршрутизатором называется компьютер, производящий этот выбор.
Маршрутизация происходит на нескольких уровнях. Например, в
глобальной сети, имеющей по несколько физических соединений между
коммутаторами пакетов, сеть сама отвечает за маршрутизацию
пакетов с того времени, как они попали в нее, и до тех пор, пока
они не покинут ее. Такая внутренняя маршрутизация происходит
полностью внутри этой глобальной сети. Машины за ее пределами
не могут участвовать в принятии решений; для них эта сеть
представляется единым целым, которое доставляет пакеты.
Напомним, что целью TCP/IP является обеспечить виртуальную
сеть, предоставляющую средство доставки IP-дейтаграмм без
установления соединения. Поэтому, мы сосредоточим на внимание на
межсетевой маршрутизации или IP-маршрутизации. Как и
маршрутизация внутри физической сети, IP-маршрутизация выбирает
путь, по которому следует послать дейтаграмму. Алгоритм
IP-маршрутизации должен определить, как послать дейтаграмму через
несколько физических сетей.
Маршрутизация в интернете может быть сложной, особенно между
машинами с несколькими физическими сетевыми соединениями. В
идеале программное обеспечение маршрутизации должно учитывать
такие вещи, как загрузка сети, длина дейтаграммы, или тип
сервиса, указанный в заголовке дейтаграммы, при выборе наилучшего
пути. Тем не менее, большинство программного обеспечения
межсетевой маршрутизации гораздо менее сложное, и выбирает пути
на основе фиксированных предположений о самых коротких путях.
Чтобы полностью понять IP-маршрутизацию, мы должны вернуться
назад и вспомнить архитектуру интернета TCP/IP. Во-первых,
напомним, что интернет состоит из группы физических сетей,
соединенных компьютерами, называемыми шлюзами. Каждый шлюз имеет
прямое соединение с двумя или более сетями. В отличие от шлюза,
ГВМ обычно соединен напрямую только с одной физической сетью. Тем
не менее, мы знаем, что возможно существование многоадресных ГВМ,
которые соединены напрямую с несколькими сетями.
Как ГВМ, так и шлюзы участвуют в IP-маршрутизации. Когда
прикладная программа на ГВМ пытается организовать взаимодействие,
протоколы TCP/IP в конечном счете генерируют одну или несколько
IP-дейтаграмм. ГВМ должен принять решение о маршруте, когда он
выбирает, куда послать дейтаграмму. Как показывает рисунок 8.1,
ГВМ должны принять решение, даже если они имеют только одно
соединение с сетью.

^ к одним ^ к другим
| ГВМ | ГВМ
----- -----
| Ш1| | Ш2|
----- -----
| |
--------------------------------------------------------
|
-----
|ГВМ|
-----

Рисунок 8.1 Пример одноадресного ГВМ, который должен
маршрутизировать дейтаграммы. Он должен выбрать, послать ли
дейтаграмму шлюзу Ш1 или шлюзу Ш2, так как нет одного шлюза,
обеспечивающего наилучший путь ко всем назначениям.

Конечно, шлюзы должны принимать решения об IP-маршрутизации
(это их основная задача и причина того, что их назвали
маршрутизаторами). А как же многоадресные ГВМ? Любой компьютер с
несколькими сетевыми соединениями может выступать в роли шлюза, и
как мы увидим позже, многоадресные ГВМ с сетевым программным
обеспечением TCP/IP имеют все необходимое для маршрутизации.
Более того, локальные сети, в которых нет возможности выделить
отдельные компьютеры под шлюз, часто используют компьютеры
общего назначения с разделением времени в роли как ГВМ, так и
шлюза (эта практика особенно распространена в университетах).
Тем не менее, стандарты TCP/IP делают различие между этими
функциями в ГВМ и шлюзе, а в сетях, пытающихся смешивать функции
ГВМ и шлюза в одной машине, иногда обнаруживается, что
многоадресные шлюзы участвуют в неожиданных взаимодействиях. А
пока, мы будем различать ГВМ и шлюзы, и предполагать, что ГВМ не
реализуют функцию шлюза по передаче пакетов из одной сети в
другую.

8.3 Прямая и косвенная доставка

Говоря нестрого, мы можем выделить две формы маршрутизации:
прямую маршрутизацию и косвенную маршрутизацию. Прямая
маршрутизация, передача дейтаграммы напрямую из одной машины в
другую, является основой, на которой строится все остальное
межсетевое взаимодействие. Две машины могут участвовать в прямой
маршрутизации только в том случае, когда они обе соединены
напрямую с одной физической системой передачи(например,
Ethernetом). Косвенная маршрутизация осуществляется, когда
назначение не находится в той же сети, что и источник, и
заставляет отправителя передавать дейтаграмму шлюзу для доставки.

8.3.1 Доставка дейтаграммы по одной сети

Мы знаем, что одна машина в данной физической сети может
послать физический кадр напрямую другой машине в этой же сети.
Для передачи IP-дейтаграмм отправитель инкапсулирует дейтаграмму
в физический кадр, отображает IP-адрес назначения в физический
адрес, и использует сетевое оборудование для его доставки. Глава
5 представила два возможных механизма при разрешении адресов,
включая использование протокола ARP для динамического связывания
пар адресов в Ethernet-подобных сетях. Глава 7 рассмотрела
инкапсуляцию дейтаграмм. Поэтому мы знаем теперь все необходимое
для понимания прямой доставки. Обобщим:

Передача IP-дейтаграмм между двумя машинами в одной
физической сети не использует шлюзы. Отправитель инкапсулирует
дейтаграмму в физический кадр, связывает IP-адрес назначения с
физическим аппаратным адресом и посылает полученный кадр прямо
назначению.

Откуда отправитель узнает, что получатель находится в сети, к
которой он присоединен? Ответ прост. Мы знаем, что IP-адреса
делятся на номер сети и номер ГВМ в сети. Чтобы определить,
находится ли назначение в одной из сетей, к которым он
присоединен, отправитель выделяет сетевую часть IP-адреса
назначения и сравнивает ее с сетевой частью своего IP-адреса(ов).
Совпадение означает, что дейтаграмму можно послать напрямую.
Здесь мы видим одно из преимуществ схемы адресации Интернета, а
именно:

Так как межсетевые адреса всех машин в одной сети включают
общий идентификатор сети, и так как выделение этого
идентификатора может быть сделано несколькими машинными
командами, проверка того, что машина может быть достигнута
напрямую, является крайне эффективной.

С точки зрения интернета легче всего представить прямую
маршрутизацию как доставку дейтаграммы. Доставка - это конечный
шаг при передаче дейтаграммы, даже если дейтаграмма пересекла
много сетей и промежуточных шлюзов. Последний на пути между
источником дейтаграммы и ее назначением шлюз будет напрямую
соединен с той же самой физической сетью, что и назначение.
Поэтому, последний шлюз будет доставлять дейтаграмму, используя
прямую маршрутизацию. Можно представлять прямую маршрутизацию
между источником и назначением как специальный случай общей
маршрутизации - для прямого пути дейтаграмме не надо проходить
через шлюзы.

8.3.2 Косвенная маршрутизация

Косвенная маршрутизация более трудна, чем прямая, так как
отправитель должен идентифицировать шлюз, которому можно послать
дейтаграмму. Шлюз должен затем отправить дейтаграмму к сети
назначения.
Для визуализации того, как работает косвенная маршрутизация,
представим себе большой интернет со множеством сетей, соединенных
шлюзами, но имеющий лишь две ГВМ на самых дальних концах. Когда
одна ГВМ хочет что-то послать другой, она инкапсулирует
дейтаграмму и посылает ее к ближайшему шлюзу. Мы знаем, что она
может достичь шлюза, так как все физические сети связаны друг с
другом, поэтому для каждой сети должен существовать шлюз,
присоединенный к ней. Поэтому, ГВМ, отправляющий дейтаграмму,
может достичь шлюза, используя одну физическую сеть. Как только
кадр достигает шлюза, программное обеспечение выделяет
инкапсулированную в нем дейтаграмму, процедуры IP-маршрутизации
выбирают следующий шлюз на пути к назначению. Дейтаграмма снова
помещается в кадр и посылается по следующей физической сети ко
второму шлюзу, и так далее, до тех пор, пока она не сможет быть
доставлена напрямую. Эти идеи можно обобщить:

Шлюзы в интернете TCP/IP образуют взаимодействующую и
связанную структуру. Дейтаграммы передаются от шлюза к шлюзу до
тех пор, пока они не достигнут шлюза, который может доставить
дейтаграмму напрямую.

Откуда шлюз может узнать, куда посылать каждую дейтаграмму?
Откуда шлюз знает, какой шлюз надо использовать для данного
назначения? Эти два вопроса связаны между собой, так как ответ
на оба вопроса использует IP-маршрутизацию. Мы ответим на них
последовательно, рассмотрев основные алгоритмы маршрутизации на
основе таблиц в этой главе и закончим рассмотрением того, как
шлюзы получают информацию о новых путях несколько позже.

8.4 IP-маршрутизация на основе таблиц.

Обычный алгоритм IP-маршрутизации работает с таблицей
маршрутизации Интернета (иногда называемой таблицей
IP-маршрутизации), имеющейся на каждой машине и хранящей
информацию о возможных назначениях и том, как их достичь. Так как
и ГВМ, и шлюзы маршрутизируют дейтаграммы, все они имеют таблицы
IP-маршрутизации. Всякий раз, когда программному обеспечению
IP-маршрутизации на ГВМ или шлюзе надо передать дейтаграмму, оно
обращается к таблице маршрутизации, чтобы решить, куда послать
дейтаграмму.
Какую информацию следует держать в таблицах маршрутизации?
Если бы каждая таблица маршрутизации содержала информацию о всех
возможных адресах назначения, было бы невозможно поддерживать
корректное состояние таблицы. Более того, так как число возможных
назначений велико, машинам не хватало бы памяти для хранения всей
этой информации.
Концептуально, нам хотелось бы использовать принцип
отсутствия информации и предоставить машинам возможность
принимать решение о маршрутизации при минимальной информации.
Например, нам было бы желательно не хранить информацию о
конкретных ГВМ в локальной сети, в которой они расположены, а
поместить в таблицу информацию об удаленных машинах, для которых
нужно маршрутизировать пакеты. К счастью схема адресации IP
помогает достичь такой цели. Напомним, что IP-адреса назначаются
так, что у всех машин, присоединенных к конкретной физической
сети, имеется одинаковое начало(номер сети). Мы уже видели, что
такое назначение делает эффективной проверку на прямую доставку.
Оно также означает, что таблицам маршрутизации нужно содержать
только сетевые префиксы, а не полные IP-адреса.
Использование номера сети в адресе назначения вместо полного
адреса ГВМ делает маршрутизацию эффективно, а таблицы
маршрутизации маленькими. Более того, оно помогает скрыть
информацию о конкретных ГВМ в локальной среде, к которой эти ГВМ
присоединены. Обычно таблица содержит пары (N,G), где N - это
IP-адрес сети назначения, а G - IP-адрес следующего шлюза на пути
к сети N. Поэтому, таблица маршрутизации в шлюзе G определяет
только один шаг на пути от G к сети назначения - шлюз не знает
полный путь к назначению.
Важно понимать, что таблица маршрутизации всегда указывает на
шлюзы, которые находятся на расстоянии одной физической сети. То
есть, все шлюзы, приведенные в таблице маршрутизации машины М,
должны находиться в сетях, к которым М присоединена напрямую.
На практике, мы по возможности придерживаемся принципа
скрытия информации от ГВМ. Мы настаиваем, что хотя ГВМ имеют
таблицы IP-маршрутизации, они должны хранить минимум информации в
своих таблицах. Идея заключается в том, чтобы заставить ГВМ
полагаться на шлюзы для большей части маршрутизации.
Рисунок 8.2 показывает конкретный пример, который помогает
понять таблицы маршрутизации. Интернет в этом примере состоит из
четырех сетей, соединенных тремя шлюзами. На рисунке показана
таблица маршрутизации, используемая шлюзом G. Так как G
присоединен напрямую к сетям 20.0.0.0 и 30.0.0.0, он может
достичь любой ГВМ в этих сетях напрямую(возможно используя ARP
для нахождения физического адреса). Получив дейтаграмму,
предназначенную ГВМ в сети 40.0.0.0, G маршрутизирует ее в адрес
30.0.0.7, адрес шлюза H. H затем доставит дейтаграмму напрямую. G
может достичь адреса 30.0.0.7, так как и G, и H присоединены к
сети 30.0.0.0.
20.0.0.5 30.0.0.6 40.0.0.7
| | |
---------- V---------- V---------- V----------
| Сеть | --- | Сеть | --- | Сеть | --- | Сеть |
|10.0.0.0|-|F|-|20.0.0.0|-|G|-|30.0.0.0|-|H|-|40.0.0.0|
| | --- | | --- | | --- | |
----------^ ----------^ ----------^ ----------
| | |
10.0.0.5 20.0.0.6 30.0.0.7

(а)


Чтобы достичь Маршрутизировать
ГВМ в сети к адресу

20.0.0.0 прямая доставка
30.0.0.0 прямая доставка
10.0.0.0 20.0.0.5
40.0.0.0 30.0.0.7

(б)


Рисунок 8.2 (а) Демонстрационный интернет с 4 сетями и 3
шлюзами, и (б) таблица маршрутизации для шлюза G

Как показывает рисунок 8.2, размер таблицы маршрутизации
зависит от числа сетей в интернете; он увеличивается только при
добавлении новых сетей. Тем не менее, размер таблицы и ее
содержимое не зависят от числа отдельных ГВМ, присоединенных к
сетям. Мы можем сформулировать следующий принцип:

Чтобы работать при минимальной информации, чтобы сделать
таблицы маршрутизации маленькими и чтобы эффективно принимать
решения о маршрутизации, программное обеспечение IP-маршрутизации
хранит информацию только об адресах сетей назначений, а не о
конкретных адресах ГВМ.

Выбор маршрутов на основе идентификатора сети назначения
имеет несколько следствий. Во-первых, в большинстве реализаций
это значит, что весь траффик к конкретной сети будет использовать
один и тот же путь. В результате, даже если существует несколько
путей, они не смогут использоваться параллельно. Также все типы
траффика будут проходить по одному и тому же пути, независимо от
задержки при передаче и пропускной способности физических сетей.
Во-вторых, так как только последний шлюз на пути пытается
взаимодействовать с ГВМ назначения, только он сможет определить,
работает ли ГВМ. Поэтому, нам нужно определить способ, с помощью
которого этот шлюз мог бы послать сообщение источнику о проблемах
при доставке. В-третьих, так как каждый шлюз маршрутизирует
траффик независимо от других, дейтаграммы, следующие от ГВМ А к
ГВМ В, могут использовать путь, отличный от того, который
проходят дейтаграммы от ГВМ В к ГВМ А. Нам нужно быть уверенными
в том, что шлюзы взаимодействуют, для того чтобы гарантировать и
прямое, и обратное взаимодействие.

8.5 Маршруты по умолчанию

Другой технологией, используемой для работы при минимуме
информации и маленьких таблицах маршрутизации, является
объединение нескольких элементов таблицы в случай по умолчанию.
Идея состоит в том, что сначала программное обеспечение
IP-маршрутизации ищет сеть назначения в таблице маршрутизации.
Если для нее нет маршрута в таблице, процедуры маршрутизации
посылают дейтаграмму к шлюзу по умолчанию.
Маршрутизация по умолчанию особенно полезна, когда сеть имеет
несколько ГВМ и только одно соединение с интернетом. Например,
маршруты по умолчанию хорошо работают для машин, которые
присоединены только к одной физической сети и используют только
один шлюз для достижения остальной части интернета. Все решение о
выборе маршрута в таком случае состоит из двух проверок: одной -
на нахождение в локальной сети, и одной - случая по умолчанию,
указывающего на единственный возможный шлюз. Даже, если
место(site) имеет в своем составе несколько локальных сетей,
маршрутизация проста, так как состоит из нескольких проверок на
локальные сети и умолчания для всех остальных мест назначения.

8.6 Маршруты, специфичные для ГВМ

Хотя мы сказали, что вся маршрутизация основывается на сетях,
а не на отдельных ГВМ, большая часть программного обеспечения
IP-маршрутизации позволяет указывать как особый случай маршруты
для отдельных ГВМ. Наличие маршрутов для ГВМ предоставляет
администратору локальной сети большие возможности по слежению за
использованием сети и может быть использовано для наблюдения за
доступом к сети и обеспечения секретности. При отладке сетевых
соединений или таблиц маршрутизации способность указывать
специальный путь для отдельной машины оказывается особенно
полезной.

8.7 Итоговый алгоритм

Принимая во внимание все вышесказанное, получаем следующий
вид алгоритма IP-маршрутизации:

Алгоритм:

Маршрутизир_дейтаграмму_IP(дейтаграмма,таблица_маршрутизации)

Выделить IP-адрес назначения, Id, из дейтаграммы
Вычислить IP-адрес сети назначения,In
Если In соответствует адресу одной из достижимых
напрямую сетей,
послать дейтаграмму к назначению по этой сети;
(это включает разрешение Id в физический адрес,
инкапсуляцию дейтаграммы и посылку кадра)
иначе если для Id определен маршрут, специфичный для ГВМ
маршрутизировать дейтаграмму, как это определено в таблице;
иначе если In определено в таблице маршрутизации
маршрутизировать дейтаграмму, как это определено в таблице;
иначе если указан маршрут по умолчанию
маршрутизировать дейтаграмму к шлюзу по умолчанию;
иначе выдать сообщение об ошибке при маршрутизации;

Рисунок 8.3 Алгоритм IP-маршрутизации. Имея в качестве
исходных данных IP-дейтаграмму и таблицу маршрутизации, этот
алгоритм выбирает следующую машину, на которую будет послана
дейтаграмма. Таблицы маршрутизации всегда указывают в качестве
следующей машины ту, что находится в сети, достижимой напрямую.

8.8 Маршрутизация для IP-адресов

Важно понимать, что IP-маршрутизация не изменяет исходную
дейтаграмму. В частности, поля отправителя и получателя
дейтаграммы остаются неизменными; они всегда указывают IP-адрес
первоначального отправителя и IP-адрес конечного получателя.
Когда IP исполняет алгоритм маршрутизации, он вычисляет новый
адрес, IP-адрес очередной машины, на которую надо послать
дейтаграмму. Этот новый адрес по всей видимости будет адресом
шлюза. Тем не менее, если дейтаграмма может быть доставлена
напрямую, этот новый адрес будет совпадать с адресом конечного
назначения.
IP-адрес, вычисленный алгоритмом IP-маршрутизации, известен
как адрес следующей попытки(hop), так как он определяет, куда
послать дейтаграмму в следующий раз(хотя это место может и не
быть местом конечного назначения). Где же IP сохраняет адрес
следующей попытки? Не в дейтаграмме; там для него нет места. По
сути дела IP не сохраняет адрес следующей попытки вообще. После
выполнения алгоритма маршрутизации IP передает дейтаграмму и
адрес следующей попытки программному обеспечению сетевого
интерфейса той сети, по которой должна быть передана дейтаграмма.
Программное обеспечение сетевого интерфейса связывает адрес
следующей попытки с физическим адресом, формирует кадр, используя
этот физический адрес, помещает дейтаграмму в поле данных кадра и
посылает результат. После использования адреса следующей попытки
для нахождения физического адреса программное обеспечение
сетевого интерфейса удаляет адрес следующей попытки.
Может показаться странным, что таблицы маршрутизации хранят
IP-адрес следующей попытки для каждой сети назначения, в то время
как эти адреса должны транслироваться в соответствующие
физические адреса перед посылкой дейтаграммы. Если мы представим
ГВМ, посылающий последовательность дейтаграмм одному и тому же
назначению, такое использование IP-адресов будет явно
неэффективным. IP послушно выделяет адрес назначения в каждой
дейтаграмме и использует таблицу маршрутизации для определения
адреса следующей попытки. Затем он передает дейтаграмму и адрес
следующей попытки сетевому интерфейсу, который находит физический
адрес. Если бы таблица маршрутизации использовала физические
адрес, определение соответствия между IP-адресом следующей
попытки и физическим адресом могло бы выполняться лишь один раз.
Почему же программное обеспечение IP избегает пользоваться
физическими адресами при хранении и вычислении маршрутов? Как
показывает рисунок 8.4, существуют две важные причины.


ПРОВЕРКА ИЛИ МАРШРУТИЗИРУЕМАЯ
ОБНОВЛЕНИЕ МАРШРУТОВ | ДЕЙТАГРАММА
V
---------------- ----------------
| таблица | / алгоритм \
| маршрутизации|--------->| маршрутизации |
| | \ в IP /
---------------- \---------------/
|
используются IP-адреса |
-------------------------------------------------------------
используются физические адреса | отправляемая дейтаграмма и
V адрес следующей попытки

Рисунок 8.4 Программное обеспечение IP и таблица
маршрутизации, которую оно использует, находятся выше границы
адресов. Использование только IP-адресов делает маршруты удобными
для проверки и изменения и скрывает детали физических адресов на
самом нижнем из возможных уровней.

Во-первых, таблица маршрутизации обеспечивает особенно ясный
интерфейс между программным обеспечением IP, маршрутизирующим
дейтаграммы, и высокоуровневым программным обеспечением,
управляющим путями. Для отладки ошибок маршрутизации сетевым
администраторам часто нужно проверять таблицы маршрутизации.
Использование только IP-адресов в таблице маршрутизации приводит
к тому, что администраторам становится легко понимать таблицу и
обнаруживать корректность изменения таблицы программным
обеспечением. Во-вторых, одной из главных целей разработки
Межсетевого Протокола являлось создание абстракции, скрывающей
детали нижележащих сетей.
Рисунок 8.4 показывает границу адресов, важную концептуальную
границу между низкоуровневым программным обеспечением, понимающим
физические адреса, и межсетевым программным обеспечением,
использующим только высокоуровневые адреса. Выше этой границы все
программное обеспечение для взаимодействия может быть написано с
использованием только межсетевых адресов; знание физических
адресов предоставляется нескольким небольшим низкоуровневым
процедурам. Мы увидим, что выделение этой границы также помогает
сделать реализацию остальных протоколов TCP/IP легкой для
понимания, проверки и модификации.

8.9 Обработка приходящих дейтаграмм

Итак, мы рассмотрели IP-маршрутизацию, описав, как
принимаются решения относительно отправляемых пакетов. Тем не
менее, ясно, что программное обеспечение IP должно также
обрабатывать приходящие дейтаграммы.
Когда IP-дейтаграмма прибывает на ГВМ, программное
обеспечение сетевого интерфейса доставляет ее программному
обеспечению IP для обработки. Если адрес назначения дейтаграммы
соответствует IP-адресу ГВМ, программное обеспечение IP на ГВМ
принимает дейтаграмму и передает ее программе протокола более
высокого уровня для дальнейшей обработки. Если же IP-адрес
назначения не соответствует ему, ГВМ требуется уничтожить
дейтаграмму(то есть ГВМ не позволяется пытаться маршрутизировать
дейтаграммы, по ошибке пришедшие не на ту машину).
В отличие от ГВМ, шлюзы выполняют маршрутизацию. Когда
IP-дейтаграмма прибывает на шлюз, она доставляется программному
обеспечению IP. И снова можно выделить два варианта: дейтаграмма
может быть доставлена к ее конечному назначению, или ее нужно
отправить путешествовать дальше. Как и на ГВМ, если IP-адрес
назначения дейтаграммы соответствует собственному IP-адресу
шлюза, программное обеспечение IP передает дейтаграмму
программному обеспечению более высокого уровня для
обработки(обычно, единственными дейтаграммами, предназначающимися
шлюзу, являются те, что используются для проверки достижимости и
те, что несут команды администрирования шлюзом). Если дейтаграмма
еще не достигла своего конечного назначения, IP маршрутизирует
ее, используя стандартный алгоритм и информацию из локальной
таблицы маршрутизации.
Определение того, достигла ли IP-дейтаграмма своего конечного
назначения или нет, не так тривиально, как это может показаться.
Напомним, что даже ГВМ может иметь несколько физических
соединений, и каждое из них имеет свой IP-адрес. Когда прибывает
IP-дейтаграмма, машина должна сравнить межсетевой адрес
назначения с IP-адресом каждого из своих сетевых соединений. Если
для какого-либо из них соответствие найдено, шлюз сохраняет
дейтаграмму и обрабатывает ее. Машина также должна принимать
широковещательные дейтаграммы из физических сетей, если их
IP-адрес назначения является IP-адресом ограниченного
широковещания или IP-адресом направленного широковещания для этой
сети. Как мы увидим в главах 16 и 17, подсети и многоадресные
адреса делают распознавание адресов достаточно сложным. В любом
случае, если адрес не соответствует ни одному из адресов этой
машины, IP декрементирует поле времени жизни в заголовке
дейтаграммы и удаляет дейтаграмму, если этот счетчик достиг нуля,
или вычисляет новую контрольную сумму и маршрутизирует
дейтаграмму, если счетчик больше нуля.
Должна ли каждая машина маршрутизировать дейтаграммы, которые
она получает? Ясно, что шлюзы должны маршрутизировать приходящие
дейтаграммы, так как это их основная задача. Мы также говорили,
что некоторые многоадресные ГВМ ведут себя как шлюзы, даже если
они на самом деле компьютеры общего назначения. Хотя
использование ГВМ в качестве шлюза обычно неразумно, если кто-то
все же сделал это, то ГВМ должен быть сконфигурирован так, чтобы
маршрутизировать дейтаграммы так же, как это делает шлюз. А как
же остальные ГВМ, не предназначенные для использования в качестве
шлюзов? Ответ будет следующий: ГВМ, не используемые в качестве
шлюзов, не должны маршрутизировать приходящие на них дейтаграммы;
они должны уничтожать их.
Существует четыре причины, почему ГВМ, не предназначенный для
функционирования в качестве шлюза, должен воздерживаться от
выполнения любых функций шлюза. Во-первых, когда такой ГВМ
получает дейтаграмму, предназначавшуюся другой машине, либо есть
ошибка в межсетевом адресе, либо произошла ошибка при
маршрутизации или доставке. Эта ошибка может быть не обнаружена,
если ГВМ совершит корректирующее действие с помощью маршрутизации
дейтаграммы. Во-вторых, маршрутизация может привести к
возникновению лишнего межсетевого траффика(и может отвлечь ЦП от
выполнения по-настоящему нужных задач). В-третьих, простые ошибки
могут вызвать хаос. Предположим, что каждый ГВМ маршрутизирует
траффик и представим себе, что случится, если одна из машин по
ошибке широковещательно передаст дейтаграмму, предназначенную на
самом деле лишь одному ГВМ, Н. Каждый ГВМ в сети получит копию
дейтаграммы в результате широковещания, и каждая машина направит
свою копию к Н, которая в результате будет бомбардирована
множеством копий. В-четвертых, как покажут последующие главы,
шлюзы не только маршрутизируют траффик. В следующей главе будет
показано, что шлюзы используют специальный протокол для сообщений
об ошибках, в то время как ГВМ не используют его(опять же, чтобы
избежать бомардирования источника множеством сообщений об
ошибках). Шлюзы также распространяют информацию о маршрутах для
того, чтобы их таблицы были согласованными. Если ГВМ
маршрутизируют дейтаграмму, не реализуя при этом всех функций
шлюза, могут возникать неожиданные аномалии.

8.10 Работа с таблицами маршрутизации

Мы рассмотрели, как IP маршрутизирует дейтаграммы,
основываясь на содержимом таблиц маршрутизации, не сказав при
этом, как системы инициализируют свои таблицы маршрутизации или
как они обновляют их при изменениях в сети. Следующие главы
ответят на эти вопросы и рассмотрят протоколы, позволяющие шлюзам
делать маршруты согласованными. А пока, важно понимать только,
что IP делает все решения маршрутизации на основе таблиц, поэтому
изменение этих таблиц изменит пути, по которым будут следовать
дейтаграммы.

8.11 Итоги

IP-маршрутизация представляет собой принятие решения от том,
куда послать дейтаграмму на основе ее IP-адреса назначения.
Маршрут является непосредственным, если машина назначения
находится в сети, которой присоединена посылающая машина; мы
будем считать это последним шагом доставке при передаче
дейтаграммы. Маршрут является косвенным, если дейтаграмму надо
послать шлюзу для доставки. Общий принцип заключается в том, что
ГВМ посылают косвенно маршрутизируемые дейтаграммы ближайшему
шлюзу; дейтаграммы путешествуют по интернету от шлюза к шлюзу до
тех пор, пока они не смогут быть напрямую доставлены по
физической сети.
IP-маршрутизация генерирует IP-адрес следующей машины(т.е.
адрес следующей попытки), к которой следует послать дейтаграмму;
IP передает дейтаграмму и адрес следующей попытки программному
обеспечению сетевого интерфейса. Передача дейтаграммы от одной
машины к другой всегда включает инкапсуляцию дейтаграммы в
физический кадр, отображение межсетевого адреса следующей попытки
в физический адрес и посылку кадра, используя аппаратное
обеспечение.
Межсетевой алгоритм маршрутизации управляется таблицей и
использует только IP-адреса. Он основывает решения маршрутизации
на адресе сети назначения, а не на адресе ГВМ назначения, что
делает таблицы маршрутизации маленькими. Маршруты по умолчанию
также помогают таблицам оставаться маленькими, особенно для тех
ГВМ, которые имеют доступ только к одному шлюзу.

Глава 9
Межсетевой протокол: Ошибки и Управляющие сообщения(ICMP)

9.1 Введение

Мы уже видели, что Межсетевой протокол обеспечивает
ненадежное средство доставки без установления соединения, и что
дейтаграммы путешествуют от шлюза к шлюзу до тех пор, пока они не
достигнут шлюза, который может напрямую доставить их к конечному
месту назначения. Если шлюз не может маршрутизировать или
доставить дейтаграмму, или если шлюз обнаружил необычные условия
при работе, такие как переполнение сети, влияющие на его
способность отправлять дейтаграммы, ему нужно сообщить
первоначальному источнику, что требуется предпринять действия для
решения возникшей проблемы. Эта глава рассматривает механизм,
используемый шлюзами и ГВМ для передачи управляющей информации и
информации об ошибках. Мы увидим, как шлюзы используют этот
механизм, чтобы сообщать о проблемах при доставке, и как ГВМ
используют его для проверки достижимости назначения.

9.2 Межсетевой протокол управляющих сообщений

В системе без установления соединения, которую мы описали,
каждый шлюз работает автономно при маршрутизации или доставке
прибывающих дейтаграмм, не координируя свои действия с исходным
отправителем. Эта система хорошо работает, если все функционируют
корректно и согласовали маршрутизацию, но ведь не существует
систем, корректно работающих все время. Помимо сбоев линий
передачи и процессоров, IP аварийно завершает доставку
дейтаграмм, когда машина назначения временно или постоянно
отключена от сети, когда обнуляется счетчик времени жизни, или
когда промежуточные шлюзы так переполняются, что не могут
обработать приходящий траффик. Важное различие между реальной,
аппаратной сетью и интернетом, основанным на программном
обеспечении, заключается в том, что в первом разработчик часто
может положиться на сетевое оборудование при доведении до машин о
возникновении проблем. В интернете, не имеющем такого аппаратного
механизма, отправитель не может сказать, явился ли причиной
ошибки при доставке сбой на локальной машине или удаленной.
Отладка становится крайне трудной. В самом протоколе IP нет
ничего, что могло бы помочь отправителю проверить связность или
узнать о таких ошибках.
Чтобы дать возможность шлюзам в интернете сообщать об ошибках
или предоставлять информацию о нестандартных условиях работы,
разработчики добавили механизм сообщений специального назначения
в протоколы TCP/IP. Этот механизм, известный как Межсетевой
Протокол Управляющих Сообщений(ICMP), считается необходимой
частью IP и должен включаться в каждую реализацию IP.
Как и весь другой траффик, сообщения ICMP передаются по
интернету в поле данных IP-дейтаграмм. Конечным назначением
сообщений ICMP, тем не менее, является не прикладная программа
или пользователь на машине назначения, а программное обеспечение
IP на этой машине. То есть, когда прибывает сообщение ICMP об
ошибке, его обрабатывает модуль программного обеспечения ICMP.
Конечно, если ICMP определит, что ошибка была вызвана конкретным
протоколом более высокого уровня или прикладной программой, он
сообщит об этом соответствующему модулю. Подведем итоги:

Межсетевой Протокол Управляющих Сообщений позволяет шлюзам
посылать управляющие сообщения или сообщения об ошибках на другие
шлюзы или ГВМ; ICMP обеспечивает взаимодействие между программным
обеспечением Межсетевого Протокола разных машин.

Первоначально разработанный для предоставления шлюзам
возможности сообщать о причинах ошибок доставки ГВМ, ICMP не
предназначен только для шлюзов. Хотя руководства ограничивают
использование некоторых сообщений ICMP, любая машина может
послать сообщение ICMP на любую другую машину. Поэтому, ГВМ может
использовать ICMP для связи со шлюзом или другим ГВМ. Главная
выгода от разрешения ГВМ использовать ICMP заключается в том, что
он обеспечивает простой механизм, используемый для всех
управляющих и информационных сообщений.

9.3 Сообщение об ошибке против исправления ошибки

Говоря техническим языком, ICMP - это механизм сообщения об
ошибках. Он обеспечивает для шлюзов, обнаруживающих ошибки,
способ сообщить об ошибке первоначальному источнику. Хотя
спецификация протокола определяет допустимые способы
использования ICMP и предлагает варианты возможных действий в
ответ на ошибки, ICMP не специфицирует полностью действия,
которые нужно предпринять в ответ на все возможные ошибки. Короче
говоря:

ICMP только сообщает о возникших ошибках первоначальному
источнику; источник сам должен связать ошибки с конкретными
прикладными программами и предпринять действия по исправлению
ошибок.

Большая часть ошибок исходит от первоначального источника, но
другие - нет. Так как ICMP сообщает об ошибках первоначальному
источнику, он не может использоваться, чтобы информировать
промежуточные шлюзы об ошибках. Например, представим, что
дейтаграмма следует по пути через шлюзы G1,G2,...,Gk. Если Gk
содержит некорректную информацию о маршрутах и ошибочно отправит
дейтаграмму на шлюз Gе, то Ge может лишь сообщить об ошибке
первоначальному источнику. К сожалению, источник не отвечает за
эту проблему и не может управлять некорректно ведущим себя
шлюзом. Фактически, источник не сможет даже определить, какой
шлюз вызвал эту проблему.
Зачем ограничивать ICMP взаимодействием с первоначальным
источником? Ответ должен быть очевиден, если вспомнить
рассмотрение нами форматов дейтаграммы и маршрутизации в
предыдущих главах. Дейтаграмма содержит поля, которые определяют
только первоначального источника и конечного получателя; она не
содержит полного описания своего пути через интернет(кроме
необычных случаев, когда используется опция записи маршрута).
Более того, так как шлюзы могут создавать и менять свои таблицы
маршрутизации, не существует глобального представления о путях.
Поэтому, когда дейтаграмма достигает данного шлюза, нельзя
узнать, какой путь она прошла до этого. Если шлюз обнаруживает
ошибку, он не может узнать какие промежуточные машины
обрабатывали эту дейтаграмму, и поэтому не может сообщить им об
ошибке. Вместо простого удаления дейтаграммы этот шлюз использует
ICMP, чтобы сообщить первоначальному источнику о возникшей
проблеме, надеется на то, что администраторы ГВМ будут
взаимодействовать с администраторами сети, чтобы локализовать и
исправить ошибку.

9.4 Доставка сообщения ICMP

Сообщения ICMP требуют двух уровней инкапсуляции, как
показано на рисунке 9.1. Каждое сообщения ICMP передается по
интернету в поле данных IP-дейтаграммы, которая сама передается
по каждой физической сети в поле данных кадра. Дейтаграммы,
несущие сообщения ICMP маршрутизируются точно так же, как и
дейтаграммы, несущие информацию для пользователей; для них не
используются дополнительные приоритет или надежность. Поэтому,
сами сообщения об ошибках могут быть потеряны или удалены. Более
того, в уже переполненной сети сообщения об ошибках могут вызвать
дополнительное переполнение. Исключение делается для процедур
обработки ошибок, если IP-дейтаграмма, несущая сообщение ICMP,
вызвала ошибку. Это исключение, установленное для того, чтобы
избежать проблемы появления сообщений об ошибках, вызванных в
свою очередь сообщениями об ошибках, определяет, что сообщения
ICMP не генерируются для ошибок, появившихся из-за дейтаграмм,
несущих сообщения об ошибках ICMP.


--------------------------------------
|заголовок | данные ICMP |
| ICMP | |
--------------------------------------
V V
-------------------------------------------------
| заголовок| область данных дейтаграммы |
|дейтаграмм| |
-------------------------------------------------
V V
-----------------------------------------------------------
|заголовок| область данных кадра |
|кадра | |
-----------------------------------------------------------


Рисунок 9.1 Два уровня инкапсуляции ICMP. Сообщение ICMP
инкапсулируется в IP-дейтаграмме, которая в свою очередь
инкапсулируется в кадре для передачи. Для идентификации ICMP поле
протокола дейтаграммы содержит значение 1.

Важно помнить, что несмотря на то, что сообщения ICMP
инкапсулируются и посылаются, используя IP, ICMP не считается
протоколом более высокого уровня - он является необходимой частью
IP. Причина использования IP для транспортировки сообщений ICMP
заключается в том, что им понадобиться пересечь несколько
физических сетей для того, чтобы достичь своего конечного
назначения. Поэтому, они не могут быть доставлены только с
помощью физической передачи.

9.5 Формат сообщения ICMP

Хотя каждое сообщение ICMP имеет свой собственный формат, все
они начинаются с трех одинаковых полей: 8-битового целочисленного
поля ТИП, которое идентифицирует сообщение, 8-битового поля КОД,
которое обеспечивает более точную информацию о типе сообщения, и
16-битового поля КОНТРОЛЬНАЯ_СУММА(ICMP использует тот же самый
аддитивный алгоритм, что и IP, но контрольная сумма ICMP
учитывает только сообщение ICMP). Помимо того, сообщения ICMP,
сообщающие об ошибках, всегда включают заголовок и первые 64 бита
данных дейтаграммы, вызвавшей ошибку.
Причиной возвращения не только заголовка дейтаграммы,
вызвавшей ошибку, является желание позволить получателю более
точно определять, какие протоколы и какие прикладные программы
ответственны за появление этой дейтаграммы. Как мы увидим позже,
протоколы более высокого уровня в связке TCP/IP разрабатывались
таким образом, что критическая информация закодирована в первых
64 битах.
Поле ТИП ICMP определяет смысл сообщения, а также его
формат. Эти типы включают:

Поле ТИП Тип сообщения ICMP

0 Ответ на эхо
3 Назначение недостижимо
4 Подавление источника
5 Переназначение(изменение маршрута)
8 Запрос эха
11 Превышено время для дейтаграммы
12 Ошибка параметра в дейтаграмме
13 Запрос временной отметки
14 Ответ для временной метки
15 Запрос информации(не действует)
16 Ответ на запрос информации(не действует)
17 Запрос маски адреса
18 Ответ на запрос маски адреса

Следующие секции описывают каждое из этих сообщений, приводя
при этом детальное описание формата сообщения и их смысл.

9.6 Тестирование достижимости назначения и его состояния

Протоколы TCP/IP обеспечивают средства, помогающие сетевым
администраторам или пользователям идентифицировать проблемы в
сети. Одно из самых наиболее используемых средств отладки
вызывает сообщения ICMP запрос эха и ответ эха. ГВМ или шлюз
посылает сообщение запроса эха указанному месту назначения. Любая
машина, получившая запрос эха, генерирует ответ на эхо и
возвращает его первоначальному отправителю. Этот запрос содержит
необязательную область данных; ответ содержит копию данных,
посланных в запросе. Запрос эха и связанный с ним ответ могут
использоваться для проверки достижимости назначения и его
способности отвечать на запросы. Так как и запрос эха, и ответ на
него передаются в IP-дейтаграммах, успешный прием ответа
свидетельствует о работоспособности основных частей транспортной
системы. Во-первых, программное обеспечение IP на машине
источника произвело маршрутизацию дейтаграммы. Во-вторых,
промежуточные шлюзы между источником и получателем работоспособны
и корректно маршрутизируют дейтаграммы. В-третьих, машина
получателя работает (по крайней мере, она обрабатывает
прерывания) и программное обеспечение как IP, так и ICMP
выполняет свои функции. И наконец, таблицы маршрутов в шлюзах на
всем обратном пути корректны.
Во многих системах команда, которую пользователи вызывают
для посылки запроса эха ICMP, называется ping. Усложненные версии
этой программы посылают серии запросов эха ICMP, принимают ответы
и выдают статистику о потерях дейтаграмм. Они позволяют
пользователю указывать длину посылаемых данных и интервалы
времени между запросами. Менее сложные версии просто посылают
запрос эха ICMP и ждут ответа.

9.7 Формат сообщения запроса эха и ответа эха

Рисунок 9.2 содержит формат сообщений запроса эха и ответа на
запрос эха.

0 8 16
------------------------------------------------------------
|тип(8 или 0)| код(0) | Контрольная сумма |
------------------------------------------------------------
| идентификатор | последовательный номер |
------------------------------------------------------------
| необязательные данные |
------------------------------------------------------------
|...... |
------------------------------------------------------------

Рисунок 9.2 Формат сообщения запроса эха и ответа на него


Поле, названное НЕОБЯЗАТЕЛЬНЫЕ ДАННЫЕ имеет переменную длину
и содержит данные, которые надо вернуть отправителю. Ответ на эхо
всегда возвращает те же самые данные, что были получены им в
запросе. Поля ИДЕНТИФИКАТОР и ПОСЛЕДОВАТЕЛЬНЫЙ НОМЕР используются
отправителем для проверки соответствия ответов запросам. Значение
поля ТИП определяет, является ли сообщение запросом(8) или
ответом(0).

9.8 Сообщения о недостижимости назначения

Когда шлюз не может доставить IP-дейтаграмму, он посылает
сообщение "назначение недостижимо" обратно первоначальному
отправителю, используя формат, приведенный на рисунке 9.3.


0 8 16
------------------------------------------------------------
|тип(3) | код(0-5) | Контрольная сумма |
------------------------------------------------------------
| не используется(должно быть равно нулю) |
------------------------------------------------------------
| межсетевой заголовок плюс первые 64 бита дейтаграммы |
------------------------------------------------------------
|...... |
------------------------------------------------------------

Рисунок 9.3 Формат сообщения о недостижимости назначения

Поле КОД в сообщении о недостижимости назначения содержит
целое число, которое описывает причину. Возможны следующие
значения:

Значение Смысл

0 Сеть недостижима
1 ГВМ недостижим
2 Протокол недостижим
3 Порт недостижим
4 Требуется фрагментация
5 Ошибка при маршрутизации источника
6 Сеть назначения неизвестна
7 ГВМ назначения неизвестен
8 ГВМ источника изолирован
9 Взаимодействие с сетью назначения
административно запрещено
10 Взаимодействие с ГВМ назначения
административно запрещено
11 Сеть недостижима из класса обслуживания
12 ГВМ недостижим из-за класса обслуживания

Хотя IP является механизмом ненадежной доставки, дейтаграммы
не уничтожаются просто так. Всякий раз, когда ошибка мешает шлюзу
произвести маршрутизацию или доставку дейтаграммы, шлюз посылает
сообщение о недостижимости назначения обратно его источнику, а
затем уничтожает дейтаграмму. Ошибки недостижимости сети обычно
являются следствием ошибок маршрутизации; ошибки недостижимости
ГВМ - следствие ошибок при доставке(исключением является случай,
когда шлюзы используют схему адресации подсетей, описанную в
главе 16. Они сообщают об ошибке при маршрутизации к подсети с
помощью сообщения ICMP о недостижимости ГВМ). Так как сообщение
содержит короткий префикс дейтаграммы, вызвавшей ошибку, то
источник будет точно знать, какой адрес недостижим.
Назначения могут быть недостижимыми из-за того, что
оборудование было временно неработоспособно, из-за того, что
отправитель указал несуществующий адрес назначения, или (в
редких случаях) из-за того, что у шлюза не указано маршрута к
сети назначения. Отметим, что хотя шлюзы сообщают об ошибках,
которые они обнаружили, они могут не знать обо всех ошибках
доставки. Например, если машина получателя присоединена к сети
Ethernet, то сетевое оборудование не предоставляет подтверждения
получения дейтаграммы. Поэтому, шлюз может продолжать посылать
пакеты назначению даже после того, как оно отключено, не получая
при этом никакой информации о том, что пакеты не доставляются.
Подведем итоги:

Хотя шлюзы посылают сообщения о недостижимости назначения,
если они не могут произвести маршрутизацию или доставку
дейтаграммы, не все подобные ошибки обнаруживаются.

Смысл сообщений о недостижимости порта и протокола станет
ясен, когда мы изучим, как протоколы более высокого уровня
используют абстракцию точки получения, называемую портом. Смысл
большей части остальных сообщений понятен уже из их названия.
Если дейтаграмма содержит опцию маршрутизации источника с
некорректным маршрутом, то это может привести к появлению
сообщения об ошибке маршрутизации источника. Если шлюзу нужно
фрагментировать дейтаграмму, но установлен бит "не
фрагментировать", то шлюз посылает сообщение "требуется
фрагментация" обратно источнику.

9.9 Управление потоком дейтаграмм и переполнение сети


Так как IP является протоколом без установления соединения,
то шлюзы не могут резервировать память или коммуникационные
ресурсы до получения дейтаграмм. В результате, траффик может
вызвать перегрузку шлюзов, ситуацию, называемую переполнением
сети(congestion). Важно понимать, что переполнение сети может
возникать из-за двух совершенно разных причин. Во-первых,
высокоскоростной компьютер может генерировать траффик быстрее,
чем сеть может передавать его. Например, представим
суперкомпьютер, генерирующий межсетевой траффик. Дейтаграммам,
посылаемым им, может потребоваться передача в конечном счете по
медленной глобальной сети(WAN), хотя сам суперкомпьютер может
быть присоединен к высокоскоростной локальной сети. Переполнение
будет возникать в шлюзе, присоединенном к глобальной сети, так
как дейтаграммы будут прибывать быстрее, чем их можно послать.
Во-вторых, если большому числу компьютеров одновременно нужно
посылать дейтаграммы через один шлюз, этот шлюз может оказаться
переполненным, хотя ни один источник в отдельности и не вызывает
эту проблему.
Когда дейтаграммы прибывают на шлюз или ГВМ быстрее, чем он
успевает их обрабатывать, он временно ставит их в очередь в своей
памяти. Если эти дейтаграммы - это часть небольшого пика при
передаче дейтаграмм, то такая буферизация решает проблему. Если
же траффик продолжает поступать, то то в конечном счете ГВМ или
шлюз займет всю память под очередь и вынужден будет удалять новые
прибывающие дейтаграммы. Тогда машина использует сообщения о
подавлении источника для выхода из состояния переполнения.
Сообщение о подавлении источника требует от источника уменьшить
скорость передачи дейтаграмм. Обычно переполненные шлюзы посылают
по одному сообщению о подавлении источника на каждую удаляемую
дейтаграмму. Шлюзы могут также использовать более сложные
технологии выхода из переполнения. Некоторые наблюдают за
приходящим траффиком и подавляют источники с наивысшими
скоростями передачи. Другие пытаются избежать переполнения в
принципе, выдавая запросы подавления источника в том случае,
когда их очереди начинают становиться слишком длинными, но до
того, как они переполнятся.
Не существует сообщения ICMP, вызывающего эффект, обратный
подавлению источника. Вместо этого ГВМ, принявший сообщения о
подавлении источника от некоторой машины, М, снижает скорость, с
которой он посылает дейтаграммы на М до тех пор, пока к нему не
перестанут приходить сообщения о подавлении источника; затем он
постепенно увеличивает скорость до тех пор, пока он снова не
получит сообщения о подавлении источника.

9.10 Формат подавления источника

Помимо обычных полей ICMP ТИП, КОД и КОНТРОЛЬНАЯ СУММА, и
неиспользуемого 32-битового поля, сообщения о подавлении
источника имеют поле, содержащее префикс дейтаграммы. Рисунок 9.4
иллюстрирует этот формат. Как и в других сообщениях об ошибках
ICMP поле префикса дейтаграммы содержит префикс дейтаграммы,
вызвавшей этот запрос подавления источника.

0 8 16 31
------------------------------------------------------------
|тип(4) | код(0) | Контрольная сумма |
------------------------------------------------------------
| не используется(должно быть равно нулю) |
------------------------------------------------------------
| межсетевой заголовок плюс первые 64 бита дейтаграммы |
------------------------------------------------------------
|...... |
------------------------------------------------------------

Рисунок 9.4 Формат сообщения о подавлении источника ICMP.
Переполненные шлюзы посылают одно сообщение о подавлении
источника каждый раз, когда они удаляют дейтаграмму; префикс
дейтаграммы идентифицирует удаленную дейтаграмму.

9.11 Запросы изменения маршрута от шлюзов

Таблицы маршрутизации Интернета обычно не меняются в течение
длинного промежутка времени. ГВМ инициализируют их с помощью
файла конфигурации при загрузке системы, а сетевые администраторы
лишь изредка вно





Дата публикования: 2014-11-28; Прочитано: 407 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.026 с)...