Компьютерные сети

Компьютерные сети

Н. Олифер

В результате обмена сообщениями Hello все поддерживающие протокол LDP устройства LSR обнаруживают своих соседей и устанавливают с ними сеансы, как показано на рис. 20.8 (для простоты на рисунке представлены не все сеансы LDP, существующие в сети).
Сеть
Следующийхоп
132.100.0.0
LSR2
105.0.0.0
LSR4
192.201.103.0
LSR4
Рис. 20.8. Сеансы LDP устанавливаются между непосредственными соседями
105.0.0.0 |>Г192.201.103.0
Будем считать, что между устройствами LSR1 и LSR2 установлен сеанс LDP.

Тогда при обнаружении новой записи в таблице маршрутизации, указывающей на устройство LSR2 в качестве следующего хопа, устройство LSR1 просит устройство LSR2 назначить метку для нового пути к сети 132.100.0.0. Говорят, что устройство LSR2 находится ниже по потоку (downstream) для устройства LSR1 относительно пути к сети 132.100.0.0. Соответственно устройство LSR1 расположено выше по потоку для устройства LSR2 относительно сети 132.100.0.0. Естественно, что для других сетей назначения у устройства LSR1 имеются другие соседи вниз по потоку, а у устройства LSR2 — другие соседи вверх по потоку.

Причина, по которой значение метки для нового пути выбирается соседом ниже по потоку, понятна — эта метка, которая имеет локальное значение на двухточечном соединении между соседними устройствами, будет использоваться именно этим устройством для того, чтобы понимать, к какому пути LSP относится пришедший MPLS-кадр. Поэтому
устройство ниже по потоку выбирает уникальное значение метки, исходя из неиспользованных значений меток для своего интерфейса, который связывает его с соседом выше по потоку.

Для получения значения метки устройство LSR1 выполняет запрос метки протокола LDP. Формат такого запроса достаточно прост (рис. 20.9).
Запрос метки (0x0401)
Длина сообщения
Идентификатор сообщения
Элемент FEC
Рис. 20.9. Формат LDP-запроса метки
Идентификатор сообщения требуется для того, чтобы при получении ответа можно было однозначно сопоставить ответ некоторому запросу (устройство может послать несколько запросов до получения ответов на каждый из них).

В нашем примере в качестве элемента FEC будет указан адрес 132.100.0.0.
Устройство LSR2, приняв запрос, находит, что у него также нет проложенного пути к сети

132.100.0.0, поэтому оно передает LDP-запрос следующему устройству LSR, адрес которого указан в его таблице маршрутизации в качестве следующего хопа для сети 132.100.0.0. В примере, показанном на рис. 20.8, таким устройством является LSR3, на котором путь коммутации по меткам должен закончиться, так как следующий хоп ведет за пределы MPLS-сети данного оператора.
ПРИМЕЧАНИЕ-

Возникает вопрос, как устройство LSR3 узнает о том, что является последним в сети поставщика услуг на пути к сети 132.100.0.0? Дело в том, что LDP является протоколом, ориентированным на соединение, и при установлении логического LDP-соединения возможно применение автоматической аутентификации устройств, так что сеансы LDP устанавливаются только между устройствами одного поставщика услуг, который задает для всех принадлежащих его сети устройств LSR соответствующую информацию для взаимной аутентификации.

Устройство LSR3, обнаружив, что для пути к сети 132.100.0.0 оно является пограничным, назначает для прокладываемого пути метку, еще не занятую его входным интерфейсом S0, и сообщает об этой метке устройству LSR2 в LDP-сообщении, формат которого представлен на рис. 20.10. Пусть это будет метка 231.
Отображение метки (0x0400)
Длина сообщения
Идентификатор сообщения
Элемент FEC
Метка

В свою очередь, LSR2 назначает неиспользуемую его интерфейсом SO метку и сообщает об этом в LDP-сообщении отображения метки устройству LSR1. После этого новый путь коммутации по меткам, ведущий от LSR1 к сети 132.100.0.0, считается проложенным (рис. 20.11), и вдоль него пакеты начинают передаваться уже на основе меток и таблиц продвижения, а не IP-адресов и таблиц маршрутизации.

