Э. Таненбаум - Компьютерные сети. (4-е издание) (DJVU) (1130092), страница 128
Текст из файла (страница 128)
Документ КРС 2597 говорит о том, что 6 из этих битов должны использоваться для обозначения класса обслуживания. Таким образом, есть возможность закодировать как все ныне существующие классы, так и те, котоРые могут появиться в будущем. На третьем шаге пакеты прогоняются через фильтр, формирующий поток, который может задержать некоторые пакеты при организации четырех потоков. При этом могут использоваться, к примеру, алгоритмы дырявого или маркерного ведра.
Если пакетов слишком много, некоторые из них могут вообще быть от- 478 Глава 5. Сетевой уровень вергнуты. Здесь большую роль играет категория игнорирования. Есть и более совершенные методы — с замерами и обратной связью. Пер марврути Пакеты 4 кпаооа приоритетов Пакеты, поотавпенные обопуживания а очередь Рио. В.ЗВ. Возможная реализация гарантированной пересылки потока данных В приведенном примере все три шага выполняются на хосте-источнике, исхолящий поток с которого направляется на первый маршрутизатор. Надо отметить, что все эти действия могут выполняться специальным сетевым программным обеспечением или даже операционной системой, что устраняет необходимость в замене существующих приложений. Коммутация меток и МР~.З Пока проблемная группа 1ЕТР разрабатывала интегральные и дифференцированные виды обслуживания, производители маршрутизаторов стремились улучшить методы пересылки данных.
Результатом их работы стали, в частности, появление метки в начале каждого пакета и маршрутизация, базирующаяся не на адресе назначения, а на этих метках. Если метку использовать в качестве индекса внутренней таблицы, то поиск подходящей исходящей линии сводится к просмотру таблицы. С использованием этого метода маршрутизация осуществляется очень быстро, и вдоль всего пути следования резервируются все необходимые ресурсы. Конечно, метод расстановки меток рискует приблизиться слишком близко к виртуальным каналам. Х.25, АТМ, сети с ретрансляцией кадров, как и любые другие системы, в которых используются подсети с виртуальными каналами, также устанавливают метки (то есть идентификаторы виртуальных каналов) во все пакеты, затем осуществляют поиск по таблице и производят маршрутизацию на основе табличной записи.
Несмотря на то, что очень многие представители Интернет-сообщества весьма презрительно относятся к сетям, ориентированным на соединение, похоже, что именно эта идея переживает второе рождение. На этот раз с ее помощью реализуются быстрая маршрутизация и высокое качество обслуживания. Тем не менее, есть существенные различия между тем, как в Интернете формируется маршрут и как это делается в сетях, ориентированных на соединение. Используется, конечно же, не архаичная коммутация пакетов, а нечто иное. Качество обслуживания 479 Вто «иное» известно под самыми разными именами, включая коммутацию меток и коммутацию тегов. В конечном счете, проблемная группа 1ЕТР занядась стандартизацией своих идей, и это вылилось в появление стандарта МР1.Б (Мц!г!Ргогосо! 1аЬе! Би!гсЬ1пд — мультипротокольная коммутация меток) далее мы будем называть его МРЕБ.
Стандарт описан в документе КРС 3031 и многих других. Сделаем здесь неболыпое отступление. Есть мнение, что маршрутизация н гюзьиуглация — это разные понятия. Маршрутизация — это процесс поиска адреса назначения по таблице и определения исходящей линии, на которую нужно послать данные, чтобы они дошли до адресата. Коммутация, напротив, использует метку, хранящуюся в пакете, в качестве индекса для таблицы пересылок. Впрочем, такие определения далеки от совершенства.
Первая проблема состоит вот в чем: куда поставить меткуу Поскольку 1Р-пакеты не предназначены дая виртуальных каналов, в их заголовке не предусмотрено место для номеров виртуальных каналов. Следовательно, нужно добавлять новый заголовок МР13 в начало 1Р-пакета. На линии между маршрутизаторами, использующей в качестве протокола кадрирования РРР, применяется формат, включающий в себя заголовки РРР, МР1Б, 1Р и ТСР, как показано на рис. 5.36. В каком-то смысле МР1.Б образует уровень с номером 2.5. Зегопоези 4 г г Ф г Биты 20 Рис. Б.З6. Передаче ТОР-сегмента с использованием 1Р, МРьв и РРР Обычно в заголовок МР1.Б входят четыре поля, наиболее важное из котоРых — поле Метка, значением которого является индекс. Поле Качество обслуясиеания указывает на применяемый класс обслуживания. Поле 5 связано со стеком меток в иерархических сетях (речь об этом пойдет далее).
Если оно равно О, пакет игнорируется. Благодаря этому исключаются бесконечные циклы в случае сбоя маршрутизации. Заголовки МР1Б не являются частью пакетов сетевого уровня, и к кадрам Уровня передачи данных они отношения также не имеют. МРЬБ является методом, не зависящим от обоих этих уровней. Кроме всего прочего, это свойство означает, что можно создать такие коммутаторы МР|Б, которые могут пересылать как 1Р-пакеты, так и ячейки АТМ в зависимости от того, что необходимо в каждом конкретном случае. Именно отсюда следует «мультипротокольность» метола, отраженная в его названии. 480 Глава 5. Сетевой уровень Когда пакет (ячейка), расширенный за счет заголовка МР1.о, прибывает на МР).Б-совместимый маршрутизатор, извлеченная из него метка используется в качестве индекса таблицы, по которой определяются исходящая линия и значение новой метки.
Смена меток используется во всех подсетях с виртуальными каналами, поскольку метки имеют только локальное значение, и два разных маршрутизатора могут снабдить независимые пакеты одной и той же меткой, если их нужно направить на одну и ту же линию третьего маршрутизатора.
Поэтому, чтобы метки можно было различить на приемном конце, их приходится менять при каждом переходе. Мы видели этот механизм в действии — он был графически изображен на рис. 5.3. В МР15 используется такой же метод. Еще одним отличием от традиционных виртуальных каналов является уровень агрегации, Конечно, можно каждому потоку, проходящему через подсеть, предоставить собственный набор меток.
Однако более распространенным приемом является группировка потоков, заканчивающихся на данном маршрутизаторе или в данной ЛВС, и использование одной метки для всех таких потоков, О потоках, сгруппированных вместе и имеющих одинаковые метки, говорят, что они принадлежат одному классу эквивалентности пересылок (РЕС вЂ” Рогчагйпя Ег1шуа!епсе С)азз), В такой класс входят пакеты, не только идущие по одному и тому же маршруту, но и обслуживаемые по одному классу (в терминах дифференцированного обслуживания). Такие пакеты воспринимаются при пересылке одинаково. Прн традиционной маршрутизации с исгюльзованием виртуальных каналов невозможно группировать разные пути с разными конечными пунктами в один виртуальный канал, потому что адресат не сможет их различить.
В МР1.5 пакеты содержат не только метку, но и адрес назначения, поэтому в конце помеченного пути заголовок с меткой может быть удален, и дальнейшая маршрутизация может осуществляться традиционным способом — с использованием адреса назначения сетевого уровня. Одним из основных отличий МР15 от обычных виртуальных каналов является способ построения таблицы маршрутизации.
В традиционных сетях пользователь, желающий установить соединение, посылает установочный пакет для создания пути и соответствующей ему записи в таблице. В МРЫ этого не происходит, потому что в этом методе вообще отсутствует установочная фаза для каждого соединения (в противном случае пришлось бы менять слишком большую часть существующего программного обеспечения Интернета). Вместо этого существуют два альтернативных способа создания записей в таблице.
При методе, управляемом данными, первый маршрутизатор, на который прибывает пакет, контактирует со следующим маршрутизатором на его пути и просит его создать метку для данного потока. Метод является рекурсивным. Можно сказать, что это своего рода создание виртуального канала по требованию. Протоколы, обслуживающие этот метод, должны очень тщательно следить за предотвращением возникновения петель. Для этого часто используются так называемые цветные потоки. Обратное распространение РЕС можно сравнить с передачей по подсети потока, окрашенного в уникальный цвет.
Если маршрутизатор видит, что тот или иной цвет у него уже имеется, значит, возникла петля, Обьединение сетей 481 которую необходимо ликвидировать. Метод, управляемый данными, шире всего применяется в сетях с АТМ в качестве транспортного уровня (например, в большинстве телефонных систем). Второй метод, использующийся в не-АТМ-сетях, — это метод с явным управлением. Имеется несколько вариантов этого подхода.
Один из них работает следующим образом. При загрузке маршрутизатора выявляется, для каких маршрутов он является пунктом назначения (например, какие хосты находятся в его ЛВС). Для них создается один или несколько ВЕС, каждому из них выделяется метка, значение которой сообщается соседям. Соседи, в свою очередь, заносят эти метки в свои таблицы пересылки и посылают новые метки своим соседям. Процесс продолжается до тех пор, пока все маршрутизаторы не получат представление о маршрутах. По мере формирования путей могут резервироваться ресурсы, что позволяет обеспечить надлежащее качество обслуживания. МРЕЯ может работать на нескольких уровнях одновременно.
На высшем уровне оператор связи может рассматриваться в качестве метамаршрутизатора; подразумевается, что между метамаршрутизаторами существует путь от источника до приемника. Этот путь может использоваться МР1.5. Однако внутри сети каждого оператора также может применяться МР15 (второй уровень использования мультипротокольной коммутации меток). На самом деле, в пакете может содержаться целый стек меток. Бит Я (см.
рис. 5.36) позволяет маршрутизатору, удаляющему метку, узнать, остались ли у пакета еще метки. Единичное значение бита говорит о том, что метка — последняя в стеке, а нулевое значение говорит об обратиом. На практике эта возможность чаще всего используется при реализации частных виртуальных сетей и рекурсивных каналов. Хотя основные идеи МР1.3 довольно просты, детали этого метода чрезвычайно сложны, причем существует множество вариаций и улучшений. Поэтому мы не будем уходить вглубь вопроса. Дополнительную информацию можно найти в книгах (1)ач1е и КекЬсег, 2000; Ып и др., 2002; Рере!п)аЕ и Сц1спагс(, 2001; Юапй, 2001). Обьединение сетей До сих пор мы неявно предполагали наличие единой однородной сети, в которой каждая машина использует один и тот же протокол на всех уровнях.
К сожалению, данное предположение слишком оптимистично. Существует множество различных сетей, включая локальные, региональные и глобальные. На каждом уровне широко применяются многочисленные и разнообразные протоколы. В следующих разделах особое внимание будет уделено вопросам, возникающим при объединении двух или более сетей, формирующих иитерсеть. По вопросу о том, является ли сегодняшнее изобилие разнообразных типов сетей временным явлением, которое скоро перестанет иметь место, как только все наконец поймут, как замечательна сеть [вставьте свою любимую сеть], или оно является неизбежной данностью окружающего нас мира, единого мнения 432 Глава 5.