IPTV network is normally separated from public internet using VLANs. On this page are some examples how to join both networks:
Term "triple play modem" refers to a modem with built in support for Triple Play service (Voice, Data and Video).
Figure 1: This is recommended way to connect. You need a computer with two network cards installed. |
|
Figure2: IPTV network directly connected to the router's switch (not WAN port). If router is multicast-aware and switching loop doesn't occur, then this kind of connection might work; however you can't set firewall rules for IPTV network. Security of your home network therefore depends solely on your internet service provider (ISP). ISP normally blocks all trafic except IPTV, so this is not that big security risk. If router doesn't support multicasting, multicast traffic is forwarded to all router's ports and as a result internet or wireless connection might not work while watching IPTV. |
|
Figure 3: Instead of PC you can also use router with linux based firmware (e.g Asus WL-500g and OpenWRT). Igmpproxy can be obtained here. In this case you can set firewall rules for IPTV network with iptables. If router doesn't support multicasting, multicast traffic is forwarded to all router's ports and as a result internet or wireless connection might not work while watching IPTV. [3] If your network consists only of
Linux computers, you can create GRE tunnels and as a result you don't
need multicast-aware router/switch.
|
Figure 4a: In this solution you have to set MulticastTV to Unicast mode (udpRelay). Multicast traffic is converted to unicast by udpRelay and sent only to the device that requested the stream. |
[1] Figure 4b: In this solution you have to set MulticastTV to Unicast mode (vlc server). You also have to enable http module on [2] vlc server. Multicast traffic is converted to unicast by vlc server and sent only to the devices that requested the stream. |
Figure 5: OpenWrt solution. IPTV over wireless with 2 routers. |
./configure --disable-hal --enable-optimize-memory --disable-growl
--disable-notify --disable-dvdnav --disable-smb --disable-gnomevfs
--disable-libcdio --disable-libcddb --disable-cdda --disable-vcd
--disable-screen --disable-ogg --disable-mod --disable-mpc
--disable-ffmpeg --disable-libtar --disable-a52 --disable-dts
--disable-libmpeg2 --disable-vorbis --disable-speex --disable-png
--disable-x264 --disable-cmml --disable-x11 --disable-xvideo
--disable-glx --disable-xinerama --disable-opengl --disable-sdl
--disable-sdl-image --disable-freetype --disable-fb --disable-oss
--disable-alsa --disable-upnp --disable-skins2 --disable-wxwidgets
--disable-visual --disable-daap --disable-bonjour --disable-gnutls
ip tunnel add gre1 mode gre remote 192.168.0.3 local 192.168.0.2 ttl 127
ip addr add 10.0.1.2/24 peer 10.0.1.3/24 dev gre1
ip link set gre1 up multicast on
ip tunnel add gre1 mode gre remote 192.168.0.2 local 192.168.0.3 ttl 127
ip addr add 10.0.1.3/24 peer 10.0.1.2/24 dev gre1
ip link set gre1 up multicast on
ip route add 224.0.0.0/4 dev gre1
phyint eth1 upstream ratelimit 0 threshold 1
altnet 89.143.0.0/16
phyint gre1 downstream ratelimit 0 threshold 1