Сетевые решения — MPLS

MPLS — MultiProtocol Label Switching, технология коммутации пакетов по меткам. Данная технология позволяет существенно повысить скорость доставки пакетов из точки А в точку Б через маршрутизируемые сети, за счет кэширования маршрута по принципу работы технологии CEF (Cisco Express Forwarding).

Скорость обработки пакетов маршрутизатором увеличивается за счет уменьшения количества обрабатываемой маршрутной информации, помещения ее в кэшируемую память маршрутизатора и перехода на второй уровень модели OSI. При использовании технологии MPLS, маршрутизатор более не сверяется с таблицей маршрутизации, не вычисляет next-hop IP адрес, а обрабатывает и перенаправляет пакеты согласно номеру метки «прилепленной» к каждому пакету. Данная метка размещается в заголовке пакета между mac-адресом и IP адресом. Величина метки равна 32 битам или 4 байтам.

LSR — Label Switch Router, маршрутизатор, на котором включена функция MPLS. После включения MPLS, маршрутизатор сразу присваивает уникальные метки в виде номера всем сетям, содержащимся в его таблице маршрутизации (таблицу маршрутизации можно посмотреть командой show ip route), и помещает их в таблицу LIB (Label Information Base), в которой содержаться метки для существующих в таблице маршрутизации сетей, например, 7 = 172.16.1.0/24, 8 = 172.16.2.0/24, 9 = 172.16.3.0/24 и т.д. И так поступает каждый LSR.

Далее им предстоит обменяться своими метками с помощью протокола LDP (Label Distribution Protocol) подобно тому, как обмениваются маршрутами по протоколам RIP, OSPF, EIGRP и т.п. Результаты обмена заносятся в таблицу LFIB (Label Forwarding Information Base), которая определяет маршрут по меткам.

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

Представим топологию:

172.16.1.0——-(S0)Router1(S1)———-(S0)Router2(S1)———(S0)Router3(S1)———

Допустим на каждом маршрутизаторе правильно настроен динамический протокол маршрутизации и в их таблицах маршрутизации есть сеть 172.16.1.0. Включив MPLS, маршрутизаторы присвоят сети 172.16.1.0 свою метку и занесут ее в LIB, например:

  • Router1: 45 = 172.16.1.0
  • Router2: 780 = 172.16.1.0
  • Router3: 67 = 172.16.1.0

С помощью протокола LDP они составят таблицу маршрутизации подобно представленной ниже:

  • Router1: 45 -> pop
  • Router2: 780 -> 45 -> S0
  • Router3: 67 -> 780 -> S0

Алгоритм обработки меток маршрутизаторами примерно такой:

  • 1. Когда Router3 получит пакет с меткой 67, он «оторвет» ее, «приклеит» на ее место метку с номером 780 и отправит через интерфейс Serial 0 для Router2.
  • 2. Когда Router2 получит пакет с меткой 780, он «оторвет» ее, «приклеит» на ее место метку с номером 45 и отправит через интерфейс Serial 0 для Router1.
  • 3. Когда Router1 получит пакет с меткой 45, он «оторвет» метку, развернет пакет (перейдет на уровень 3 модели OSI) и «увидит» IP адрес, который направит по назначению согласно таблице маршрутизации.

Маршрутизаторы могут расставить метки так: Router1: 45 = 172.16.1.0, Router2: 45 = 172.16.1.0, Router3: 45 = 172.16.1.0, что никоим образом не повлияет на функциональность, но они не могут расставить метки, например, так: Router1: 76 = 172.16.1.0, 76 = 172.16.2.0.

С 2003 года на устройствах Cisco по умолчанию включена технология CEF, которая необходима для функционирования MPLS. Если вы не уверены, включена она или нет, в режиме глобальной конфигурации наберите команду ip cef.

Простейший функционал MPLS настраивается в режиме конфигурации интерфеса командой mpls ip. LDP включается с помощью команды mpls label protocol ldp. Чтобы избежать фрагментацию пакетов, необходимо увеличить его размер на 12 байт задав значение командой mpls mtu 1512 также в режиме конфигурации интерфейса.

Все устройства, через которые проходят пакеты MPLS, должны поддерживать функцию обработки jumbo frames, в противном случае пакеты, превосходящие по размеру 1500 байт, будут отбрасываться.

Пример:

172.16.1.0-------(S0)Router1(S1)----------(S0)Router2(S1)--------

Router1(config)#ip cef
Router1(config)#interface serial1
Router1(config-if)#mpls ip
Router1(config-if)#mpls label protocol ldp
Router1(config-if)#mpls mtu 1512

Router2(config)#ip cef
Router2(config)#interface serial0
Router2(config-if)#mpls ip
Router2(config-if)#mpls label protocol ldp
Router2(config-if)#mpls mtu 1512

Понравилась статья? Поделиться с друзьями:
TelecomBook
Яндекс.Метрика