Transportprotokolle. TCP - Transmission Control Protocol

Ähnliche Dokumente
Systeme II. Christian Schindelhauer Sommersemester Vorlesung

Systeme II 5. Die Transportschicht

Netzwerk-Programmierung. Netzwerke. Alexander Sczyrba Michael Beckstette.

Netzwerke. Netzwerk-Programmierung. Sven Hartmeier.

Transportprotokolle. Protocol-Port Konzept User Datagram Protocol (UDP) Transmission Control Protocol (TCP) Neuere Entwicklungen

Netzwerk-Programmierung. Netzwerke.

Sicherheit im Netz. Ziele der Datensicherung

TCP. Transmission Control Protocol

TCP-Verbindungen und Datenfluss

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

Transportschicht. Einleitung Transmission Control Protocol, RFC793. Transportschicht

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

Die Transportprotokolle UDP und TCP

Internetanwendungstechnik. Transportschicht. Gero Mühl

Transportprotokolle im TCP/IP- Referenzmodell

Peer-to-Peer- Netzwerke

Lehrveranstaltung Rechnernetze Einschub für das Labor

Rolf Wanka Sommersemester Vorlesung

Die ITU-T-Empfehlung X.25

Modul 5: TCP-Flusskontrolle

UDP-, MTU- und IP- Fragmentierung

Grundlagen TCP/IP. C3D2 Chaostreff Dresden. Sven Klemm

Dienste der Transportschicht

11. Foliensatz Betriebssysteme und Rechnernetze

Vorlesung SS 2001: Sicherheit in offenen Netzen

11. Foliensatz Betriebssysteme und Rechnernetze

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

Grundlagen der Rechnernetze. Transportschicht

Grundkurs Routing im Internet mit Übungen

Vorwort Vorwort zur deutschen Übersetzung... 11

IP-Netzwerke und Protokolle

TCP/IP Troubleshooting

Rolf Wanka Sommersemester Vorlesung

TCP/IP-Protokollfamilie

Internet - Grundzüge der Funktionsweise. Kira Duwe

Transportschicht. Transportschicht-Dienste u. Protokolle bei OSI

IPv4 - Internetwork Protocol

Systeme II 10. Woche Transportschicht. Christian Schindelhauer Technische Fakultät Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg

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

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

UDP, TCP & DNS Rough Cut

Das TCP/IP Schichtenmodell

Systeme II 5. Die Transportschicht

Themen. Transportschicht. Internet TCP/UDP. Stefan Szalowski Rechnernetze Transportschicht

Praktikum zur Vorlesung Datenkommunikation. Teil I

Layer 4: Transport Layer

Rechnernetze Übung 11

TCP/IP Troubleshooting. Jochen Reinwand RRZE-Kolloquium Praxis der Datenkommunikation 5. November 2014

Transportschicht (Schicht 4) des Internet

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

Transportprotokolle im TCP/IP- Referenzmodell

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

Mobilkommunikationsnetze - Transmission Control Protocol -

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

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

Charakteristische Fragestellungen der Schicht 4

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

Peer-to-Peer- Netzwerke

Grundlagen der Rechnernetze. Transportschicht

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

Systeme II. Christian Schindelhauer Sommersemester Vorlesung

SCHICHTENMODELLE IM NETZWERK

Angewandte IT-Sicherheit Vorlesung im Herbstsemester 2006/2007 Prof. F. Freiling

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

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

Grundlagen Rechnernetze und Verteilte Systeme (GRNVS)

Rechnernetze und Internettechnologien

Kurzeinführung in TCP/IP. Sebastian Drexler

Device Management Schnittstellen. Referat von Peter Voser Embedded Development GmbH

Bei Aufbau der Verbindung initialisiert der Sender das Überlastfenster auf die

Minimum aus beiden Fenstern ist die maximal zu sendende Anzahl von Bytes. Vergrößerung stoppt bei Erreichen des Empfängerfensters

TCP Teil 2. TCP Teil 2: Tilmann Kuhn Betreuer: Dr. Thomas Fuhrmann 1/18

Digitale Kommunikation und Internetdienste 1

Systeme II. Christian Schindelhauer Sommersemester Vorlesungswoche

6. Die Transportschicht

Rechnernetze und -Organisation Michael Hutter Karl C. Posch.

