В. Столлингс - Современные компьютерные сети (2-е издание, 2003) (1114681), страница 21
Текст из файла (страница 21)
Напротив, специальная обработка, предоставляемая потоку пакетов, должна декларироваться каким-то другим способом. Например, источник может потребовать специального обслуживания или вступить в переговоры на эту тему при помо>ци управляющего протокола заблаговременно или непосредственно во время передачи, указав необходимую для этого информацию в одном иа заголовков расширения пакета, например ааголовке параметров ретрансляционных участков.
Примеры специального обслуживания, которое можно запросить, вкл>очают некоторые, не предоставляемые по умолчании> классы качества обслуживания или некоторые виды служб реального времени. В принципе, все требования пользователя, касающиеся определенного потока, могут быть определены в заголовке расширения и включены в каждый пакет. Если мы хотим оставить понятие потока открытым, чтобы оно могло передать широкий спектр требований, размер заголовка пакета может стать очень большим.
Альтернативный подход, принятый в протоколе 1Рчб, заключается в метке потока, в которой требования для потока определяются до на >ала передачи пакетов, а потоку присваивается уникальная метка потока В этом случае маршрутизатор должен хранить информацию о требованиях для каждого потока. К метке потока применимы следующие правила: + Хосты или маршрутизаторы, не поддерживающие поля метки потока, «олжны устанавливать значение этого поля в отправляемых ими пакетах равным нулю, оставлять это поле неизменным при ретрансляции чужого пакета и игнорировать это поле, получая пакет.
+ У всех пакетов, отправляемых одним и тем же источником с одинаковым ненулевым значением поля метки потока, должно быть одинаковое содержимое полей адресов отправителя и получателя, заголовка параметров ретрансляционных участков (если этот заголовок присутствует) и заголовка маршрутизации (если этот заголовок присутствует). Делается это для того, чтобы маршрутизатор мог решать, как обрабатывать пакет просто по метке потока пакета, находя ее в своей таблице и не просматривая остальнук> инфорл>аци>о в заголовке. + Источник назначает потоку метку потока. Новые метки потока должны выбираться (псевдо-) случайным образом равномерно в диапазоне от 1 до 2м — 1.
Кроме того, источник не должен повторно испольаовать прежнюю метку для нового потока, пока не истекло время л<иэни потока с этой меткой. Нулевое значение метки потока означает, что она не используется, Последний пункт требует некоторого уточнения. По-видимому, маршрутизатор должен хранить информацию о характеристиках каждого активного потока, который может проходить через него, в некоторой таблице. Чтобы маршрутизатор мог быстро ретранслировать пакеты, поиск в таблице должен быть эффективным, Один иа вариантов заключается в том, чтобы иметь таблицу с 2" (около одного миллиона) записей, по одной для каждого возможного значения метки потока. При таком варианте маршрутизатору требуется очень большой объем памяти. Другой подход состоит в том, чтобы хранить в таблице информацию только об активных потоках, хранить саму метку потока в записи таблицы и искать эту метку в таблице при каждом прибытии пакета.
При таком подходе потребуются дополнительные затраты времени на поиск метки потока в таблице. В болыпинствс современных маршрутизаторов используется метод хзшированпя. При этом достаточно таблицы умеренного размера, а каждое значение метки потока оп>бражается на таблицу при помощи хэш-функции. Эта функция может просто маскировать младшие разряды метки потока (например, В или 10 бит) или выполнять некоторую несложную операцию с 20 разрядами метки потока. В любом случае эффективность метода хэширования, как правило, зависит от равномерности распределения значений меток потоков в нх диапазоне.
Отсюда последнее требование в приведенном выше списке. Адреса 1Рч6 Адреса 1рчб имеют размер 128 бит. Адреса назначаются отдельным интерфейсам узлов, но не самим узлам'. У одного интерфейса может быть несколько уникальных адресов для целевой передачи. Лк>гюй такой адрес, ассоциированный с интерфейсом узла, может быть использован для уникальной идентификации этого узла.
Комбинация длинных адресов и возможности иметь несколько адресов для одного интерфейса обеспечивает более высокую эффективность маршрутизации по сравнению с протоколом 1рч4. В протоколе 1рч4 адреса, как правило, пе обладают структурой, помогающей маршрутизации, и поэтому маршрутизатору может потребоваться огромная таблица для хранения путей. Более длинные ме>хсетевые адреса поаволяют обьединять адреса по сетевым иерархиям, поставщикам услуг. географическому расположению, корпорапиям н т.
д. Благодаря этому можно использовать таблицы маршрутизации меньшего размера и ускорить процедуру поиска в таблице. Возможность нааначать несколько адресов одному интерфейсу ' В протоколе 1Рвб ужом (аэ4е) называется лвбое устройство, Пеалиэунааее эрлчкс-з Штб' у>л"ю' начяютси хесты и мари>рутизашрэ. 90 Глава 3. Протоколы ТСР и )Р 3.4. Протокол )Ркб 91 1б 29 31 31 1б Адрес (л) позволяет подписчику, пользующемуся услугами нескольких поставщиков с одним и тем же интерфейсом, иметь для каждого адресного пространства поставщика отдельные адреса.
Протокол 1Рчб позволяет использовать три типа адресов: + Целевая рассылка (пшсазг)пй). Адрес целевой рассылки — это идентификатор одного интерфейса. Пакет, посланный по такому адресу, доставляется конкретному интерфейсу, идентифицированному этим адресом. + Выборочная рассьыка (апусазг)п8). Адрес выборочной рассылки — это идентификатор группы интерфейсов (как правило.
принадлежащих разным узлам). Пакет, отправленный по 'такому адресу, доставляется одному из интерфейсов, с которым свяаан этот адрес (еближайшеыуи интерфейсу, в единицах измерения протокола маршрутизации). + Групповая расо ина (пш!1)сазг)п8). Адрес групповой рассылки — это идентификатор группы интерфейсов (как правило, принадлежащих разным узлам). Пакет.
отправленный по такому адресу, доставляется всем интерфейсаи, с которым связан этот адрес. Заголовок параметров ретрансляционных участков Заголовок параметров ретрансляционных участков (хопов) содержит необязательную информацию, которая, если она присутствует, должна исследоваться каждым маршрутизатором на пути следования пакета. Этот заголовок состоит из перечисленных ниже полей (рис.
3.5, а): + Слвдуюи)ий заэоловон (8 бит). Идентифицнрует тип заголовка, следующего непосредственно после данного ааголовка. + Длина заголовка расширения (8 бит). Длина данного заголовка в 64-битовых единицах, не считая первых 64 бит. + Параметры. Поле переменной длины„состояшее из одного или нескольких определений. Камяое определение состоит из трех полей: Тип параметра (8 бит) — идентифицирует параметр; + Длина (8 бит) — длина поля данных параметра в байтах; Данные параметра (переменной длины) — сам параметр. Для описания параметра используются пять младших разрядов.
Два старших бита указывают, какое действие должен предпринять узел, не распознающий данный тип параметра: + ОΠ— пропустить этот параметр и продолжить обработку заголовюг; + 01 — отбросить пакет; + 10 — отбросить пакет и послать отправителю пакета сообщение о нераспознаваемом типе параметра по протоколу 1СМР (1пгегпег Сапего! Меззайе Ргогосо! — протокол управления сообщениями в объединенных сетях); + 11 — отбросить пакет и послать отправителю пакета сообщение о нераспознаваемом типе параметра по протоколу 1СМР, только если адрес получателя не является адресом групповой рассылки. о б 1б 31 Рис. З.б.
заголовки расширения протокола )Ркб 92 Глава 3. Протоколы ТСР и 1Р 3.4. Протокол >Р»б 93 Третий по старшинству бит указывает, является ли поле данных параметра неизменным (О) или может изменяться (1) па пути от отправителя к получателю, Данные, способные изменяться, должны бьггь исклк>чены из вычислений для аутентификации. Этя соглашения для поля типа г>араметра также применимы к заголовку параметров получателя. К настоящему времени определено два параметра ретрансляционных участков: параметр Джамбо ( 1шпЬо) и параметр предупреждений маршрутизатору.