Hfd 2 Flashcards
Can you write application software for network-core devices?
Nee, want in de core worden alleen devices gebruikt die op de netwerklaag of lager werken
Application architecture
Gemaakt door de applicatie ontwerper. Dicteert hoe de app gestructureerd is over de verschillende end-systems.
Netwerk architecture
Geeft een fixed en specifieke set van services aan applicaties
Client-server architecture
Een altijd aanstaande host met een IP adres (de server) die aanvragen dient van vele andere hosts (de clients). Zoals op het Web en e-mail.
Data center
Huist een grote hoeveelheid hosts.
Peer2Peer architecture
Wanneer je data uitwisselt zonder (of minimaal) gebruik te maken van servers in data centers. Directe link tussen ononderbroken verbonden hosts. De downloading peer is de client en de uploading peer is de server.
Self-scalibility
Voordeel van peer2peer-architecture. Naast het creeren van workload, door een file op te vragen, ook toevoegen aan de service capaciteit, door het distributeren van files naar andere peers.
Processes
De programma’s die draaien op een end-system. Processes communiceren, in operating system terms, door het sturen van messages. T proces dat de communicatie initieert is de client (vraagt iets van de ander) en de ander is de server.
Socket
De software interface van een netwerk, waar gestuurde messages doorheen moeten. Als het proces een huis is, is de socket de deur, buiten de deur is dan het transportation proces tussen de 2 processen en dus ook sockets.
API
Application Programming Interface aka socket. De interface tussen applicatie laag en transport laag.
IP adres
Het adres van een host in 32-bit.
Port number
Een uniek nr gekoppeld aan een applicatie, zodat de ontvangende socket weet voor welk applicatie op t IP adres de data bedoeld is. IP adres = straatnaam. Port nr = huisadres.
Web server = port 80
SMTP = port 25
Services transport-layer
Wanneer je een applicatie maakt kies je ook welk transportprotocol je wilt gaan gebruiken. Er kan tussen de protocollen verschil zitten in reliable data transfer, throughput, timing en security.
Reliable data transfer
Hoe zeker het is dat er geen data verloren gaat tijdens het versturen. Bijvoorbeeld belangrijk bij bank transacties, mails en remote host access.
Loss-tolerant applications
Apps die het wel kunnen hebben als er een beetje data verloren gaat, zoals multimedia apps met conversatie audio/video
Guaranteed throughput
1 vd services die de transport-laag kan bieden is gegarandeerde throughput op een bepaalde snelheid. Throughput snelheid wisselt door het delen van kabels/verbindingen met andere data.
Bandwidth-sensitive applications
Apps die vereisten hebben aan de throughput. Oa internet telefonie die bijvoorbeeld stemmen codeert op 32 kbps, lagere throughput zal de ontvangen data verstoren.
Elastic applications
Apps die met alle hoeveelheden throughput om kan gaan. Oa mail en file transfers.
Timing guarantees
Als er een afspraak is over hoeveel tijd een bit heeft om aan de andere kant weer ontvangen te worden. Met name belangrijk voor real time applicaties.
TCP
Een connectie-georiënteerde service (een soort handshake tussen de 2 transportlagen, voor de applicatielagen beginnen met zenden, na applicatielagen klaar zijn wordt de verbinding verbroken) en een betrouwbare data transfer service (erop kunnen vertrouwen dat alle data verzonden wordt en in de juiste volgorde). TCP bezit ook een congestion-control mechanisme, service to the whole internet.
UDP
Een lichte, minimale service. Connectieloos, onbetrouwbare data transfer (geen garantie dat alles aankomt of in de juiste volgorde), geen congestion system.
Application-layer protocol
Hoe applicatie processen, op andere hosts, met elkaar communiceren. Definieert
- type berichten (request, response)
- de syntax ervan (de velden in de berichten en hoe ze zijn afgebakent)
- de semantics van de velden (betekenis van de berichten in de velden)
- regels voor wanneer en hoe een bericht versturen en ontvangen