Сети связи следующего поколения

       

Основы протокола LDP


В связи с тем, что протокол LDP тесно взаимодействует с протоколами внутренней маршрутизации IPG, его часто называют протоколом пересылки по участкам.

Протокол распределения меток LDP представляет собой набор процедур и сообщений, при помощи которых LSR организует тракты коммутации по меткам, обмениваясь информацией о привязке меток в FEC с "соседними" LSR, поддерживает и прекращает LSP-сеансы (двусторонний диалог взаимодействующих LSR, являющихся в данном контексте одноранговыми узлами LDP, в ходе которого каждый из взаимодействующих LSR получает сведения о привязке меток к FEC в другом LSR).

Также в протоколе определен механизм передачи уведомлений и обнаружения в LSP закольцованных маршрутов, уже обсуждавшийся ранее.

Процедуры протокола LDP позволяют LSR, выполняющему этот протокол, создавать тракты LSP. Конечной точкой такого тракта является либо смежный LSR, имеющий прямую связь с данным LSR, либо выходной LSR, доступный этому LSR через некоторое количество транзитных LSR. Процессы обнаружения конечных точек этих двух типов называются соответственно процессом базового обнаружения и процессом расширенного обнаружения. LDP создает двустороннюю связь двух смежных LSR, которые становятся одноранговыми узлами LDP, взаимодействующими друг с другом посредством LDP-сеанса.

При обмене между LSR информацией, связанной с привязкой "метка-FEC", используются четыре категории сообщений LDP:

  • сообщения обнаружения (discovery messages), используемые для того, чтобы объявить и поддерживать присутствие LSR в сети;
  • сеансовые сообщения (session messages), предназначенные для создания, поддержки и прекращения LDP-сеансов между LSR;
  • сообщения-объявления (advertisement messages), используемые для создания, изменения и отмены привязки метки к FEC;
  • уведомляющие сообщения (notification messages), содержащие вспомогательную информацию и информацию об ошибках.

Хотя "раздает" метки всегда нижний LSR, инициатором их распределения не обязательно должен быть он; процесс может инициировать и верхний LSR, направив к нижнему LSR соответствующий запрос; такой режим называется downstream on-demand.


В той или иной сети может использоваться распределение меток либо только по запросам сверху, либо только по инициативе нижнего LSR (unsolicited downstream), либо и то и другое вместе.

распределение меток может быть независимым или упорядоченным. В первом случае LSR может уведомить вышестоящий LSR о привязке метки к FEC до того, как получит информацию о привязке от нижестоящего LSR. Во втором случае высылать подобное уведомление "наверх" разрешается только после получения таких сведений "снизу".

Нижний LSR распределяет метки не только по тем верхним LSR, которые имеют с ним прямые связи. Протокол распределения меток может быть использован и для диалога двух LSR, между которыми существует лишь коммутируемая связь, однако результат распределения в этом случае зависит от того, в каком из двух режимов, либеральном или консервативном, работает верхний LSR.

Консервативный режим распределения меток – в этом режиме сообщения-объявления о привязке "метка-FEC", получаемые от несмежных LSR, не принимаются и отбрасываются. LSR привязывает метку к FEC только в том случае, если он является выходным маршрутизатором или если он получил сообщение о привязке от смежного с ним LSR. Такой режим позволяет LSR обслуживать меньшее число меток.

Либеральный режим распределения меток – в этом режиме привязка метки, выданная тем нижним LSR, с которым нет прямой связи, запоминается и используется. Такой режим удобен тем, что при реконфигурации сети соответствие между меткой и FEC сохраняется, даже если связь с LSR, определившим это соответствие, стала не коммутируемой, а прямой. Недостаток либерального режима состоит в том, что в верхнем LSR приходится хранить и обрабатывать заметно больше информации о соответствии между метками и FEC.

Как уже говорилось, метка всегда локальна, то есть обозначает некоторый FEC только для пары маршрутизаторов, между которыми имеется прямая или коммутируемая связь, и используется при пересылке пакетов этого FEC от того из маршрутизаторов данной пары, который является в ней верхним (upstream LSR), к тому, который является нижним (downstream LSR).



Для пересылки пакетов того же FEC к следующему маршрутизатору используется другая метка, идентифицирующая этот FEC для новой пары маршрутизаторов, в которой маршрутизатор, бывший в предыдущей паре нижним, приобретает статус верхнего, а статус нижнего получает второй маршрутизатор этой новой пары. Отсюда ясно, что каждый маршрутизатор MPLS-сети должен хранить соответствие между входящими и исходящими метками для всех FEC, которыми он оперирует.

Одной из важнейших функций протокола LDP является обнаружение петель. Для этой цели можно использовать два поля в сообщениях Label Request и Label mapping, а именно Path Vector и Hop Count.

Поле Path Vector содержит список LSR-идентификаторов (первые 4 октета LDP-идентификатора), принадлежащих тем LSR, через которые прошло содержащее его сообщение. Если LSR получает сообщение и обнаруживает в поле Path Vector свой собственный LSR-идентификатор, он "понимает", что возникла петля. В протоколе LDP предусматривается возможность задать максимально допустимое значение поля Path Length, по достижении которого тоже принимается решение о возникновении петли.

Второй вариант — поле Hop Count, которое содержит счетчик LSR, пройденных сообщением LSR. Каждый пройденный LSR увеличивает его значение на единицу. Маршрутизатор, обнаруживший, что счетчик достиг максимально допустимой величины, обрабатывает сообщение как сделавшее петлю.


Содержание раздела