Было бы нерационально прокладывать отдельный путь для каждой сети назначения каждого маршрутизатора. Поэтому устройства LSR стараются строить агрегированные пути коммутации по меткам и передавать вдоль них пакеты, следующие к некоторому набору сетей. Так, на рис. 20.11 устройство LSR1 передает по пути LSP1 пакеты, следующие не только к сети 132.100.0.0, но и к сетям 194.15.17.0 и 201.25.10.0, информация о которых появилась уже после того, как путь LSP2 был проложен.

Мы рассмотрели только один режим работы протокола LDP, который носит сложное название «Упорядоченный режим управления распределением меток с запросом устройства вниз по потоку». Здесь под упорядоченным режимом понимается такой режим, когда некоторое промежуточное устройство LSR не передает метку для нового пути устройству LSR, лежащему выше по потоку, до тех пор, пока не получит метку для этого пути от устройства LSR, лежащего ниже по потоку. В нашем случае устройство LSR2 ждало получения метки от LSR3 и уже потом передало метку устройству LSR1.

Существует и другой режим управления распределением меток, который называется независимым. При независимом управлении распределением меток LSR может назначить и передать метку, не дожидаясь прихода сообщения от своего соседа, лежащего ниже по потоку. Например, устройство LSR2 могло бы назначить и передать метку 199 устройству LSR1, не дожидаясь прихода метки 231 от устройства LSR3. Так как метки имеют локальное значение, результат изменения режима не изменился бы.

Существует также два метода распределения меток — распределение от лежащего ниже по потоку по запросу и без запроса. Для нашего случая это значит, что если бы устройство LSR2 обнаружило в своей таблице маршрутизации запись о новой сети 132.100.0.0, оно могло бы назначить метку новому пути и передать ее устройству LSR1 без запроса. Так как при этом устройство LSR2 не знает своего соседа выше по потоку (таблица маршрутизации не говорит об этом), оно передает эту информацию всем своим соседям по сеансам LDP. В этом варианте работы протокола LDP устройства LSR могут получать альтернативные метки для пути к некоторой сети; а выбор наилучшего пути осуществляется обычным для IP-маршрутизатров (которыми устройства LSR являются по совместительству) способом — на основании наилучшей метрики, выбираемой протоколом маршрутизации.

Как видно из описания, существует два независимых параметра, которые определяют вариант работы протокола LDP: режим управления распределением меток и метод распределения меток. Так как каждый параметр имеет два значения, всего существует четыре режима работы протокола LDP.

В рамках одного сеанса LDP должен поддерживаться только один из методов распределения меток — по запросу или без запроса. В то же время в масштабах сети могут одновременно использоваться оба метода. Протокол LDP чаще всего работает в режиме независимого управления распределением меток без запроса.
Упорядоченное управление распределением меток требуется при прокладке путей LSP, необходимых для инжиниринга трафика.
Мониторинг состояния путей LSP

Наличие встроенных в транспортную технологию средств мониторинга состояния соединений и локализации ошибок (то есть средств ОАМ) является необходимым условием для того, чтобы она претендовала на статус технологии операторского класса. В противном случае ее трудно будет использовать операторам сетей, которым нужно обеспечивать своих многочисленных клиентов транспортным сервисом с высоким коэффициентом готовности (в пределах 0,999-0,99999), как это принято в телекоммуникационных сетях.

Первоначально технология MPLS не имела таких встроенных средств, полагаясь на такие средства стека TCP/IP, как утилиты ping и traceroute (использующие, как вы знаете из главы 17, ICMP-сообщения Echo Request и Echo Response). Однако классические утилиты ping и traceroute стека TCP/IP не дают корректной информации о состоянии путей LSP, так как они могут переноситься как вдоль, так и в обход этих путей с помощью обычной техники продвижения пакетов протокола IP. Поэтому позднее был разработан специальный протокол LSP Ping, который позволяет как тестировать работоспособность LSP (режим ping)> так и локализовывать отказы (режим traceroute).

Кроме того, для мониторинга состояния LSP можно применять более экономичный, чем LSP Ping, протокол двунаправленного обнаружения ошибок продвижения (см. далее).
Тестирование путей LSP

