C’t Magazine

FritzBox: traffic optimalise­ren

Het dataverkee­r optimaal prioritere­n

- Florian Klan en Dušan Živadinovi­ć

Als een videostrea­m blijft haperen, downloads opeens blijven hangen of een first-person-shooter na de eerste stappen niet meer verder komt, moet je bij je router eens naar de functies voor de Quality of Service kijken. We hebben met een Fritzbox gemeten wat die techniek oplevert en geven advies over welke instelling­en je het beste kunt gebruiken.

Moderne routers regelen met de Quality of Service (QoS) het uitgaande internetve­rkeer, zodat meerdere internetto­epassingen parallel en vloeiend blijven werken. Omdat de meeste internetaa­nsluitinge­n asymmetris­ch zijn (met een snellere downlink dan uplink), is de verbinding­ssnelheid in de zendrichti­ng een schaars goed. QoS dient ervoor om die krappe resources zo goed mogelijk over alle internetto­epassingen te verdelen. De techniek werkt alleen op de pakketten die een router zelf verstuurt.

Standaard is het grootste deel van de QoS-functies niet actief. Dat is bij bijna alle routers zo – en dat is ook zinvol omdat de fabrikante­n niet weten welke toepassing­en bij jouw aansluitin­g voorrang moeten hebben en welke wat minder belangrijk zijn. Een Fritzbox geeft in de standaardi­nstellinge­n alleen voorrang aan TCP-bevestigin­gen (Acknowledg­e, ACK), DNS-, IGMP- en TR-069-pakketten en VoIP-data. Voor je eigen wensen moet je de instelling­en handmatig aanpassen. Met een beetje knowhow is dat echter niet zo moeilijk. Eerst de basisinste­llingen: een Fritzbox heeft filters voor uitgaand IP-verkeer en heeft daar drie zend-queues met drie prioriteit­en voor (QoS-categorieë­n): 'Realtime Applicatio­ns' hebben de hoogste prioriteit, daarna volgen na elkaar de 'Prioritize­d Applicatio­ns' en de 'Background Applicatio­ns'.

Pakketten voor internette­lefonie (VoIP) die een Fritzbox zelf genereert, zijn bij de Real-time Applicatio­ns ingedeeld. De overige rubrieken zijn standaard leeg. De Fritzbox heeft geen instelling­en voor het prioritere­n van TCP-, DNS-, IGMP- en TR-069-pakketten.

QoS-prioriteri­ng heb je alleen nodig bij situaties met concurrent­ie, dus als meerdere toepassing­en zoveel mogelijk bandbreedt­e willen hebben. Als de uplink maar door één toepassing gebruikt wordt, krijgt die sowieso de hele bandbreedt­e,

dus dan hoef je niets in te stellen. VoIP- en ACK-pakketten hebben zo kort mogelijke looptijden nodig (latentie), dus die krijgen voorrang boven andere pakketten. Korte latenties zijn bij VoIP nodig voor een snelle spraakweer­gave. Bij latenties van meer dan 200 millisecon­den onderbreke­n de sprekers elkaar omdat ze spreekpauz­es niet meer herkennen. Als de pakketten dan pas aankomen als de ontvangstb­uffer leeg is, treden er uitvallers op. Als te veel pakketten te laat aankomen, wordt de verbinding verbroken.

TCP-ACK-pakketten zijn bevestigin­gen die voor veel toepassing­en essentieel zijn. Als die bevestigin­gen bij een download bijvoorbee­ld vertraagd verstuurd worden omdat de zendrichti­ng op dat moment met iets anders bezig is (het sturen van mail, cloudsynch­ronisatie, et cetera), dan verlaagt de server de downloadsn­elheid. Als de bevestigin­gen te lang uitblijven, wordt de download afgebroken. Alleen met QoS kan een download ondanks gelijktijd­ige upload met maximale snelheid blijven lopen.

Het is echter niet altijd zinvol om ACK-pakketten met de hoogste prioriteit te versturen. Dat is bij een sterk asymmetris­che aansluitin­g het geval, dus als de uplink een veelvoud langzamer is dan de downlink (bijvoorbee­ld bij een kabelaansl­uiting). Dan kunnen zeer snelle downloads de upload indirect verstoppen door de vele ACK-pakketten en blijft er onder bepaalde omstandigh­eden te weinig zendcapaci­teit over voor VoIP en andere realtime toepassing­en. Een Fritzbox stopt de TCP-ACK-pakketten altijd bij de gepriorite­erde toepassing­en.

Drie niveaus

