Daniel Ginsburg ([info]dbg) wrote,
@ 2007-05-06 00:55:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Бесчеловечные эксперименты в области стоматологии
Я собирался написать очередной прогон про мультикаст, MPLS, FRR и прочие прикольные штучки. Сел сегодня в лабе, отлабал даже, что хотел. Но, подумав, понял, что писать длинную и подробную байку с картинками, конфигами и детальными объяснениями что, зачем и почему, я не буду - слишком много получится. И решил забить. Потом подумал еще раз, и решил все-таки написать, но тезисно и без подробностей. Если кому-то очень-очень надо, то конфиги дам, но картинки рисовать и описывать каждую строчку конфига не буду.

Итак. Некоторое время назад, я написал сумбурный и путанный пост про защиту мультикаста с помощью MPLS FRR. Это, конечно же, было полное гонево. Там требовалось модифицировать протоколы, изменять алгоритм проверки RPF и т.д. На самом деле, все составные части для того, чтобы сделать защиту мультикаста FRR'ом, уже есть. Во-первых, мультикаст в VPLS, который пропагандирует Алкатель, а во-вторых, routed pseudowires, на которые мое внимание обратил один хороший человек в приватной беседе.

В чем, собственно, идея? Идея очень простая - создать поверх MPLS-сети наложенную топологию из pseudowires, по которой и гонять мультикаст. А эти PW уже можно положить в MPLS TE туннели, которые защитить fast-reroute'ом с соответствующим временем восстановления. FRR будет либо link protection, если PW в точности повторяют физическую топологию, либо node и link protection, если PW лежат не между соседними узлами.

Возникает вопрос, что делать с этими PW дальше, и где будет репликация, и какая. С PW можно делать две вещи. А именно, бриджить между ними и роутить. Соответственно, в первом случае получается VPLS, возможно daisy-chained, во втором - те самые routed pseudowires. А репликация мультикаста, очевидно, будет на стыкующих узлах. В первом случае - L2 репликация со всеми ее приколами: snooping'ом, MVR'ом и прочими прелестями жизни, во-втором случае - L3 multicast routing с PIM'ом.

Чем же я занимался сегодня в лабе. Этим вот и занимался. Наконец, решил попробовать собрать на циске и посмотреть на все это живьем. Одна беда. Для VPLS'а и для routed PW нужны умные карточки в 7600: либо SIP'ы, либо новенькие ES20, а у меня только 6704 и 6748. 6704 - штука, конечно, хорошая, она даже умеет loss of signal миллисекунд за 30 обнаруживать, но для VPLS'а и прочих нужных штук довольно бесполезная. Ну, где наша не пропадала. Как обычно, на помощь пришло оружие пролетариата - hairpin, т.е. проводок, соединяющий два порта одной и той же железки. Берем один порт, вешаем на него xconnect куда надо, а второй, с ним соединенный, либо делаем свитчпортом в каком-то нужном VLAN'е, либо оставляем обычным routed портом и вешаем на него адрес. В первом случае получается бриджинг между PW, если их засунуть в один VLAN, во втором, очевидно роутинг. Благо мультикаста у меня заметно меньше гигабита, то порты на 6748 вполне годятся.

Сыграл я в оба варианта. Оба работают. Рвешь десятигиговый линк - картинка либо вообще не дергается, либо появляется маленький-маленький артефактик, который, если его специально не ждать, то и не заметишь. Еще бы, fast route все-таки.

