Перейти к содержимому
Калькуляторы

MPLS BGP IPv4 + label напанятна

Решил немного поднатаскать себя в MPLS и в процессе нашел интересную особенность BGP ipv4 + label.

В чем суть: Inter AS MPLS, на бордерах bgp ipv4 + label следующий конфиг:

 

# R1 ASBR 1
interface FastEthernet0/0.192
encapsulation dot1Q 192
ip address 20.19.20.1 255.255.255.0
ip ospf 1 area 0
mpls ip

router bgp 100
network 2.2.2.2 mask 255.255.255.255
network 5.5.5.5 mask 255.255.255.255
neighbor 12.1.19.19 remote-as 200
neighbor 12.1.19.19 send-label

 

в таком варианте все отлично работает, loopback'и роутеров с соседней AS приходят с метками, но вот если вместо network на ASBR использовать редистрибюцию с IGP в BGP то префиксы приходят без лейблов.

 

Конфиг:

 

# R1 ASBR 1
interface FastEthernet0/0.192
encapsulation dot1Q 192
ip address 20.19.20.1 255.255.255.0
ip ospf 1 area 0
mpls ip

router bgp 100
redistribute ospf 1 match internal
neighbor 12.1.19.19 remote-as 200
neighbor 12.1.19.19 route-map BGP_LABEL out
neighbor 12.1.19.19 send-label

ip prefix-list BGP_LABEL seq 5 permit 5.5.5.5/32
ip prefix-list BGP_LABEL seq 10 permit 2.2.2.2/32
ip prefix-list BGP_LABEL seq 15 deny 0.0.0.0/0 le 32

route-map BGP_LABEL permit 10
match ip address prefix-list BGP_LABEL

 

Так и нужно я просто чего-то не знаю? :) вроде бы разницы никакой быть не должно, но с вариантом 2 не работает. :-/

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А показали бы вы show IP BGP с нерабочей схемы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И в роут мап может поставит set MPLS-label.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

router bgp 100

redistribute ospf 1 match internal route-map BGP_LABEL

no neighbor 12.1.19.19 route-map BGP_LABEL out

!

clear ip bgp * soft

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

в таком варианте все отлично работает, loopback'и роутеров с соседней AS приходят с метками, но вот если вместо network на ASBR использовать редистрибюцию с IGP в BGP то префиксы приходят без лейблов.

 

Метки по OSPF не распространяются, очевидно поэтому и не попали в BGP при редистрибьюции. Когда использовали network, то bgp процесс взял метки из "меточного" протокола(скорее всего LDP в вашем случае).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Метки по OSPF не распространяются, очевидно поэтому и не попали в BGP при редистрибьюции. Когда использовали network, то bgp процесс взял метки из "меточного" протокола(скорее всего LDP в вашем случае).

Ну то что внутри одной AS это понятно, у меня LDP и по нему все ходит. А вот почему BGP + label не выдает метки для маршрутов которые попали через редистрибюцию.

До этого момента я думал что команда neighbor x.x.x.x send-label говорит BGP выдавать всем префиксам MPLS метки если обратное не указанно в route-map и на практике с префиксами которые объявлялись через network это действительно было так.

 

Вечером попробую с "route-map set MPLS-label" и "redistribute ospf 1 match internal route-map BGP_LABEL" и отпишусь :)

 

Еще раз спасибо всем за подсказки :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

До этого момента я думал что команда neighbor x.x.x.x send-label говорит BGP выдавать всем префиксам MPLS метки если обратное не указанно в route-map и на практике с префиксами которые объявлялись через network это действительно было так.

 

нет, send-label говорит посылать метки если они уже имеются. В cisco нельзя разделить на уровне протокола отправку labeled и не-labeled маршрутов. (А например в juniper можно строго указать, что нужно посылать только labeled, или только не-labeled, или и те и другие).

 

команда network же, указывает bgp процессу слать соответствующий анонс если маршрут уже известен маршрутизатору, не важно откуда - connected,static или из IGP. Он благодаря LDP у вас был известен с меткой, поэтому и в BGP попал тоже с меткой.

Все IMHO конечно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Ну то что внутри одной AS это понятно, у меня LDP и по нему все ходит. А вот почему BGP + label не выдает метки для маршрутов которые попали через редистрибюцию.

До этого момента я думал что команда neighbor x.x.x.x send-label говорит BGP выдавать всем префиксам MPLS метки если обратное не указанно в route-map и на практике с префиксами которые объявлялись через network это действительно было так.

 

LDP раздает метки для IGP протоколов, а BGP ляпает сам метки для префиксов которые в BGP крутятся, у циски там конкретно нужно указывать что у нас BGP с mpls, и на таком то интерфейсе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

циски там конкретно нужно указывать что у нас BGP с mpls, и на таком то интерфейсе.

Для этого на интерфейсе нужно указать "mpls bgp forwarding" вопрос был не совсем в этом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для этого на интерфейсе нужно указать "mpls bgp forwarding" вопрос был не совсем в этом.

 

Как вы проверяете отсутствие меток тогда ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как вы проверяете отсутствие меток тогда ?

как-то так

show ip bgp labels

show ip bgp x.x.x.x

show mpls forwarding

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проверяете таблицу меток, по идее не важно откуда вы в бгп кидаете маршруты, главные чтоб у вас на asbr были метки для next-hop этих маршрутов.

Изменено пользователем config

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И в роут мап может поставит set MPLS-label.

Вы были правы, поставил в route-map который был на neighbor x.x.x.x out "set mpls-label" и все заработало.

 

redistribute ospf 1 match internal route-map BGP_LABEL

no neighbor 12.1.19.19 route-map BGP_LABEL out

 

Вы тоже правы так будет работать. И роутер даже дает небольшое объяснение: "% "BGP_LABEL" used as redistribute isis into bgp route-map, set mpls label not supported"

То есть опция set mpls-label работает только в route-map который отдельно на neighbor, в редистрибюции опция игнорируется и route-map работает как "обычный" фильтр.

 

Спасибо всем, что помогли разобраться :) Надеюсь через 3 месяца не забуду и не прийдеться снова спрашивать :D

 

(А например в juniper можно строго указать, что нужно посылать только labeled, или только не-labeled, или и те и другие).

Прикольно, не знал. Нужно будет как-то попробовать, а то пока ничего кроме сетей с cisco в продакшине не видел :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В cisco тоже можно указать через rout-map, отправлять label или не label routes.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.