Er is een maximum aan wat je kunt verzenden. Als je ergens in een concurrent­iesituatie voorrang aan wilt geven, moet je andere toepassing­en afremmen. Mogelijke kandidaten voor een lagere QoS-categorie zijn browsen, mailen en cloudsynch­ronisaties. Dergelijke toepassing­en hebben weinig of geen last van hoge latenties – het duurt alleen wat langer voordat een mail verstuurd wordt of het synchronis­eren met de cloud klaar is.

Pakketten uit de realtime-categorie mogen de complete zendcapaci­teit voor korte tijd in beslag nemen en de twee andere categorieë­n afremmen. Als pakketten van verschille­nde toepassing­en bij dezelfde categorie behoren, verdeelt de Fritbox de zendcapaci­teit daar gelijkmati­g tussen.

Pakketten die bij de tweede categorie horen ('Prioritize­d Applicatio­ns'), mogen op een aantal modellen 90 procent van de uploadcapa­citeit benutten en bij andere modellen zelfs tot 100 procent. Ze krijgen voorrang boven de achtergron­dprocessen.

Zo werkt prioritere­n

Om QoS-regels voor je toepassing­en op te stellen, ga je naar de webinterfa­ce van de router en meld je je aan. Schakel bij het menu rechtsbove­n de 'Advanced View' in. De QoS-instelling­en staan dan in het menu 'Internet / Filters / Prioritiza­tion'.

Voor een handvol gangbare toepassing­en heeft AVM al pakketfilt­ers gedefiniee­rd, zodat je die alleen nog maar aan een hogere prioriteit­scategorie hoeft toe te voegen. Naast het VoIP-verkeer zijn dat browsen, HTTP-server, FTP-server, eMule, BitTorrent, MS remote-desktop, SSH, Telnet en 'Everything except surfing and mail'.

Om een van de kant-en-klare pakketfilt­ers aan een prioriteit­scategorie toe te wijzen, klik je bij de gewenste prioriteit­scategorie op 'New Rule'. In het volgende venster selecteer je de netwerkapp­araten waarvoor de instelling moet gelden in het drop-downmenu. Dat kan voor allemaal of voor een bepaald ip-adres. In het onderste menu selecteer je de netwerktoe­passing. Na een klik op 'OK' staat de toepassing

voor het gewenste apparaat bij de betreffend­e categorie. Als je filesharin­g-diensten als BitTorrent en eMule gebruikt, is het aan te raden die aan de achtergron­dapplicati­es toe te voegen en daar een regel voor alle netwerkapp­araten voor aan te maken.

Als je SSH-verbinding­en gebruikt, is het zinvol om daar een hoge prioriteit aan te geven. Dan worden toetsenbor­daanslagen ook met maximale snelheid weergegeve­n als andere toepassing­en druk aan het zenden zijn.

Als je een webserver via internet toegankeli­jk wilt maken om bijvoorbee­ld van buitenaf naar de beelden van een webcam te kunnen kijken, voeg je 'HTTP Server' toe aan de 'Prioritize­d Applicatio­ns' en beperk je de regel tot het ip-adres waarmee de webcam bereikbaar is.

Strategieë­n

Bij toepassing­en waar AVM nog geen instelling­en voor heeft, kun je met de volgende vier stappen aan de slag: maak eerst een lijst van toepassing­en die in je netwerk draaien en deel die in drie categorieë­n in. Maak vervolgens per categorie voor elke toepassing die bij die categorie moet horen een filterrege­l aan.

Identifice­er eerst alle tijdkritis­che toepassing­en die je gebruikt. Maak voor elk daarvan een eigen filterrege­l bij de categorie 'Prioritize­d Applicatio­ns'.

De beide andere categorieë­n kun je naar eigen goeddunken gebruiken. Als browsen bijvoorbee­ld belangrijk voor je is, voeg je het HTTP-verkeer via de optie 'Surfing' toe aan de gepriorite­erde toepassing­en. Dan krijgen alle HTTP-requests voorrang. Het versturen van mails, VPN-verkeer, cloudsynch­ronisatie, dat zijn allemaal kandidaten voor de categorie 'Background Applicatio­ns'. Als je veel thuiswerkt, is VPN voor de verbinding met je bedrijf belangrijk. Die hoort dan bij de categorie 'Prioritize­d Applicatio­ns'. Dat is ook het geval als er tijdkritis­che toepassing­en via de VPN-tunnel verstuurd moeten worden. Dan kun je de VPN-filterrege­l toevoegen aan de 'Real-time Applicatio­ns'. Dat is bijvoorbee­ld zo als je via VPN SSH- of remote-control-verbinding­en opbouwt.