Mobilkommunikationsnetze. - Transportschicht -

Internetprotokoll TCP / IP

TCP/IP. Internet-Protokolle im professionellen Einsatz

Der TCP/IP Protokollstapel

3.1 Einfaches Senden oder Routing?

Explorationsphase Remote Root Exploit Fazit. Die Mitnick Attacke. Einleitung

Breitband ISDN Lokale Netze Internet WS 2009/10. Martin Werner, November 09 1

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

Computeranwendung in der Chemie Informatik für Chemiker(innen) 5. Internet

Grundlagen Rechnernetze und Verteilte Systeme IN0010, SoSe 2017

UDP User Datagramm Protokoll

Internet und WWW Übungen

2.3 Applikationen. Protokolle: TCP/IP. Telnet, FTP, Rlogin. Carsten Köhn

ARP, ICMP, ping. Jörn Stuphorn Bielefeld, den 4. Mai Mai Universität Bielefeld Technische Fakultät

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

TCP/IP Troubleshooting

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

Transkript:

Transportprotokolle Setzen auf Internet-Protokollen (Rechner-zu-Rechner) auf Unterscheiden Kommunikationskanäle innerhalb eines Rechners ICMP - Internet Control Message Protocol TCP - Transmission Control Protocol UDP - User Datagram Protocol IGMP - Internet Group Management Protocol Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-1 TCP - Transmission Control Protocol TCP Port Dienst Beschreibung 7 echo Echo für Zeichen 9 discard verwirft alles 13 daytime Zeitangabe 21 ftp Dateitransfer 23 telnet Virtuelles Terminal 25 smtp E-mail-Transfer 53 domain Domain Name Service (DNS) 79 finger Benutzerinformationen 80 http World Wide Web (WWW) 110 pop3 Post Office Protocol (POP) 111 Sunrpc Remote Procedure Call (RPC) 119 nntp Network News Transfer Protocol 512 rexec Remote command execution 513 rlogin Remote login 514 rsh Remote shell 2049 NFS Network File System 6000+ X X Window System Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-2 1

UDP - User Datagram Protocol UDP Port Dienst Beschreibung 7 echo Echo für Zeichen 9 discard verwirft alles 13 daytime Zeitangabe 53 domain Domain Name Service (DNS) 69 tftp Trivial File Transfer Protocol 111 Sunrpc Remote Procedure Call (RPC) 161 Snmp Simple Network Management Protocol 513 who Wer ist eingeloggt? 517 talk 520 route Routing Information Protocol (RIP) 2049 NFS Network File System Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-3 inetd.conf #ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd #telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd name dgram udp wait root /usr/sbin/in.tnamed in.tnamed shell stream tcp nowait root /usr/sbin/in.rshd in.rshd login stream tcp nowait root /usr/sbin/in.rlogind in.rlogind exec stream tcp nowait root /usr/sbin/in.rexecd in.rexecd comsat dgram udp wait root /usr/sbin/in.comsat in.comsat talk dgram udp wait root /usr/sbin/in.talkd in.talkd #uucp stream tcp nowait root /usr/sbin/in.uucpd in.uucpd tftp dgram udp wait root /usr/sbin/in.tftpd in.tftpd -s finger stream tcp nowait nobody /usr/sbin/in.fingerd in.fingerd #systat stream tcp nowait root /usr/bin/ps ps -ef #time stream tcp nowait root internal #time dgram udp wait root internal echo stream tcp nowait root internal #echo dgram udp wait root internal #netstat stream tcp nowait root /usr/bin/netstat netstat -f inet #discard stream tcp nowait root internal #discard dgram udp wait root internal #daytime stream tcp nowait root internal #daytime dgram udp wait root internal Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-4 2

UDP - User Datagram Protocol Verbindungslos Zuverlässigkeit eher gering Schnell z.b: Transportprotokoll für Network File System (NFS) Video-Datenströme Möglichkeit des Multiplexens (Portnummern) Prüfsumme für das gesamte UDP-Datagramm aber keine Quittierung im Fehlerfall verwerfen Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-5 UDP Header 1 2 3 4 5 6 7 8 1 2 3 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 Header Source Port Number UDP Length Destination Port Number UDP Checksum (optional) 8 Byte Daten Data (if any) Portnummer des Absenders ist optional (Voreinstellung: 0) Prüfsumme ist optional (Voreinstellung: 0) 0 ~64 KByte DieLänge umfasst UDP-Header and Daten Die Prüfsumme beinhaltet Daten, UDP-Header und Teile des IP-Headers Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-6 3

