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

Содержимое поля 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 все парсеры открыты, берите и используйте.

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


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

Join the conversation

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

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

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

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

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

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

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