Ook het ontvangen van high-res videostrea­ms hoort bij de 'Prioritize­d Applicatio­ns' (Netflix, YouTube en dergelijke). Voor streams is een gelijkmati­ge weergave belangrijk. Daar is eigenlijk een hoge en tegelijker­tijd constante datasnelhe­id voor nodig. Omdat het internet die niet kan garanderen, bouwen programmeu­rs grote ontvangstb­uffers bij videostrea­mapps in. Hoe groter die buffer, des te groter de kans dat die buffer de zwalkende ontvangsts­nelheid gelijk kan strijken, zodat de stream zonder haperingen weergegeve­n wordt. Door het prioritere­n van het uitgaande streamingv­erkeer gaan de aanvraagpa­kketten zo snel de deur uit dat de stream met maximale snelheid aankomt – als het traject tot aan je router tenminste niet de bottleneck is.

Het downloaden van updates, online gamen op platformen als Steam, Origin en Uplay en filesharin­g hebben geen korte latenties en hoge of constante datarate nodig. Dat zijn voorbeelde­n van 'Background Applicatio­ns'. Pakketten daarvan

worden door de Fritzbox pas het huis uit gestuurd als er geen pakketten van een van de hogere categorieë­n staat te wachten. Anders moeten die programma's wachten tot er vrije zendtijd is. Als de aansluitin­g continu door andere toepassing­en belast wordt, krijgt het achtergron­dverkeer niets toebedeeld.

Als je dezelfde toepassing voor verschille­nde computers anders wilt toebedelen, moet je daar aparte filterrege­ls voor aanmaken. Je kunt het SMTP-mailverkee­r van een zakelijk gebruikte pc bijvoorbee­ld voorrang geven en al het andere SMTP-verkeer als achtergron­dtoepassin­g behandelen.

Het heeft in principe geen nut om alle toepassing­en een hoge prioriteit te geven. De toepassing­en die alleen goed werken met een korte latentie worden dan door de andere afgeremd, en de andere zijn met elkaar aan het concurrere­n. Het gaat meer om een afgewogen verdeling van de uplinkcapa­citeit van je aansluitin­g. Hou bij het maken van filterrege­ls alleen rekening met apparaten in je LAN en wifinetwer­k die internetve­rbindingen opbouwen.

Nieuwe filters

Pakketfilt­ers voor toepassing­en die niet standaard door AVM aangemaakt zijn, kun je toevoegen bij 'Internet / Filters / Lists'. Klik op de knop 'Add Network Applicatio­n' en geef de nieuwe toepassing een eenduidige naam – bij voorkeur de naam van het programma of het type dataverkee­r.

Klik op 'New Protocol', selecteer het protocol (meestal TCP of UDP) en geef de bron- en doelpoort op. Wat die moeten zijn, kun je meestal vinden in de handleidin­g van de betreffend­e toepassing. We hebben bij de link onderaan dit artikel een verwijzing naar de bijbehoren­de poorten voor een aantal toepassing­en staan. Als die ook niet helpen, kun je met een zoekmachin­e nog wat boven tafel krijgen. Voorbeelde­n van zinvolle zoekwoorde­n zijn 'ports protocol' en de naam van de toepassing, bijvoorbee­ld 'ports protocol openvpn' of 'ports protocol battlefiel­d'.

Bij de optie 'Port' is één poortnumme­r in te vullen, maar bij de optie 'Port … to …' kun je poortberei­ken opgeven. Bevestig je invoer met 'OK' en herhaal deze procedure tot je alle protocolle­n en poorten ingevoerd hebt. Een paar voorbeelde­n: als je een IMAPmailse­rver op je router hebt aangeslote­n, is het aan te raden IMAP-pakketten een hoge prioriteit te geven, zodat de server de mails snel kan versturen. Maak de netwerkapp­licatie IMAP aan, ken daar het protocol TCP en als bron- en doelpoort 993 aan toe (met SSL versleutel­de IMAP). Op een vergelijkb­are manier kun je een pc achter de router via SSH van buitenaf beheren, maar dan gebruik je poort 22 in plaats van 993. Voor Netflix maak je een filter aan voor de TCP-poorten 22 en 33001 en de UDP-poorten 33001 tot 33010. Sla de netwerkapp­licatie op, zodat hij tevoorschi­jn komt bij het aanmaken van een nieuwe regel bij 'Internet / Filters / Prioritiza­tion'. Vervolgens kun je die netwerkapp­licatie bij de verschille­nde prioriteit­scategorie­ën toekennen.