Какой из вариантов лучше? Оба, на самом деле, плохие. Во-первых, наложенные топологии строить ужасно геморно, просто геморно. Во-вторых, в случае с бриджингом PW надо внимательно следить, чтобы не наделать лупов. Плюс, L2, как обычно, отлаживать тяжело - диагностических средств минимум. В случае с роутингом между PW все тоже весело: надо запускать второй протокол маршрутизации (первый нужен для самого MPLS'а) на наложенной сети, чтобы PIM работал нормально, что тоже не сахар, но зато можно строить произвольную топологию из PW.

У всей этой идеи в обоих ее вариантах есть слабое место - восстановление при гибели узла, который стыкует PW либо с помощью бриджига, либо с помощью роутинга. Что делать?

В случае с бриджингом восстановление от потери узла будет происходить с помощью выбора PIM designated router. Этот процесс можно сделать достаточно быстрым путем выкручивания pim query-interval. Но надо осторожно, слишком сильно выкручивать нельзя. При обрыве линка, когда срабатывает FRR, и трафик идет сильно окольным путем, сообщения PIM'а могут и опоздать. Тогда будет плохо.

В случае с роутингом между PW сходимость будет опираться на сходимость второго IGP. Поскольку второй IGP живет в наложенной сети, то непосредственно увидеть погасшие линки к упавшему узлу он не сможет. Поэтому обнаружение аварии во втором IGP опирается на hello-сообщения. Что не быстро, совсем не быстро. Можно сделать BFD, но опять же надо без фанатизма. Думается, что добиться субсекундной сходимости для гибели узла вполне реально.

Буду ли я делать подобные конструкции в живых сетях? Не знаю. Надо их изучить гораздо внимательней, чем я смог за три часа сегодняшних упражнений. Там есть куча подробностей, которые я даже не упомянул в этом посте. Точно не буду делать с hairpin'ами: криво, ненадежно, непроизводительно - трафик проходит через роутер трижды. С SIP'ами или ES'ками, может быть, но надо много экспериментировать, прежде чем внедрять.



(Post a new comment)


[info]strangestone
2007-05-05 09:28 pm UTC (link)
наверно глупый вопрос, но что кроме triple play^W^Wvideo нынче принято мультикастить?

(Reply to this) (Thread)


[info]dbg
2007-05-05 09:40 pm UTC (link)
Ну, в первую очередь риалтаймовый контент. Тель-а-видение, радио. Вот кейс, которым циска трясет на каждом углу: http://www.cisco.com/application/pdf/en/us/guest/netsol/ns465/c647/cdccont_0900aecd801a9e88.pdf

Есть еще много чего, но это в основном махровая энтерпрайзщина, причем финансовая, типа всяких stock ticker'ов и hoot-n-holler'ов. Есть люди, которые дистрибьютят нериалтаймовый контент мультикастом. Ну, в общем, мультикаст - штука противная, но местами полезная.

(Reply to this) (Parent)(Thread)


[info]_slw
2007-05-05 09:46 pm UTC (link)
о, от энтерпрайза поверх операторскго MPLS тошнить должно обоих участников.

жил-поживал энтерпрайз. с развесистой сеткой. междугородние каналы. к каждому сайту по нескольку, с разной технологией. в качестве IGP -- OSPF. и тут оператор предлагает "а давайте мы вам MPLSный канальчик продадим". бля. бля... бля!

жопа.

(Reply to this) (Parent)(Thread)


[info]dbg
2007-05-05 09:50 pm UTC (link)
А чего бля-то? Нормально. Могут быть неприятные подробности, но ничего совсем уж необъезжабельного в этом нет.

(Reply to this) (Parent)(Thread)


[info]_slw
2007-05-05 09:57 pm UTC (link)
это только на первый взгляд.

OSPF-то на MPLSе тебе нахрен поломают. соответственно прощай и оптимальные маршруты и управление выбором оных. а уж объезжать это... проще послать mpls нахрен

(Reply to this) (Parent)(Thread)

(no subject) - [info]dbg, 2007-05-05 10:05 pm UTC
(no subject) - [info]__v__e__, 2007-05-06 12:36 am UTC
(no subject) - [info]_slw, 2007-05-06 09:26 am UTC
(no subject) - [info]dbg, 2007-05-06 10:33 am UTC
(no subject) - [info]__v__e__, 2007-05-06 11:22 am UTC
(no subject) - [info]dbg, 2007-05-06 11:37 am UTC
(no subject) - [info]__v__e__, 2007-05-06 12:09 pm UTC
(no subject) - [info]dbg, 2007-05-06 12:26 pm UTC
(no subject) - [info]__v__e__, 2007-05-06 12:31 pm UTC
(no subject) - [info]dbg, 2007-05-06 12:32 pm UTC
(no subject) - [info]_slw, 2007-05-06 01:24 pm UTC
(no subject) - [info]__v__e__, 2007-05-06 01:34 pm UTC
(no subject) - [info]_slw, 2007-05-06 01:40 pm UTC
(no subject) - [info]__v__e__, 2007-05-06 01:47 pm UTC
(no subject) - [info]_slw, 2007-05-06 01:50 pm UTC
(no subject) - [info]__v__e__, 2007-05-06 01:59 pm UTC
(no subject) - [info]_slw, 2007-05-06 02:06 pm UTC
(no subject) - [info]__v__e__, 2007-05-06 02:10 pm UTC
(no subject) - [info]_slw, 2007-05-06 03:02 pm UTC
(no subject) - [info]__v__e__, 2007-05-06 03:12 pm UTC
(no subject) - [info]_slw, 2007-05-06 03:23 pm UTC
(no subject) - [info]__v__e__, 2007-05-06 02:18 pm UTC
(no subject) - [info]_slw, 2007-05-06 03:05 pm UTC
(no subject) - [info]_slw, 2007-05-06 01:21 pm UTC
(no subject) - [info]__v__e__, 2007-05-06 01:41 pm UTC
(no subject) - [info]dbg, 2007-05-06 10:44 am UTC
(no subject) - [info]_slw, 2007-05-06 09:25 am UTC
(no subject) - [info]dbg, 2007-05-06 10:34 am UTC
(no subject) - [info]__v__e__, 2007-05-06 12:10 pm UTC
(no subject) - [info]dbg, 2007-05-06 12:13 pm UTC
(no subject) - [info]_slw, 2007-05-06 01:15 pm UTC
(no subject) - [info]_slw, 2007-05-06 01:10 pm UTC

[info]ivlad
2007-05-06 09:58 am UTC (link)
> жил-поживал энтерпрайз. с развесистой сеткой. междугородние каналы. к каждому сайту по нескольку, с разной технологией. в качестве IGP -- OSPF. и тут оператор предлагает "а давайте мы вам MPLSный канальчик продадим". бля. бля... бля!

так и делали. поменяли FR на MPLS. Никто не умер.

(Reply to this) (Parent)(Thread)


[info]_slw
2007-05-06 01:17 pm UTC (link)
и как решали проблему sham-link?

(Reply to this) (Parent)


[info]abbra
2007-05-06 08:17 am UTC (link)
В OLPC система обновления поверх mesh network будет как раз на мультикасте построена, мне автор на прошлой неделе рассказывал.

(Reply to this) (Parent)(Thread)


[info]dbg
2007-05-06 10:45 am UTC (link)
О. Надо почитать, чего OLPC будет от сети хотеть. А то, вдруг, и у нас стрельнет. Может, сразу ткнешь меня в какой-нибудь документ?

(Reply to this) (Parent)(Thread)

(no subject) - [info]abbra, 2007-05-06 05:06 pm UTC
(no subject) - [info]dbg, 2007-05-06 05:50 pm UTC
(no subject) - [info]abbra, 2007-05-06 05:58 pm UTC
(no subject) - [info]dbg, 2007-05-06 06:05 pm UTC
(no subject) - [info]abbra, 2007-05-06 06:45 pm UTC
(no subject) - [info]dbg, 2007-05-06 07:06 pm UTC

[info]__v__e__
2007-05-06 12:29 am UTC (link)
Есть мнение (с), что когда придумывали мультикаст в том виде что он есть сейчас - реальнных поводов его поиспользовать - не было. Так, игрушки для гиков. Поэтому получилось нечто из головы, из соображений, пришедших авторам в голову и не проверенных реальным демандом. Соответственно, получился урод. И когда дошло до дела (до передачи телевизора по IP, что массово случилось буквально пару/тройку лет назад) - выяснилось что без сильно ненулевого числа костылей - ничего не выходит. А потом еще и при разработке mpls про него (мультикаст) забыли. В результате, действительно, без стоматологии не обойтись.

Что то мне подсказывает, что это место должно быть в очень обозримом будущем переработано, причем кардинально, мама родная не узнает. Я, правда, пока не понимаю в какую сторону, но "так жить нельзя".

(Reply to this) (Thread)


[info]dbg
2007-05-06 11:18 am UTC (link)
> Есть мнение (с), что когда придумывали мультикаст в том виде что он есть сейчас - реальнных поводов его поиспользовать - не было. Так, игрушки для гиков.

Натурально так. Тому пример - сюръективное отображение мультикастных IP-адресов на MAC-адреса. Просто пожались выделять несколько OUI для гиковских игрушек.

> А потом еще и при разработке mpls про него (мультикаст) забыли.

Ну, не совсем так. Были планы на распространение меток PIM'ом (draft-farinacci-mpls-multicast). Получилось криво.

Но теперь есть очень энергичное движение вперед в части multipoint LSP. У джунипера есть рабочая реализация с RSVP. Причем они ее очень активно развивают. Когда Компелла с Аггарвалом приезжали в Москву, они очень много и интересно про это рассказывали.

Циска обещает присоединиться. Правда, по началу с другого, несовместимого боку. Они хотят начать с LDP'шной реализации. Но факт остается фактом, движение вперед в этой области есть.

А пока да, либо садо-мазо с наложенными сетями, либо обычный PIM с обычной же IGP'шной сходимостью. Второе, на самом деле, не так уж страшно.

(Reply to this) (Parent)(Thread)


[info]__v__e__
2007-05-06 11:38 am UTC (link)
>Но теперь есть очень энергичное движение вперед в части multipoint LSP.
> У джунипера есть рабочая реализация с RSVP.

Да, но заметим себе что это не вполне замена. p2mp lsp кроме всего прочего -
вещь довольно статичная. Скорее доставить телесигнал в несколько мест куда
его заведомо надо доставлять. У juniper'а тоже есть любимая сукцесс стори про это -
это доставка телесигнала в Англии для дальнейшей раздачи оного традиционным способом.


(Reply to this) (Parent)(Thread)


[info]dbg
2007-05-06 11:44 am UTC (link)
Пока не вполне замена. Но уже совсем скоро. Уже есть механизмы сигнализации о желании достроиться в дерево. Я вот тут выложил Аггарваловскую презентацию: http://ot-e.biz/raggarwal-jnpr-mcast.pdf

(Reply to this) (Parent)(Thread)

(no subject) - [info]__v__e__, 2007-05-06 12:17 pm UTC
(no subject) - [info]dbg, 2007-05-06 12:23 pm UTC
(no subject) - [info]__v__e__, 2007-05-06 12:34 pm UTC

[info]reedcat
2007-05-07 08:35 am UTC (link)
>Что то мне подсказывает, что это место должно быть в очень обозримом будущем переработано, >причем кардинально, мама родная не узнает. Я, правда, пока не понимаю в какую сторону, но "так >жить нельзя".

А мне что-то подсказывает, что будет как с факсами... :(
Предельно глупый протокол (это я про факсы, для мультикастов наречие из характеристики можно исключить) будут продолжать тянуть из соображений "совместимости"... :(

(Reply to this) (Parent)(Thread)


[info]__v__e__
2007-05-07 11:02 am UTC (link)
> будут продолжать тянуть

Могут. Но скорее тот самый реальный деманд - не позволит.

(Reply to this) (Parent)


[info]sha90w
2007-05-06 06:51 am UTC (link)
Во, я теперь знаю как называется этот изврат с втыканием проводка в себя (hairpin - шпилька). А вообщеоткуда этот термин произошел ?

Вот пришлось оный прикол использовать для снятия второго Q-in-Q тега на свитчах - хотим иметь Q-in-Q, а транспортный оператор через свою MPLS сеть может только точку точку делать
поэтому на каждый город по 1-му VLAN'у в центр, а внутрь мы еще q-in-q свое суем.

(Reply to this) (Thread)


[info]dbg
2007-05-06 10:53 am UTC (link)
Это все, что тебя заинтересовало в этом посте? :)

Термин телефонический. Кстати, как отечественные телефонисты называют такую конструкцию, я не знаю.

А вобще, hairpin - действительно оружие пролетариата. Очень много забавных фокусов с его помощью можно сделать.

(Reply to this) (Parent)(Thread)


[info]sha90w
2007-05-06 12:43 pm UTC (link)
С остальным к сожалению/счастью ;) пока не сталкиваюсь - своего MPLS в лавке нету, поэтому могу
только приклоняться перед глубиной и запоминать, что такое бывает и как решается. Так что автор пиши еще :)

