Multicast routing

maestrx

Multicast routing
« kdy: 01. 12. 2010, 20:06:51 »
Zdravim vespolek.

Muj poskytovatel internetu publikuje digitalni TV pomoci multicast streamu. Mam widloidni NB na kterem se ke stremu snazim pripojit pomoci VLC. Bohuzel narazim na problem, ze muj linuxovy router nepropousti multicast traffic(predpokladam ze to je ten problem).

Tudizjsem zacal googlit a nasel spoustu clanku z roku 2008 a starsi. Bohuzel "no luck". Pak jsem se doklikal az k clanku kde doporucuji nastavit
Kód: [Vybrat]
"net.ipv4.conf.all.mc_forwarding=1"
and spustit "mroute" deamon... Prvni ukol nefunguje s hlaskou
Kód: [Vybrat]
error: "Operation not permitted" setting key "net.ipv4.conf.all.mc_forwarding" a pri pokusu najit demona kterej by na novejsich LINUX systemech routoval MCAST jsem taktez ztroskotal...

Nema s timto nekdo zkusenost? Nejaky tip na how-to, nebo to cely delam blbe?

Diky za nakopnuti...

V


j.

Re: Multicast routing
« Odpověď #1 kdy: 01. 12. 2010, 20:28:29 »
Trosku off topic:

1. vetsina ISP co jsem videl realizuje IPTV ve vlastni VPN-ce (da se na ni dostat, vetsinou maji na CPE vyvedeny zvlastni port nebo neco podobneho, ja mam treba domu zavedene 2 UTP kabely).
2. zajimave (ne FTA) kanaly jsou scramblovane.

embargo

Re: Multicast routing
« Odpověď #2 kdy: 01. 12. 2010, 22:32:16 »
Zkus si tam nainstalovat igmpproxy. Na kolejích mi to funguje dobře.

Re: Multicast routing
« Odpověď #3 kdy: 02. 12. 2010, 09:30:24 »
Tak především, zkus, jestli na linuxovém routeru, který vidí přímo do sítě ISP, jestli tam multicast funguje. Doporučuji utilitku dumprtp6 z mé domácí dílny:

Kód: [Vybrat]
$ dumprtp6 -vv ip.ad.re.sa port
Output should be redirected. Not writing any data.
Joined. Waiting for data...
First packet received. Good.

Pokud tam multicast funguje, můžeš zkusit rozjet igmpproxy, z něj mám takové rozporuplné zkušenosti. Druhou možností je spustit na routeru program jako udpxy, nebo rtp2httpd, který multicastový stream zpřístupní jako HTTP stream.

maestrx

Re: Multicast routing
« Odpověď #4 kdy: 02. 12. 2010, 10:57:24 »
Ahoj,

diky za hint. Utilitku jsem vyzkousel a vypada ze funguje:
Kód: [Vybrat]
10:45:01 [root@bigbox /home/vitek/dumprtp6-0.2]# ./dumprtp6 -vvvv 233.49.26.100 2314
Vebosity: 5, UDPonly: 0, AF: 0
Source: (null), Interface: (null),
IP: 233.49.26.100, port: 2314
Output should be redirected. Not writing any data.
Joined. Waiting for data...
First packet received. Good.
First packet is not RTP, switching to UDP mode.

Tady bohuzel stale koncim. Dle rady "Embarg-a"  jsem zkusil rozjet igmpproxy, vidim igmp join, report, atd... Ale klient nic nezobrauje. Zkusil jsem to na primo bez linuxu a stream slape bez problemu. Trochu debug informaci jestli se v tom chcete porejpat :)