В протоколе LSP Ping для тестирования состояния LSP применяется техника, близкая к механизму работы утилиты ping протокола IP. Она заключается в том, что протокол LSP Ping отправляет вдоль тестируемого пути LSP сообщение Echo Request. Если такое сообщение доходит до устройства LER, которое является конечным узлом тестируемого пути LSP, оно отвечает сообщением Echo Replay. Получение исходным узлом такого сообщения означает, что путь LSP работоспособен.

Описанная схема работы аналогична схеме работы утилиты ping протокола IP, однако она имеет свои особенности, которые мы поясним на примере сети, изображенной на рис. 20.12.
В этом примере устройство LSR1 тестирует состояние пути LSP1, который заканчивается на устройстве LSR8 (для этого пути оно является устройством LER).

Для тестирования пути LSP1 устройство LSR1 отправляет MPLS-пакет с меткой 105 — эта метка соответствует пути LSP1 на линии между устройствами LSR1 и LSR4. Сообщение Echo Request вкладывается в UDP-сообщение, которое, в свою очередь, вкладывается в IP-пакет. На рис. 20.12 показаны только значимые для изучения протокола LSP Ping поля: метка MPLS-кадра, IP-адрес источника (SA), IP-адрес назначения (DA), а также поле FEC, которое идентифицирует тестируемый путь LSP. В нашем примере это IP-адрес сети

105.0. 0.0, к которой ведет путь LSP1.

Адрес назначения в IP-пакете, который переносит сообщение Echo Request, равен 127.0.0.1, то есть является адресом обратной петли стека протоколов IP каждого узла. О причине использования такого необычного адреса назначения (а не, скажем, IP-адреса интерфейса конечного узла тестируемого пути LSP) мы расскажем позже, а пока заметим, что адрес 127.0.0.1 должен работать правильно, так как в процессе передачи запроса по сети для его продвижения используются MPLS-метки, а не IP-адрес назначения. При приходе на конечный узел IP-пакет освобождается от заголовка MPLS (это также может произойти на предыдущем хопе, если применяется техника РНР) и обрабатывается на основе IP-адреса. Так как адрес

127.0. 0.1 указывает на собственный узел, то пакет передается собственному стеку TCP/IP, где он распознается как UDP-пакет протокола LSP Ping и обрабатывается соответственно.

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

В том случае, когда запрос благополучно доходит до конечного узла пути, и тот убеждается, что полученный запрос пришел по нужному пути (то есть полученное значение FEC совпадает со значением FEC из базы данных конечного узла), он отправляет ответ Echo Replay узлу, выполнившему запрос. В нашем случае узел LSR8 отправляет ответ Echo Replay узлу LSR1. Сообщение Echo Replay посылается уже не по пути LSP, а как обычное UDP-сообщение, вложенное в IP-пакет. Если вспомнить, что пути LSP являются однонаправленными, станет понятно, что это единственное гарантированное решение, так как обратного пути от LSR8 к LSR1 может и не существовать.

Теперь посмотрим, что происходит в том случае, когда по какой-то причине путь LSP поврежден. На рис. 20.13 представлен именно такой случай, когда путь поврежден на последнем своем участке (между устройствами LSR7 и LSR8).
Рис. 20.13. Тестирование неисправного пути LSP с помощью протокола LSP Ping

В этой ситуации LSR7 не может отправить MPLS-кадр по назначению, как того требует метка 177, а отбрасывает заголовок MPLS и старается обработать кадр как IP-пакет. Как и в случае исправного пути, адрес 127.0.0.1 требует передачи пакета локальному стеку TCP/IP. Именно этого эффекта и добивались разработчики протокола LSP Ping, выбирая в качестве адреса назначения этот специальный адрес. Узел LSR7 обрабатывает сообщение Echo Request и отправляет сообщение Echo Replay узлу LSR1 с информацией об обнаруженной ошибке.

Трассировка путей LSP

