Jump to content

Recommended Posts

Posted

Решил запустить ТВ в сеть, но столкнулся с проблемкой.

 

Есть 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, но как это сделать я не нашел ((

 

Что я делаю не так?

Posted

по уму, тебе нужен роутер _между источником мультикаста и свичом. не забудь задрать ТТЛ на VLC. заколхозить источник и роутер на одной машине - не вполне тривиальная затея, но можно попробовать например вещать строго с лупбека (повесив на него какой-нить пиличный айпишник) и роутить свой же мультикаст каким-нить софтом mrouted/xorp/quagga/pimd.

Posted
по уму, тебе нужен роутер _между источником мультикаста и свичом. не забудь задрать ТТЛ на VLC.
vlc --color --ttl 12

Так?

Тоесть получается что нужно две машины - одна источник траффика, другая мультикаст-роутер ....

Научить бы как-нить эту посылать анонсы .. уверен что можно ....

 

заколхозить источник и роутер на одной машине - не вполне тривиальная затея, но можно попробовать например вещать строго с лупбека (повесив на него какой-нить пиличный айпишник) и роутить свой же мультикаст каким-нить софтом mrouted/xorp/quagga/pimd.

А это идея ... moruted к сожалению не нашел под пингвина .. а вот насчет quagga надо посмотреть ... .

Posted

Не ясна конфигурация сети. Мультикаст-роутер нужен в том случае, если клиентский vlc находится в отличной от вещателя подсети.

Я бы посмотрел следующие моменты:

1. Какая версия igmp поддерживается свичом и какая установлена в настройках линуха (через /proc). Если, допустим, на свиче поддерживается IGMP v1,2 а на линухе стоит v3, то работать не будет. Надо на линухе тоже v2 в настройках ставить

2. Посниффить igmp трафик на вещателе и клиенте. Многое может стать понятно

 

Posted (edited)
'#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 и читайте параметры для вещания.

Edited by S_ergey
Posted
'#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 - он-то какраз вещает. Разбираюсь с маршрутизаторами :)

Posted (edited)
Не ясна конфигурация сети. Мультикаст-роутер нужен в том случае, если клиентский 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, другие сегменты пока не интересуют.

Edited by TSM
Posted

Черт ( Ничего не могу найти в xorp ... Поидее ведь линукс должен же рассылать IGMP когда шлет мультикаст??

Posted

Народ ... Спасайте ... не могу понять что сделать с pimd чтобы он говорил что у него есть мультикаст группа .. Как заставить сервер репортить группу? Bootsprap это не оно?

Posted (edited)
RP поднял?

RP?? rendezvous point ? Тоесть маршрутизатор? PIMD поставил, но ничего не изменилось, по прежнему мультикаст прет на порт, на свитче появляются анонсы нескольких управляющих 224.x.x.x а моей нет (( ... Есть у кого-нить примеры pimd конфига?

 

Мне бы хотябы один раз посмотреть что да как, дальше уже нагуглю ;)

Edited by TSM
Posted (edited)

читаем: pimd - демон для маршрутизации по протоколу PIM-SM. если SM, то надо RP, можно на той же тачке. "пример" конфига находицца в /etc/pimd.conf. еще читаем man pimd, особенно часть see also.

Edited by ugluck
Posted

Однозначно не понимаю ничего ....

 

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?

 

Задача тривиальная - разлить мультикаст, только вот что-то решение никак не прийдет ((

Posted
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 - не нужны они тебе в этом случае

 

  • 1 year later...

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.