Hoofdindex » Servers » TechTalk » ATM
Webservers en meer
TechTalk
ATM
Hopelijk weet je wat ethernet wilt zeggen, want dit is het formaat dat overal gebruikt wordt voor computercommuncatie: in je lokaal netwerk, maar ook over het internet. Ethernet is gebaseerd op datapaketten, die door hubs, switches en routers worden doorgestuurd naar de bestemmeling. Maar voor we deze materie bespreken, moet u een inleiding volgen over pakketten en routing.

Telefonie: de VC of Virtual Circuit

Vroeger, bij telefonie werd er één telefoonlijn gereserveerd per gesprek. Dat er gebabbeld werd of niet, er was continu een lijn in gebruik. Later, toen de telefonie digitaal werd, werd er nog steeds gebruik gemaakt van het digitaal equivalent van een telefoonlijn: het VC of virtueel circuit. In het voorbeeld rechts is er een gesprek tussen H en G. Uit de figuur kan je afleiden dat het gesprek tussen M en D dat later tot stand is gekomen via een omweg moet gebeuren. In de praktijk kan een lijn meer dan één gesprek voeren (dankzij multiplexing), maar als alle lijnen in gebruik zijn, kan er geen bijkomende verbinding gemaakt worden.

Nadelen
Door deze vaste indeling in circuits die allemaal 64k bandbreedte gebruiken wordt het netwerk weinig efficient gebruikt. Tegenwoordig kunnen de gesprekken gecomprimeerd worden, zodat er een variabele bitrate ontstaat, afhankelijk of er gesproken wordt of niet. De gemiddelde bandbreedte voor een gesprek is aldus 5k, maar bij een virtual circuit wordt daar geen gebruik van gemaakt, omdat je toch 64k tot je beschikking krijgt.

Ethernet: packet switching

Bij internet worden de gegevens in paketten onderverdeeld, en ze worden het netwerk uitgestuurd. Ieder knooppunt bepaalt de beste weg dat door een pakket gevolgd moet worden. Afhankelijk van de belasting kan een knooppunt beslissen een andere route te gebruiken, hoe dit precies gebeurt zou ons te ver leiden. Uit de figuur merkt je dat de paketten verschillende wegen volgen, afhankelijk van de belasting van een verbinding op een bepaald ogenblik. Als een knooppunt merkt dat een verbinding de saturatie nadert, wordt een andere verbinding gebruikt.

Paketten kunnen ook tijdelijk bewaard worden, zodat twee paketten die simultaan toekomen achter elkaar verstuurd worden, dit heet 'store and forward' (zie knooppunt L dat pakketten ontvangt van zowel H als K en moet doorsturen naar I).

Bij ethernet zijn de pakketten ongeveer 1500 bytes groot. Het ethernet is ideaal voor het versturen van data, waarbij het niet echt belangrijk is dat de gegevens precies op tijd toekomen. De protocollen die gebruikt worden laten zelfs toe dat nu en dan een pakket verloren gaat (er komen bijvoorbeeld teveel pakketten aan op een knooppunt, waardoor de lokale opslagbuffer niet meer toereikend is).

Een ethernet pakket ziet er als volgt uit
ethernet pakket

De afzender en bestemmeling worden gebruikt door de router of switch om te bepalen naar welk volgend knooppunt het pakket gestuurd moet worden. De flags zijn indicatoren die verschillend zijn naargelang de inhoud van het pakket: het pakket kan gebruikt worden voor het versturen van data (in talrijke varianten), maar ook voor het versturen van routing-informatie tussen verschillende knooppunten. Als de saturatie optreed op knooppunt N (verbinding naar G), dan zal dit knooppunt een waarschuwing sturen naar I en M. Aldus kunnen de flags gerekend worden tot de 'payload' (de effectieve vracht dat een pakket vervoert).

