Vorab: Überblick TCP. Grundeigenschaften Punkt-zu-Punkt-Verbindung Streaming-Schnittstelle

Ähnliche Dokumente
Vorab: Überblick TCP. Grundeigenschaften Punkt-zu-Punkt-Verbindung Streaming-Schnittstelle

Modul 8: UDP, TCP, SCTP und HTTP

Transportschicht. Einleitung Transmission Control Protocol, RFC793. Transportschicht

Modul 4: Sicherheit von Netzprotokollen

Netzwerke. Netzwerk - Programmierung. Alexander Sczyrba. Madis Rumming.

Internetanwendungstechnik. Transportschicht. Gero Mühl

Modul 3 Schwachstellen und Angriffe im Internet

Modul 5: TCP-Flusskontrolle

Modul 4 Schwachstellen und Angriffe im Internet

Rechnernetze I SS Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 7.

TCP. Transmission Control Protocol

Systeme II. Christian Schindelhauer Sommersemester Vorlesung

Netzwerk-Programmierung. Netzwerke. Alexander Sczyrba Michael Beckstette.

Netzwerk-Programmierung. Netzwerke.

Transportschicht. Transmission Control Protocol, RFC793. (Fortsetzung TCP)

Systeme II 5. Die Transportschicht

Dienste der Transportschicht

Transportschicht. Transmission Control Protocol (TCP) Zuverlässiger Bytestrom. 9. Kapitel Fragen des Protokolls: Ausgewählte Netzwerkprotokolle

Vorlesung: Netzwerke (TK) WS 2009/10 Kapitel 5 Ende-zu-Ende-Protokolle Session 15

Netzwerke. Netzwerk-Programmierung. Sven Hartmeier.

Themen. Dienste der Transportschicht. 3-Wege-Handshake. TCP-Protokoll-Header. Real-Time-Protocol

IP Version 6, RFC2460 Transportschicht. Internet Protokoll Version 6 (IPv6)

Grundkurs Routing im Internet mit Übungen

Modul 3: Opfer, Angreifer und Angriffe

Grundlagen TCP/IP. C3D2 Chaostreff Dresden. Sven Klemm

Kommunikationsnetze 1. TCP/IP-Netze 1.2 TCP. University of Applied Sciences. Kommunikationsnetze. 1. TCP/IP-Netze 1.

TCP/UDP PROF. DR. M. FÖLLER NORD INSTITUT EMBEDDED AND MOBILE COMPUTING

Grundlagen der Rechnernetze. Transportschicht

Transportprotokolle. TCP - Transmission Control Protocol

Transportprotokolle im TCP/IP- Referenzmodell

Berliner Linux User Group, 16. November 2005 Wilhelm Dolle, Director Information Technology interactive Systems GmbH

TCP-Verbindungen und Datenfluss

Peer-to-Peer- Netzwerke

Rolf Wanka Sommersemester Vorlesung

TCP/IP-Protokollfamilie

Transportschicht (Schicht 4) des Internet

Die Transportprotokolle: Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Die Socket-Schnittstelle

Die Transportprotokolle: Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Die Socket-Schnittstelle

11. Foliensatz Betriebssysteme und Rechnernetze

Explorationsphase Remote Root Exploit Fazit. Die Mitnick Attacke. Einleitung

11. Foliensatz Betriebssysteme und Rechnernetze

IP-Netzwerke und Protokolle

Vorlesung: Netzwerke (TK) WS 2011/12 Kapitel 5 Ende-zu-Ende-Protokolle Session 15

Beispiel TCP-/IP-Datenübertragung

6. Die Transportschicht. 6.1 Architektur der Transportprotokolle im Internet 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol)

Institut für Informatik der Ludwig-Maximilians-Universität München Prof. Dr. D. Kranzlmüller, Dr. N. gentschen Felde. Probeklausur

Grundlagen der Rechnernetze. Transportschicht

Vernetzte Systeme. Übungsstunde Adrian Schüpbach 09. Juni 2006

Überblick. Daten- kommunikation

