Transport layer Flashcards
Wie ist UDP aufgebaut?
Was ist Multiplexing bei UDP
Segmente von verschiedenen Applikationenen von Host werden gemultiplext
Was ist Demultiplexing bei UDP?
Segmente die gemultipext wurden werden beim Empfänger aufgespalten und zu den Applikationen gelieftert
Wie ist die Checksumme bei UDP aufgebaut?
- Checksumme wird vom Sender berechnet und intervertiert
- Empfänger berechnet ebenfalls die Checksumme und addiert die mitgelieferte mit der Berechneten.
- Ist das Ergebnis 1111….1111 so gibt es keinen Fehler
Wie wird die Checksumme berechnet?
- Das Segment wird als Array von 16-bit nummer behandelt
- Alle Nummern werden bitweise addiert
Wie Funktioniert UDP wirklich?
- Es wird ein Pseudo header benutzt
- Pseudo header enthält: eigene und ziel IP-Adresse, Protokollnummer (17 für UDP).
- Sender initalisiert Checksum mit 0 und Pseudo header
- Sender berechnet Checksum über pseudo header und segment
- Vorteil: Checksumme findet fehler in IP-Adresse
Welche Eigenschaften hat UDP
- Connection-less
- no flow control
- no congestion control
- no guarantee for in-sequenz delivery
- Interface für einfache Paketübertragung über IP
Wofür steht UDP?
User Datagram Protocol
Wofür steht TCP
Transmission Control Protocol
Eigenschaften von TCP
- Point to Point: one sender, one receiver
- In-order delivered byte stream
- Fenster bassierte Fehlerkontrolle
- Full duplex
- Connetion oriented: Verbindung muss aufgebaut und abgerissen werden
- Flow control: Mechanismus um den Empfänger nicht zu überlasten
- Congestion control: Mechanismus um das Netzwerk nicht zu überlasten
Wie sieht das Segment bei TCP aus?
Wofür steht ACK
acknowledgement
Wofür steht URG
urgent pointer
Wofür steht PSH
push segment
Wofür steht RST
reset connection
Wofür steht SYN
synchronize connection
Wofür steht FIN
terminate connection
Multiplexing und demulitplexing bei TCP
- TCP connection kann an all 4-Tupel charaktarisiert werden: Sender IP-Adresse, Empfänger IP-Adresse, Sender Port, Empfänger Port
- bei TCP kann ein Port für mehrere TCP Verbindungen benutzt werden (bsp. 80 für HTTP)
- pseudoheader wie bei UDP
Error Control bei TCP
- Sender kann mehrere Pakete schicken bevor er ACK bekommt
- Nach Senden startet timer
- Alle nicht-ACK segmente müssen gebuffert werden
- Wenn timer abgelaufen ist wird das erste nicht-ACK segment erneut gesendet
- Empfänger sendet akumulative ACKs
Was ist “schnelle neuübertragung” bei TCP Error Control?
- Es dauert lange bis ein verlorenes Paket bemerkt wird
- nach drei duplizierten ACKs wird eine neuübertragung ausgelöst
Was ist SACK bei TCP Error Control
- SACK: selective Acknowledgements
- SACK informiert den Sender über einzelne Pakete angekommen sind aber kein akumulativs ACK geschickt werden kann
- Normales ACK bleibt gleich
- SACKs signalisieren das erste Packet, welches nicht in Reihnfolge ist
- Es sollen so viele SACKs wie möglich gesendet werden
Verbindungsaufbau bei TCP
Aufbau ist ein 3 Schritt Handshake
* SYN-Segment: Client sendet Segment mit SYN-Flag = 1, zufälliger Client-SQN(client_sqn), keinen Daten
* SYN-ACK-Segment: Server sendet Segment mit SYN-Flag = ACK-Flag = 1, zufälliger Server-SQN, ACK=client_sqn+1, keine Daten, alle Buffer initialisiert
* ACK-Segment: Client sendet Segment mit ACK=1, SQN=client_sqn+1, ACK=server_sqn+1 und eventuell daten
*
Verbindungsabriss bei TCP
Segmente mit SYN-Flag=1 oer FIN-Flag = 1 dürfen keine Daten haben. SQN muss inkrementiert werden. Danach kommt ein letztes ACK