При неисправном состоянии какого-то отрезка пути LSP сообщение об ошибке не всегда может быть отправлено промежуточным устройством LSP. Возможна и такая ситуация, когда ответ на запрос Echo Request просто не приходит — сеть «молчит», например, потому что отказал промежуточный узел. Для того чтобы локализовать отказавший элемент сети (узел или соединение), протокол LSI? Ping может работать в режиме трассировки пути LSP. Этот режим аналогичен режиму работы утилиты traceroute стека TCP/IP и в нем используется тот же механизм, заключающийся в посылке серии сообщений Echo Request с монотонно возрастающим от 1 значением поля TTL. Разница состоит в том, что это поле указывается не в IP-пакете, как при использовании IP-утилиты traceroute, а в заголовке MPLS (который также имеет поле TTL).

Дальнейшее поведение протокола LSP Ping в режиме трассировки очевидно — MPLS-кадр с нулевым значением TTL передается «наверх» протоколу LSP Ping того промежуточного узла, который после вычитания единицы из значения этого поля получил нулевой результат. Протокол реагирует на такую ситуацию отправкой сообщения Echo Replay начальному узлу тестируемого пути.
Протокол двунаправленного обнаружения ошибок продвижения

Протокол двунаправленного обнаружения ршибок продвижения (Biderectional Forwarding Detection, BFD) разработан как «облегченная» альтернатива протоколу LSP Ping для постоянного мониторинга состояния пути LSP. Такой постоянный мониторинг требуется, например, в тех случаях, когда основной путь защищен резервным путем и необходим какой-то механизм, который, с одной стороны, может быстро выявить отказ пути, а с дру? гой — не перегружает сеть тестовыми сообщениями и трудоемкими проверками. Протокол LSP Ping удовлетворяет первому условию, то есть может использоваться для постоянного тестирования состояния пути путем периодической отправки сообщений Echo Requst. Однако обработка этих сообщений конечным узлом пути довольно трудоемка, так как требует сравнения значения FEC в каждом пришедшем запросе со значением из базы данных.

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

Каждый из двух конечных узлов, на которых для мониторинга определенного пути LSP развернут протокол BFD, периодически посылает по этому пути сообщения Hello. Получение сообщений Hello от соседа означает работоспособность пути в одном определенном направлении. Неполучение сообщения Hello в течение определенного времени означает отказ пути в этом направлении, что и фиксирует протокол BFD. Информацию об отказе пути могут немедленно использовать другие протоколы стека MPLS, например рассматриваемые далее протоколы защиты пути.

Протокол BFD посылает сообщения Hello в UDP-сообщениях, которые, в свою очередь, упаковываются в IP-пакеты и снабжаются заголовками MPLS. Протокол BFD может использоваться не только для мониторинга путей MPLS, он разработан как универсальный протокол тестирования двунаправленных соединений. Обычно для инициализации сеанса BFJD служит протокол LSP Ping, который переносит по пути идентификаторы сеанса BFD.
Инжиниринг трафика в MPLS

Технология MPLS поддерживает технику инжиниринга трафика, описанную в главе 7. В этом случае используются модифицированные протоколы сигнализации и маршрутизации, имеющие приставку ТЕ (Traffic Engineering — инжиниринг трафика). В целом такой вариант MPLS получил название MPLS ТЕ.

В технологии MPLS ТЕ пути LSP называют ТЕ-туннелями. ТЕ-туннели не прокладываются распределенным способом вдоль путей, находимых обычными протоколами маршрутизации независимо в каждом отдельном устройстве LSR. Вместо этого ТЕ-туннели прокладываются в соответствии с техникой маршрутизации от источника, когда централизованно задаются промежуточные узлы маршрута. В этом отношении ТЕ-туннели подобны PVC-каналам в технологиях АТМ и Frame Relay. Инициатором задания маршрута для ТЕ-туннеля выступает начальный узел туннеля, а рассчитываться такой маршрут может как этим же начальным узлом, так и внешней по отношению к сети программной системой или администратором.

MPLS ТЕ поддерживает туннели двух типов:
□ строгий ТЕ-туннель определяет все промежуточные узлы между двумя пограничными устройствами;
□ свободный ТЕ-туннель определяет только часть промежуточных узлов от одного пограничного устройства до другого, а остальные промежуточные узлы выбираются устройством LSR самостоятельно.
На рис. 20.14 показаны оба типа туннелей.
Рис. 20.14. Два типа ТЕ-туннелей в технологии MPLS

