Hoofdstuk 14. Netwerken deel 2
14.2. De fysieke laag en de datalink-laag.
14.2.1. Analoge transmissie.
In hoofdstuk 7.2 is uitgelegd hoe bits over een draad verstuurd kunnen worden m.b.v. gelijkstroomsignalen. Dat worden "basisband-signalen" genoemd.
Deze methode is alleen geschikt voor korte afstanden, bijv. in een lokaal netwerk.
In de praktijk van datacommunicatie wordt echter vooral gebruik gemaakt van wisselspanning.
Bij wisselspanning wisselt zowel de grootte als de richting van de spanning met de tijd. Het aantal golven per seconde noemen we de frequentie, uitgedrukt in Herz (Hz).
De maximale uitwijking uit de evenwichtsstand noemen we de amplitude.
De netspanning bij je thuis is ook een wisselspanning, de frequentie daarvan is 50.
Als een computer bits wil verzenden dan moeten die bits eerst worden "gemoduleerd" tot een wisselspanning-signaal.
Dat kan op verschillende manieren.
Frequentiemodulatie
-
Ten eerste kun je frequentiemodulatie gebruiken.
We kunnen bijvoorbeeld afspreken dat een hoge frequentie "1" betekent en een lage frequentie "0".
Zie hiernaast.
Amplitudemodulatie
- Ten tweede kun je amplitudemodulatie gebruiken.
We kunnen bijvoorbeeld afspreken dat een grote amplitude "1" betekent en een kleine amplitude "0".
(Ook bij radiogolven heb je frequentiemodulatie en amplitude-modulatie.
Denk maar aan FM en AM)
Fase-modulatie
- Ten derde kun je fase-modulatie gebruiken.
- In alle gevallen moet je een binaire "1"en een binaire "0" op "signaalelementjes" afbeelden.
Daarvan moet je er minstens twee hebben, maar het kunnen er ook meer zijn.
Als je 4 verschillende signaalelementjes hebt, dan kun je met één signaal eigenlijk de getallen 0, 1, 2 of 3 versturen, en binair kun je dat schrijven als 00, 01, 10, 11 Dan verstuur je dus eigenlijk twee bits tegelijk.
- Als je bijvoorbeeld 16 verschillende signaalelementjes hebt dan verstuur je eigenlijk 4 bits tegelijk.
Als je dat met frequentiemodulatie doet, dan heb je dus 16 verschillende frequenties nodig.
De hoogste min de laagste frequentie noem je in dat geval de bandbreedte.
Een apparaat dat een bitstroom als invoer krijgt, en een gemoduleerde draaggolf als uitvoer levert (of andersom) wordt een modem genoemd (dat is een samentrekking van modulator / demodulator).
Het zet dus digitale informatie om in analoge signalen, en omgekeerd.
Het is eigenlijk niet mogelijk meer dan 2400 signalen per sec. te verzenden (dan wordt er gezonden op 2400 baud). Maar als je dan met bijvoorbeeld 64 verschillende signaalelementjes werkt dan worden er per keer 6 bits verzonden, en dan heb je een snelheid van 14400 bps (=14K4).
Door compressietechnieken en frequentie-multiplexing te gebruiken kan men tot 56K6 komen met een gewoon telefoonmodem.
14.2.2. Breedbandsystemen en modems.
Je kunt verschillende signalen tegelijk over één lijn versturen.
Dat is mogelijk door gebruik te maken van FDM (Frequency Division Multiplexing = frequentie multiplexing).
Als de bandbreedte om een signaal over te sturen bijvoorbeeld 30 Hz is, dan kan de lijn in verschillende "frequentiebanden" worden verdeeld. Als afgesproken wordt welke gebruiker welke frequentieband gebruikt, dan kunnen een aantal gebruikers de lijn tegelijk gebruiken.
Dit worden breedbandsystemen genoemd.
Bij de transmissie over deze lijnen hebben we met drie problemen te maken.
-
Verzwakking : hoe groter de afstand hoe meer het signaal afneemt. Je kunt versterkers inzetten om de problemen die dit oplevert zo veel mogelijk te voorkomen.
-
Vertragingsvervorming (of verstrooiing) : bij verschillende frequenties is de snelheid verschillend.
-
Ruis : ongewenste energie uit omringende bronnen.
Je kunt versterkers inzetten om de problemen die dit oplevert zo veel mogelijk te voorkomen.
Maar als je een versterker gebruikt dan wordt de ruis ook versterkt, en verstrooiing gaat het niet tegen.
(Je kunt ook repeaters gebruiken : het signaal wordt gedemoduleerd en opnieuw gemoduleerd; dit werkt beter dan een versterker).
Dat heeft tot gevolg dat je niet alle frequenties kunt gebruiken die je zou willen.
Glasvezel heeft er het minste last van, in glasvezel kun je frequenties tot 25 à 30 THz gebruiken (THz = teraherz = 1012 Hz). Daardoor kunnen er heel veel signalen tegelijk over een glasvezelkabel worden verstuurd, het is een echte snelweg.
Een gewoon telefoonmodem
Gewone telefoonkabel is ontworpen voor het versturen van spraak, niet voor het versturen van digitale informatie.
Het is eigenlijk niet mogelijk meer dan 2400 signalen per sec. te verzenden (dan wordt er gezonden op 2400 baud).
Maar als je dan met bijvoorbeeld 64 verschillende signaalelementjes werkt dan worden er per keer 6 bits verzonden, en dan heb je een snelheid van 14400 bps (=14K4).
Door compressietechnieken en frequentie-multiplexing te gebruiken kan men tot 56K6 komen met een gewoon telefoonmodem.
Daardoor kan een gewoon telefoonmodem informatie ontvangen op een hoogste snelheid van 56 Kbps (kilobits per seconde), versturen kan niet sneller dan 33 Kbps.
ISDN
Je hebt ook nog ISDN-lijnen, dat zijn speciale telefoonlijnen.
De informatie wordt digitaal verzonden en bij een conventionele telefoonlijn is dat analoog.
(ISDN = Integrated Services Digital Network). Eén ISDN-lijn bestaat uit drie full-duplex kanalen:
twee B-kanalen die allebei 64 Kbps aankunnen, en een D-kanaal met 16 Kbps. Het D-kanaal wordt gebruikt voor
besturingsinformatie, bijvoorbeeld voor het opzetten van een telefoongesprek.
Het opzetten van een verbinding duurt bij een conventionele telefoon zo'n 10 seconden en bij ISDN minder dan een
seconde. De beide B-kanalen kunnen voor datacommunicatie gecombineerd worden, en de snelheid is dan 128 Kbps.
ADSL
Voor spraak is een bandbreedte van circa 4 kHz vereist. Over koperdraad is het mogelijk om signalen tot circa 1500 kHz. te versturen.
Tijdens een telefoongesprek of bij het gebruik van een ouderwets modem wordt er dus maar ongeveer 0,3 procent van de capaciteit van de lijn gebruikt.
Tegenwoordig wordt heel veel gebruik gemaakt van een ADSL-verbinding (Asymmetric Digital Subscriber Line) via de gewone telefoonlijn.
Daarbij blijft de analoge of ISDN lijn ook beschikbaar.
De meest gebruikte techniek bij ADSL is DMT: Discrete MultiTone modulatie.
DMT verdeelt de telefoonlijn in 256 kanalen van 4 kHz elk.
Je kunt je dat voorstellen als 256 telefoonlijnen, waarvan je er één gebruikt om te telefoneren, en de andere 255 voor data, verdeeld over upstream (de gegevens die verstuurd worden) en downstream (de gegevens die ontvangen worden.
Om te voorkomen dat de computer het spraakverkeer stoort, en omgekeerd, wordt er een apparaatje geplaatst (de zogenaamde splitter) die alle communicatie onder de 4 kHz verbiedt vanaf de computer, en alles boven de 4 kHz voor de gewone telefoonlijn.
Theoretisch is daardoor met ADSL een dataoverdracht van ongeveer 8 Mbits per seconde mogelijk.
Dat wordt echter nooit bereikt, omdat de kwaliteit van de telefoonlijn snel afneemt als de afstand groter wordt.
Daarom moet je ook niet meer dan 6 km. van een telefooncentrale af zitten voor ADSL.
De koperen draad tussen je huis en de wijkcentrale van KPN is de zogenaamde Subscriber Line (de laatste twee letters van ADSL) wordt ook wel "the last mile" genoemd. Als die meer dan 3 km. is dan wordt de snelheid al
behoorlijk minder.
De kwaliteit (dat is de signaal/ruis-verhouding) van de 255 kanalen wordt continu gemeten, en als de kwaliteit van een kanaal
te slecht is dan wordt dat kanaal niet meer gebruikt.
Internetproviders kunnen apparatuur plaatsen in de wijkcentrales van de KPN.
Binnen de wijkcentrale wordt al het verkeer dat over de koperdraad getransporteerd wordt, opgesplitst in twee delen: "normaal" telefoonverkeer,
en dataverkeer dat gebruikt wordt voor DSL-diensten.
Het dataverkeer wordt gebundeld in een apparaat dat DSLAM genoemd wordt (Digital Subscriber Line Access Multiplexer).
Vanuit de wijkcentrale lopen vervolgens glasvezelverbindingen naar de netwerken van de verschillende internetproviders.
De kabel
De televisiekabel heeft een gigantische transportcapaciteit, veel meer dan een telefoondraad.
Dit komt doordat de koperen kern van de kabel is afgeschermd, waardoor weinig signaalverlies optreedt.
De totale bandbreedte van de kabel is opgesplitst in verschillende delen voor analoge televisie- en radiosignalen. De frequenties die overblijven, het gebied tussen 5 MHz en 65 MHz, mag een kabelexpoitant zelf invullen.
Een kabelmodem zorgt voor een verbinding met de coaxkabel van de kabeltelevisie.
Een veelgebruikte standaard hiervoor is de DOCSIS-standaard. Deze standaard is gebaseerd op het principe dat alle kabelmodems gedurende een bepaalde, zeer korte tijd (enkele nanosecondes) mogen zenden en ontvangen, waarna de verbinding heel kort wordt gesloten.
Als gebruiker merk je daar niets van, maar zo kan de kabelexploitant precies bepalen hoeveel bandbreedte je tot je beschikking krijgt, en
zo kan de hele wijk gebruik maken van dezelfde tv-kabel.
De kabelbedrijven bundelen het dataverkeer vanaf de coax-kabel in de wijkcentrales m.b.v. een apparaat dat "head-end" genoemd wordt.
Via glasvezel wordt het vandaar verder getransporteerd.
Kabelmodems kunnen een downstream snelheid tot 30 Mbps halen, maar deze bandbreedte wordt gedeeld door alle gebruikers op de verbinding.
Daardoor neemt de werkelijke snelheid behoorlijk af als er veel internetters in een wijk tegelijk actief zijn op de kabel.
14.2.3. Het PPP-protocol en een Internet-verbinding delen.
Als je vanuit een huis verbinding zoekt met het Internet dan moet er een bepaald datalink-protocol worden gebruikt om te zorgen voor een goede verbinding met de provider. Daar wordt meestal het PPP-protocol voor gebruikt (PPP=Poit-to-point protocol).
Het frame-formaat van het PPP-protocol is als volgt: (Dit hoef je niet uit je hoofd te leren)
1 byte |
1 byte |
1 byte |
1 byte |
variabel |
2 bytes |
vlag |
adres |
besturing |
protocol |
payload |
controlesom |
-
Eigenlijk is er geen adresveld nodig, er is toch maar één zender en één ontvanger.
Er wordt een vast adresbyte gebruikt: allemaal enen (dat wordt gebruikt in een netwerk als alle stations het bericht moeten accepteren).
-
Ook is een besturingsbyte toegevoegd. Eigenlijk is dat ook niet nodig, er wordt een vast besturingsbyte gestuurd: 00000011
-
Dan komt er een byte voor het protocol. Dat geeft aan welk soort pakket er in de payload staat: er zijn codes voor IP, voor IPX, enz.
-
In de twee bytes voor de controlesom wordt weer gebruik gemaakt van de cyclische redundantiecode.
Er moet ook een datalink-protocol worden gebruikt voor het versturen van IP-pakketjes van router tot router, en daar wordt meestal het HDLC-protocol (High Level Data Link Control) voor gebruikt.
Als je een lokaal netwerk hebt, en je wilt dat elke computer in dat netwerk moet kunnen "internetten", dan hoef je toch maar één internet-account.
Je moet dan een "gateway" of "router"gebruiken. De router regelt de toegang van het netwerk tot Internet.
Een router vangt alle uitgaande communicatie van computers in het netwerk op, en stuurt het via één verbinding naar het Internet. De router vangt ook alle binnenkomende communicatie van Internet op, en stuurt het naar de juiste computers in het lokale netwerk.
Je kunt een losse hardware-routergateway op de Ethernet-hub aansluiten. De gateway is m.b.v. een modem verbonden met het Internet. Je hebt maar één openbaar IP-adres nodig voor het hele lokale netwerk. Dat IP-adres verschilt van alle andere IP-adressen op het Internet. Je krijgt dat IP-adres van de provider.
Er zijn verschillende soorten hardware-routers te koop. Je kunt ook een software-router gebruiken. Je zet dan speciale router-software op een computer, en die regelt dan de Internet-verbinding.
Vaak dient een router ook als "proxyserver". Dat betekent het volgende:
Als een netwerkcomputer om een web-pagina vraagt, dan zorgt de router er voor dat die pagina van het Internet wordt opgevraagd, en als die web-pagina is ontvangen, dan wordt hij in het cachegeheugen opgeslagen. En als een poosje later een andere netwerkcomputer om diezelfde web-pagina vraagt dan hoeft die niet weer van een Internet-server te worden ingelezen, want hij is nog aanwezig in het geheugen van de router. De snelheid neemt dus toe.
Sommige routers downloaden populaire web-pagina's zelfs voor er om gevraagd is, en slaan die op.
Als iemand dan later zo'n pagina opvraagt dan is die pagina er ogenblikkelijk.
Een proxyserver kan ook fungeren als "firewall". Die beveiligt het netwerk door de toegang van ongevraagd Internet-verkeer te blokkeren.
Er kan worden aangegeven welke poorten worden doorgelaten en welke niet. De firewall kijkt daarvoor naar de TCP-header, want daarin staat het poortnummer.
14.2.4. DNS.
Je weet dat als je een web-pagina wilt opvragen, je een adres in kunt vullen dat er bijvoorbeeld zo uit ziet:
www.cs.yale.edu
Hoe weet jouw computer, of die van je provider, nu in welke computer dat precies is opgeslagen, want dat kan overal ter wereld zijn.
Daarvoor is een DNS-server nodig.
DNS is de afkorting van Domain Name System.
Het Internet is verdeeld in een paar honderd domeinen op het hoogste niveau.
Die bestaan uit twee soorten: algemene domeinen, zoals com (van commercieel), edu (van educational, in de VS gebruikt door onderwijsinstellingen), gov (van government, de Amerikaanse overheid), mil (van military), en org (van non-profit organisations)
En verder de landendomeinen, zoals nl , us, uk, ge, jp (=japan),
Elk domein is verdeeld in subdomeinen, die op hun beurt ook weer zijn opgedeeld in subdomeinen, enz.
Elk domein regelt de manier waarop de domeinen eronder worden toegewezen.
Om een nieuw domein te maken heeft men een "vergunning" nodig van het domein waarin het nieuwe domein wordt opgenomen.
flits.cs.vu.nl is bijvoorbeeld een domeinnaam. Deze domeinnaam is aangevraagd bij het domein cs.vu.nl
En die domeinnaam is op zijn beurt weer aangevraagd bij vu.nl , en die natuurlijk weer bij het domein nl.
Elke internet-provider heeft een lokale DNS-server. Die beheert een database met daarin een heleboel domeinnamen met de bijbehorende IP-adressen.
Stel je voor dat je een web-pagina van flits.cs.vu.nl wilt bekijken en je hebt in je browser die domeinnaam ingevoerd. Dan wordt er eerst een bericht naar de lokale DNS-server van je provider gestuurd met het verzoek om het IP-adres van flits.cs.vu.nl terug te zenden.
Als de lokale DNS-server niet weet wat het IP-adres is, dan stuurt die op zijn buurt een query naar de DNS-server van het hoogste niveau van flits.cs.vu.nl, dus naar de DNS-server van nl.
Die weet het IP-adres van flits.cs.vu.nl waarschijnlijk ook niet. In dat geval stuurt hij het verzoek door naar de DNS-server van het niveau er onder, dus naar vu.nl
Die stuurt het misschien weer door naar de DNS-server van cs.vu.nl., en die moet het IP-adres in ieder geval weten want de DNS-server van een domein moet in ieder geval de IP-nummers van al zijn "kinderen" weten.
De lokale DNS-server van de internet-provider bewaart daarna dat IP-adres een poosje, zodat hij het IP-adres bij een volgende aanvraag direkt beschikbaar heeft.
De DNS-servers hebben niet alleen IP-adressen van domeinnamen in hun database, maar ook emailadressen, aliassen, enz.
De naamgeving van Internet-nodes is in handen van het NIC (Network Information Center).
14.2.5. Hoe vindt een pakketje zijn weg op het Internet.
Als een netwerk op het Internet is aangesloten, dan is niet elke computer uit dat netwerk rechtstreeks op het Internet
aangesloten, dat is maar één host namelijk de router.
Zo'n router moet een uniek IP-adres hebben.
Als in het lokale netwerk TCP/IP wordt gebruikt dan heeft elke werkplek ook een lokaal IP-adres, maar dat kan niet gebruikt worden als IP-adres in het Internet, alles gaat dan via de router.
Daarom doet de ROUTER aan adresvertaling, dat betekent dat hij het door de provider toegewezen ip-adres gebruikt als het "officiële" publieke adres naar de buitenwereld toe. Alle datatransfers van gebruikers binnen het eigen netwerk naar buiten toe komen bij de router terecht en die vervangt de interne adressen door het publieke adres. Zelf houdt hij een lijstje bij van alle interne adressen waarvoor hij dat deed plus hun bestemming. Als er een antwoord komt doet de router het omgekeerde: het publieke adres vervangen door het interne adres. De afkorting die hiervoor gebruikt wordt is NAT (Network Adress Translation)
Als je thuis m.b.v. een modem inbelt op het Internet dan krijg je meestal via je provider een tijdelijk IP-adres, dat wordt meestal "dynamisch toegewezen". Je provider heeft een aantal IP-adressen waarvan gebruik gemaakt kan worden, en één daarvan wordt aan jou toegewezen als je inbelt. Zo kun je elke keer als je inbelt een ander IP-adres toegewezen krijgen.
Als er pakketjes over het Internet worden verstuurd, dan gaan die pakketjes van router naar router.
Elke router heeft een zogenaamde routing-tabel. Die gebruikt hij om te kijken naar welke router pakketjes doorgeseind moeten worden. Hij kan aan het IP-adres zien in welke richting het gestuurd moet worden, want in de IP-adressen zit een systeem zoals in de postcode en de netnummers bij de telefoon. Het eerste getal bepaalt ruwweg waar de host zit, het tweede getal bepaalt het iets nauwkeuriger, het derde bepaalt het nog iets preciezer enz. De adressen 194.0.0.0 tot en met 195.255.255.255 zijn bijvoorbeeld voor Europa, de adressen 198.0.0.0 tot en met 199.255.255.255 zijn voor Noord-Amerika, enz.
Het Internet is verdeeld in bepaalde gebieden. En die gebieden zijn met elkaar verbonden via een snelle lijn: de zogenaamde backbone.
Routers wisselen ook besturingsinformatie uit. Elke router stuurt naar zijn directe buren (dat zijn aangrenzende routers) regelmatig berichten over IP-nummers en ook over de drukte bij de router. Daar zijn ook speciale protocollen voor, bijv. OSPF (= Open Shortest Path First) voor berichten binnen een bepaald gebied zodat binnen dat gebied de snelste route bepaald kan worden, en ook de snelste route naar de backbone. (dat is behoorlijk ingewikkeld, er wordt gebruik gemaakt van kunstmatige intelligentie). En BGP (=Border Gateway Protocol) voor de backbone-routers die de verschillende gebieden met elkaar verbinden. De backbone-routers houden niet alleen rekening met het kortste pad, ook politiek kan een rol spelen bij het bepalen van de route.
14.2.6. Verbindingen in een netwerk
Je hebt verschillende soorten "stekkerdozen" in een netwerk: hubs of repeaters, switches, routers en gateways.
- Repeater:
Een repeater dient om twee kabels aan elkaar te koppelen als de totale lengte meer dan 100 meter is, en het signaal te versterken, zodat de totale lengte heel wat langer kan zijn dan die 100 meter.
- Als je meer dan twee kabels aan elkaar wil koppelen dan heb je meer aansluitpoorten nodig en spreken we van een hub. Maar een hub hoeft geen repeaterfunctie te hebben: een repeater versterkt het datasignaal en een gewone hub niet.
Een hub of repeater is dus een erg dom systeem dat geen software bevat: er worden alleen maar bits gekopieerd binnen de fysieke laag.
- Bridge:
Een trapje hoger in intelligentie staat de brug of bridge.
Die werkt in de datalink-laag en dient om twee netwerken met verschillende verbindingstypes (zoals bijvoorbeeld Ethernet en Token Ring) aan elkaar te koppelen. Zo wordt een Ethernet-frame door een brug in Token Ring-formaat omgezet en dan via de fysieke laag naar het Token Ring-netwerk gekopieerd. Die conversie gebeurt uiteraard via software en dus noemen we een brug intelligent.
- Switch
Een switch is niet bedoeld voor formaatconversies, maar wel voor het schakelen van pakketten tussen twee Ethernet-netwerken, bijvoorbeeld tussen netwerksegmenten van verschillende snelheden zoals Fast Ethernet en gewoon Ethernet.
Bij een switch krijgt elke poort de volledige netwerkbandbreedte, bij een hub deel je de bandbreedte juist door het aantal aangesloten poorten.
- Router:
Een router koppelt twee netwerken die op het niveau van de netwerklaag verschillen, maar wel dezelfde transportlaag gebruiken.
Een voorbeeld is de koppeling van een Ethernet-netwerk aan een openbaar netwerk.
- Gateway:
Dit systeem is bedoeld voor het leggen van een verbinding naar een netwerk dat een andere transportlaag gebruikt.
- Firewall:
Die beveiligt het netwerk door de toegang van ongevraagd Internet-verkeer te blokkeren. Er kan worden aangegeven welke poorten worden doorgelaten en welke niet.
Een firewall controleert ieder pakketje data op een aantal punten:-
het IP adres van de ontvanger en afzender
- het poortnummer waar de data heen gaat of vandaan komt
- het type pakket (er wordt onderscheid gemaakt in pakketten die een verbinding starten en pakketten van een reeds bestaande verbinding)
- De richting van de data (naar de computer toe of juist gegenereerd door de computer zelf)
- Proxyserver:
Een router die web-pagina's in het cachegeheugen opslaat, en daardoor die webpagina's veel sneller kan laten zien.
|