Это коммутация MPLS (Multi Protocol Label Switching).
Для ускоренной и эффективной передачи пакетов различных протоколов через ядро сети. В отличие от IP-маршрутизации, дальнейший путь пакета на всех узлах внутри сети MPLS (label switching router, LSR) определяется не наилучшим совпадением IP-адреса и маски (переменной длины), а точным совпадением метки. Длина метки небольшая и фиксированная — 20 байт. Эта операция, во-первых, требует значительно меньше ресурсов, а во-вторых, может быть реализована аппаратно. Это критично для узлов с большим трафиком внутри сети. IP-маршрутизация выполняется только в узлах на границе сети MPLS (label edge router, LER). Таким образом, трудоёмкая задача интеллектуальной обработки пакетов сосредотачивается на периферии сети и может решаться простым увеличением числа периферийных устройств.
MPLS работает по принципу виртуальных каналов, образуемых между каждой парой смежных MPLS-маршрутизаторов. Каждый канал описывается уникальной меткой. Метка присваивается пакету на входе в сеть MPLS и удаляется на выходе. На промежуточных маршрутизаторах в ядре сети выполняется коммутация пакетов из одного виртуального канала в другой. Вся цепочка виртуальных каналов от входа до выхода из MPLS-сети образует виртуальный путь (label switched path, LSP).
В более сложном случае, заголовок пакета может содержать произвольное число меток MPLS. В этом случае они используются всегда по принципу стека, т.е. для коммутации используется только самая первая метка. Новые метки могут добавляться только в начало заголовка, а на выходе из MPLS-сегмента также удаляется первая или несколько первых меток.
Как можно видеть, концепция MPLS в значительной степени схожа с логическими каналами (LC) сетей X.25, виртуальными каналами (DLCI) сетей Frame Relay и виртуальными соединениями (VCI) сетей ATM. И формально, и по существу пакеты различных протоколов (IP и др.) инкапсулируются в пакет MPLS. В связи с этим виртуальный путь в сети MPLS называется также туннелем.
Чтобы настроить передачу пакетов IP через сеть MPLS, необходимо:
lo
. В этом случае пакет лишается метки MPLS и передаётся в процедуру IP-маршрутизации.По сравнению с другими технологиями коммутации пакетов, настройка MPLS имеет следующие существенные особенности:
Значения меток от 0 до 15 зарезервированы для специальных целей. Максимальное значение метки MPLS составляет 220–1=1048575.
tcpdump
.ВНИМАНИЕ! Во всех случаях неправильной настройки MPLS пакеты MPLS просто уничтожаются, безо всяких попыток маршрутизировать их как-либо иначе. Это относится, в частности, к следующим случаям:
- На входном порту любого из маршрутизаторов не включён MPLS.
- Значение метки больше, чем максимально разрешённое на данном маршрутизаторе.
- Не определена дальнейшая коммутация для входящей метки.
- Неизвестен или не доступен маршрут на следующий MPLS-маршрутизатор.
Пример конфигурации. Имеется сеть из трёх маршрутизаторов. Требуется обеспечить передачу пакетов между локальными сетями 192.168.0.0/24 и 192.168.2.0/24 по MPLS. Нечётные поезда едут, как известно, с востока на запад, чётные — с запада на восток. 8-))
Порты: | ||
port : eth0 : : ifAddress : : : prefix = "192.168.0.1/24" : eth1 : : ifAddress : : : prefix = "10.0.0.2/24" : : mpls-in = true system : hostname = "SPB" |
port : eth0 : : ifAddress : : : prefix = "10.0.0.1/24" : : mpls-in = true : eth1 : : ifAddress : : : prefix = "192.168.1.1/24" : eth2 : : ifAddress : : : prefix = "10.0.2.1/24" : : mpls-in = true system : hostname = "NSK" |
port : eth0 : : ifAddress : : : prefix = "192.168.2.1/24" : eth1 : : ifAddress : : : prefix = "10.0.2.2/24" : : mpls-in = true system : hostname = "VLD" |
Входящие пакеты в сеть MPLS: | ||
ip : route : : 1 : : : network = "192.168.2.0/24" : : : gateway = "10.0.0.1" : : : mpls-label = "22" |
ip : route : : 1 : : : network = "192.168.0.0/24" : : : gateway = "10.0.2.1" : : : mpls-label = "31" |
|
Коммутация внутри сети MPLS: | ||
mpls : platform-labels = 1048575 : route : : 22 : : : as = 32 : : : gateway = "10.0.2.2" : : : device = "eth1" : : 31 : : : as = 21 : : : gateway = "10.0.0.2" : : : device = "eth0" |
||
Исходящие пакеты из сети MPLS: | ||
mpls : platform-labels = 1048575 : route : : 21 : : : device = "lo" |
mpls : platform-labels = 1048575 : route : : 32 : : : device = "lo" |
© Network Systems Group 2015–2024 | Отдел документации |