Туннель 1 является примером строгого туннеля, при его задании внешняя система (или администратор сети) указала как начальный и конечный узлы туннеля, так и все промежуточные узлы, то есть последовательность IP-адресов для устройств LERI, LSR1, LSR2, LSR3, LER3. Таким образом, внешняя система решила задачу инжиниринга трафика, выбрав путь с достаточной неиспользуемой пропускной способностью. При установлении туннеля 1 задается не только последовательность LSR, но и требуемая пропускная способность пути. Несмотря на то что выбор пути происходит в автономном режиме, все устройства сети вдоль туннеля 1 проверяют, действительно ли они обладают запрошенной неиспользуемой пропускной способностью, и только в случае положительного ответа туннель прокладывается.

При прокладке туннеля 2 (свободного) администратор задает только начальный и конечный узлы туннеля, то есть устройства LER5 и LER2. Промежуточные устройства LSR4 и LSR2 находятся автоматически начальным узлом туннеля 2, то есть устройством LER5, а затем с помощью сигнального протокола устройство LER5 сообщает этим и конечному устройствам о необходимости прокладки туннеля.

Независимо от типа туннеля он всегда обладает таким параметром, как резервируемая пропускная способность. В нашем примере туннель 1 резервирует для трафика 10 Мбит/с, а туннель 2 — 36 Мбит/с. Эти значения определяются администратором, и технология MPLS ТЕ никак не влияет на их выбор, она только реализует запрошенное резервирование. Чаще всего администратор оценивает резервируемую для туннеля пропускную способность на основании измерений трафика в сети, тенденций изменения трафика, а также собственной интуиции. Некоторые реализации MPLS ТЕ позволяют затем автоматически корректировать величину зарезервированной пропускной способности на основании автоматических измерений реальной интенсивности трафика, проходящего через туннель.

Однако сама по себе прокладка в MPLS-сети ТЕ-туннеля еще не означает передачи по нему трафика. Она означает только то, что в сети действительно существует возможность передачи трафика по туннелю со средней скоростью, не превышающей зарезервированное значение. Для того чтобы данные были переданы по туннелю, администратору предстоит еще одна ручная процедура — задание для начального устройства туннеля условий, определяющих, какие именно пакеты должны передаваться по туннелю. Условия могут быть чрезвычайно разнообразными, так, в качестве признаков агрегированного потока, который должен передаваться по туннелю, могут выступать все традиционные признаки: IP-адрес назначения и источника, тип протокола, номера TCP- и UDP-портов, номер интерфейса входящего трафика, значения приоритета в протоколах DSCP и IP и т. д.

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

Для выбора и проверки путей через туннели в технологи MPLS ТЕ используются расширения протоколов маршрутизации, работающих на основе алгоритма состояния связей. Сегодня такие расширения стандартизованы для протоколов OSPF и IS-IS. Для решения задачи ТЕ в протоколы OSPF и IS-IS включены новые типы объявлений, обеспечивающие распространение по сети информации о номинальной и незарезервированной (доступной для ТЕ-потоков) величинах пропускной способности каждой связи. Таким образом, ребра результирующего графа сети, создаваемого в топологической базе каждого устройства LER или LSR, маркируются этими двумя дополнительными параметрами. Располагая таким графом, а также параметрами потоков, для которых нужно определить ТЕ-пути, устройство LER может найти рациональное решение, удовлетворяющее одному из сформулированных в главе 7 ограничений на использование ресурсов сети. Чаще всего решение ищется по наиболее простому критерию, который состоит в минимизации максимального значения коэффициента использования вдоль выбранного пути, то есть критерием оптимизации пути является значение min (max Ki) для всех возможных путей.


Все материалы, размещенные в боте и канале, получены из открытых источников сети Интернет, либо присланы пользователями  бота. 
Все права на тексты книг принадлежат их авторам и владельцам. Тексты книг предоставлены исключительно для ознакомления. Администрация бота не несет ответственности за материалы, расположенные здесь

Report Page