Transportlaag
T. Issaris
24 Februari 2021
Intro
- laag tussen applicatie- en netwerklaag
- laag tussen b.v. HTTP en IP
Rol
communicatie tussen 2 applicaties
Fig 9.1
Verantwoordelijkheden
- bijhouden van individuele communicatie
- segmentering en samenstellen
- identificatie van applicaties
Bijhouden conversaties
conversatie: data tussen source en destination-applicatie
Fig 9.2
Segmentering
- beperking hoeveel data in 1 packet verstuurd kan worden
- data in stukjes kappen
- informatie toevoegen om samenstellen mogelijk te maken
Segmentering
Fig 9.3
Identificatie applicaties
- poortnummer: unieke identifier per applicatie
- noodzakelijk voor ieder softwareproces voor communicatie
Identificatie
Fig 9.4
Conversatie-multiplexing
- multiplexing: segmenten van verschillende conversaties door elkaar
Fig 9.5
Reliability
Belangrijkste 2 protocollen:
UDP
- best effort
- lichtgewicht
- geen betrouwbaarheid
UDP services
Fig 9.19
Scheiden conversaties
- meerdere conversaties
- mogen niet door elkaar lopen (website/email/chat)
- dmv unieke identifiers: poortnummers
Scheiden conversaties
Fig 9.21
Poortnummers
- source poortnummer: lokale host
- destination poortnummer: externe host
Fig 9.22
Source-poort
- dynamisch gekozen
- b.v. bij HTTP meerdere requests onderscheiden door verschillende source-ports
Destination-poort
- om aan te geven welke service gevraagd wordt
- ligt dikwijls vast
- poort 80 is b.v. HTTP
- server voorziet meerdere servers op 1 machine via meerdere poorten
Socket paar
- combinatie: source IP, source port, dest IP, dest port
- b.v. socket paar: 192.168.0.100:2002, 192.168.0.200:80
- uniek: hierdoor meerdere verbindingen met zelfde server mogelijk
- source-poortnummer: retouradres om antwoord terug te sturen naar juist applicatie
Socket paar
Fig 9.23
Groepen poortnummers
- 0 t/m 1023: system/“well-known” poorten
- 1024 t/m 49151: geregistreerde poorten
- 49151 t/m 65535: dynamische poorten
Well-known
- gereserveerd voor servers
- webserver 80 en 443
- mailserver 25, 110, 143
- clients kunnen hierdoor automatisch poort kiezen (browser 80 b.v.)
Geregistreerde poorten
- allerhande applicaties
- MySQL 3306
- Microsoft RDP 3389
Dynamische poorten
- tijdelijke poorten
- toegewezen aan client-applicaties om verbinding op te zetten
Netstat
- toont actieve verbindingen
- lokaal adres, remote adres, status
- “-n” optie om numerieke vorm te tonen
UDP communicatie
- lage overhead
- geen garanties op bezorging
- kunnen out-of-order aankomen
Fig 9.35
UDP communicatie
- geen sequence-nummer
- geen garanties op bezorging
- kunnen out-of-order aankomen
UDP communicatie
Fig 9.36
UDP server
- netwerkstack stuurt informatie naar juiste serversoftware dmv poortnummer
- serversoftware luistert op een poortnummer
Fig 9.37
UDP client
- client vraagt data aan server-proces
- terugkerende packets omgekeerd
Fig 9.38
UDP communicatie
Fig 9.39
UDP communicatie
Fig 9.40
UDP communicatie
Fig 9.41
UDP communicatie
Fig 9.42
UDP gebruik
- live video/audio
- eenvoudige transacties: b.v. DNS, DHCP
- applicaties die zelf betrouwbaarheid afhandelen (SNMP, TFTP)