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
Les avantages d'acheter des résumés chez Stuvia:
Qualité garantie par les avis des clients
Les clients de Stuvia ont évalués plus de 700 000 résumés. C'est comme ça que vous savez que vous achetez les meilleurs documents.
L’achat facile et rapide
Vous pouvez payer rapidement avec iDeal, carte de crédit ou Stuvia-crédit pour les résumés. Il n'y a pas d'adhésion nécessaire.
Focus sur l’essentiel
Vos camarades écrivent eux-mêmes les notes d’étude, c’est pourquoi les documents sont toujours fiables et à jour. Cela garantit que vous arrivez rapidement au coeur du matériel.
Foire aux questions
Qu'est-ce que j'obtiens en achetant ce document ?
Vous obtenez un PDF, disponible immédiatement après votre achat. Le document acheté est accessible à tout moment, n'importe où et indéfiniment via votre profil.
Garantie de remboursement : comment ça marche ?
Notre garantie de satisfaction garantit que vous trouverez toujours un document d'étude qui vous convient. Vous remplissez un formulaire et notre équipe du service client s'occupe du reste.
Auprès de qui est-ce que j'achète ce résumé ?
Stuvia est une place de marché. Alors, vous n'achetez donc pas ce document chez nous, mais auprès du vendeur emmaengelen12. Stuvia facilite les paiements au vendeur.
Est-ce que j'aurai un abonnement?
Non, vous n'achetez ce résumé que pour €6,99. Vous n'êtes lié à rien après votre achat.