Hfd 3 Flashcards

1
Q

Transport laag

A

Voorziet in logical communication tussen applicaties die op verschillende hosts runnen. Applicaties gebruiken de logische communicatie van de transportlaag om elkaar te berichten. Protocollen alleen in endsystems, niet in netwerkrouters.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Segments

A

Transport-layer packets, klein gemaakte messages, verpakt in header.
Worden de netwerklaag ingestuurd om daar verpakt te worden tot datagrammen.
Netwerk routers lezen alleen de datagrammen niet de segmenten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Transport vs netwerklaag

A

Transportlaag | logische communicatie tussen processen die op verschillende hosts lopen (de kinderen die alle brieven in huis weer verdelen/verzamelen onder de rest)
Leeft in endsystem, levert bericht alleen af naar network edge.
Netwerklaag | logische communicatie tussen de hosts zelf (de postal service)
Leeft in de networkcore.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

UDP

A

User Datagram Protocol
Unreliablr, connectionless service
Voorziet alleen in 2 basis services van transport-laser services; process-to-process data delivery & error checking
Bijvoorbeeld gebruikt door DNS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

TCP

A

Transmission Control Protocol
Reliable, connection-oriented service
Voorziet in 2 basis services van transport-laser services; process-to-process data delivery & error checking
Daarnaast ook reliable data transfer, congestion control.
TCP connectie is een logische connectie, geen fysieke. Dus onzichtbaar voor routers, switches, etc. Zij zien gewoon een datagram

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Transport-layer multiplexing

A

Aka demultiplexing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Demultiplexing

A

Het afleveren van data in segment door de juiste socket.
Gedaan door de header die rond de message zit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Multiplexing

A

Het verzamelen van data chunks van de host, om deze in te pakken in headers die data bevatten over de poort waar t naartoe moet.
Message wordt segment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Source port number field

A

Deel van de header die afkomst definieert dmv poort nummer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Destination port number field

A

Deel vd header die definieert naar waar de data moet dmv een poort nummer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Port numbers

A

Een 16-bit nummer van 0-65535
0-1023 zijn well-known poortnummers, zijn gereserveerd voor bekende applicatie protocollen zoals HTTP en FTP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

bind()

A

Om na het creëeren van een socket in python dmv
clientSocket = socket(AF_INET, SOCK_DGRAM)
Een specifieke poort (19157) toe te kennen aan de applicatie dmv
clientSocket.bind((‘’, 19157))

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

TCP demultiplexing

A

Through a TCP socket
Identified by a Four-tuple met IPadres, source port number, destination IP & destination port numbet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

UDP vs TCP demultiplexing

A

UDP
Heeft alleen bestemmings informatie, waardoor 2 segmenten van verschillende hosts dezelfde socket in kunnen
UDP verbinden socket
clientSocket = socket(AF_INET, DGRAM)
clientSocket.bind((‘’, 19175))
TCP
Bevat zowel bestemming als host info. Dus segmenten die aankomen van verschillende hosts of met verschillende bestemmingen zullen in andere socket eindigen
Verbinden welcoming socket, port 12000
clientSocket = socket(AF_INET, SOCK_STREAM)
clientSocket.connect((serverName,12000))
Nieuwe socket gemaakt door server, met de 4 eigenschappen van t gestuurde segment als eisen
connectionSocket, addr = serverSocket.accept()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Connectionless

A

Zonder handshake zenden en ontvangen in de transportlaag. UDP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Waarom wel kiezen voor UDP

A

Meer controle over welke data verstuurd wordt vanuit de application-layer en wanneer (TCP is meer bezig met congestion-control dus soms moet t wachten)
Dus handig voor applicaties met minimum sending rate, zonder dat teveel vertraging mag en wanneer de wel wat data-loss kunnen incasseren.
Dingen als netflix & teams bellen
UDP is sneller, want geen handshake nodig. Begint gelijk met zenden.
TCP onderhoudt allerlei parameters om de reliability te kunnen beloven tijdens een connectie. UDP doet dit niet. Hierdoor kan een server, overgeleverd aan een specifieke applicatie, meer actieve gebruikers dienen.
UDP heeft minder packet overhead (8vs20)

17
Q

UDP segment structure

A

|———32 bits ———|
Source port - dest. port
Length - checksum
Application data (message)

18
Q

Checksum

A

Biedt error-detection
UDP :
10110101
10000110
—————+
00111011
Wanneer het meest linker cijfer overflow heeft, gaat deze carry-bit (de bit die je naar bovenliggende som meeneemt) verloren
Dan is het tijdvoor de 1s complement. Dit betekend dat alle 1en een 0 worden en andersom. Checksum wordt dus
11000100
Aan de ontvangende kant worden alle 3 de 16-bit pakketjes toegevoegd (incl) checksum. Deze moeten dan op 1111111 uitkomen. Zit er een 0 in, dan fout.

19
Q

End-end principle

A

Gezien sommige functionaliteiten geimplementeerd moeten worden van eind tot eind, worden deze functionaliteiten overbodig in lower levels, zoals error checking

20
Q

Connection-oriented

A

Wanneer een applicatie proces niet kan beginnen zonder handshake. Zoals bij TCP.

21
Q

Full-duplex service

A

TCP connectie tussen van proces A in een host naar proces B in een andere. Dan kan applicatie-data van A naar B, terwijl op hetzelfde moment data terug kan van B naar A