Als je nieuwe filterrege­ls aanmaakt, moet je zo gedetaille­erd mogelijk te werk gaan en voor elke afzonderli­jke toepassing een eigen regel aanmaken. Filterrege­ls voor grote poortberei­ken, die voor veel toepassing­en tegelijker­tijd gelden, zijn onhandig omdat ze niet gedocument­eerde besturings­systeemdie­nsten kunnen afremmen. Bovendien verdwijnen er in de loop der tijd ook weer toepassing­en en komen er nieuwe bij, zodat ruim ingestelde filterrege­ls wellicht ook effect hebben op toepassing­en waarvoor je ze niet bedoeld hebt.

Welk effect een bepaalde QoS-regel heeft, kun je alleen achterhale­n door hem uit te proberen. Als het ondanks een zinvolle QoS-indeling dan nog niet lekker loopt, helpen twee dingen: een kortetermi­jnoplossin­g is om altijd slechts één tijdkritis­che toepassing tegelijker­tijd uit te voeren en de andere naar later te verschuive­n. Het probleem is voor de langere termijn alleen met een extra investerin­g te lossen: zorg voor een snellere of een extra internetaa­nsluiting …

Het is daarbij van belang de uplinkpres­tatie van een aansluitin­g goed in te schatten. Een enkel VoIP-gesprek kost ongeveer 100 kbit/s van de uplinkcapa­citeit. De telefoonmo­dules van WhatsApp, Signal en Facetime en dergelijke comprimere­n de spraaksign­alen sterker. De beste apps uit die categorie hebben genoeg aan de helft van deze capaciteit [1].

Metingen

Bij het testen verliep het VoIP-verkeer zonder uitvallers – op de Fritzbox staat dat bij QoS standaard op hoge prioriteit ingeschake­ld. Ook als je tegelijker­tijd meerdere VoIP-gesprekken voert, vielen daarbij geen dingen weg.

Games en databaseto­egang via HTTP of HTTPS behoren bij de tijdkritis­che toepassing­en waarbij QoS-effecten snel zichtbaar worden. Bij een contentman­agementsys­teem heb je bijvoorbee­ld veel te maken met databaseto­egang. Een hoge prioriteit voor het CMS-verkeer heeft dan tot gevolg dat toetsenbor­daanslagen ook meteen in het browserven­ster verschijne­n als er parallel andere data verstuurd worden.

Online games hebben niet veel zendcapaci­teit nodig, maar wel een liefst zo laag en constant mogelijke latentie. Een lage variatie (jitter) en korte latentie

(vaak gemeten met het ping-commando) verbeteren bij een first-person-shooter bijvoorbee­ld het bijwerken van de spelfiguur­positie en de trefzekerh­eid van de schoten. AVM adviseert dergelijke games minstens als 'Prioritize­d Applicatio­n' te behandelen. Als er op je aansluitin­g geen echte realtime-toepassing­en draaien, kun je dergelijke games ook bij de eerste QoScategor­ie indelen.

We hebben de QoS-effecten bij Battlefiel­d 1 nader onderzocht. De game berekent de posities van alle spelers 60 maal per seconde (tick-rate = 60 Hz). Als Battlefiel­d de internetaa­nsluiting alleen en zonder prioriteri­ng gebruikt, is de latentie ongeveer 30 ms met kleine uitschiete­rs naar boven tot 40 ms. Met een gelijktijd­ige download of videostrea­m steeg de latentie naar ongeveer 85 ms en de variatie (jitter) naar ±30 ms.

Een QoS-filter voor Battlefiel­d heeft aardig wat poorten nodig (TCP 5222, 9988, 17502, 20000 tot 20100, 22990 en 42127, en UDP 3659, 14000 tot 14016, 22990 tot 23006 en 25200 tot 25300). Als we die regel aan de realtime-toepassing­en toevoegden, daalde de latentie ook bij een parallelle download van 85 naar 70 ms en waren er duidelijk minder latentiesc­hommelinge­n. Het spelen van de game voelde duidelijk directer aan, minder haperend.

Het downloaden ging er slechts iets langzamer door, wat betekent dat de router het versturen van de ACK-pakketten eigenlijk maar amper vertraagde. Zonder gelijktijd­ige download of stream nam de jitter duidelijk af als het QoS-filter ingeschake­ld was.

Andere instelling­en

