Ключевые слова:mpls, cisco, route, (найти похожие документы)
From: Сергей Верещагин <sv@telecombook.ru.>
Newsgroups: email
Date: Mon, 30 Jun 2009 17:02:14 +0000 (UTC)
Subject: Настройка MPLS на Cisco
Оригинал: http://www.telecombook.ru/cisco/directory/mpls.phpMPLS - MultiProtocol Label Switching, технология коммутации
пакетов по меткам. Данная технология позволяет существенно повысить
скорость доставки пакетов из точки А в точку Б через маршрутизируемые
сети, за счет кэширования маршрута по принципу работы технологии CEF
(Cisco Express Forwarding).
Скорость обработки пакетов маршрутизатором увеличивается за счет
уменьшения количества обрабатываемой маршрутной информации, помещения ее
в кэшируемую память маршрутизатора и перехода на второй уровень модели
OSI. При использовании технологии MPLS, маршрутизатор более не сверяется
с таблицей маршрутизации, не вычисляет next-hop IP адрес, а обрабатывает
и перенаправляет пакеты согласно номеру метки "прилепленной" к
каждому пакету. Данная метка размещается в заголовке пакета между
mac-адресом и IP адресом. Величина метки равна 32 битам или 12 байтам.
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
Размер метки - 4 байта, собственно работа в режиме "простейшего функционала"(с одной меткой) мало чем отличается от cef коммутации и преимуществ не даёт. Однако возможен стек меток для организации vpn канального или сетевого уровней и туннелирования внутри mpls домена.
http://www.cisco.com/en/US/products/ps6557/products_ios_technology_home.html
в случае использования т.н. traffic engineering tunnels добавляется одна метка к стеку (4 байта). Например для организации vpn канального уровня с пропуском трафика через туннель потребуется 1500+4(транспортная метка)+4(туннельная метка)+<layer2 header size>.
Касаемо настройки протокола распределения меток на интерфейсах сопряжения lsr(label switch router) под управлением современных IOS достаточно давать команду mpls ip или tag-switching ip для распределения меток будет автоматически выбран ldp(в ранних реализациях по умолчанию выбирался "цискин" протокол tdp), предпочтение можно задать в глобале, как указал ups, так и в контексте интерфейса как указано в заметке.