Недействительныевходящиемаркеры потоков
Что должен делать LSR-маршрутизатор, если он получил помеченный IP-пакет с соответствующим входящим маркером потока, но который не имеет привязки к этому маркеру? Первое, что «приходит на ум»: такие маркеры могут быть просто удалены, а сам IP-пакет может доставляться далее, как непомеченный. Однако, в некоторых случаях, это может привести к петлевому маршруту доставки. Если LSRВП «думает», что маркер был привязан к явному маршруту (explicit route), а LSRНП «не думает», что маркер был привязан к чему-либо другому, и если ретрансляционный маршрут непомеченного IP-пакета «доставил» его обратно в LSRВП, то очевидно, что сформировался петлевой маршрут.
Также возможен случай, когда маркер был предназначен для отображения маршрута, который не может быть «выявлен» из IP-заголовка.
По этой причине, когда помеченный IP-пакет был принят с недействительным входящим маркером, он должен быть удалён, за исключением тех случаев, когда он будет распознан некоторыми средствами (в данном стандарте не рассматриваются), которые доставляют его не помеченным без каких-либо негативных последствий.
УправлениеLSP-маршрутом:регулируемоеили независимое
Некоторые FEC-классы соответствуют префиксам IP-адресов, которые распределяются с помощью алгоритма динамической маршрутизации. Определение LSP-маршрутов для таких FEC-классов может быть осуществлено одним из следующих способов:
- независимое управление LSP-маршрутом;
- регулируемое управление LSP-маршрутом.
При независимом управлении LSP-маршрутом каждый LSR-маршрутизатор, после объявления того, что он определил соответствующий FEC-класс, принимает независимое решение о привязке маркера к этому FEC-классу и о доставке этой привязки своим взаимодействующим сторонам по доставке маркеров. Это соответствует стандартному способу маршрутизации IP-пакетов, т.е. каждый узел принимает независимое решение о том,«как обходиться» с каждым IP-пакетом, и «уверен» в том, что алгоритм маршрутизации является «быстро сходимым», а это, в свою очередь, гарантирует, что каждый IP-пакет будет доставлен корректно.
При регулируемом управлении LSP-маршрутом каждый LSR-маршрутизатор только привязывает маркер к определённому FEC-классу, если он является выходным LSR-маршрутизатором, или если он уже получил маркер, привязанный к этому FEC-классу, от взаимодействующей стороны следующего РУ для этого FEC-класса.
Если есть необходимость гарантировать прохождение трафика соответствующего FEC-класса по маршруту с некоторыми специфическими свойствами (например, чтобы трафик не проходил через какой-либо сетевой узел дважды, чтобы для обработки трафика привлекался некоторый определённый объем ресурсов, чтобы трафик проходил по строго определённому маршруту), то должно использоваться регулируемое управление. При независимом управлении некоторые LSR-маршрутизаторы могут начать коммутировать трафик на основе маркеров потока в соответствие с некоторым FEC-классом ещё до того, как LSP-маршрут будет полностью установлен, и таким образом, некоторая часть трафика, соответствующая определённому FEC-классу, будет следовать по маршруту, который не обладает требуемыми свойствами. Регулируемое управление следует использовать и в том случае, когда распознавание FEC-класса представляет собой результат установки соответствующего LSP-маршрута.
Регулируемое управление может быть установлено по инициативе, либо входного сетевого узла, либо выходного сетевого узла.
Регулируемое управление и независимое управление являются полностью функционально совместимыми. Тем не менее, если все LSR-маршрутизаторы LSP-маршрута используют регулируемое управление, то общее функционирование сети гораздо эффективнее, чем при независимом управлении, так как никто не может уверенным в том, что LSP-маршрут не используется, пока он полностью не установлен.
Такой подход позволяет делать выбор между независимым управлением и регулируемым управлением, который, в свою очередь, имеет только локальное значение. Несмотря на то, что предложены два метода межсетевого взаимодействия, конкретному LSR-маршрутизатору следует поддерживать только один из двух. Вообще говоря, выбор между независимым и регулируемым управлением не принесёт какого-либо положительного эффекта, пока не будут определены способы доставки маркеров.
Агрегирование
Один из способов разбиения трафика на FEC-классы заключается в формировании отдельного FEC-класса для каждого префикса IP-адреса, который представлен в маршрутной таблице. Однако в пределах сетевого MPLS-сегмента разбиение трафика на FEC-классы может привести к тому, что весь трафик всех этих FEC-классов будет следовать по одному и тому же маршруту. Например, в совокупности префиксов выделенных адресов последние могут иметь один и тот же выходной сетевой узел, а процедура замены маркера может использоваться только для приема трафика в выходном сетевом узле. В таком случае, в границах сетевого MPLS-сегмента, результатом слияния (объединения) таких FEC-классов будет этот же FEC-класс. И здесь появляется выбор: либо выделенный маркер потока должен быть привязан к каждому составному FEC-классу, либо одиночный маркер должен быть привязан к объединению FEC-классов, чтобы маркер использовался для всего трафика, принадлежащего такому объединению?
Процедура привязки одиночного маркера к объединению FEC-классов, которое является этим же FEC-классом (в пределах некоторого сетевого сегмента), а также применения этого маркера ко всему трафику, принадлежащего объединению FEC-классов, называется процедурой агрегирования (aggregation). MPLS-архитектура предусматривает процедуру агрегирования. Процедура агрегирования может значительно снизить количество используемых маркеров, которые необходимы для обработки соответствующей совокупности IP-пакетов, а также может снизить объем управляющего трафика необходимый для доставки (распределения) маркеров.
Пусть имеет место совокупность FEC-классов, которая может быть агрегирована в один FEC-класс, тогда возможно:
a. агрегировать их в один FEC-класс;
b. агрегировать их в совокупности FEC-классов;
c. никак их не агрегировать.
Таким образом, можно говорить об «уровне разделения» агрегированных FEC-классов, т.е. «разделение на самые крупные (по числу FEC-классов) подгруппы» (coarsest granularity) и «разделение на самые маленькие (по числу FEC-классов) подгруппы» (finest granularity).
При регулируемом управлении, каждый LSR-маршрутизатор должен адаптировать (для конкретного набора FEC-классов) уровень разделения агрегированных FEC-классов, которые используются на следующем РУ.
При независимом управлении, возможна ситуация, при которой два смежных (соседних) LSR-маршрутизатора, Ru и Rd, будут проводить процедуру агрегирования некоторой совокупности FEC-классов по-разному.
Если Ru имеет более мелкий уровень разделения по сравнению с Rd,то проблем не возникнет. Ru распределяет (доставляет) больше маркеров для данной совокупности FEC-классов, чем это делает Rd. Это означает следующее. Если Ru необходимо доставить Rd помеченные IP-пакеты, относящиеся к указанным FEC-классам, то ему может понадобиться провести процедуру отображения n маркеров в m маркеров, где n > m. Очевидно, что Ru может изъять (аннулировать) распределённые им n маркеров, а затем распределить набор из m маркеров, что соответствует уровню разделения Rd. Нет необходимости обеспечения каких-либо гарантий корректности указанной операции, а вот её результат приведёт к уменьшению числа маркеров, распределённых Ru, и сам Ru не получит каких-либо преимуществ от распределения большего числа маркеров. Решение о проведении или не проведении такой операции принимается на локальном уровне.
Если Ru имеет более крупный уровень разделения по сравнению с Rd (т.е. Rd распределил n маркеров для некоторой совокупности FEC-классов, а Ru распределил m маркеров, где n > m), то возникает дилемма:
- можно адаптировать более мелкий уровень разделения у Rd. Это могло бы потребовать от него изъятия распределённых им m маркеров, и распределения n маркеров. Такой подход наиболее предпочтителен;
- можно просто отобразить m маркеров в подмножество nмаркеров у Rd, если, конечно, последний сможет определить, что такая процедура приведёт к одному и тому же маршруту. Например, предположим, что Ru использует один маркер для всего трафика, который необходимо доставить через определённый выходной LSR-маршрутизатор, в то время как Rd привязал несколько различных маркеров к этому же трафику, основываясь только на индивидуальных адресах получателей в IP-пакетах. Если Ru знает адрес выходного маршрутизатора, и если Rd привязал маркер к FEC-классу, который идентифицируется с помощью этого адреса, то Ru может просто использовать этот маркер.
В любом случае, каждому LSR-маршрутизатору необходимо знать (с помощью процедуры настойки), какой уровень разделения агрегированных FEC-классов следует использовать по отношению к маркерам, которые он им присваивает (к ним привязывает). Если используется регулируемое управление, то необходимо, чтобы каждый сетевой узел знал уровень разделения только для тех агрегированных FEC-классов, которые «покидают» MPLS-сеть в данном узле. При независимом управлении, наилучший результат может быть достигнут только путём обеспечения гарантий того, что все LSR-маршрутизаторы настроены соответствующим образом и знают уровень разделения для каждого FEC-класса. Тем не менее, во многих случаях этого можно достичь путём использования «поэкземплярного» уровня разделения, который применяется ко всем FEC-классам (например, «один маркер на каждый префикс IP-адреса», или «один маркер на каждый выходной узел»).
Выбор маршрута
Выбор маршрута означает метод, который используется для выбора LSP-маршрута в интересах определённого FEC-класса. MPLS-архитектура устанавливает два варианта выбора маршрута:
1. «поузловая» маршрутизация (hop by hop routing);
2. «явная (точная)» маршрутизация (explicit routing).
Поузловая маршрутизация позволяет каждому сетевому узлу независимо выбирать следующий РУ для каждого FEC-класса. На сегодня этот вариант маршрутизации является наиболее распространенным в существующих IP-сетях. «LSP-маршрут на основе поузловой маршрутизации» (hop by hop routed LSP) представляет собой LSP-маршрут, который «прокладывается» с использованием поузловой маршрутизации.
В случае «LSP-маршрута на основе явной маршрутизации» (explicitly routed LSP) каждый LSR-маршрутизатор не может независимо выбирать следующий РУ. Как правило, одиночный LSR-маршрутизатор, обычно выходной или выходной LSP-маршрута, определяет несколько или все LSR-маршрутизаторы на LSP-маршруте. Если одиночный LSR-маршрутизатор определяет весь LSP-маршрут, то такой LSP-маршрут представляет собой «точно» (strictly) проложенный маршрут на основе явной маршрутизации. Если одиночный LSR-маршрутизатор определяет только часть некоторого LSP-маршрут, то такой LSP-маршрут представляет собой «неточно» (loosely) проложенный маршрут на основе явной маршрутизации.
Последовательность LSR-маршрутизаторов, составляющая LSP-маршрут на основе явной маршрутизации, может быть определена с помощью процедуры настройки, или может быть выбрана одиночным сетевым узлом в динамическом режиме. Например, выходной сетевой узел может использовать топологическую информацию, полученную из базы данных о состоянии каналов/линий связи с целью вычисления всего маршрута по дереву кратчайших маршрутов, заканчивающемся в этом выходном сетевом узле.
Явная маршрутизация может быть полезна во многих случаях, например, при использовании политики маршрутизации или при регулировании трафика (traffic engineering). В MPLS-системах явный маршрут должен быть определен в момент времени, когда устанавливаются маркеры потока, но, с другой стороны, явный маршрут не должен устанавливаться для каждого IP-пакета. Такой подход делает явную маршрутизацию в MPLS-системах гораздо более эффективной по сравнению с маршрутизацией от источника IP-пакета.
Процедуры выбора «точно» или «неточно» прокладываемого маршрута на основе явной маршрутизации в данном стандарте не рассматриваются.
Дата добавления: 2016-04-11; просмотров: 547;