Nadelen
Het ethernet kan niet garanderen dat een pakket binnen een bepaalde tijd toekomt: het hangt af van het aantal tussenstations, van de belasting van deze stations (hoeveel paketten er in de wachtrij staan). Het ethernet kan zelfs niet garanderen dat de pakketten in volgorde toekomen want iedere pakket volgt zijn eigen weg. Sommige pakketten kunnen onderweg verloren gaan als de switch of router overbelast is. Het ethernet biedt een best effort dienstverlening: wij zullen ons best doen, maar wij kunnen niets garanderen.
Er wordt een zware belasting op de tussenstations gelegd, want ze moeten de route bepalen voor ieder pakket. Het ethernet is niet scalable: bij het verhogen van de netwerkbelasting heb je exponentieel meer rekenkracht en tijdelijke opslag nodig.

Foutcorrectie zit ingebakken in het TCP protocol (één van de protocollen dat gebruikt wordt bij ethernet, het andere zijnde UDP dat geen foutcorrectie bevat). Als een router een pakket laat vallen, dan zal de eindstation dit merken, en vragen dat het pakket opnieuw doorgestuurd wordt. Dit leidt echter tot nog meer traffiek! Bij een bepaalde netwerkbelasting (dat onder de theoretische maximum ligt) is het netwerk verzadigd. Een verdere verhoging van de belasting leidt tot een lager rendement: pakketten raken verloren, en die moeten opnieuw doorgestuurd worden.

ATM de voordelen van beide systemen?

Bij ATM (Asynchronous Transfer Method) wordt de routing eenmalig bij het maken van de verbinding bepaald. Iedere pakket zal dezelfde weg volgen. Dit heeft een eerste voordeel: de pakketten komen nu tenminste in volgorde.
  • De bandbredte kan gegarandeerd worden: bij de opzetten van de verbinding wordt nagezien of alle tussenstations over voldoende capaciteit beschikken. Tijdens de volledige duur van de verbinding kan deze bandbreedte gegarandeerd worden (een nieuwe verbinding dat de totale beschikbare bandbreedte zou overschijden wordt niet aanvaard).
  • De doorlooptijd kan gegarandeerd worden: omdat van vooraf geweten is via welke stations de datapaketten gestuurd zullen worden, kan uitgerekend worden hoeveel vertraging een pakket zal oplopen bij iedere tussenstation. Omdat de bandbreedte ook gegarandeerd is, moet een pakket nooit tijdelijk opgeslagen worden in een station. Dit is belangrijk bij telefoongesprekken, waarbij de vertraging niet hoger mag zijn dan een paar honderden miliseconden.
ATM kan dus meer dan "best effort" bieden: een hele reeks categorieën (QoS= quality of Service) wordt aangeboden, gaande van best effort tot gewaarborgde bandbreedte en doorlooptijd.

Maar er is nog meer goed nieuws! De overgebleven bandbreedte kan gebruikt worden voor andere verbindingen die niet een vaste bandbreedte nodig hebben (het overgrote deel van het netwerkverkeer). Bij deze niet-prioritaire verbindingen wordt eveneens een vaste route berekend, maar de pakketten worden enkel verstuurd als er geen prioritaire pakketten verstuurd moeten worden. Het netwerk wordt dus optimaal gebruikt: tijdscritische toepassingen (streaming video, telefoongesprekken) krijgen de nodige bandbreedte en eventueel maximale vertraging, terwijl andere toepassingen (webpages, mail, file transfer, irc, ...) de overgebleven bandbreedte gebruiken. In de praktijk valt deze werkwijze goed mee, omdat er compressie gebruikt wordt bij het versturen van videoconferencing, telefonie en dergelijke: de gevraagde bandbreedte wordt nooit effectief gebruikt.

ATM is goed scalable: bij het verhogen van de netwerkbelasting stijgt de benodigde rekenkracht en tijdelijke opslag proportioneel (en niet meer exponentieel). De routebepaling (dat het gros van het werk vergt) wordt slechts eenmaal berekend.

Een ATM pakket ziet er als volgt uit
atm pakket