sniff z loklaniho IF
Kód: [Vybrat]
19.137546 192.168.2.22 -> 239.255.255.250 IGMP V2 Membership Report / Join group 239.255.255.250
 20.149731 192.168.2.17 -> 224.0.0.2    IGMP V2 Leave Group 233.49.26.170
 20.151584  192.168.2.1 -> 233.49.26.170 IGMP V2 Membership Query / Join group 233.49.26.170
 25.650935 192.168.2.17 -> 233.49.26.100 IGMP V2 Membership Report / Join group 233.49.26.100
 26.237409 192.168.2.17 -> 233.49.26.100 IGMP V2 Membership Report / Join group 233.49.26.100
 27.235095 192.168.2.17 -> 233.49.26.100 IGMP V2 Membership Report / Join group 233.49.26.100
 29.235342  192.168.2.1 -> 233.49.26.170 IGMP V2 Membership Query / Join group 233.49.26.170
 30.211946 192.168.2.17 -> 224.0.0.2    IGMP V2 Leave Group 233.49.26.100
 30.213716  192.168.2.1 -> 233.49.26.100 IGMP V2 Membership Query / Join group 233.49.26.100
18 packets captured

sniff z venkovniho IF:
Kód: [Vybrat]
15891.640700 XX.XX.XX.80 -> 239.255.255.250 IGMP V2 Membership Report / Join group 239.255.255.250
15892.650780 XX.XX.XX.80 -> 224.0.0.2    IGMP V2 Leave Group 233.49.26.170
15898.153660 XX.XX.XX.80 -> 233.49.26.100 IGMP V2 Membership Report / Join group 233.49.26.100
15899.466849 XX.XX.XX.80 -> 239.255.255.250 IGMP V2 Membership Report / Join group 239.255.255.250
15902.712926 XX.XX.XX.80 -> 224.0.0.2    IGMP V2 Leave Group 233.49.26.100
15902.717375  XX.XX.XX.1 -> 233.49.26.100 IGMP V2 Membership Query / Join group 233.49.26.100
15903.110370 XX.XX.XX.80 -> 239.255.255.250 IGMP V2 Membership Report / Join group 239.255.255.250

