Эндрю Уэзеролл - Компьютерные сети. 5-е издание
- Название:Компьютерные сети. 5-е издание
- Автор:
- Жанр:
- Издательство:Питер
- Год:2011
- ISBN:9785446100682
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Эндрю Уэзеролл - Компьютерные сети. 5-е издание краткое содержание
Компьютерные сети. 5-е издание - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
MPLS присваивает пакету специальную метку, и пересылка производится не по адресу, а по этой метке. Если добавлять метки во внутреннюю таблицу, выбор выходного канала будет соответствовать поиску в этой таблице. Это существенно ускоряет пересылку. Эта идея легла в основу MPLS, которая изначально разрабатывалась как патентованная технология, известная под разными именами — например, коммутация меток (tag switching). В конечном счете, проблемная группа IETF занялась стандартизацией идей. Стандарт описан в документе RFC 3031 и многих других. Главными преимуществами, проверенными временем, являются гибкая маршрутизация и быстрая передача пакетов, позволяющая обеспечить необходимое качество обслуживания.
Первая проблема состоит вот в чем: куда поставить метку? Поскольку IP-пакеты не предназначены для виртуальных каналов, в их заголовке не предусмотрено место для номеров виртуальных каналов. Следовательно, нужно добавлять новый заголовок MPLS в начало IP-пакета. На линии между маршрутизаторами, используется протокол, включающий заголовки PPP, MPLS, IP и TCP, как показано на рис. 5.53.
Рис. 5.53.Передача TCP-сегмента с использованием IP, MPLS и PPP
Обычно в заголовок MPLS входит четыре поля, наиболее важное из которых — поле Метка, значением которой является индекс. Поле Качество обслуживания указывает на применяемый класс обслуживания. Поле S связано со стеком меток (речь об этом пойдет ниже). Поле Время жизни показывает, сколько еще раз пакет может быть отправлен. Его значение уменьшается на каждом маршрутизаторе; если оно равно 0, пакет игнорируется. Благодаря этому исключаются бесконечные циклы в случае сбоя маршрутизации.
MPLS располагается между протоколом сетевого уровня IP и протоколом канального уровня PPP. Этот уровень нельзя назвать третьим, так как метки задаются на основе IP-адреса или другого адреса сетевого уровня. Но это и не второй уровень, хотя бы потому, что MPLS контролирует передачу пакета на нескольких транзитных участках, а не на одном. Поэтому иногда этот протокол называют протоколом уровня 2.5. Это яркий пример того, что реальные протоколы не всегда вписываются в нашу идеальную уровневую модель.
Так как заголовки MPLS не являются частью пакетов сетевого уровня и также не имеют отношения к кадрам канального уровня, MPLS является методом, не зависящим от обоих этих уровней. Кроме всего прочего, это свойство означает, что можно создать такие коммутаторы MPLS, которые могут пересылать как IP-пакеты, так и не-^-пакеты, в зависимости от того, что необходимо в каждом конкретном случае. Именно отсюда следует «мультипротокольность» метода, отраженная в его названии. MPLS может также передавать IP-пакеты через не-№-сети.
Когда пакет, расширенный за счет заголовка MPLS, прибывает на маршрутизатор коммутации меток (LSR, Label Switched Router) извлеченная из него метка используется в качестве индекса таблицы, по которой определяется исходящая линия и значение новой метки. Смена меток используется во всех сетях с виртуальными каналами. Метки имеют только локальное значение, и два разных маршрутизатора могут снабдить независимые пакеты одной и той же меткой, если их нужно направить на одну и ту же линию третьего маршрутизатора. Поэтому, чтобы метки можно было различить на приемном конце, их приходится менять при каждом переходе. Мы видели этот механизм в действии — он был графически изображен на рис. 5.3. В MPLS используется такой же метод.
Вообще-то, иногда различают передачу (forwarding) и коммутацию (switching). Передача — это процесс нахождения адреса, наиболее совпадающего с адресом назначения, в таблице маршрутизации, чтобы решить, куда отправлять пакет. Примером IP-передачи является алгоритм поиска наиболее длинного совпадающего префикса. При коммутации в таблице маршрутизации производится поиск по меткам, извлеченным из пакета. Это проще и быстрее. Правда, такие определения не очень-то универсальны.
Так как большинство хостов и маршрутизаторов не понимают MPLS, мы могли бы задаться вопросом, как и когда метки прикрепляются к пакетам. Это происходит в тот момент, когда пакет достигает границы MPLS-сети. Пограничный маршрутизатор (LER, Label Edge Router) проверяет IP-адрес назначения и другие поля, определяя, по какому MPLS-пути должен пойти пакет, и присваивает пакету соответствующую метку. По ней пакет передается в сети MPLS. На другой границе MPLS-сети метка уже не нужна, и она удаляется, после чего IP-пакет становится открытым для другой сети. Этот процесс показан на рис. 5.54. Одним из отличий от традиционных виртуальных каналов является уровень агрегации. Конечно, можно каждому потоку, проходящему через MPLS-сеть, предоставить собственный набор меток. Однако более распространенным приемом является группировка потоков, заканчивающихся на данном маршрутизаторе или в данной ЛВС, и использование одной метки для всех таких потоков. О потоках, сгруппированных вместе и имеющих одинаковые метки, говорят, что они принадлежат одному классу эквивалентности пересылок( FEC— Forwarding
Equivalence Class). В такой класс входят пакеты, не только идущие по одному и тому же маршруту, но и обслуживаемые по одному классу (в терминах дифференцированного обслуживания). Такие пакеты воспринимаются при пересылке одинаково.
Рис. 5.54. Передача IP-пакета через MPLS-сеть
При традиционной маршрутизации с использованием виртуальных каналов невозможно группировать разные пути с разными конечными пунктами в один виртуальный канал, потому что адресат не сможет их различить. В MPLS пакеты содержат не только метку, но и адрес назначения, поэтому в конце помеченного пути заголовок с меткой может быть удален, и дальнейшая маршрутизация может осуществляться традиционным способом — с использованием адреса назначения сетевого уровня.
На самом деле MPLS идет дальше. Этот протокол может работать одновременно на нескольких уровнях, используя несколько меток. Представьте себе несколько пакетов с разными метками (например, если сеть должна по-разному их обрабатывать), которые должны пройти один и тот же путь до определенного адреса. В таком случае мы можем задать для всех пакетов один путь. Когда пакеты, уже имеющие метку, попадают на начало пути, в начало записывается новая метка. Это называется стеком меток. Самая наружная метка служит проводником пакета по пути. В конце пути она удаляется, и оставшиеся метки (если они есть) ведут пакет дальше. Бит S (см. рис. 5.53) позволяет маршрутизатору, удаляющему метку, узнать, остались ли у пакета еще метки. Единичное значение бита говорит о том, что метка — последняя в стеке, а нулевое значение говорит об обратном.
Читать дальшеИнтервал:
Закладка: