Routed IPTV configuratie

Doel
Deze configuratie maakt het mogelijk om routed IPTV van KPN te gebruiken met een eigen router, zonder experiabox. Deze opstelling is de tegenhanger van de bridged IPTV oplossing zoals hier beschreven.

Schematisch overzicht
Het verschil tussen bridged en routed IPTV is hieronder te zien.

Allereerst de traditionele bridged methode. Hierbij staan de decoders rechtstreeks in verbinding met het IPTV platform van KPN. De decoders vormen samen met het platform een eigen, gescheiden netwerk.

Bij de routed methode staat het IPTV platform in verbinding met de router (experiabox) en de decoders maken ook verbinding met de router (experiabox). De decoders maken deel uit het van het thuisnetwerk. In de router zit een speciale configuratie. Allereerst is er de IGMP proxy die de communicatie met het IPTV platform doet namens de decoders. Door gebruik te maken van wat extra routeringsregels in de router kan de decoder met zowel internet als het IPTV platform communiceren.



Hoe werkt Routed IPTV
Let op: De op deze site aanbevolen RB2011 en CRS125 serie van Mikrotik heeft wel een IGMP proxy maar geen IGMP snooping. Bij snooping houdt de router of switch bij of een bepaalde switchpoort belang heeft bij een multicast. Zo niet, dan zal de multicast niet richting die betreffende poort gaan. Zonder snooping betekent het dat het multicast verkeer van IPTV dienst uitgestuurd wordt over alle poorten die in een bridge of master/slave configuratie zitten. Dit is een behoorlijke belasting van het systeem en verspilling van de bandbreedte. Om deze routed oplossing te kunnen gebruiken zou het dan ook beter zijn een switch met IGMP snooping in te zetten of een router die hier slim mee om gaat.

Om implementatie van routed IPTV zonder Experiabox eenvoudig te maken, hieronder eerst stap voor stap de benodigde handelingen voor routed IPTV van KPN.

Uitgangspunten:
1. VLAN 4 en 6 zijn nodig aan de KPN kant. Over VLAN6 gaat het normale internet, daar wijzigt niks en configuratie informatie daarvoor kun je hier vinden.
2. De decoders moeten niet in een bridge geplaatst worden met VLAN 4, maar onderdeel uitmaken van het normale LAN. Ze krijgen (daarmee) dus een IP adres van de router, met de standaard instellingen van gateway en DNS.

Op VLAN4 moet een DHCP client gestart worden die een classless IP adres vraagt. De default gateway op de router moet NIET gezet worden op basis van dit antwoord, of in ieder geval op een ongunstige distance (zo hoog mogelijk). In het antwoord zit een IP adres voor de router zelf, bijbehorend subnet, een gateway adres van KPN IPTV, en een extra subnet die via een statische route via deze gateway gerouteerd moet worden. Dit allemaal over VLAN4. Bijvoorbeeld, een DHCP request kan de volgende response opleveren:

Option 3: Router: 10.142.64.1
Option 121: Classless Static Route: 213.75.112.0/21 via 10.142.64.1

Dit maakt ook duidelijk waarom de default gateway niet gevolgd mag worden. Het werkt niet als de router 10.142.64.1 op VLAN4 gaan proberen te gebruiken om al het internet verkeer af te handelen.

Het is belangrijk de volgende extra DHCP option mee te sturen in het DHCP request:

option 60: IPTV_RG

Stuur je deze option niet mee, dan krijg je geen IP adres terug. De DHCP server van KPN blijft dan compleet stil. Ondersteunt je router dit niet, dan kun je dus geen gebruik maken van routed IPTV.

Op het interne lan zitten de decoders tussen de andere apparaten. De decoders hebben ook extra DHCP opties nodig. Zorg dus dat de DHCP server deze aanbiedt:

option60: IPTV_RG
option28: het broadcast adres van je subnet, bijvoorbeeld 192.168.10.255 als je de basis configuratie hebt gevolgd.

De IGMP proxy moet gestart worden op het verkregen IP adres van de DHCP op VLAN4. De upstream is de VLAN4, de downstream de bridge of master/slave waar de decoders op zitten. De proxy moet de volgende subnetten accepteren:
10.142.64.0/18 en 213.75.0.0/16

