====== TCP und UDP ====== ===== Empfohlene Lernstrategie ===== ==== TCP ==== Da das Transmission Control Protokoll ein verbindungsorientiertes Protokoll ist, gibt es Regeln, wie eine Verbindung auf- und wieder abgebaut wird. Sie dir dazu diese Seite zum [[https://www.elektronik-kompendium.de/sites/net/2009211.htm|TCP 3-Wege-Handshake]] an. Die wichtigsten Felder im TCP-Header sind * Quellport * Zielport * Flags (SYN, ACK, FIN, RST) Für das Verständnis Datensegmentierung und Fehlerbehandlung sind außerdem die Felder * Sequenznummer und * Acknowledgement-Nummer von Bedeutung. Für einen [[https://www.elektronik-kompendium.de/sites/net/0812271.htm|Überblick und zum TCP-Header]] kannst du im Elektronik-Kompendium nachlesen. Wenn du dir genauer ansehen möchtest, wie Sequenz- und Acknowledgement-Nummer verwendet werden, kannst du dir [[https://www.youtube.com/embed/BWILgDt6jz0|dieses Video]] ansehen. ---- === Aufgabe === Wenn du dir diese grundlegenden Informationen angeeignet hast, solltest du diese Gegebenheiten mit Hilfe von **Wireshark** bei echtem Netzwerkverkehr ansehen. Versuche dabei nicht nur den Verbindungsaufbau zu beobachten sondern auch den Verbindungsabbau und was passiert, wenn du versuchst eine Verbindung zu einem Port aufzubauen, der geschlossen ist. Das kannst du entweder mit Netcat erreichen oder mit einem anderen netzwerkfähigen Programm wie einem Browser, SSH oder einem FTP-Client, indem du einen Host kontaktierst, auf dem gar kein solcher Dienst läuft. ==== UDP ==== Das UDP-Protokoll ist ein verbindungsloses Protokoll. Es gibt keinen Verbindungsaufbau und auch keinen Verbindungsabbau. Auch das Verständnis von einer Verbindung ergibt sich wenn überhaupt erst auf einer höheren Layer durch die Anwendung, die über UDP kommuniziert. Ebenso gibt es keine Quittungen oder Behandlung von Übertragungsfehlern. Auch darum muss sich die Anwendung selbst kümmern. Eine kurze Einführung zum [[https://www.elektronik-kompendium.de/sites/net/0812281.htm|UDP-Protokoll]] gibt das Elektronik-Kompendium. Achte auch auf den **Unterschied** zwischen **TCP-Header** und **UDP-Header**. Beobachte auch hier UDP-Netzwerkverkehr in Wireshark oder erzeuge selbst welchen. ===== Zusätzliche und alternative Materialien ===== Video: [[https://www.youtube.com/embed/zlIHLnOigmA|Auf- und Abbau einer TCP-Verbindung]] Video: [[https://www.youtube.com/embed/xMtP5ZB3wSk|3-Wege-Handshake mit Sequenz- und Acknowledgement-Nummern]] Download: [[https://wiki.wireshark.org/SampleCaptures|Beispielmitschnitte von Wireshark zu verschiedenen Protokollen]] Übung: Eine zusätliche Übung zur Anwendung der vorgestellten Tools im Netzwerk findest du auf [[guide:netzwerk_tools_anwenden|dieser Seite]].