Mobilkommunikationsnetze - Transmission Control Protocol -

Hauptdiplomklausur Informatik März 2001: Internet Protokolle

Vorlesung. Rechnernetze II Teil 10. Sommersemester 2006

Lehrveranstaltung Rechnernetze Einschub für das Labor

Rechnernetze Übung 11. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2012

Rechnernetze und Organisation

UDP, TCP & DNS Rough Cut

Die ITU-T-Empfehlung X.25

SCTP Stream Control Transmission Protocol

Rechnernetze und -Organisation Michael Hutter Karl C. Posch.

Übung 10. Tutorübung zu Grundlagen: Rechnernetze und Verteilte Systeme (Gruppen Mo-T2 / Fr-T1 SS2017)

Rechnernetze Übung 11

Chapter 11 TCP. CCNA 1 version 3.0 Wolfgang Riggert,, FH Flensburg auf der Grundlage von

Rechnernetze und Internettechnologien

Systeme II 5. Die Transportschicht

Mobilkommunikationsnetze. - Transportschicht -

Grundlagen Rechnernetze und Verteilte Systeme (GRNVS)

Transportschicht. Transmission Control Protocol, RFC793. (Fortsetzung TCP)

Layer 4: Transport Layer

IPv4 - Internetwork Protocol

Die Transportprotokolle UDP und TCP

Kurzeinführung in TCP/IP. Sebastian Drexler

9. Foliensatz Computernetze

Einleitung Sniffing, Analyzing, Scanning Scanning. Netzwerke. Bierfert, Feresst, Günther, Schuster. 21. März 2006

Transportprotokolle im TCP/IP- Referenzmodell

Praktikum zur Vorlesung Datenkommunikation. Teil I

Vorlesung: Netzwerke (TK) WS 2011/12 Kapitel 1 Vorbereitung für Praktikum Session 03

9. Foliensatz Computernetze

Netzwerktechnologien 3 VO

Systeme II. Christian Schindelhauer Sommersemester Vorlesungswoche

Charakteristische Fragestellungen der Schicht 4

Reale Angriffsszenarien Typische Regellücken bei Firewalls,, Testtools

SCHICHTENMODELLE IM NETZWERK

Transportschicht. Veranstaltung. Vortragender. Rechnernetze 1. Rüdiger Busch

Internet Networking TCP Congestion Avoidance and Control

Rolf Wanka Sommersemester Vorlesung

Systeme II. Christian Schindelhauer Sommersemester Vorlesung

Seminar: Konzepte von Betriebssytem- Komponenten

Überblick. Daten- kommunikation

Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Informatik IV Prof. Dr. rer. nat. Otto Spaniol TCP / UDP.

Netzwerktechnologien 3 VO

Grundlagen: Rechnernetze und Verteilte Systeme Kapitel 6:

Digitale Kommunikation und Internetdienste 1

Transkript:

Vorab: Überblick TCP Grundeigenschaften Punkt-zu-Punkt-Verbindung Streaming-Schnittstelle Byteorientiert keine Fragment-/Segmentgrenzen Zuverlässige Datenübertragung Verbindungsorientierte Übertragung zuverlässiger Verbindungsaufbau, Initialisierung des Empfänger/Sender-Kontexts zuverlässiger Verbindungsabbau Vollduplex-Verbindung bidirektionaler Datenfluss in derselben Verbindung Optimale maximale Segmentgröße (512-1500 Byte) Dynamische Sende- und Empfangspuffer Flusskontrolle Überlastkontrolle 21.04.2018 17:49:17 M. Leischner Internetkommunikation Folie 1

Vorab als Wiederholung: TCP-Segmentaufbau IP-Header TCP-Header TCP-Data 8 16 24 32 Source Port Destination Port Sequence Number Acknowledgement Number Bytes nicht Pakete! Data Offset Reserved U R G A C K P S H R S T S Y N F I N Window Size (des Empfängers) Checksum Urgent Pointer Options (variable Länge) Padding Data 21.04.2018 17:49:22 M. Leischner Internetkommunikation Folie 2