(Reply to this) (Parent)


[info]my_own_autumn
2008-05-26 10:22 am UTC (link)
Скорее всего, его называют "короткое" по аналогии с телефонно-кроссировочной терминологией :)

(Reply to this) (Parent)


[info]azz_kikr
2007-05-06 07:07 am UTC (link)
хм.. оверлейная топология - это больно :) да и как-то неэстетично
немножко L3 на L2 на L3 на L2.

По поводу предыдущего поста мне еще тогда подумалось: может просто
сделать MPLS FRR + multipath (ECMP) RPF - подкрутив метрики ну или
впарив статичные мроуты на худой конец. Так чтобы принимать пакеты
на запасных интерфейсах.

(Reply to this) (Thread)


[info]dbg
2007-05-06 10:49 am UTC (link)
Так не получится. MPLS FRR защищает TE'шный LSP. А мультикаст сейчас ходит мимо всех LSP. Собственно, все эти извращения и нацелены на то, чтобы мультикаст шел внутри TE-тоннеля, а не рядом.

А что до эстетики, то да, Франкенштейн отдыхает.

(Reply to this) (Parent)


[info]as8350
2007-05-06 04:47 pm UTC (link)
а шо говорит мировой опыт? ты ж не один на этой планиде. все так же пытаются сделать из говна пулю?

