
480 Глава 5. Сетевой уровень
Когда пакет (ячейка), расширенный за счет заголовка MPLS, прибывает на
MPLS-совместимый маршрутизатор, извлеченная из него метка используется в
качестве индекса таблицы, по которой определяются исходящая линия и значе-
ние новой метки. Смена меток используется во всех подсетях с виртуальными
каналами, поскольку метки имеют только локальное значение, и два разных мар-
шрутизатора могут снабдить независимые пакеты одной и той же меткой, если
их нужно направить на одну и ту же линию третьего маршрутизатора. Поэтому,
чтобы метки можно было различить на приемном конце, их приходится менять
при каждом переходе. Мы видели этот механизм в действии — он был графиче-
ски изображен на рис. 5.3. В MPLS используется такой же метод.
Еще одним отличием от традиционных виртуальных каналов является уро-
вень агрегации. Конечно, можно каждому потоку, проходящему через подсеть,
предоставить собственный набор меток. Однако более распространенным прие-
мом является группировка потоков, заканчивающихся на данном маршрутиза-
торе или в данной ЛВС, и использование одной метки для всех таких потоков.
О потоках, сгруппированных вместе и имеющих одинаковые метки, говорят, что
они принадлежат одному классу эквивалентности пересылок (FEC — Forwar-
ding Equivalence Class). В такой класс входят пакеты, не только идущие по одному
и тому же маршруту, но и обслуживаемые по одному классу (в терминах диффе-
ренцированного обслуживания). Такие пакеты воспринимаются при пересылке
одинаково.
При традиционной маршрутизации с использованием виртуальных каналов
невозможно группировать разные пути с разными конечными пунктами в один
виртуальный канал, потому что адресат не сможет их различить. В MPLS пакеты
содержат не только метку, но и адрес назначения, поэтому в конце помеченного
пути заголовок с меткой может быть удален, и дальнейшая маршрутизация мо-
жет осуществляться традиционным способом — с использованием адреса назна-
чения сетевого уровня.
Одним из основных отличий MPLS от обычных виртуальных каналов явля-
ется способ построения таблицы маршрутизации. В традиционных сетях поль-
зователь, желающий установить соединение, посылает установочный пакет для
создания пути и соответствующей ему записи в таблице. В MPLS этого не про-
исходит, потому что в этом методе вообще отсутствует установочная фаза для
каждого соединения (в противном случае пришлось бы менять слишком боль-
шую часть существующего программного обеспечения Интернета).
Вместо этого существуют два альтернативных способа создания записей в таб-
лице. При методе, управляемом данными, первый маршрутизатор, на который
прибывает пакет, контактирует со следующим маршрутизатором на его пути и
просит его создать метку для данного потока. Метод является рекурсивным. Мож-
но сказать, что это своего рода создание виртуального канала по требованию.
Протоколы, обслуживающие этот метод, должны очень тщательно следить за
предотвращением возникновения петель. Для этого часто используются так на-
зываемые цветные потоки. Обратное распространение FEC можно сравнить с
передачей по подсети потока, окрашенного в уникальный цвет. Если маршрути-
затор видит, что тот или иной цвет у него уже имеется, значит, возникла петля,
Объединение сетей 481
которую необходимо ликвидировать. Метод, управляемый данными, шире всего
применяется в сетях с ATM в качестве транспортного уровня (например, в боль-
шинстве телефонных систем).
Второй метод, использующийся в не-АТМ-сетях, — это метод с явным управ-
лением. Имеется несколько вариантов этого подхода. Один из них работает сле-
дующим образом. При загрузке маршрутизатора выявляется, для каких маршру-
тов он является пунктом назначения (например, какие хосты находятся в его
ЛВС). Для них создается один или несколько FEC, каждому из них выделяется
метка, значение которой сообщается соседям. Соседи, в свою очередь, заносят
эти метки в свои таблицы пересылки и посылают новые метки своим соседям.
Процесс продолжается до тех пор, пока все маршрутизаторы не получат пред-
ставление о маршрутах. По мере формирования путей могут резервироваться ре-
сурсы, что позволяет обеспечить надлежащее качество обслуживания.
MPLS может работать на нескольких уровнях одновременно. На высшем
уровне оператор связи может рассматриваться в качестве метамаршрутизатора;
подразумевается, что между метамаршрутизаторами существует путь от источ-
ника до приемника. Этот путь может использоваться MPLS. Однако внутри сети
каждого оператора также может применяться MPLS (второй уровень использо-
вания мультипротокольной коммутации меток). На самом деле, в пакете может
содержаться целый стек меток. Бит 5 (см. рис. 5.36) позволяет маршрутизатору,
удаляющему метку, узнать, остались ли у пакета еще метки. Единичное значение
бита говорит о том, что метка — последняя в стеке, а нулевое значение говорит
об обратном. На практике эта возможность чаще всего используется при реали-
зации частных виртуальных сетей и рекурсивных каналов.
Хотя основные идеи MPLS довольно просты, детали этого метода чрезвычай-
но сложны, причем существует множество вариаций и улучшений. Поэтому мы
не будем уходить вглубь вопроса. Дополнительную информацию можно найти в
книгах (Davie и Rekhter, 2000; Lin и др., 2002; Pepelnjak и Guichard, 2001; Wang,
2001).
Объединение сетей
До сих пор мы неявно предполагали наличие единой однородной сети, в которой
каждая машина использует один и тот же протокол на всех уровнях. К сожале-
нию, данное предположение слишком оптимистично. Существует множество раз-
личных сетей, включая локальные, региональные и глобальные. На каждом уровне
широко применяются многочисленные и разнообразные протоколы. В следую-
щих разделах особое внимание будет уделено вопросам, возникающим при объе-
динении двух или более сетей, формирующих интерсеть.
По вопросу о том, является ли сегодняшнее изобилие разнообразных типов
сетей временным явлением, которое скоро перестанет иметь место, как только
все наконец поймут, как замечательна сеть [вставьте свою любимую сеть], или
оно является неизбежной данностью окружающего нас мира, единого мнения