Omdat er geen routing meer moet plaatsvinden, is de afzender en bestemmeling niet meer nodig: enkel een route-nummer wordt meegestuurd. Het route-nummer werd bepaald op het ogenblik dat de verbinding opgestart werd en blijft vast zolang de verbinding bestaat. Het route-nummer voor een verbinding kan verschillend zijn bij iedere tussenstation: tussen I en F heeft de verbinding het nummer 100, maar tussen F en D kan het bijvoorbeeld 5459 zijn (anders zouden alle beschikbare nummers snel opgebruikt zijn!). Nu zijn de nummers lokaal tussen twee tussenstations. Als F een pakket met routenummer 100 ontvangt van I, dan weet het dat het pakket hernoemd moet worden naar 5459 en doorgestuurd naar D.

Nadelen
Maar ATM heeft ook zijn nadelen. De pakketten zijn bijzonder klein (53 bytes). Dit werd oorspronkelijk gedaan om geen overdreven digitalisatievertraging (packetisation delays) bij telefoongesprekken te veroorzaken. Zou men met pakketten van 1500 bytes werken zoals bij ethernet, dan zou het meer dan 100 ms duren vooralleer voldoende spraak gedigitaliseerd zou zijn om één pakket te vullen. Door kleinere pakketten te gebruiken moet de afzender minder lang wachten vooralleer zijn container vol zit. Het nadeel van die kleine pakketten is dat de routing-informatie (dat bij ieder pakket aanwezig moet zijn) bijna 10% van de capaciteit gebruikt (van die 53 bytes is 48 bytes data en 5 bytes routing).

ATM wordt echter niet gebruikt voor telefonie tussen eindstations (individuele gebruikers), maar voor verkeer tussen centrales onderling, waarbij de digitalisatievertraging geen rol speelt omdat er tientallen gesprekken simultaan gevoerd worden en er dus voldoende data aanwezig is om grotere pakketten snel genoeg te vullen. De kleine pakketten zijn echter gebleven, waardoor bijna 10% van de bandbreedte verloren gaat aan routing-informatie.

Een ander nadeel is dat ATM niet de mogelijkheden kan bieden van ethernet: in die flags dat wij bijna over het hoofd gezien hebben zit de mogelijkheid tot multicast, broadcast en subnetting, terwijl ATM slechts een verbinding tussen twee eindpunten kan bieden. Het hele ATM-netwerk is 'flat', zonder subnetten. Je zou kunnen zeggen dat het ATM netwerk op MAC address niveau werkt (het fysiek adres van ieder element), terwijl ethernet op IP address werkt (het logisch adres van ieder element).

In de praktijk

In werkelijkheid worden de verschillende normen door elkaar gebruikt (zie figuur rechts). De gebruiker zit in een LAN (ethernet). Het LAN is een subnet van het grotere internet en gebruikt soms broadcast, en om deze twee redenen kan ATM niet gebruikt worden. De router verbind de LAN met de WAN (het internet). De router heeft een netwerkfunktie in het OSI model.
De bridge verbindt twee technologieën met elkaar: ethernet met ATM. De ethernetpakketten worden ingepakt in atmpakketten en over het ATM netwerk verstuurd. Bridges werken op het link-niveau: ze 'verstaan' niet wat er in de ethernetpakketten zit; ze zetten de pakketten om en sturen die gewoon door. De ADSL modem is in feite een bridge, namelijk tussen jouw lokaal netwerk en tussen de dial-in computer van je ISP.

ATM en ... GSM

Bij een telefoonverbinding (multiplex) krijgt iedere gebruiker een vaste tijdslot zolang de verbinding bestaat. Deze werkwijze is deterministisch: wanneer een datapakket verstuurd zal worden zit vast. Hetzelfde gebeurt bij GSM gesprekken waarbij de beschikbare frekwentie gebruikt wordt door meerdere gsm toestellen, die om beurt een pakket versturen.