Verder moet er NAT worden gedaan op deze twee IP reeksen tussen VLAN4 en het interne netwerk.

10.142.64.0/18
213.75.112.0/21

Voorbeeld configuratie RouterOS/Mikrotik

Schakel voordat je verder gaat eerst je decoders uit.

# DHCP client
# De interface moet een VLAN4 zijn op de poort waar de glasvezel op binnen komt. In dit voorbeeld VLAN4 op poort 16.
# Wijzig dit naar je eigen setup. Uiteraard moet het VLAN al bestaan in je configuratie.
/ip dhcp-client option
add code=60 name=option60-vendorclass value="'IPTV_RG'"
/ip dhcp-client
add add-default-route=special-classless default-route-distance=254 dhcp-options=option60-vendorclass \
 disabled=no interface=vlan16.4 use-peer-dns=no use-peer-ntp=no

# IGMP proxy
# De upstream interface is de glasvezel richting KPN. Er is maar 1 upstream. Alle andere interfaces
# zijn automatisch ontvangers.
# In dit voorbeeld krijgt bridge-LAN de multicast (alle poorten, behalve WiFi).
# De proxy werkt alleen als er een IP adres op een interface staat. Zie je een interface op I(=inactive) staan, 
# dan staat er geen IP adres op die interface.
# Zet dus het IP adres van de bridge op de bridge zelf en niet op een poort die onderdeel is van die bridge.

/routing igmp-proxy interface
add alternative-subnets=10.142.64.0/18,213.75.0.0/16 interface=vlan16.4 upstream=yes
add interface=bridge-LAN

# NAT
add action=masquerade chain=srcnat dst-address=10.142.64.0/18 out-interface=vlan16.4
add action=masquerade chain=srcnat dst-address=213.75.112.0/21 out-interface=vlan16.4

# DHCP server
# De server draait waarschijnlijk al in het netwerk. Zaken als DNS en gateway zijn al geregeld en aktief.
/ip dhcp-server option
add code=60 name=option60-vendorclass value="'IPTV_RG'"
add code=28 name=option28-broadcast value="'192.168.10.255'" (of welk broadcast adres van toepassing is)

/ip dhcp-server option sets
add name=IPTV options=option60-vendorclass,option28-broadcast

# Static leases
# In dit voorbeeld voor de duidelijkheid een vast IP adres voor een decoder. Tevens hangen we de 
# extra DHCP opties aan dit MAC adres, zodat alleen deze decoder deze extra informatie krijgt.
# Vervang het IP adres en het MAC adres door de juiste waardes. Kies een IP adres buiten je
# reguliere DHCP pool. Het MAC adres kun je vinden door de decoder eerst een keer op te starten
# en te kijken welk MAC een IP adres gevraagd heeft in de logs. Of je kijkt onderop de decoder.

/ip dhcp-server lease
add address=192.168.10.x comment="Decoder 1" dhcp-option-set=IPTV \
mac-address=50:7E:xx:xx:xx:xx server=dhcp-thuis

En dan ...

Kijk of de DHCP client een IP adres heeft gekregen, of er routes zijn toegevoegd daardoor en of de IGMP proxy aktief is.
Vergeet niet de poort van de decoder in het normale LAN te plaatsen. Dus niet meer in VLAN4.
Schakel dan een decoder in. Of sluit hem aan, een decoder hoeft niet perse opnieuw opgestart te worden hiervoor.
De decoder moet probleemloos opstarten (de "blokjes" onderin het scherm). Gebeurt dat niet, dan is de routing niet in orde.
Daarna zal er TV beeld moeten verschijnen. Bevriest dit beeld na 2 seconden dan is er een probleem met de IGMP proxy.

Dit werkt minder goed met een Mikrotik RB2011-serie door het ontbreken van een IGMP snoop functionaliteit, en daardoor het ontbreken van een multicast forwarding cache (MFC). Alle multicast verkeer komt dus op elke poort uit. Met andere woorden, voor elke TV zender die op staat komt er 7Mbit richting elke poort in je netwerk waar niks mee gedaan zal worden (denk: een printer zal het moeten negeren) en de CPU heeft het daar maar druk mee met gevolgen voor de snelheid van het hele apparaat en dus ook de internet snelheid.