Hoofdstuk 2: De toepassingslaag:
1) Principes van netwerktoepassingen:
1. Principes van netwerktoepassingen:
- Web en HTTP
- E-mail, SMTP, IMAP
- Het domeinnaamsysteem DNS
- P2P-toepassingen
- Videostreaming en inhoud distributienetwerken
- Socket programmering met UDP en TCP
2. Onze doelen:
Conceptuele-en uitvoeringsaspecten van protocollen voor de toepassingslaag
- Transport-layer service modellen
- Client-server paradigma
- Peer-to-peer paradigma
Leren over protocollen door het onderzoeken van populaire applicatie-laag protocollen en
infrastructuur
- HTTP
- SMTP, IMAP
- DNS
- Video streaming systemen, CDN's
Programmering van netwerk toepassingen
- Socket-API
- Draaien op (verschillende) eindsystemen
- Over een netwerk communiceren (bv: webserversoftware)
- Communiceert met browsersoftware
→ Niet nodig om software te schrijven voor netwerk-core apparaten
- Netwerk-core apparaten draaien geen gebruikers toepassingen
- Toepassingen op eindsystemen maakt voor snelle app-ontwikkeling,
verspreiding
4. Klant-server model/ paradigma:
Server:
- Altijd-on host
- Permanent IP-adres
- Vaak in datacenters, voor schaalvergroting
Klanten:
- Contact maken, communiceren met de server
- Kunnen met tussenpozen verbonden zijn
- Kunnen dynamische IP-adressen hebben
- Communiceren niet rechtstreeks met elkaar (bv: HTTP, IMAP, FTP)
1
,5. Peer-peer-architectuur
- Geen always-on server
- Willekeurige eindsystemen communiceren direct
- Peers vragen diensten aan andere peers
→ verlenen in ruil diensten aan andere peers
→ zelf schaalbaarheid: nieuwe peers brengen nieuwe dienst
capaciteit en nieuwe diensteisen
- Peers zijn met tussenpozen verbonden + veranderen van IP adres
→ complex management
Vb: P2P bestanden delen
6. Communicerende processen
PROCES = programma dat loopt binnen een host
CLIËNTPROCES = proces dat de communicatie initieert
SERVERPROCES = proces dat wacht om gecontacteerd te worden
- Binnen dezelfde host: 2 processen communiceren
→ mbv inter-proces communicatie (gedefinieerd door OS)
- In verschillende hosts: processen communiceren door uitwisselen van berichten
! Toepassingen met P2P-architecturen hebben klantprocessen & serverprocessen
7. Sockets
Proces zendt/ontvangt berichten naar/van zijn socket
Socket analoog aan deur
- Verzendend proces schuift bericht de deur uit
- Verzendend proces vertrouwt op transportinfrastructuur aan andere kant van deur om
bericht af te leveren bij socket van ontvangend proces
- 2 sockets betrokken: één aan elke kant
8. Processen aanpakken
- Berichten ontvangen → proces moet een identifier hebben
- Host-apparaat heeft uniek 32-bit IP-adres
- De identificatiecode omvat IP-adres en poortnummers geassocieerd met proces op de host.
Vb poortnummers: HTTP-server: 80
Mailserver: 25
- Om HTTP bericht te sturen naar gaia.cs.umass.edu webserver:
IP adres: 128.119.245.12
Poortnummer: 80
Vraag: Is het IP-adres van de host waarop het proces draait voldoende voor het proces te
identificeren?
→ Nee, veel processen kunnen draaien op dezelfde host
9. Een applicatie-laag protocol definieert:
2
, - Soorten berichten die worden uitgewisseld
vb: verzoek, antwoord
- Berichtensyntaxis:
= Welke velden in berichten & hoe velden worden afgebakend
- Semantiek van berichten
= Betekenis van informatie in velden
- Regels voor wanneer en hoe processen sturen en reageren op berichten
Open protocollen:
- Gedefinieerd in RFC's, iedereen heeft toegang tot protocol definitie
- Maakt interoperabiliteit mogelijk
Vb: HTTP, SMTP
Propriëtaire protocollen:
vb: Skype, Zoom
10. Welke vervoersdienst heeft een app nodig?
Gegevensintegriteit
- Sommige toepassingen (bv: bestandsoverdracht webtransacties) vereisen 100% betrouwbare
gegevensoverdracht
- Andere toepassingen (bv. audio) kunnen enig verlies tolereren
Timing
- Sommige toepassingen (bv. internet telefonie, interactieve spelletjes) vereisen een lage
vertraging om "effectief" te zijn
Doorvoer
- Sommige toepassingen (bv. multimedia) vereisen een minimale hoeveelheid doorvoer nodig
om "effectief" te zijn
- Andere toepassingen (= elastische toepassingen) maken gebruik van elke doorvoer die ze
krijgen
Beveiliging
- Encryptie, gegevensintegriteit, …
Vereisten voor vervoersdiensten: gemeenschappelijke apps
11. Diensten in verband met internetvervoerprotocollen
TCP-dienst:
- Betrouwbaar transport tussen zendende en ontvangend proces
- Flow control: verzender zal ontvanger niet ontvanger niet overweldigen
- Congestiecontrole: afzender afknijpen wanneer netwerk overbelast is
- Verbindingsgericht: setup vereist tussen client en server processen
- Biedt geen: timing, minimum doorvoer garantie, veiligheid
UDP-dienst:
3
Voordelen van het kopen van samenvattingen bij Stuvia op een rij:
√ Verzekerd van kwaliteit door reviews
Stuvia-klanten hebben meer dan 700.000 samenvattingen beoordeeld. Zo weet je zeker dat je de beste documenten koopt!
Snel en makkelijk kopen
Je betaalt supersnel en eenmalig met iDeal, Bancontact of creditcard voor de samenvatting. Zonder lidmaatschap.
Focus op de essentie
Samenvattingen worden geschreven voor en door anderen. Daarom zijn de samenvattingen altijd betrouwbaar en actueel. Zo kom je snel tot de kern!
Veelgestelde vragen
Wat krijg ik als ik dit document koop?
Je krijgt een PDF, die direct beschikbaar is na je aankoop. Het gekochte document is altijd, overal en oneindig toegankelijk via je profiel.
Tevredenheidsgarantie: hoe werkt dat?
Onze tevredenheidsgarantie zorgt ervoor dat je altijd een studiedocument vindt dat goed bij je past. Je vult een formulier in en onze klantenservice regelt de rest.
Van wie koop ik deze samenvatting?
Stuvia is een marktplaats, je koop dit document dus niet van ons, maar van verkoper emmaengelen12. Stuvia faciliteert de betaling aan de verkoper.
Zit ik meteen vast aan een abonnement?
Nee, je koopt alleen deze samenvatting voor €6,99. Je zit daarna nergens aan vast.