TSM Опубликовано 3 апреля, 2008 · Жалоба Решил запустить ТВ в сеть, но столкнулся с проблемкой. Есть Ubuntu server, на нем тарелка, VLC строка запуска: vlc --color --ttl 12 --ts-es-id-pid --programs="400,410,59,300,30,32,3,4" dvb: --dvb-frequency=12303000 --dvb-srate=27500000 --dvb-voltage=18 --dvb-lnb-lof1=10750000 --dvb-lnb-lof2=10750000 --dvb-lnb-slof=11700000 --sout-standard-access=udp --sout-standard-mux=ts --sout \ '#duplicate{ dst="rtp{access=udp,mux=ts,sap,dst=239.255.2.1}",name="A-One 1-st alternative TV", select="program=400",\ }' Судя по tcpdump: 07:04:55.922303 IP 192.168.1.3.33086 > 239.255.2.1.1234: UDP, length 1328 07:04:55.924904 IP 192.168.1.3.33086 > 239.255.2.1.1234: UDP, length 1328 07:04:55.927502 IP 192.168.1.3.33086 > 239.255.2.1.1234: UDP, length 1328 Пакеты в сеть летят. Запускаю VLC, открывая udp://239.255.2.1 ничего не получаю, судя по свитчу, ничего не передается на порт получателя ( часто мигает только сервер ) Свитч - rubytech ES-2310C, IGMP Snooping включен, судя по табличке статуса: IP / Member port 239.255.255.250 1,2 224.0.0.252 1,2 порт 1 - сервер, порт 2 - клиент Свитч не знает о 239.255.2.1, а VLC не начнет прием пока не получит report о 239.255.2.1. Вопрос - как дать свитчу знать о группе? Вещающий VLC разве не должен репортить о ней? Я предположил что не должен, поставил xorp, появилось следующее: IP / Member port 224.0.0.251 1 224.0.0.2 1 224.0.0.22 1 224.0.0.13 1 т.е. по видимому IGMP работает. Дальше подумалось что надо как-то настроить static group для xorp, но как это сделать я не нашел (( Что я делаю не так? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ugluck Опубликовано 3 апреля, 2008 · Жалоба снупинг без квериера работать не станет. надо штоб убунта кверями кидалась. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
TSM Опубликовано 3 апреля, 2008 · Жалоба Дык где ж его взять :( Поидее xorp должен выступать в роли кверера ... Но как? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
TSM Опубликовано 4 апреля, 2008 · Жалоба Неужели никто не делал подобного? :( Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ugluck Опубликовано 4 апреля, 2008 · Жалоба по уму, тебе нужен роутер _между источником мультикаста и свичом. не забудь задрать ТТЛ на VLC. заколхозить источник и роутер на одной машине - не вполне тривиальная затея, но можно попробовать например вещать строго с лупбека (повесив на него какой-нить пиличный айпишник) и роутить свой же мультикаст каким-нить софтом mrouted/xorp/quagga/pimd. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
TSM Опубликовано 4 апреля, 2008 · Жалоба по уму, тебе нужен роутер _между источником мультикаста и свичом. не забудь задрать ТТЛ на VLC. vlc --color --ttl 12 Так? Тоесть получается что нужно две машины - одна источник траффика, другая мультикаст-роутер .... Научить бы как-нить эту посылать анонсы .. уверен что можно .... заколхозить источник и роутер на одной машине - не вполне тривиальная затея, но можно попробовать например вещать строго с лупбека (повесив на него какой-нить пиличный айпишник) и роутить свой же мультикаст каким-нить софтом mrouted/xorp/quagga/pimd. А это идея ... moruted к сожалению не нашел под пингвина .. а вот насчет quagga надо посмотреть ... . Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Alexander Опубликовано 4 апреля, 2008 · Жалоба Не ясна конфигурация сети. Мультикаст-роутер нужен в том случае, если клиентский vlc находится в отличной от вещателя подсети. Я бы посмотрел следующие моменты: 1. Какая версия igmp поддерживается свичом и какая установлена в настройках линуха (через /proc). Если, допустим, на свиче поддерживается IGMP v1,2 а на линухе стоит v3, то работать не будет. Надо на линухе тоже v2 в настройках ставить 2. Посниффить igmp трафик на вещателе и клиенте. Многое может стать понятно Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ugluck Опубликовано 4 апреля, 2008 · Жалоба ...2. Посниффить igmp трафик на вещателе и клиенте. Многое может стать понятно +1 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
S_ergey Опубликовано 4 апреля, 2008 (изменено) · Жалоба '#duplicate{ dst="rtp{access=udp,mux=ts,sap,dst=239.255.2.1}",name="A-One 1-st alternative TV", select="program=400здесь явно неправильно заданны параметры и синтаксис.#duplicate{dst=std{access=udp,mux=ts,dst=239.255.2.1:1234}} запускайте vlc -H и читайте параметры для вещания. Изменено 4 апреля, 2008 пользователем S_ergey Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
TSM Опубликовано 4 апреля, 2008 · Жалоба '#duplicate{ dst="rtp{access=udp,mux=ts,sap,dst=239.255.2.1}",name="A-One 1-st alternative TV", select="program=400здесь явно неправильно заданны параметры и синтаксис.#duplicate{dst=std{access=udp,mux=ts,dst=239.255.2.1:1234}} запускайте vlc -H и читайте параметры для вещания. Как ни странно это работает, мало того access=udp у меня тоже такой вариант есть и точно такая же проблема. Дело не в vlc - он-то какраз вещает. Разбираюсь с маршрутизаторами :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
TSM Опубликовано 4 апреля, 2008 (изменено) · Жалоба Не ясна конфигурация сети. Мультикаст-роутер нужен в том случае, если клиентский vlc находится в отличной от вещателя подсети.Я бы посмотрел следующие моменты: 1. Какая версия igmp поддерживается свичом и какая установлена в настройках линуха (через /proc). Если, допустим, на свиче поддерживается IGMP v1,2 а на линухе стоит v3, то работать не будет. Надо на линухе тоже v2 в настройках ставить 2. Посниффить igmp трафик на вещателе и клиенте. Многое может стать понятно 1. cat /proc/sys/net/igmp Idx Device : Count Querier Group Users Timer Reporter 1 lo : 0 V3 010000E0 1 0:00000000 0 2 eth0 : 3 V2 010000E0 1 0:00000000 0 Я так понимаю v2 2) listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes IP 192.168.1.246 > 224.0.0.1: igmp query v2 Вот это свитч IP 192.168.1.70 > 224.0.0.252: igmp v2 report 224.0.0.252 IP 192.168.1.182 > 224.0.0.2: igmp v2 report 224.0.0.2 IP 192.168.1.126 > 239.255.255.250: igmp v2 report 239.255.255.250 IP 192.168.1.17 > 239.255.255.250: igmp v2 report 239.255.255.250 IP 192.168.1.36 > 239.255.255.250: igmp v2 report 239.255.255.250 IP 192.168.1.43 > 224.0.0.251: igmp v2 report 224.0.0.251 IP 192.168.1.82 > 239.255.255.250: igmp v2 report 239.255.255.250 IP 192.168.1.49 > 239.255.255.250: igmp v2 report 239.255.255.250 IP 192.168.1.182 > 224.0.0.2: igmp v2 report 224.0.0.2 IP 192.168.1.28 > 239.255.255.250: igmp v2 report 239.255.255.250 IP 192.168.1.189 > 239.255.255.250: igmp v2 report 239.255.255.250 192.168.1.3 (эта машина) - молчит Конфигурация сети считай что плоская 192.168.1.0/24, другие сегменты пока не интересуют. Изменено 4 апреля, 2008 пользователем TSM Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
TSM Опубликовано 4 апреля, 2008 · Жалоба Черт ( Ничего не могу найти в xorp ... Поидее ведь линукс должен же рассылать IGMP когда шлет мультикаст?? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ugluck Опубликовано 6 апреля, 2008 · Жалоба сам линух ниче не должен. пингвин - пица гордая, пока не пнешь - не полетит :) покопай в сторону pimd Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
TSM Опубликовано 8 апреля, 2008 · Жалоба Народ ... Спасайте ... не могу понять что сделать с pimd чтобы он говорил что у него есть мультикаст группа .. Как заставить сервер репортить группу? Bootsprap это не оно? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ugluck Опубликовано 8 апреля, 2008 · Жалоба RP поднял? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
TSM Опубликовано 8 апреля, 2008 (изменено) · Жалоба RP поднял? RP?? rendezvous point ? Тоесть маршрутизатор? PIMD поставил, но ничего не изменилось, по прежнему мультикаст прет на порт, на свитче появляются анонсы нескольких управляющих 224.x.x.x а моей нет (( ... Есть у кого-нить примеры pimd конфига? Мне бы хотябы один раз посмотреть что да как, дальше уже нагуглю ;) Изменено 8 апреля, 2008 пользователем TSM Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ugluck Опубликовано 8 апреля, 2008 (изменено) · Жалоба читаем: pimd - демон для маршрутизации по протоколу PIM-SM. если SM, то надо RP, можно на той же тачке. "пример" конфига находицца в /etc/pimd.conf. еще читаем man pimd, особенно часть see also. Изменено 8 апреля, 2008 пользователем ugluck Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
TSM Опубликовано 8 апреля, 2008 · Жалоба Однозначно не понимаю ничего .... 05:39:39.464230 IP (tos 0x0, ttl 12, id 38612, offset 0, flags [DF], proto UDP (17), length 1356) 192.168.1.3.32772 > 234.0.0.100.1234: UDP, length 1328 05:39:39.464850 IP (tos 0x0, ttl 12, id 38613, offset 0, flags [DF], proto UDP (17), length 1356) 192.168.1.3.32772 > 234.0.0.100.1234: UDP, length 1328 05:39:39.465468 IP (tos 0x0, ttl 12, id 38614, offset 0, flags [DF], proto UDP (17), length 1356) 192.168.1.3.32772 > 234.0.0.100.1234: UDP, length 1328 05:39:39.466093 IP (tos 0x0, ttl 12, id 38615, offset 0, flags [DF], proto UDP (17), length 1356) 192.168.1.3.32772 > 234.0.0.100.1234: UDP, length 1328 05:42:17.221 Getting vifs from kernel 05:42:17.221 installing eth0 (192.168.1.3 on subnet 192.168.1) as vif #0-2 - rate=0 05:42:17.221 Getting vifs from /etc/pimd.conf 05:42:17.221 Local Cand-RP address is 192.168.1.3 05:42:17.221 Local Cand-RP priority is 1 05:42:17.221 Local Cand-RP advertisement period is 30 sec. 05:42:17.221 Local Cand-BSR address is 192.168.1.3 05:42:17.221 Local Cand-BSR priority is 50 05:42:17.221 Adding prefix 234.0.0.0/4 05:42:17.222 data_rate_limit is 50000 (bits/s) 05:42:17.222 data_rate_interval is 20 (seconds) 05:42:17.222 reg_rate_limit is 50000 (bits/s) 05:42:17.222 reg_rate_interval is 20 (seconds) 05:42:17.224 eth0 comes up; vif #0 now in service 05:42:17.230 SENT IGMP Membership Query from 192.168.1.3 to 224.0.0.1 05:42:17.230 SENT PIM v2 Hello from 192.168.1.3 to 224.0.0.13 05:42:17.235 register_vif0 comes up; vif #1 now in service Virtual Interface Table Vif Local-Address Subnet Thresh Flags Neighbors 0 192.168.1.3 192.168.1 1 DR NO-NBR 1 192.168.1.3 register_vif0 1 Multicast Routing Table Source Group RP-addr Flags --------------------------(*,*,RP)-------------------------- Number of Groups: 0 Number of Cache MIRRORs: 0 05:42:17.235 Cache miss, src 192.168.1.3, dst 234.0.0.100, iif 0 05:42:17.235 create group entry, group 234.0.0.100 05:42:18.120 create group entry, group 239.192.152.143 05:42:19.808 create group entry, group 239.255.255.250 05:42:21.041 create group entry, group 239.255.255.250 Virtual Interface Table Vif Local-Address Subnet Thresh Flags Neighbors 0 192.168.1.3 192.168.1 1 DR NO-NBR 1 192.168.1.3 register_vif0 1 Multicast Routing Table Source Group RP-addr Flags --------------------------(*,*,RP)-------------------------- Number of Groups: 0 Number of Cache MIRRORs: 0 Дальше все по кругу повторяет ( с --- RP --- ) 000000 IP 192.168.1.3 > 224.0.0.1: igmp query v2 004578 IP 192.168.1.3 > 224.0.0.2: igmp v2 report 224.0.0.2 000009 IP 192.168.1.3 > 224.0.0.13: igmp v2 report 224.0.0.13 789322 IP 192.168.1.74 > 239.255.255.250: igmp v2 report 239.255.255.250 2. 736313 IP 192.168.1.28 > 239.255.255.250: igmp v2 report 239.255.255.250 4. 455414 IP 192.168.1.30 > 224.0.0.251: igmp v2 report 224.0.0.251 088693 IP 192.168.1.245 > 224.0.0.1: igmp query v2 719548 IP 192.168.1.74 > 239.255.255.250: igmp v2 report 239.255.255.250 806741 IP 192.168.1.34 > 239.192.152.143: igmp v2 report 239.192.152.143 1. 649963 IP 192.168.1.246 > 224.0.0.1: igmp query v2 779260 IP 192.168.1.28 > 239.255.255.250: igmp v2 report 239.255.255.250 3. 070318 IP 192.168.1.34 > 239.192.152.143: igmp v2 report 239.192.152.143 434409 IP 192.168.1.3 > 224.0.0.2: igmp v2 report 224.0.0.2 Странно, pimd вроде как видит 05:42:17.235 create group entry, group 234.0.0.100 но ничего такого не послыает. еще читаем man pimd, особенно часть see also. SEE ALSO /usr/share/doc/pimd - не особо там много документации А здесь сервер вообще не работает Directory with further reading. http://netweb.usc.edu/pim/ http://netweb.usc.edu/pim/pimd/ Project web pages. Какими средствами создается RP? Задача тривиальная - разлить мультикаст, только вот что-то решение никак не прийдет (( Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Alexander Опубликовано 9 апреля, 2008 · Жалоба 2)listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes IP 192.168.1.246 > 224.0.0.1: igmp query v2 Вот это свитч IP 192.168.1.70 > 224.0.0.252: igmp v2 report 224.0.0.252 IP 192.168.1.182 > 224.0.0.2: igmp v2 report 224.0.0.2 IP 192.168.1.126 > 239.255.255.250: igmp v2 report 239.255.255.250 IP 192.168.1.17 > 239.255.255.250: igmp v2 report 239.255.255.250 IP 192.168.1.36 > 239.255.255.250: igmp v2 report 239.255.255.250 IP 192.168.1.43 > 224.0.0.251: igmp v2 report 224.0.0.251 IP 192.168.1.82 > 239.255.255.250: igmp v2 report 239.255.255.250 IP 192.168.1.49 > 239.255.255.250: igmp v2 report 239.255.255.250 IP 192.168.1.182 > 224.0.0.2: igmp v2 report 224.0.0.2 IP 192.168.1.28 > 239.255.255.250: igmp v2 report 239.255.255.250 IP 192.168.1.189 > 239.255.255.250: igmp v2 report 239.255.255.250 192.168.1.3 (эта машина) - молчит почему молчит - не могу сказать. по-прежнему мало данных. надо проверять настройки (версии ты уже проверил, разрешен ли снупинг для порта с клиентской машиной, попробуй вещать с клиентской машины - может что проклюнется в tcpdump'е, etc), запускать tcpdump на клиенте и сервере одновременно и т.д. Конфигурация сети считай что плоская 192.168.1.0/24, другие сегменты пока не интересуют.тогда не запаривайся с pimd/xorp/etc - не нужны они тебе в этом случае Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Huron Опубликовано 14 июля, 2009 · Жалоба Была аналогичная проблема. Решил ее при помощи smcroute Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...