UDP Checksum Zusätzliche Einbeziehung eines Pseudo-Headers Optionales Anhängen eines Pad-Byte um gerade Bytezahl zu erhalten Pseudo-Header 1 2 3 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 00000000 Protocol Source IP Address Destination IP Address UDP Length 12 Byte Header Source Port Number UDP Length Destination Port Number UDP Checksum (optional) 8 Byte Daten 00000000 (pad) Data 0 ~64 KByte Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-7 TCP - Transmission Control Protocol Verbindungsorientiert vollduplex Punkt-zu-Punkt-Kommunikation kein Broadcast kein Multicast Zuverlässig Fehlererkennung und Wiederholung der Übertragung im Fehlerfall Kontrolle und, wenn nötig, Wiederherstellung der Reihenfolge Möglichkeit des Multiplexens (Portnummern) Quittierte Prüfsumme für das gesamte TCP-Datagramm Flußkontrolle byte stream service Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-8 4

TCP Header 1 2 3 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 Source Port Number Destination Port Number TCP-Header Header Length Reserved U R G Sequence Number Acknowledgement Number A C K P S H R S T S Y N F I N Window Size 20 Byte TCP Checksum Urgent Pointer Opt. Daten Options (if any, z.b.: MSS - Maximum Segment Size) Data (if any) 0 ~64 KByte Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-9 TCP Header Flags Falls die jeweilige Flagge gesetzt ist, gilt: URG - Urgent Pointer ist gültig ACK - Acknowledgement Number ist gültig PSH (push) - Schnellstmögliche Zustellung erwünscht RST - Zurücksetzen der Verbindung SYN - Synchronisation zum Verbindungsaufbau FIN - Der Sender beendet das Senden von Daten (Halbschließung) Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-10 5

TCP Verbindungsaufbau Rechner A Rechner B segment 1 SYN 1415000000: 1415000000 (0) <MSS 1024> segment 3 SYN 2823000000 : 2823000000(0) ACK 1415000001, <MSS 1024> segment 2 segment 4 segment 5 segment 6 1415000001 : 1415000801(800) 1415000801 : 1415000841(40) PSH 1415000841 : 1415000844(3) ACK 1415000844 segment 7 Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-11 TCP Verbindungsabbau Rechner A Rechner B segment 8 FIN 1415333333: 1415333333 (0) segment 12 ACK 1415333334 2823000001 : 2823000003 (2) ACK 1415333334 PSH 2823000003 : 2823000803 (800) ACK 1415333334 ACK 2823000803 segment 9 segment 10 segment 11 segment 14 FIN 2823666666 : 2823666666(0) ACK 1415333334 ACK 2823666667 segment 13 Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-12 6

TCP Verbindungen Aufbau Timeout nach 75 Sekunden bis dahin: 3 SYN-Segmente gesendet Abbau Halbabbau je Datenrichtung unabhängig voneinander meist werden beide Richtungen unmittelbar hintereinander abgebaut, z.b. in Java MSS - Maximum Segment Size z.b. 1460 Byte Angabe exklusive Header (uneinheitlicher Gebrauch des Begriffs Segment ) IP-Paket der Größe 1500 Byte Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-13 TCP Datentransfer Zerlegung in Segmente byte stream service Nachrichtengröße nicht direkt vom Benutzer beeinflußbar anders als bei UDP Nagle-Algorithmus maximal eine ausstehende Bestätigung bei Schließung eines Segments Wird bei einigen Anwendungen bewußt abgeschaltet Verzögerte Bestätigung Bestätigung wird um 50-200 ms verzögert, um auf eine eventuelle Antwort der Anwendung zu warten Erfolgt die Antwort innerhalb der Zeit, werden Antwort und Bestätigung kombiniert. Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-14 7