22
Q

Point-to-point

A

TCP connectie zend van 1 verzender naar 1 ontvanger. Multicasten (het tegelijk verzenden naar meerdere ontvangers) is niet mogelijk in TCP.

23
Q

TCP connection handshake

A

Client proces laat client transport-layer weten dat hij connectie wil maken
- Hierna stuurt de TCP in client een speciaal segment naar server proces, zonder payload met SYN bit set to 1. Het kiest een random initial sequence number
- Deze stuurt dan weer een speciaal segment terug, zonder payload met SYN=1 en initial sequence nummer +1 en een eigen initial sequence nummer (SYNACK segment)
- Uiteindelijk stuurt de client een derde segment, waarin initial server sequence number +1 SYN=0 en kan data gaan bevatten (connection-granted segment)

24
Q

Send buffer

A

De buffer aan de clientkant van de TCP connectie. Eens in de zoveel tijd pakt TCP een stuk data uit de buffer en stuurt m door.

25
Q

MSS

A

Maximum segment size. Hoeveel data per keer uit de sendbuffer gepakt kan worden om te verturen.
Bepaald door te kijken hoeveel data er past binnen de MTU rekening houdend met encapsulation. Door typische MTU van 1500 bytes en TCP/IP header lengte van 40 bytes, meestal 1460 bytes

26
Q

MTU

A

Maximum transmission unit. De lengte van het grootste link-layer frame dat verstuurd kan worden door de lokale sending host.
Typische MTU voor ethernet en PPP link-layer protocols = 1500 bytes

27
Q

Segment structuur TCP

A

Header velden en applicatie-laag data.
Header data in TCP;
- source & destination portnr (as in UDP)
- checksum field (as in UDP)
- sequence & acknowledgement number field
- receive window (indicator voor hoeveel bytes een ontvanger wil accepteren)
- header field lenght (geeft lengte van de header aan. Kan verschillen door niet verplichte option field. Als deze 0, dan header 20 bytes)
- option field (optioneel. Voor o.a. onderhandelen over MSS, scherm scaling factor of time-stamp)
- flag field (ACK bit voor valideren acknowledgement field. RST, SYN & FIN bits voor connection set-up en afbreek. PSH bit verteld data data onmiddelijk naar bovenste laag moet. URG bit verteld dat er ‘urgente’ data in dit segment zit, einde van de urgente data aangegeven in Urgent Data Pointer Field)
In praktijk worden de laatste 3 genoemden niet gebruikt.

28
Q

Sequence & acknowledgement number fields

A

Deel van de reliable data transfer service.
Sequence number van segment = de byte stream number van de eerste byte in het segment (zorgt in essentie voor het juist identificeren, ordenen en verwerken van de verschillende segmenten van een groter stuk data)
Aknowledgement number = een nummer voor het bevestigen van succesvol ontvangen gegevens, ondersteunt betrouwbare gegevensoverdracht en foutcorrectie

29
Q

Cumulative acknowledgements

A

Want de acknoledgement number geeft aan dat alle segmenten tot dat sequence nummer aan toe goed zijn ontvangen.
Cumulatief = de som van alle delen vanaf de start van een proces op een bepaald moment.

30
Q

What to do with out of order received segments?

A

Niets over vastgelegd. Programmeur kan kieze voor;
(1) het direct weggooien van out of order bytes of
(2) out of order byte bewaren en wachten om de missende
In praktijk wordt optie 2 vaak gekozen. Effectiever.

31
Q

Telnet

A

Protocol voor inloggen. Werd veel gebruikt, tegenwoordig vaak vervangen voor SSH, want gebruikt geen encription.

32
Q

Piggybacked

A

Wanneer een acknowledgement number gekoppeld is aan een nieuw bericht van de ontvanger

33
Q

Eind TCP connectie

A

Of de client of de server kan dit beginnen. Stuurt dan een speciaal segment met FIN=1. De ander stuurt dan een bevestiging om vervolgens zelf een speciaal segment met FIN=1 te sturen. Hierna rest alleen nog de bevestiging van de initiator.

34
Q

TCP states

A

Verscheidene staten waarin het TCP protocol zich kan bevinden.
Bijvoorbeeld | closed - syn_sent - established - fin_wait_1 - fin_wait_2 - time_wait - closed

35
Q

Hoe TCP als portnr’s of IP niet matchen?

A

Als segment ontvangen wordt met niet-matchende port, dan stuurt een special reset segment terug door RST bit =1 (voor UDP dmv speciaal ICMP datagram)

36
Q

Nmap port-scanning

A

Een tool die scant of een port packets ontvangt, vaak gebruikt in cyberattacks
Tool stuurt TCP SYN segment naar bepaalde poort. 3 reacties mogelijk;
(1) tool krijgt een TCP SYNACK segment terug, dan is destination te bereiken (en eventueel aanval te beginnen)
(2) TCP RST terug, dan segment verstuurd alleen niet juiste port. Wel overgekomen, dus geen firewall
(3) niets terug, waarschijnlijk geblocked door firewall en nooit target gevonden

37
Q

DNS services

A

Hostname naar IP vertaling
Host aliasing
Mail server aliasing
Load distribution

38
Q

Waarom niet centraliseren DNS

A

Single point failure
Volume van t verkeer
Afstand tot database
Onderhoudt