Передача данных с коммутацией по меткам
Атрибут адаптивности
Характеристики сети и ее состояние изменяются со временем. Например, появляются новые ресурсы, утраченные ресурсы могут быть снова активизированы, а выделенные ресурсы могут оказаться недоступными. Вообще, иногда могут оказаться доступными более эффективные пути. Следовательно, с точки зрения управления трафиком, необходимо иметь административные параметры управления, которые могут использоваться для спецификации того, как канал передачи данных будет реагировать на этот динамизм. При некоторых сценариях может оказаться желательным динамически изменить пути некоторых информационных каналов в ответ на изменения состояния сети. Этот процесс называется реоптимизацией. При других сценариях повторная оптимизация может оказаться нежелательной.
Атрибут адаптивности ( adaptivity ) является частью блока параметров пути, ассоциированного с каналом передачи данных. Атрибут адаптивности, ассоциированный с каналом передачи данных, указывает на то, является ли канал субъектом реоптимизации. То есть, атрибут адаптивности представляет собой двоичную переменную, которая принимает одно из следующих значений: (1) разрешить реоптимизацию и (2) запретить реоптимизацию.
Если реоптимизация разрешена, канал передачи данных может под действием маршрутных протоколов изменить путь в ответ на изменение состояния сети. Напротив, если реоптимизация запрещена, канал передачи данных является закрепленным и его маршрут не может быть изменен при вариации ситуации в сети.
Стабильность является главным соображением, когда разрешена реоптимизация. Чтобы содействовать стабильности, реализация MPLS не должна быть слишком реактивной в ответ на эволюционные изменения в сети. В то же время, она должна достаточно быстро адаптироваться, чтобы оптимально использовать появляющиеся сетевые ресурсы. Отсюда следует, что частота реоптимизаций должна определяться административно, чтобы допускать настройку.
Следует заметить, что реоптимизация не то же самое, что и устойчивость к внешним воздействиям. Для спецификации характеристик устойчивости канала передачи данных используются другие атрибуты. На практике представлялось бы разумным ожидать, что канал передачи данных, подвергающийся реоптимизации, должен быть устойчив против отказов вдоль его пути. Однако канал передачи данных, который не подвергается реоптимизации и чей маршрут не специфицирован административно как обязательный, также должен быть устойчивым против отказов связей и узлов вдоль своего пути.
Формально, можно утверждать, что адаптивность к состоянию эволюции через реоптимизацию влечет за собой устойчивость к отказам, тогда как устойчивость к отказам не предполагает общей адаптивности к изменениям состояния сети.
Распределение нагрузки в параллельных каналах передачи данных
Распределение нагрузки по нескольким параллельным каналам передачи данных между двумя узлами является крайне важным.
Во многих практических контекстах суммарный трафик между узлами может быть таким, что ни один канал в отдельности (следовательно, и ни один маршрут) не сможет его пропустить. Однако суммарный поток может быть меньше, чем максимально допустимый поток через поперечное сечение ("mincut"), разделяющее два узла. В этом случае единственно возможным решением может быть деление трафика на несколько потоков.
В домене MPLS эта проблема может быть решена с помощью нескольких каналов, соединяющих два узла. Следовательно, нужны гибкие средства назначения нагрузки для параллельных каналов передачи данных, соединяющих два узла.
В частности, в ситуациях, где параллельные потоки данных оправданы, было бы полезно иметь некоторые атрибуты, которые могут применяться для указания доли трафика, проходящего через каждый из каналов. Базовые протоколы реализуют нагрузку каналов в указанной пропорции. Желательно также обеспечивать порядок передачи пакетов, принадлежащих одному и тому же микропотоку (идентичные адреса отправителя и получателя плюс номера порта).
Атрибут приоритета
Атрибут priority (приоритет) определяет относительную важность канала передачи данных. Если с MPLS применяется маршрутизация, базирующаяся на ограничениях, тогда приоритеты становятся очень важными, так как они используются в случае отказов для определения порядка, в котором выбираются пути для канала передачи данных из имеющегося списка.
Приоритеты важны также в реализациях, допускающих приоритетное обслуживание, так как они могут быть нужны для определения политики обслуживания каналов передачи данных.
Атрибут Preemption
Атрибут preemption определяет, может ли канал передачи данных заместить другой канал на данном пути и может ли другой канал передачи данных заместить заданный канал. Приоритетная подмена полезна как для схемы оптимизации, ориентированной на трафик, так и для схемы, ориентированной на ресурс. Приоритетное замещение может использоваться, чтобы гарантировать то, что канал передачи данных маршрутизирован через вполне определенный путь, а это особенно важно при оказании дифференцированных услуг
Приоритетное замещение может также применяться при реализации различных политик восстановления, вступающих в силу при отказах оборудования или программ.
Атрибут preemption может использоваться для спецификации четырех режимов приоритетного замещения для канала передачи данных: (1) замещающий объект активирован (preemptor enabled), (2) nonpreemptor (не является замещающим объектом), (3) допускающий подмену и (4) не допускающий подмены. Канал передачи данных, где разрешено приоритетное замещение (preemptor enabled), может заменять каналы с более низким приоритетом, признанные как приемлемые для замены. Канал передачи, специфицированный как не подлежащий подмене, не может быть замещен каким-либо иным каналом, вне зависимости от их относительных приоритетов. Канал передачи данных, допускающий замещение, может быть замещен другим каналом с более высоким приоритетом, который имеет атрибут preemptor enabled.
Достаточно просто понять, что некоторые режимы замещения являются взаимно исключающими. Используя схему нумерации, описанную выше, можно назвать допустимые комбинации режимов для канала передачи данных: (1, 3), (1, 4), (2, 3) и (2, 4). Комбинация (2, 4) является режимом по умолчанию.
Канал передачи данных, скажем "A", может заместить другой канал, скажем "B", только если все следующие пять условий будут выполнены:
- "A" имеет относительно более высокий приоритет, чем "B",
- "A" претендует на ресурс, используемый "B",
- ресурс не может одновременно поддерживать "A" и "B",
- "A" может быть приемником, и
- "B" допускает подмену.
Атрибут preemption не рассматривается как обязательный атрибут современной модели обслуживания в Интернет (best effort service), хотя и является полезным. Однако, в сценарии с дифференциальными услугами необходимость подмены становится очевидной. Более того, в появляющихся архитектурах оптического Интернет, где функции защиты и восстановления, чтобы уменьшить цену, могут быть перенесены с оптического уровня на информационные сетевые элементы (такие, как гигабитные и терабитные маршрутизаторы с коммутацией по меткам), стратегии приоритетного замещения могут использоваться для сокращения времени восстановления канала в условиях сбоев.
Атрибут устойчивости (Resilience)
Атрибут resilience определяет поведение канала передачи данных в случае возникновения ошибок — то есть, когда ошибка происходит на пути, через который проходит канал. При таких обстоятельствах должны быть рассмотрены следующие проблемы: (1) детектирование ошибки, (2) уведомление об ошибке, (3) восстановление после сбоя. Очевидно, реализация MPLS должна содержать механизмы для решения всех этих задач.
Многие политики восстановления могут быть специфицированы для каналов передачи данных, чьи маршруты подвержены отказам. Ниже представлены примеры приемлемых схем.
- Не нужно изменять маршрут канала передачи данных (traffic trunk). Например, схема живучести может уже существовать и реализовываться за счет альтернативного механизма, который гарантирует непрерывность обслуживания в случае сбоя без необходимости изменения маршрута канала передачи данных. Примером такой альтернативной схемы (конечно, существует и много других), является ситуация, когда между двумя узлами имеется несколько параллельных каналов и в случае отказа одного LSP его трафик будет перераспределен между остальными LSP согласно некоторой заданной политике.
- Перенаправить маршрут на приемлемый путь с достаточными ресурсами. Если такового нет, тогда маршрут не изменять.
- Поменять маршрут на любой доступный, игнорируя ограничения по ресурсам.
Возможно много других схем, включая комбинации перечисленных выше.
Базовый атрибут resilience указывает на процедуру восстановления, которая должна быть запущена для данного канала при возникновении отказа. В частности, базовый атрибут resilience является двоичной переменной, которая определяет, будет ли данный канал изменять маршрут, если сегмент его пути выдал отказ. Расширенный атрибут resilience может применяться для подробной спецификации в случае сценария отказа. Например, расширенный атрибут resilience может специфицировать набор альтернативных путей, которые следует использовать в случае отказа, а также правил, которые управляют относительным предпочтением для каждого специфицированного пути. Атрибуты resilience обеспечивают тесное взаимодействие между MPLS и маршрутизацией.
Атрибут Policing
Атрибут policing определяет действия, которые следует предпринять в рамках базовых протоколов, когда канал передачи данных становится нерабочим — то есть, когда какие-то параметры канала отклонились за оговоренные пределы. Вообще, атрибуты policing могут указывать, является ли неуправляемый канал передачи данных лимитированным по полосе пропускания или он просто переадресуется без каких-либо действий, учитывающих местную политику. Если используется политика, тогда для реализации таких функций могут применяться адаптации алгоритмов, таких, как ATM GCRA [11].
Использование политики необходимое во многих рабочих сценариях, может быть неприемлемо в других. Вообще, обычно желательно реализовать какую-то политику на входе сети (чтобы обеспечить согласование с требованиями уровня обслуживания) и минимизировать применение политики в ядре, за исключением ситуации, когда ограничение емкости диктуют обратное.
Следовательно, с точки зрения управления трафиком необходимо иметь возможность административно разрешать и запрещать применение политики для каждого канала передачи данных (traffic trunk).
Атрибуты ресурсов
Атрибуты resource являются частью параметров состояния топологии, которые используются, чтобы установить ограничения на маршрутизацию каналов передачи данных в рамках имеющихся ресурсов.
Максимально выделяемая доля (MAM)
Максимально выделяемая доля MAM (maximum allocation multiplier) ресурса является административно задаваемым атрибутом, который определяет долю ресурса, доступную для канала передачи данных. Этот атрибут нужен в основном для распределения полосы пропускания. Однако он может быть применен также для резервирования ресурсов LSR. Концепция MAM аналогична концепции параметров подписки и резервирования в сетях Frame Relay и ATM.
Значения MAM могут быть выбраны так, чтобы ресурс был недораспределен или перераспределен. Ресурс считается недораспределенным, если суммарные требования всех каналов передачи данных, которые могут его использовать, меньше емкости ресурса. В противном случае ресурс считается перераспределенным.
Недораспределение может применяться, чтобы установить предел использования ресурсов. Однако, в случае MPLS это сложнее, чем в схемах с коммутацией каналов, так как для MPLS некоторые потоки могут маршрутизоваться посредством обычных протоколов шаг-за-шагом без рассмотрения каких-либо ресурсных ограничений.
Перераспределение может использоваться, чтобы реализовать преимущества статистических характеристик трафика в рамках более эффективной политики использования имеющихся ресурсов. В частности, перераспределение можно применить в ситуации, когда пики загрузки трафика в разных каналах не совпадают по времени.
Атрибут класса ресурса
Атрибуты класса ресурса являются параметрами, присваиваемыми административно, и вводят понятие класса для ресурсов. Атрибуты класса ресурса могут рассматриваться как цвета, приписанные ресурсам, такие, что набор ресурсов с одним цветом концептуально принадлежит к одному классу. Атрибуты класса ресурса могут использоваться для реализации разнообразных политик. Ключевыми ресурсами здесь являются связи. В случае применения в отношении связей, атрибут класса ресурса становится эффективной характеристикой параметров состояния связи.
Концепция атрибутов класса ресурса является достаточно мощной абстракцией. С точки зрения управления трафиком она может применяться для реализации различных политик при оптимизации характеристик канала по трафику или по ресурсам. В частности, атрибуты класса могут использоваться для:
- реализации одинаковых политик для набора ресурсов, которые не обязательно находятся в одной и той же топологической области;
- спецификации относительного предпочтения для набора ресурсов, связанных с положением маршрута, по которому транспортируется поток данных;
- ограничения положения каналов передачи данных для заданного субнабора ресурсов;
- реализации обобщенного включения/исключения политик;
- реализации политики ограничения локальности трафика — то есть, политики, которая ищет способы размещения трафика в пределах оговоренных топологических областей сети.
Кроме того, атрибуты класса ресурса могут использоваться для целей идентификации.
Вообще, ресурс может быть ассоциирован более чем с одним атрибутом класса ресурса. Например, все каналы OC-48 в заданной сети могут быть приписаны определенному атрибуту класса ресурса. Субнаборы каналов OC-48, могут быть приписаны к дополнительным атрибутам класса, чтобы реализовать специальную политику или построить нужную вам сеть.
Маршрутизация, базирующаяся на ограничениях
В современной терминологии маршрутизация, основанная на ограничениях, часто называется QoS-маршрутизацией (смотри [11.5,6,11.7,[11.10]).
Здесь используется термин маршрутизация на основе ограничений, однако, если быть точным, QoS-маршрутизация является лишь ее составной частью.
Маршрутизация на основе ограничений делает возможным резервирование ресурсов по запросу и сосуществование с имеющимися внутренними протоколами маршрутизации Интернет, работающими по принципу шаг-за-шагом.
Маршрутизация на основе ограничений использует следующие данные в качестве входных:
- атрибуты, связанные с каналами передачи данных;
- атрибуты, связанные с ресурсами;
- другую информацию, характеризующую состояние топологии сети.
Базируясь на этой информации, процесс маршрутизации на основе ограничений автоматически вычисляет маршрут для каждого потока, исходящего из данного узла. В этом случае маршрут для каждого информационного потока представляет собой спецификацию пути с коммутацией по меткам, который удовлетворяет требованиям, записанным в атрибутах канала. Ограничения формулируются на основе доступности ресурсов, административной политики и статусной топологической информации.
Маршрутизация на основе ограничений может существенно сократить уровень ручной конфигурации и необходимого вмешательства для актуализации политики управления трафиком.
На практике инженер трафика, оператор или даже автоматическая система специфицирует конечные точки канала передачи данных и приписывает набор атрибутов, который объединяет ожидаемые рабочие характеристики канала. Предполагается, что маршрутизация на основе ограничений найдет приемлемый путь, который удовлетворит имеющимся ожиданиям. Если необходимо для более тонкой оптимизации, инженер трафика или система поддержки управления трафиком может затем использовать административно сконфигурированные маршруты.
Базовые характеристики маршрутизации на основе ограничений
Маршрутизация на основе ограничений должна, по крайней мере, иметь возможность автоматически получать базовые, приемлемые решения задачи размещения пути для канала передачи данных.
Вообще, известно, что проблема маршрутизации на основе ограничений трудно разрешима для большинства реалистичных ограничений. Однако, на практике для нахождения приемлемого пути, если он существует, может использоваться очень простая хорошо известная эвристика (смотри, например, [11.9]).
- Сначала отбрасываются ресурсы, которые не удовлетворяют требованиям атрибутов канала передачи данных.
- Затем, для оставшегося графа связей запускается алгоритм поиска кратчайшего пути.
Ясно, что если приемлемый путь для заданного канала передачи данных существует, тогда предложенная выше простая процедура его найдет. Могут быть специфицированы дополнительные правила для разрубания узлов и выполнения дальнейшей оптимизации. Вообще, оптимизация обычно сводится к минимизации перегрузки. Однако когда нужно маршрутизировать несколько каналов передачи данных, можно показать, что выше предложенный алгоритм не всегда находит решение, даже когда такое решение существует.
Соображения реализации
Многие коммерческие реализации коммутаторов Frame Relay и ATM уже поддерживают некоторые аспекты маршрутизации на основе ограничений. Для таких приборов или для новых MPLS-реализаций должно быть относительно просто расширить существующие варианты маршрутизации на основе ограничений, чтобы удовлетворить специфическим требованиям MPLS.
Для маршрутизаторов, которые используют топологически управляемые IGP, определяющие маршрут шаг-за-шагом, маршрутизацию на основе ограничений можно внедрить одним из двух способов:
- путем расширения существующих IGP протоколов, таких, как OSPF и IS-IS для поддержки маршрутизации на основе ограничений. Прилагаются усилия для решения этой задачи в отношении протокола OSPF (смотри [5,7]);
- путем добавления процесса маршрутизации на основе ограничений в каждый маршрутизатор, который может сосуществовать с имеющимися IGP. Этот сценарий представлен на рис. 11.7.
Существует много важных деталей, связанных с реализацией маршрутизации на основе ограничений в устройствах уровня 3, которые здесь не обсуждались. Сюда входят:
- Механизмы обмена статусной топологической информацией (данные о доступности ресурсов, информация о состоянии связи, информация об атрибутах ресурсов) между процессами маршрутизации на основе ограничений.
- Механизмы работы с топологической статусной информацией.
- Взаимодействие между процессами маршрутизации на основе ограничений и процессами традиционных IGP.
- Механизмы выполнения требований адаптивности каналов передачи данных.
- Механизмы выполнения требований устойчивости и живучести каналов передачи данных.
Короче говоря, маршрутизация на основе ограничений помогает при осуществлении оптимизации сетей путем автоматического поиска приемлемых маршрутов, которые удовлетворяют набору ограничений, налагаемых на каналы передачи данных. Она может существенно уменьшить усилия по административной конфигурации и ручному вмешательству для решения задач управления трафиком.