Flußkontrolle mit gleitendem Fenster Datenempfänger bietet Datenfenster an. Senden eines Pakets verkleinert nutzbaren Bereich dss Fensters. Signalisierung der abgeschlossenen Verarbeitung von Paketen verschiebt (vergrößert) das Fenster. Fenster: 6 Pakete (angeboten vom Empfänger) 1 2 3 4 5 6 7 8 9 10 gesendete Pakete nutzbares Fenster können sofort gesendet werden können erst gesendet werden, wenn Fenster verschoben wird Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-15 Gleitendes Fenster: langsamer Empfänger Rechner A Rechner B segment 1 segment 3 segment 4 segment 5 segment 6 segment 7 segment 10 SYN 1415000000: 1415000000 (0) <MSS 1024> SYN 2823000000 : 2823000000(0) ACK 1415000001, WIN 4096, <MSS 1024> 1415000001 : 1415001025(1024), 1415001025 : 1415002049(1024) 1415002049 : 1415003073(1024) 1415003073 : 1415004097(1024) ACK 1415004097, WIN 0 ACK 1415004097, WIN 4096 1415004097 : 1415005121(1024) segment 2 segment 8 segment 9 Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-16 8

Rechner A segment 1 segment 3 segment 4 segment 5 Gleitendes Fenster: schneller Empfänger SYN 1415000000: 1415000000 (0) <MSS 1024> SYN 2823000000 : 2823000000(0) ACK 1415000001, WIN 4096, <MSS 1024> 1415000001 : 1415001025(1024), 1415001025 : 1415002049(1024) Rechner B segment 2 ACK 1415002049, WIN 3072segment 6 segment 7 segment 8 1415002049 : 1415003073(1024) 1415003073 : 1415004097(1024) ACK 1415004097, WIN 4096 segment 9 Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-17 Flußkontrolle: langsamer Start Congestion Window Startwert: Angebotene Maximum Segment Size der Empfängers Nach Bestätigung der des letzten Bytes des Congestion Windows, wird es mit dem doppelten Wert neu initialisiert (exponentielles Wachstum) Der Sender wird beschränkt durch Congestion Window und das gleitende Fenster zur Flußkontrolle. Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-18 9

TCP Timer TCP verwendet 4 Timer für jede etablierte Verbindung: Retransmission Timer Wiederholte Übertragung verlorener Pakete Persist Timer Anfrage nach verlorengegangener Bestätigung Keepalive Timer (optional, umstritten) keepalive probe nach 2 Stunden 2MSL Timer 2 x Maximum Segment Lifetime: Halten der Verbindung nach einem FIN-Segment Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-19 Retransmission Timer Retransmission Timer: exponential backoff: Paketwiederholung nach Timerablauf Die Länge des Retransmission Timers dynamisch angepasst an aktuelle Roundtrip Time Messung und Schätzung der Roundtrip Time und ihrer Schwankung Fast Retransmit Paketwiederholung nach mehreren identischen Bestätigungen Fast Recovery nach mehreren identischen Wiederholungen: nachdem ein verlorengegangenes Paket wiederholt worden ist, werden weiter aktuelle Pakete gesendet Repacketization Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-20 10

Beobachtung von TCP-Verbindungen Programm netstat TCP Local Address Remote Address Swind Send-Q Rwind Recv-Q State -------------------- -------------------- ----- ------ ----- ------ ------- *.* *.* 0 0 0 0 IDLE *.sunrpc *.* 0 0 0 0 LISTEN *.32771 *.* 0 0 0 0 LISTEN *.domain *.* 0 0 0 0 LISTEN *.32772 *.* 0 0 0 0 LISTEN *.shell *.* 0 0 0 0 LISTEN *.login *.* 0 0 0 0 LISTEN *.exec *.* 0 0 0 0 LISTEN *.finger *.* 0 0 0 0 LISTEN... elfe.nfsd landau.742 8760 0 8760 0 ESTABLISHED elfe.32802 elfix11.6000 4096 0 8760 0 ESTABLISHED elfe.32803 elfix11.6000 4096 0 8760 0 ESTABLISHED elfe.fs elfix11.1025 4092 0 8760 0 ESTABLISHED elfe.exec pc152.1234 8750 0 8760 0 CLOSE_WAIT elfe.nfsd che.700 8760 0 8760 0 ESTABLISHED elfe.916 young.nfsd 8760 0 8760 0 TIME_WAIT Vorlesung Rechnernetze Institut für Informatik Freie Universität Berlin 1-21 11