Bij ATM worden de gegevens niet in een vaste tijdschema verstuurd ("slot", zoals op luchthavens). Als een pakket toekomt, zal het doorgestuurd worden, als er geen pakketten met een hogere prioriteit staan te wachten. De werkwijze is probabilistisch: "er is een kans" dat een datapakket toekomt en doorgestuurd moet worden (de kansverdeling is dat van een uitgerekte Poisson-verdeling). Bij GPRS (general packet radio service) dat gebruikt wordt voor dataverkeer over het GSM netwerk wordt hetzelfde systeem toegepast: als er een slot vrij is, wordt er een datapakket verstuurd (de gesprekspakketten hebben wel voorrang). Zo verloopt het dataverkeer zeer soepel (als er weinig priopritaire gesprekken zijn), of valt plots stil (als er geen vrije slots meer over zijn). Voor dataverkeer is het echter niet belangrijk dat een minimale bandbreedte voorzien wordt. Voor de operatoren is de komst van het GPRS systeem een pluspunt: een manier om de ongebruikte slots alsnog te vullen met niet-prioritaire data.

Vergelijking telefoon, ethernet en atm

Telefoon en GSMEthernetATM
Vaste bandbreedte, gegarandeerd
Vaste doorlooptijd, gegarandeerd
Geen vaste bandbreedte noch doorlooptijd
"best effort"
Keuze uit verschillende aanbiedingen met verschillende QoS-waarden
Pakketten komen altijd in volgorde toe
De route wordt vastgelegd bij het aangaan van de verbinding,
en er wordt een vaste timeslot voorzien
Iedere datapakket leidt zijn eigen leven De route wordt vastgelegd bij het aangaan van de verbinding,
maar er wordt geen vaste timeslot voorzien
De adressering is heterogeen, gebaseerd op telefoonnummers die slechts een beperkte routing-informatie bevatten (wel land-indeling, maar met het vrijkomen van de telefoonmarkt geen operator-indeling) De adressering is gebaseerd op het IP address, dat een logisch adres is (toegewezen door het systeem) om routering over verschillende subnetten mogelijk te maken. De adressering is gebaseerd op het route-nummer, dat aangemaakt werd bij de opbouw van de verbinding. Het volledig ATM netwerk is één netwerk, zonder onderverdeling (subnetten).
Ge-optimaliseerd voor gewone telefoongesprekken
andere diensten (modem) verlopen niet optimaal
Ondersteunt duizend-en-een verschillende diensten: point-to-point, multicast, broadcast, routering over verschillende subnetten,
maar kan geen waarborg bieden dat een pakket binnen een tijdslimiet zal toekomen.
Ge-optimaliseerd om snel en efficient te zijn ten koste van de diversiteit.
Diensten kunnen gewaarborgd worden door middel van afspraken die gemaakt zijn bij het aangaan van de verbinding (videoconferencing, spraak, data)
100% van de beschikbare bandbreedte kan gebruikt worden,
maar deze bandbreedte wordt ook gebruikt door 'stille' eindpunten
De bandbreedte wordt dynamisch toegewezen aan de stations die ze nodig heeft,
maar door het asynchroon karakter wordt de beschikbare bandbreedte nooit volledig benut.
De bandbreedte wordt dynamisch toegewezen aan de stations die ze nodig heeft (met voorrangsregeling),
maar de beschikbare bandbreedte kan meestal niet volledig benut worden.
de knooppunten hebben weinig werk, want de toewijzing van de bandbreedte is reeds vooraf ingesteld. de knooppunten hebben enorm veel werk, ieder pakket wordt zelfstandig behandeld. de knooppunten hebben matig werk, ieder pakket wordt doorgestuurd aan de hand van een route-tabel dat eenmaal opgesteld werd.

De meeste nadelen van IPv4 (het huidig internet protocol) wworden weggewerkt met IPv6, het internet protocol van de toekomst. De toekomst laat echter op zich wachten, en een ander probleem van IPv4, namelijk het beperkt aantal publieke IP adressen wordt tegenwoordig zeer nijpend.

Links to relevant pages - Liens vers d'autres pages au contenu similaire - Links naar gelijkaardige pagina's