/ 13.-mpls-traffic-engineering / principy-raboty-mpls-traffic-engineering.md
principy-raboty-mpls-traffic-engineering.md
1 # Принципы работы MPLS Traffic Engineering 2 3 Какие же функции по управлению трафиком предоставляет MPLS Traffic Engineering? 4 5 * Расширяет возможности стандартных IGP, позволяя маршрутизировать трафик разных классов разными способами. 6 * Передаёт трафик через сеть, используя коммутацию MPLS, что означает поддержку всяческих VPNов. 7 * При построении маршрута учитывает заданные ограничения, например, какие ресурсы необходимы этому классу трафика и сколько их доступно на всех узлах и линиях по пути, или по каким линиям нельзя строить туннели. 8 * Быстрое перестроение путей в соответствии с требованиями в случае аварии. 9 * Периодическая оптимизация путей. 10 11 Базовые механизмы работы MPLS TE были рассмотрены в [выпуске СДСМ 10](http://linkmeup.ru/blog/154.html#RSVP-TE), куда я вас и шлю за подробным рассмотрением. А здесь приведу лишь короткую сводку. 12 13 ## Data Plane 14 15 С точки зрения передачи данных TE несколько отличается от LDP. Жирным выделены отличия: 16 17 1. **В TE-туннель трафик нужно поместить насильно, тогда как в LDP он попадает автоматически** 18 19 > Juniper здесь — исключение. 20 21 1. Первый маршрутизатор навешивает внешнюю MPLS-метку \(PUSH LABEL\) 22 2. Транзитные маршрутизаторы смотрят на какой интерфейс поступил пакет и значение метки и, поменяв её на новую согласно таблице меток, отправляют её в выходной интерфейс \(SWAP LABEL\) 23 3. Предпоследний маршрутизатор снимает транспортную метку \(POP LABEL, PHP — зависит от реализации и настроек\) 24 4. **В случае обрыва на пути трафик можно спасти путём перенаправления пакетов в заранее подготовленный туннель.** 25 26 ## Control Plane 27 28 А вот в плане управления отличия гораздо более значительные. C ними всю оставшуюся дорогу и будем разбираться. 29 30 > **Терминология** 31 > 32 > **LSP** — Label Switched Path — вообще говоря, любой путь через сеть MPLS, но порой подразумевают LDP LSP. Однако мы не будем столь категоричны — при необходимости я буду указывать, что имею в виду именно LDP LSP. 33 > **RSVP LSP** — соответственно LSP, построенный с помощью RSVP TE с учётом наложенных ограничений. Может также иногда называться CR-LSP — ConstRaint-based LSP. 34 > **Туннелем** мы будем называть один или несколько MPLS LSP, соединяющих два LSR-маршрутизатора. Метка MPLS — это по сути туннельная инкапсуляция. 35 > В случае LDP — каждый LSP — это отдельный туннель. 36 > В случае RSVP туннель может состоять из одного или нескольких LSP: основной, резервный, best-effort, [временный](http://linkmeup.ru/blog/302.html#MBB). 37 > Говоря **TE-туннель**, мы будем подразумевать уже конкретно MPLS Traffic Engineering туннель, построенный RSVP-TE. 38 > **TEDB** — Traffic Engineering Data Base — тот же LSDB протоколов IS-IS/OSPF, но с учётом ресурсов сети, которые интересны модулю TE. 39 > **CSPF** — Constrained Shortest Path First — расширение алгоритма SPF, которое ищет кратчайший путь с учётом наложенных ограничений. 40 41 Итак, MPLS TE хочет строить LSP с учётом требуемых ресурсов и пожеланий оператора, поэтому столь простой LDP с его лучшим маршрутом тут не у дел. 42 И его место занимает RSVP-TE — наследник отвергнутого стеком TCP/IP протокола [RSVP](http://lookmeup.linkmeup.ru/#term488). 43 TE работает в тесном симбиозе с IGP. Хотя правильнее это называть паразитизмом. Он вынуждает их \(OSPF или IS-IS\) служить себе: переносить нужную ему информацию и тем самым наполнять TEDB. 44 45 Процесс выглядит следующим образом: 46 47 1. IGP собирает со всей сети информацию: — о линиях и сетях, — о метриках, — о доступных ресурсах, — о характеристиках линий. И заполняет TEDB, где всё это отражено. 48 2. Когда RSVP-TE хочет построить LSP до какого-то узла, он просто обращается к CSPF и говорит: «Хочу кратчайший маршрут до точки G с вот этими ограничениями». Ограничения могут быть следующими: — требуемая полоса пропускания, — определённый путь или линии, — характеристики линии. 49 3. Из запроса RSVP-TE CSPF берёт ограничения, а из TEDB — реальную информацию о сети. И выдаёт маршрут… или не выдаёт, если ограничения удовлетворить не удалось. 50 4. Когда маршрут получен, RSVP-TE отправляет RSVP PATH в эту точку G с запросом на резервирование ресурсов. 51 5. А точка G возвращает RSVP RESV — так резервируются ресурсы на всём пути. И если RESV вернулся с хорошими новостями, RSVP LSP/туннель поднимается. 52 53 Всё это подробно и в красках в статье [СДСМ10](http://linkmeup.ru/blog/154.html#RSVP-TE). А ещё там же самый простой пример на практике. 54 55 Далее мы будем ходить вокруг да около вот этой схемы: 56 57  58 59 У нас есть L3VPN-клиент, офисы которого подключены к Linkmeup\_R1 и Linkmeup\_R4. 60