(Reply to this) (Thread)


[info]dbg
2007-05-06 05:54 pm UTC (link)
Мировой опыт в лице сам знаешь кого пожимает плечами, и говорит: не парься, вот сделаем p2mp lsp, жизнь, глядишь, пойдет на лад. А по реальным чувакам я пока не видел, чтобы кто-нибудь хвастался в выступлении на наноге: вот какую модную фишку мы замутили - наложили псевдопровов и все стало рулез.

(Reply to this) (Parent)(Thread)


[info]as8350
2007-05-07 06:11 pm UTC (link)
а л. что говорит? у j. p2mp lsp 100 лет уже как штатно работают... но думаю в промышленном масштабе (для всего солюшена с учетом мк) - сплошая аггравальщина на уровне презентаций и драфтов.
короче "гвинейская свинка - в поисках приключений"...
а, забыл, ты же теперь спец по алкателю:))
что там у них на эту тему? можно ч.л. замутить роботоспособное?

(Reply to this) (Parent)(Thread)


[info]dbg
2007-05-08 07:58 am UTC (link)
Л., естественно, верит в p2mp, я с ним согласен. До полнокомплектного солюшна еще далеко, конечно, но я верю, что оно созреет. Другого пути у нас нет.

> теперь спец по алкателю:))

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

А на эту тему у них мультикаст в VPLS'е на агрегации и обычный PIM в ядре. В этом есть некоторый пойнт, но мне все равно не очень нравится, да и не все отказы у них в такой архитектуре покрыты разумно быстрым восстановлением.

(Reply to this) (Parent)


Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…