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

Содержимое поля MP_REACH_NLRI.nexthop Может ли содержать label stack?

Нужно понять что может быть в поле MP_REACH_NLRI.nexthop в случае L3VPNv4 (afi/safi=1/128)

 

Настораживает тот факт, что wireshark пишет "Empty Label Stack". Может ли этот stack быть не empty?

 

Screenshot-(Untitled) - Wireshark.png

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


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

это не label stack, это просто next-hop закодированный с нулевым RD. в rfc описан процесс, там нужно чтобы next-hop был описан с учетом контекстного afi/safi, поэтому rd хоть какой-то должен быть.

 

а label stack находится дальше - в NLRI.

т.е. update содержит один next-hop, и кучу NLRI (каждый со своей label) которые соответствуют этому next-hop.

 

 

Нужно понять что может быть в поле MP_REACH_NLRI.nexthop в случае L3VPNv4 (afi/safi=1/128)

 

Настораживает тот факт, что wireshark пишет "Empty Label Stack". Может ли этот stack быть не empty?

 

Screenshot-(Untitled) - Wireshark.png

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


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

Да, я видел RFC4364, про RD=0 там написано, тут вопросов нет. Сомненения относительно label stack в MP_REACH_NLRI.nexthop появились из-за того, что одни RFC могут дополнять другие и может быть какое-то расширение, позволяющее это сделать.

 

Тогда до кучи ещё вопрос, как добиться, чтобы в самом NLRI(prefix_len+label_stack+rd+ip) было две метки, а не одна? CsC?

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


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

up, актуально

 

не понял.

вам надо чтобы две метки было именно в NLRI или просто чтобы трафик бегал упакованный в две метки?

поподробнее, если можно, ато так думать тяжело

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


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

сразу ответа не нашел.

если что придет в голову, напишу.

 

чтобы было две метки в NLRI

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


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

Я например тоже не очень понял, если вы имеете ввиду, чтобы в NLRI одному префиксу соответствовало две метки? Тогда это будет два разных NLRI. А в одном не получится, я думаю. Так все NLRI имеют одинаковый next-hop и другие атрибуты. Я даже уверен, что быть не может, смысл какой? Вам же нужно будет трафик с одной меткой отсылать, а не дублировать то с одной, то с другой. Как-то так.

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


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

TiFFolk

Я пишу парсер bgp-апдейтов, поэтому мне нужно знать что и в каком поле может быть. Раз это называется label stack, то вполне логично, что там может быть стек меток, а не просто одна метка.

С точки зрения форвардинга, насколько мне известно, может быть до 4 меток в одном кадре(глобальная(IGP),TE-шная,CsC и L3VPN), поэтому у меня есть подозрение, что в каком-то случае в NLRI может быть более одной метки. Собирать тестовые макеты на всевозможные случаи как-то лениво, если честно.

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


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

Случаев, в которых есть больше одной метки в BGP я не знаю. Но это предусмотрено RFC - можешь это в своём парсере учесть.

А вообще, меток может быть даже 5, а не 4 - к твоему стеку можно добавить метку FRR ещё.

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


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

TiFFolk

Я пишу парсер bgp-апдейтов, поэтому мне нужно знать что и в каком поле может быть. Раз это называется label stack, то вполне логично, что там может быть стек меток, а не просто одна метка.

С точки зрения форвардинга, насколько мне известно, может быть до 4 меток в одном кадре(глобальная(IGP),TE-шная,CsC и L3VPN), поэтому у меня есть подозрение, что в каком-то случае в NLRI может быть более одной метки. Собирать тестовые макеты на всевозможные случаи как-то лениво, если честно.

 

теперь понятно, что вы имеете ввиду.

форвардинг это не одно и тоже с bgp.

данные для форвардинга (data plane) собираются из кучи мест, которые в общем называются control plane.

там есть bgp, ldp, rsvp, ужо наверное еще что-то придумали )

так и набирается более одной метки, но это уже на уровне data plane, там где фреймы бегают.

 

а в парсере можете конечно учитывать наличие более одной метки в NLRI, но я никогда такого не видел.

хотя в том параграфе rfc везде написано labes(s), так что удачи.

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


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

TiFFolk

Я пишу парсер bgp-апдейтов, поэтому мне нужно знать что и в каком поле может быть. Раз это называется label stack, то вполне логично, что там может быть стек меток, а не просто одна метка.

С точки зрения форвардинга, насколько мне известно, может быть до 4 меток в одном кадре(глобальная(IGP),TE-шная,CsC и L3VPN), поэтому у меня есть подозрение, что в каком-то случае в NLRI может быть более одной метки. Собирать тестовые макеты на всевозможные случаи как-то лениво, если честно.

 

А, в стеке то конечно, может быть любое число меток. Я думал вы говорите про наличие например 2х стеков для одного префикса. Метки надо считывать до конца стека. А вообще у wireshark все парсеры открыты, берите и используйте.

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас