Blast Posted February 27, 2007 Posted February 27, 2007 Есть домашняя сетка на ~800 машин, условно "плоская", бэкбон на оптике гигабитной на свичах PLANET WGSW-2840, клиенты подключены через неуправляемые свичики, висящие непосредственно на портах WGSW-шек. Когда-то завалялась лишняя тарелка спутниковая, сделали через vlc вещание в сеть 16 каналов с ямала и экспресса. Вещание было уникастовым - один человек смотрит ТВ - до него идет один поток. В принципе ничего не тормозит, да только когда человек 60-80 смотрит тв-программы с сервака идет поток в 500 мегабит, боюсь это почти физический предел гигабитных карт. Поэтому подумали перевести на мультикаст, раньше не пробовали, так как стояли свичи FGSF-2604VS, которые IGMP не понимают. Запускаю vlc с параметрами например {dst=239.255.0.1,access=udp}, с сервака начинает валиться мульткастовый поток на адрес 239.255.0.1 порт 1234 и МАС-адрес пакетика тоже мультикастовый 10:00..кактотам. Проблема, а точнее их две: 1) мультикастовый поток вижу на всех портах WGSW-шек, хотя подписку не отправляю. Это так надо и я просто что-то не понимаю, или свич неправильно работает. Я так понимаю, он должен слать потоки только в те порты, откуда пришла подписка по igmp. IGMP Snooping в свиче включен, когда подписка приходит с порта, то в вебморде или телнетом у свича можно посмотреть его табличку - действительно, пишет что порт такой-то подписан на мультикаст-группу такую-то. Выходишь из группы - в табличке запись пропадает секунд через несколько. Но поток все равно валится на все порты. 2) Пытаюсь передавать в соседние сетки по мультикасту поток. Поставил mrouted на два сервера, находящихся между нашими сетями. Опять же, вроде работает: маршрутизаторы находят все сетри через dvmrp, в сети N2 человек запускает например vlc udp://@239.255.0.1 , с его компа приходит igmp-пакетик и тогда через линк между серверами и в его сегмент начинает лететь мультикаст-поток в с нашего медиа-сервера (из сети N1). Но: поток идет (и SAP-анонсы тоже), только картинки нет. Стал разбираться в чем дело, запустил на машине человека из сети N2 IRIS (сниффер для винды), он пакетики ловит, но говорит что UDP checksum error (IP checksum valid). То есть что-то по пути неправильно ломает пакеты, не пойму что. То что пакеты бьются нереально, потому что битые все, причем обычная свзь по ФТП например между сетями нормальная. Пробовал аналогично транслировать через 2 других роутера в сеть N3 - та же история, поток появляется, а пакеты битые. Ну и конечно, когда юзер закрывает vlc поток через несколько секунд прекращается, то есть multicast routing как я его себе представляю - работает. Итак, обобщу вопросы: Должен ли мультикаст валиться на все порты свичей при включенном igmp-snooping или мне идти продавцу всучить назад эти 6 свичей по 300 баксов? Почему пакетики могут приходить с ошибочной контрольной суммой? Может кто подскажет куда копать? P.S. прошивку в свичах менял (вливал 3 разных версии, включая последнюю тестовую) Вставить ник Quote
Dodge Posted February 28, 2007 Posted February 28, 2007 Есть домашняя сетка на ~800 машин, условно "плоская", бэкбон на оптике гигабитной на свичах PLANET WGSW-2840, клиенты подключены через неуправляемые свичики, висящие непосредственно на портах WGSW-шек.Когда-то завалялась лишняя тарелка спутниковая, сделали через vlc вещание в сеть 16 каналов с ямала и экспресса. Вещание было уникастовым - один человек смотрит ТВ - до него идет один поток. В принципе ничего не тормозит, да только когда человек 60-80 смотрит тв-программы с сервака идет поток в 500 мегабит, боюсь это почти физический предел гигабитных карт. Поэтому подумали перевести на мультикаст, раньше не пробовали, так как стояли свичи FGSF-2604VS, которые IGMP не понимают. Запускаю vlc с параметрами например {dst=239.255.0.1,access=udp}, с сервака начинает валиться мульткастовый поток на адрес 239.255.0.1 порт 1234 и МАС-адрес пакетика тоже мультикастовый 10:00..кактотам. Проблема, а точнее их две: 1) мультикастовый поток вижу на всех портах WGSW-шек, хотя подписку не отправляю. Это так надо и я просто что-то не понимаю, или свич неправильно работает. Я так понимаю, он должен слать потоки только в те порты, откуда пришла подписка по igmp. IGMP Snooping в свиче включен, когда подписка приходит с порта, то в вебморде или телнетом у свича можно посмотреть его табличку - действительно, пишет что порт такой-то подписан на мультикаст-группу такую-то. Выходишь из группы - в табличке запись пропадает секунд через несколько. Но поток все равно валится на все порты. 2) Пытаюсь передавать в соседние сетки по мультикасту поток. Поставил mrouted на два сервера, находящихся между нашими сетями. Опять же, вроде работает: маршрутизаторы находят все сетри через dvmrp, в сети N2 человек запускает например vlc udp://@239.255.0.1 , с его компа приходит igmp-пакетик и тогда через линк между серверами и в его сегмент начинает лететь мультикаст-поток в с нашего медиа-сервера (из сети N1). Но: поток идет (и SAP-анонсы тоже), только картинки нет. Стал разбираться в чем дело, запустил на машине человека из сети N2 IRIS (сниффер для винды), он пакетики ловит, но говорит что UDP checksum error (IP checksum valid). То есть что-то по пути неправильно ломает пакеты, не пойму что. То что пакеты бьются нереально, потому что битые все, причем обычная свзь по ФТП например между сетями нормальная. Пробовал аналогично транслировать через 2 других роутера в сеть N3 - та же история, поток появляется, а пакеты битые. Ну и конечно, когда юзер закрывает vlc поток через несколько секунд прекращается, то есть multicast routing как я его себе представляю - работает. Итак, обобщу вопросы: Должен ли мультикаст валиться на все порты свичей при включенном igmp-snooping или мне идти продавцу всучить назад эти 6 свичей по 300 баксов? Почему пакетики могут приходить с ошибочной контрольной суммой? Может кто подскажет куда копать? P.S. прошивку в свичах менял (вливал 3 разных версии, включая последнюю тестовую) Скажите а что такое уникаст и мультикаст, вот никак не могу понять Вставить ник Quote
GreeNGO Posted March 1, 2007 Posted March 1, 2007 RTFM Отличное объяснение, нечего сказать.. Вы думаете, если человек не знает слова unicast и multicast, он поймет аббревиатуру RTFM Вставить ник Quote
Blast Posted March 1, 2007 Author Posted March 1, 2007 (edited) Хм, а ближе к теме? Люди вот посоветовали, что на форуме nag.ru есть человек GreeNGO , который отлично разбирается в теме вещания ТВ по сети. В нашей деревне с этим только начинаю разбираться. Кстати сказать, после нескольких ресетов свичей, загрузки дефолтных настроек - вдруг все заработало. То есть при подписке с порта - поток идет, посылаем igmp leave - поток прекращается. Но через некоторое время вдруг поток опять пошел на все порты и повторить "стечение обстоятельств" больше не получалось. Переписывался с суппортом планета. Сказали, что эти свичи наверное такую фичу не умеют (фильтрацию) и им видите ли нужен некий IGMP Querier. Предлагают купить железку :) Думаю, а не выполняет ли ту же ф-цию mrouted юниксовый? И точно ли нужен этот квирер? А в одноранговой сети без рутера свич не сможет чтоли фильтровать мультикаст? Еще заметил что поток всегда идет на так называемый multiacast router (см. в доку планета, что они так обозвать хотели не знаю), то есть на сервак, где запушен mrouted, даже когда фитр на остальных портах работает. Видимо это для того, чтобы сервак с mrouted-ом "знал", что есть такой вот поток?? Хмм... Надо глубже копать в протоколе видимо... Еще заметил, что свичи режут dvmrp Probe, которые mrouted рассылает, как бы побороть? P.S. ИМХО, UNICAST - обычно подразумевается потоковое вещание с сервера на один конкретный адрес клиента. Я правда имел ввиду вещание через протокол tcp с запросом, а так в IP сетях такое по UDP реализуют. BROADCAST - отправка пакета/потока на широковещательный адрес сети, доходит на все порты, но только в одном сегменте сети MULTICAST то же, что и бродкаст на "тупом" железе получится, но более "умное" может передавать данные только н ате порты, с которых пришел IGMP запрос (подписка на соответствующую мультикастовую группу). Ну и еще мультикаст можно маршрутизировать. RTFM - предлагают почитать документацию :) P.P.S. своими словами, а так конечно лучше почитать документацию (словарик терминов) Edited March 1, 2007 by Blast Вставить ник Quote
PommeFritz Posted March 1, 2007 Posted March 1, 2007 Люди вот посоветовали, что на форуме nag.ru есть человек GreeNGO мда, даже для деревни очень техничный подкат :) Вставить ник Quote
Nag Posted March 1, 2007 Posted March 1, 2007 То есть при подписке с порта - поток идет, посылаем igmp leave - поток прекращается. Но через некоторое время вдруг поток опять пошел на все порты и повторить "стечение обстоятельств" больше не получалось. Возможно при переполнении какой-то таблицы (возможно мас-адресов, но я пока не спец в этом, попробую проконсультироваться) - мультикаст плавно превращается в броадкаст. Не лечится, на сколько я понимаю. Вставить ник Quote
GreeNGO Posted March 2, 2007 Posted March 2, 2007 Люди вот посоветовали, что на форуме nag.ru есть человек GreeNGO мда, даже для деревни очень техничный подкат :) :))) Забавный поворот. Это еще из какой деревни? Вставить ник Quote
GreeNGO Posted March 2, 2007 Posted March 2, 2007 Хм, а ближе к теме? Люди вот посоветовали, что на форуме nag.ru есть человек GreeNGO , который отлично разбирается в теме вещания ТВ по сети. В нашей деревне с этим только начинаю разбираться. Спасибо, конечно, вот только сказать что "отлично" я сам про себя не могу. Твердая 4.Еще заметил, что свичи режут dvmrp Probe, которые mrouted рассылает, как бы побороть? Скорее всего никак. Distance Vector Multicast Routing Protocol (DVRMP) это уровень 3 сетевой модели. Работает на L3-L4 коммутаторах. У вас же свитчи - 2-го уровня. Вставить ник Quote
Dodge Posted March 2, 2007 Posted March 2, 2007 Хм, а ближе к теме? Люди вот посоветовали, что на форуме nag.ru есть человек GreeNGO , который отлично разбирается в теме вещания ТВ по сети. В нашей деревне с этим только начинаю разбираться.Кстати сказать, после нескольких ресетов свичей, загрузки дефолтных настроек - вдруг все заработало. То есть при подписке с порта - поток идет, посылаем igmp leave - поток прекращается. Но через некоторое время вдруг поток опять пошел на все порты и повторить "стечение обстоятельств" больше не получалось. Переписывался с суппортом планета. Сказали, что эти свичи наверное такую фичу не умеют (фильтрацию) и им видите ли нужен некий IGMP Querier. Предлагают купить железку :) Думаю, а не выполняет ли ту же ф-цию mrouted юниксовый? И точно ли нужен этот квирер? А в одноранговой сети без рутера свич не сможет чтоли фильтровать мультикаст? Еще заметил что поток всегда идет на так называемый multiacast router (см. в доку планета, что они так обозвать хотели не знаю), то есть на сервак, где запушен mrouted, даже когда фитр на остальных портах работает. Видимо это для того, чтобы сервак с mrouted-ом "знал", что есть такой вот поток?? Хмм... Надо глубже копать в протоколе видимо... Еще заметил, что свичи режут dvmrp Probe, которые mrouted рассылает, как бы побороть? P.S. ИМХО, UNICAST - обычно подразумевается потоковое вещание с сервера на один конкретный адрес клиента. Я правда имел ввиду вещание через протокол tcp с запросом, а так в IP сетях такое по UDP реализуют. BROADCAST - отправка пакета/потока на широковещательный адрес сети, доходит на все порты, но только в одном сегменте сети MULTICAST то же, что и бродкаст на "тупом" железе получится, но более "умное" может передавать данные только н ате порты, с которых пришел IGMP запрос (подписка на соответствующую мультикастовую группу). Ну и еще мультикаст можно маршрутизировать. RTFM - предлагают почитать документацию :) P.P.S. своими словами, а так конечно лучше почитать документацию (словарик терминов) Спасибо за разъяснеия терминов. Один вопрос, что бы вещать ТВ в сеть нужны свичи 2 или 3 уровня. Про то что свич должен уметь работать с IGMP snooping я уже знаю Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.