Modul 3: TCP-Verbindungsmanagement 21.04.2018 17:49:22 M. Leischner Internetkommunikation Folie 4

TCP-Verbindungsablauf (Normalfall, stark vereinfacht) Client Server ISN=1763 WinSize=512 Verbindungsaufbau SYN FIN ACK seq#=1763 ack#=0 Win=512 SYN FIN ACK seq#=73 ack#=1764 Win=1536 SYN FIN ACK seq#=1764 ack#=74 Win=512 keine Daten keine Daten keine Daten ISN=73 WinSize=1536 SYN FIN ACK seq#=1764 ack#=74 Win=512 10 Byte Daten Verbindungsabbau Verbindungsphase SYN FIN ACK seq#=74 ack#=1774 Win=1536 3 Byte Daten SYN FIN ACK seq#=1774 ack#=77 Win=512 5 Byte Daten SYN FIN ACK seq#=77 ack#=1779 Win=1536 keine Daten SYN FIN ACK seq#=1779 ack#=78 Win=512 keine Daten SYN FIN ACK seq#=1779 ack#=78 Win=512 keine Daten SYN FIN ACK seq#=78 ack#=1780 Win=1536 keine Daten 21.04.2018 17:49:22 M. Leischner Internetkommunikation Folie 5

Zuverlässigkeit bei TCP TCP will nicht nur sehr zuverlässig, sondern absolut zuverlässig sein. TCP will in allen Protokoll-Phasen einer Verbindung absolut zuverlässig sein: Verbindungsaufbau Verbindungsphase Verbindungsabbau Fragen: Was bedeutet Zuverlässigkeit in den verschiedenen Protokollphasen? Was genau muss in den jeweiligen Phasen sichergestellt sein? Warum ist es denn so schwierig, Zuverlässigkeit zu erreichen? Grundsatz- Überlegung Kann es nicht Situationen geben, wo sich durch ein Protokoll aus grundsätzlichen Überlegungen heraus - gar keine zuverlässige Datenübertragung erreichen lässt? M. Leischner Internetkommunikation Folie 6

Das Zwei-Armeen-Problem Situation: Die beiden blauen Armee sind zusammen stärker als die rote Armee, wenn sie gleichzeitig angreifen. Die beiden blauen Armeen kommunizieren über einen Boten, der von der roten Armee abgefangen werden kann. Frage: Mit welchem Protokoll können sich die blauen Armeen auf einen Angriffszeitpunkt einigen? Bild: Prof. Dr. Knut Barghorn, Fachhochschule Oldenburg, Ostfriesland, Wilhelmshaven. Standort Wilhelmshaven. E-mail: knut.barghorn@fh-oow.de M. Leischner Protokolle höherer OSI-Schichten Folie 7

Three-Way-Handshake Ziel: sicherer Verbindungsaufbau d.h. Aufbau eines gemeinsamen Verbindungskontextes als Vorbedinung einer aktiven Verbindung Methode: Three-Way-Handshake: Schritt 1(aktives Öffnen der Verbindung): Client sendet SYN mit Client-ISN und Client-Window-Size Schritt 2 (passives Öffnen der Verbindung): Server sendet SYN-ACK, Server-ISN, Server-Window-Size (und alloziiert Puffer) Schritt 3: Client sendet ACK (und alloziiert Puffer) Sicherheitsaspekt: DDOS (Distributed denial of service) Angriffe auf TCP-Server möglich, da in Schritt 2 Ressourcen alloziiert werden. Frage: Geht der sichere Verbindungsaufbau nicht auch einfacher? M. Leischner Internetkommunikation Folie 8