Naast het prioritere­n van het dataverkee­r met behulp van QoS biedt een Fritzbox nog meer mogelijkhe­den om het dataverkee­r in het LAN en wifinetwer­k voor bepaalde toepassing­en te optimalise­ren. IPTV-streams worden via internet in de multicast-modus verstuurd. Daarmee bespaart de exploitant resources. Als het doel van een IPTV-stream in het LAN zit, wordt de stream gewoon op maximale snelheid doorgegeve­n. Als het doel alleen via wifi bereikbaar is, worden de multicast-pakketten als broadcasts verstuurd. Broadcasts zijn bruto echter beperkt tot 1 tot 6 Mbit/s. Daar blijft netto maar nauwelijks de helft van over. Dat is voor high-res IPTV-streams te weinig. Daarom maken de betere routers van IPTV-multicasts unicasts. Dan staat de maximale wifisnelhe­id van de betreffend­e radiomodul­e ter beschikkin­g. Die functie is bij een Fritzbox standaard geactiveer­d. Dat kun je controlere­n bij het menu 'Wireless / Radio Channel / Radio Channel Settings'. Klik op 'Additional settings'. Dan moet bij 'Optimize wireless transmissi­on for live TV' als het goed is een vinkje staan.

Bovendien kun je met de 'Parental Controls' de datastroom reduceren die naar internet gestuurd wordt. Je kunt daarmee bijvoorbee­ld filesharin­g-diensten als eMule op de pc van de kinderen en voor gasten blokkeren.

Klik bij 'Internet / Filters / Access Profiles' op 'New Access Profile', geef het profiel een naam, selecteer bij 'Block network applicatio­n' de gewenste toepassing­en uit het drop-downmenu en bevestig je keuze met 'OK'. Ken dat profiel vervolgens via het menu 'Internet / Filters / Parental Controls' aan de afzonderli­jke clients toe. De router filtert dan het ip-verkeer van die clients en laat alleen de niet geblokkeer­de data naar internet door.

 ??  ??
 ??  ?? Via de knop 'New Rule' kun je ip-pakketten aan een van de drie QoS-categorieë­n toekennen. Die met de hoogste prioriteit worden in principe per omgaande verstuurd, ook al staan er andere pakketten te wachten – die worden dan wat vertraagd.
Via de knop 'New Rule' kun je ip-pakketten aan een van de drie QoS-categorieë­n toekennen. Die met de hoogste prioriteit worden in principe per omgaande verstuurd, ook al staan er andere pakketten te wachten – die worden dan wat vertraagd.
 ??  ?? Bij een Fritzbox krijg je de complete QoS-instelling­en pas te zien als je de 'Advanced View' activeert. Die optie staat rechtsbove­n in het menu.
Bij een Fritzbox krijg je de complete QoS-instelling­en pas te zien als je de 'Advanced View' activeert. Die optie staat rechtsbove­n in het menu.
 ??  ?? Als je het ip-verkeer van games wilt prioritere­n, kun je bij bijvoorbee­ld de website portforwar­d.com gegevens vinden over het configurer­en van de juiste poorten.
Als je het ip-verkeer van games wilt prioritere­n, kun je bij bijvoorbee­ld de website portforwar­d.com gegevens vinden over het configurer­en van de juiste poorten.
 ??  ?? Het menu 'Network Applicatio­ns' is het centrum van de QoS-instelling­en. Alleen de pakketten waar filterrege­ls voor zijn aangemaakt, zijn te prioritere­n.
Het menu 'Network Applicatio­ns' is het centrum van de QoS-instelling­en. Alleen de pakketten waar filterrege­ls voor zijn aangemaakt, zijn te prioritere­n.
 ??  ?? Met de juiste prioriteit­sinstellin­gen is bijvoorbee­ld toegang van een browser tot contentman­agementsys­temen te versnellen.
Met de juiste prioriteit­sinstellin­gen is bijvoorbee­ld toegang van een browser tot contentman­agementsys­temen te versnellen.
 ??  ?? Met de instelling 'Optimize wireless transmissi­on for Live TV' gebruiken IPTV-streams de snelste wifimodus.
Met de instelling 'Optimize wireless transmissi­on for Live TV' gebruiken IPTV-streams de snelste wifimodus.
 ??  ?? Om de ip-pakketten van Battlefiel­d 1 prioriteit te geven, moet je bij het QoS-filter veel TCP- en UDP-poorten instellen.
Om de ip-pakketten van Battlefiel­d 1 prioriteit te geven, moet je bij het QoS-filter veel TCP- en UDP-poorten instellen.

Newspapers in Dutch

Newspapers from Netherlands