H10 Flashcards
Transport layer Responsibilities
-> zorgt voor tijdelijke communicatie sessie tussen 2 applications door TCP en UDP
- Tracking (TCP sessions)
- Segmenting data (TCP sequence number)
- Identify applications (port numbers)
TCP vs UDP
User Datagram Protocol:
-> basis functies voor leveren
-> niet betrouwbaar
Transmission Control Protocol:
-> betrouwbaar
-> bevestiging bij levering
(Verhaal client dat packet stuurt)
TCP
- Opzetten van sessies (3way handshake)
- Betrouwbare levering (ACK)
- Levering in zelfde volgorde (Sequence number)
- Flow Control (window size)
TCP header
- Source and Destination Port
- Sequence Number
- Ack number
- Window
UDP
- Connectionless (er wordt niet gewacht op bevestiging van ontvanger, packets worden verstuurd als ze klaar zijn)
- Unreliable delivery
- No order reconstruction
- No flow control
UDP Header
Source and Destination port
Port number usage and mechanism
scheiden van verschillende communicaties zodat er meerdere communicaties tegelijkertijd mogelijk zijn
source en destination poort zitten in segment
-> segment verpakt in IP packet, die IP van source en destination bevat
–> IP destincation/source + Poort destination/source = socket
socket pair = source en destination IP met source en destination Poort
(source poort is random gegenereerd)
Types of port numbers
- Well-known ports: 0-1023 (services en apps)
- Registered ports: 1024 - 49151 (user processes)
- Dynamic ports: 49512 - 65535 (identificeren client)
Netstat
TCP connections bekijken
Setting up and tearing down TCP session
Three way handshake:
- A stuurt B request voor client-to-server communicatie sessie (SYN)
- B stuurt A erkenning en request voor server-to-client communicatie sessie (ACK en SYN)
- A stuurt B erkenning (ACK)
Stoppen:
- A stuurt B FIN
- B stuurt A ACK en FIN
- A stuurt B (ACK)
TCP ordered delivery
Sequence Numbers: gebruikt om segmenten terug te ordenen volgens de volgerde waarin ze verstuurd werden
Window size
hoeveelheid data dat verstuurd kan worden voor er een ACK moet ontvangen worden
TCP reliability
- A stuurt segment 1 naar B, timer 1 start
- B ontvangt segment 1 en stuurt erkenning naar A
- A ontvangt erkenning, timer 1 stopt
- A stuurt segment 2 naar B, timer 2 start
- B krijgt segment 2 niet aan dus stuurt geen erkenning
- Timer 2 van A verloopt, A stuurt segment 2 opnieuw, timer 2 herstart