Ist ein Two-Way Handshake ausreichend? Two-Way-Handshake ohne Bestätigung der Sequence Number Two-Way-Handshake mit Bestätigung der Sequence Number Client Server Client Server Time-out erneuter Verbindungsaufbau (SYN, Client-ISN=132) (SYN, Client-ISN=513) Time-out erneuter Verbindungsaufbau (SYN, Client-ISN=132) (SYN, Client-ISN=513) (SYN, Server-ISN=17) (SYN, Server-ISN=17, ACK=133)?? Fragen: Wie wird der zweite Client-SYN behandelt? Welche ISNs sind für die aktive Verbindung auf Client und Serverseite gültig? M. Leischner Internetkommunikation Folie 9

Gleichzeitiger Verbindungsaufbau Client Server (SYN, SEQ=513) (SYN, SEQ=17) (SYN, SEQ=513, ACK=18) (SYN, SEQ=17, ACK=514) Gleichzeitiger aktiver Verbindungsaufbau stellt kein Problem dar. Ergebnis ist aber eine einzige Verbindung Aber Problem der "verzögerten Duplikate" bleibt. Lösung: Sicherstellen, dass keine Sequenznummer innerhalb der maximalen Paketlebensdauer zweimal vergeben wird ( > Anforderungen an die ISN). M. Leischner Internetkommunikation Folie 10

TCP Verbindungsmanagement (mit blauem Client-Life-Cycle) starting point CLOSED Client-normal- Zyklus appl:passive open recv:syn send:syn-ack recv:rst SYN_RCVD recv:ack LISTEN simultaneous open recv:syn send:syn-ack recv:syn-ack ESTABLISHED appl:close recv:fin Data transfer state send:fin appl:active open send:syn SYN_SENT CLOSE_WAIT appl:close send:fin appl:close or timeout FIN_WAIT1 recv:ack recv:fin recv:fin-ack CLOSING simultaneous close recv:ack LAST_ACK passive close recv:ack FIN_WAIT2 recv:fin TIME_WAIT active close M. Leischner Internetkommunikation Folie 11

Abbau einer Verbindung Grundtypen und Problemstellung Grundtypen Reset: Verbindung wird durch eine Seite "asynchron" beendet. (Problem des Datenverlusts) Einseitiges Schließen: Verbindung signalisiert der Gegenseite, dass sie keine weiteren Daten sendet. (Problempunkt: Gegenseite kann noch weitere Daten senden) Asymmetrischer Abbau: Einer der beiden Rechner schließt seine Verbindung einseitig und baut gleichzeitig Gesamtverbindung ab. Symmetrischer Abbau jeder der beiden Seiten baut "ihre" unidirektionale Verbindung ab, sobald sich beide Seiten auf Verbindungsabbau geeinigt haben. ( > TCP-Ansatz) Problem des letzten ACKs: Wie baue ich eine Verbindung sicher ab? Reicht ein Three-Way-Handshake? ( Kernfrage: Ist letzte PDU für das Protokoll wichtig?) Einsatz von Timern M. Leischner Internetkommunikation Folie 12

Normalfall TCP-Verbindungsabbau ESTABLISHED appl:close send:fin Client (data) (FIN) Server ESTABLISHED Beendigung des CLOSE_WAIT Zustandes nur durch die Applikation möglich FIN_WAIT1 recv:ack FIN_WAIT2 recv:fin TIME_WAIT (ACK of FIN) (FIN) (ACK of FIN) recv:fin CLOSE_WAIT appl:close send:fin LAST_ACK recv:ack CLOSED Im TIME_WAIT wird 2MSL gewartet Nochmaliges Senden des ACKs wird ermöglicht. Verbindung (=Client- IP+Socket, Server- IP+Socket) kann erst nach 2MSL wiederverwendet werden. Frage: Was passiert bei Wiederstart des Servers in einem Zeitraum < 2MSL? M. Leischner Internetkommunikation Folie 13

TCP einseitiger Verbindungsabbau Client (data) (FIN) Server mögliche Anwendungen des einseitigem Verbindungsabbaus: Transaktionen RPC (ACK of FIN) (data) Aufgabe: Zeichnen Sie die Zustandsübergänge in das Diagramm ein. (ACK of data) (FIN) (ACK of FIN) 21.04.2018 17:49:23 M. Leischner M. Leischner Internetkommunikation Folie 14