Netwerken 5 Enigma Netwerken paragraaf 8
Transportlaag Netwerklaag (IP-protocol) Best-effort pakketcommunicatie Transportlaag (UDP- en TCP-protocol) Aanpassing van het IP-protocol aan verschillende toepassingen De bezorging van de data bij de toepassing Adressering van toepassingen via poortnummers (via het Operating System), bv: 20: FTP (file transfer) 25: SMTP (mail) 80: HTTP (web) …
UDP: simpel, snel en onbetrouwbaar UDP (User Datagram Protocol) Best-effort pakketcommunicatie (dus geen aanpassing van IP) Voegt slechts 2 dingen aan IP toe: Checksum: controle op fouten (Beschadigd? Weggooien!) Poortnummer ter identificatie van de toepassing Biedt geen garantie dat gegevens daadwerkelijk aankomen Toepassing: maximale bandbreedte met minimale vertraging
TCP: Betrouwbaar is niet gratis TCP (Transmission Control Protocol) Garandeert betrouwbare verbinding over onbetrouwbaar kanaal Moet een aantal problemen tackelen. Dit gaat ten koste van de snelheid en bandbreedte
Betrouwbaar transport pakketten Probleem: pakketten raken beschadigd of komen niet aan Oplossing: Ontvangstbevestiging met time-out en hertransmissie Segment datapakket ACK ontvangsbevestiging (acknowledgement) In dit voorbeeld komt de ontvangstbevestiging binnen de time-out periode (window) binnen.
Time out Als time-out afloopt zonder ontvangstbevestiging: Hertransmissie In dit voorbeeld komt de ontvangstbevestiging te laat aan en is het pakket al opnieuw verzonden Soms raakt juist ACK pakket kwijt, maar dat kan de zender niet weten. Dus toch hertransmissie. Pakket komt dan dubbel aan
Bytestroom naar pakketten Bovenliggende applicaties genereren een zogenaamde bytestroom. Dit is een “stroom” met data zonder duidelijke grenzen en zeer variabele lengte. TCP moet dit in stukjes (pakketten) verdelen: Pakketten in (grofweg) zelfde grootte Pakketten genummerd Zender splitst bytestroom in pakketten Ontvanger combineert pakketten tot bytestroom
Efficiënt gebruik: “Sliding window” Zender wacht niet op ontvangstbevestiging van het vorige pakket voordat hij nieuwe zendt. Meerdere pakketten zijn dus onderweg (2 kanten op!) Pakketten voorzien van volgnummer “Sliding window” refereert naar het tijd-slot van een pakket, dat voor elk volgend pakket een stukje opschuift in de tijd
Opzetten verbinding: 3-way handshake Om verbinding tot stand te brengen moeten beide partijen dit afstemmen Door middel van 3-way handshake: 1.Host A zendt TCP SYNchronize pakket naar Host B Host B ontvangt A's SYN 2.Host B zendt SYNchronize-ACKnowledgement pakket Host A ontvangt B's SYN-ACK 3.Host A zent ACKnowledge pakket Host B ontvangt A’s ACK. TCP socket verbinding is bereikt
Domain Name System (DNS) Voor adressering zijn IP adressen nodig IP adressen zijn lastig te onthouden (bv ) Oplossing: domeinnamen (bv. Vertaling van domeinnaam naar IP adres nodig DNS DNS is een netwerk van Nameservers op het internet Houden lijst bij van IP adressen gekoppeld aan domeinnamen Wisselen onderling nieuwe of veranderde informatie uit Makkelijk om domein te verhuizen -> ander IP in tabel Sommige domeinnamen naar meerdere IP adressen (bv. andere server in EU dan in USA)