debug z igmpproxy:
Kód: [Vybrat]
10:52:33 [root@bigbox /etc]# /usr/sbin/igmpproxy -v -d /etc/igmpproxy.conf
adding VIF, Ix 0 Fl 0x0 IP 0x50f95f50 eth0, Threshold: 1, Ratelimit: 0
adding VIF, Ix 1 Fl 0x0 IP 0x0102a8c0 eth1, Threshold: 1, Ratelimit: 0
adding VIF, Ix 2 Fl 0x0 IP 0x0172a8c0 tun1, Threshold: 1, Ratelimit: 0
adding VIF, Ix 3 Fl 0x0 IP 0x0105a8c0 vmnet1, Threshold: 1, Ratelimit: 0
adding VIF, Ix 4 Fl 0x0 IP 0x0262a8c0 tun0, Threshold: 1, Ratelimit: 0
joinMcGroup: 224.0.0.2 on eth1
RECV Membership query   from 192.168.2.1     to 224.0.0.1
RECV V2 member report   from 192.168.2.1     to 224.0.0.2
The IGMP message was from myself. Ignoring.
RECV V2 member report   from 192.168.2.17    to 233.49.26.170
Inserted route table entry for 233.49.26.170 on VIF #1
joinMcGroup: 233.49.26.170 on eth0
RECV V2 member report   from XX.XX.XX.80    to 233.49.26.170
The IGMP message was from myself. Ignoring.
RECV V2 member report   from 192.168.2.22    to 239.255.255.250
Inserted route table entry for 239.255.255.250 on VIF #1
joinMcGroup: 239.255.255.250 on eth0
RECV V2 member report   from XX.XX.XX.80    to 239.255.255.250
The IGMP message was from myself. Ignoring.
RECV Leave message      from 192.168.2.17    to 224.0.0.2
leaveMcGroup: 233.49.26.170 on eth0
RECV Membership query   from 192.168.2.1     to 233.49.26.170
RECV V2 member report   from 192.168.2.17    to 233.49.26.100
Inserted route table entry for 233.49.26.100 on VIF #1
joinMcGroup: 233.49.26.100 on eth0
RECV V2 member report   from XX.XX.XX.80    to 233.49.26.100
The IGMP message was from myself. Ignoring.
RECV V2 member report   from 192.168.2.17    to 233.49.26.100
Updated route entry for 233.49.26.100 on VIF #1
RECV V2 member report   from XX.XX.XX.80    to 239.255.255.250
The IGMP message was from myself. Ignoring.
RECV V2 member report   from 192.168.2.17    to 233.49.26.100
Updated route entry for 233.49.26.100 on VIF #1
RECV Membership query   from 192.168.2.1     to 233.49.26.170
RECV Leave message      from 192.168.2.17    to 224.0.0.2
leaveMcGroup: 233.49.26.100 on eth0
RECV Membership query   from 192.168.2.1     to 233.49.26.100
RECV V2 member report   from XX.XX.XX.80    to 239.255.255.250
The IGMP message was from myself. Ignoring.
Route is not active. No kernel updates done.
RECV Membership query   from 192.168.2.1     to 233.49.26.100
RECV Membership query   from 192.168.2.1     to 224.0.0.1
RECV V2 member report   from 192.168.2.17    to 239.255.255.250
Updated route entry for 239.255.255.250 on VIF #1
RECV Membership query   from 192.168.2.1     to 233.49.26.100
RECV V2 member report   from 192.168.2.1     to 224.0.0.2
The IGMP message was from myself. Ignoring.
Route is not active. No kernel updates done.
RECV Membership query   from XX.XX.XX.1     to 224.0.0.1
RECV V2 member report   from XX.XX.XX.80    to 239.255.255.250
The IGMP message was from myself. Ignoring.
RECV Membership query   from 192.168.2.1     to 224.0.0.1
RECV V2 member report   from 192.168.2.17    to 239.255.255.250
Updated route entry for 239.255.255.250 on VIF #1
RECV V2 member report   from 192.168.2.1     to 224.0.0.2
The IGMP message was from myself. Ignoring.
RECV Membership query   from XX.XX.XX.1     to 224.0.0.1
RECV V2 member report   from XX.XX.XX.80    to 239.255.255.250
The IGMP message was from myself. Ignoring.

Jdu vyzkouset udpxy. Diky za tip!

V


libra

Re: Multicast routing
« Odpověď #5 kdy: 02. 12. 2010, 12:19:46 »
Ked to na routeri ide, nebude problem v tom, ze ISP nastavil nizke ttl? Ak ano, staci navysit ttl kazdeho prijateho paketu aspon o 1, aby sa nezahadzovali na vystupnom porte.

http://www.linuxquestions.org/questions/linux-networking-3/how-to-share-internet-when-ttl-of-isp-is-stipped-to-1-a-318454/

Re: Multicast routing
« Odpověď #6 kdy: 02. 12. 2010, 12:38:40 »
Ještě si matně vzpomínám, že v konfiguráku igmpproxy bylo třeba nastavit IP adresu zdroje streamu (ta se nejsnáze zjistí třeba tcpdumpem). Něco málo o tom je ve slidech zde: http://sut.sh.cvut.cz/view.php?nazevclanku=multikast-z-pohledu-uzivatele&cisloclanku=2007050001
Ale stejně jsem s tím dlouho bojoval, až jsem si napsal rtp2httpd a pak objevil udpxy :)

maestrx

Re: Multicast routing
« Odpověď #7 kdy: 02. 12. 2010, 12:54:46 »
Tak jsem nakonec deploynul udpxy a slape to jako hodinky. Absolutni spokojenost. K nakopnuti pomuze http://www.izmaelis.com/2009/04/iptv-through-udpxy-no-igmproxy.html. Nizky load demona a prozatim stabilni.

Dekuji vsem za napady a kupu novych infromacnich zdroju.

V