! UDP (User Datagram Protocol) Transport layer/TCP Die Transportprotokolle UDP und TCP " Ist wie IP verbindungslos (Zustellung und Reihenfolge werden nicht garantiert) " Erweitert die Funktionalität von IP um die Möglichkeit, eine spezifische Anwendung auf einem Rechner durch Portnummer zu adressieren Georges Awad 1 Transport layer/TCP " UDP-Nachrichtenformat: " In UDP werden keine Mechanismen zur Fehlerbehebung und keine Flußkontrolle angeboten. " Im Falle eines erkannten Fehlers (Prüfsumme) wird das Datagramm verworfen. "#UDP-Pakete sind leichter zu fälschen. Es gibt keine Quittungsund keine Laufnummern. Georges Awad 2 Transport layer/TCP Beispiel Mail-Kopf TCP-Kopf IP-Kopf PPP-Kopf Mail-Inhalt TCP-Nutzdaten IP-Nutzdaten PPP-Nutzdaten PPP-Ende Bitstrom auf der Leitung Georges Awad 3 ! TCP (Transmission Control Protocol) " Ist ein verbindungsorientiertes Protokoll mit Flußkontrolle " Aufbau und Abbau von End-zu-End-Verbindungen zwischen adressierten Anwendungen (16-Bit-Portnummern). " End-zu-End-Fehlererkennung und -behebung (durch Angabe einer Prüfsumme und ggf. Wiederholung im Fehlerfall). " End-zu-End-Flußkontrolle (durch Kreditrahmen, Zeitüberwachung und Quittierung). " Übertragung von Eildaten (Urgent-Data). Wichtigsten Aufgaben von TCP: ∙ Flusskontrolle und Zeitüberwachung einer Verbindung ∙ Überwachung der richtigen Reihenfolge der Pakete ∙ Überwachung der Zuverlässigkeit und Sicherheit einer Verbindung ∙ Steuerung der Prioritäten der Vorrangdaten Georges Awad 4 Schicht 4 (TCP) Kopf Schicht 3 (IP) Schicht 2 Kopf Kopf Data Data Data Segment Paket Transport layer/TCP " Wenn zwei TCP-Instanzen miteinander Daten austauschen, werden diese Daten als Segmente oder Nachrichten bezeichnet. Frame " TCP- und UDP-Portnummern sind unabhängig voneinander, d.h. UDP- und TCP-Nachrichten mit derselben Portnummer werden an unterschiedliche Dienstzugangspunkte verteilt. Georges Awad 5 Anwendung Georges Awad Portnummer Transport layer/TCP " Es gibt wichtige Prozesse, die auf jedem Host den gleichen Port (well-known ports) haben: Protokoll FTP 21 TCP TELNET 23 TCP SMTP 25 TCP rlogin 513 TCP rwhod portmap 513 111 UDP UDP 6 Transport layer/TCP ! TCP-Nachrichtenformat URG Urgent-Frame: SYN Sync Sequence-Numbers: ACK Acknowledgement-Frame: RST Reset Connection: PSH Push (weiter ohne resync): FIN Finish/End-Frame: Georges Awad Zeigt auf wichtige, sofort weiterzuleitende Daten Für Verbindungsaufbau zuständig Kontrollfelder Zeigt an, dass Quittungsnummer gültig ist Zurücksetzen einer Verbindung Sofortige Auslieferung der Daten Für Verbindungsabbau zuständig 7 Da TCP auf dem „unzuverlässigen“ IP-Protokoll aufsetzt, geschieht der Verbindungsaufbau durch das relativ aufwendige „3-wayhandshake“: Transport layer/TCP ! TCP-Verbindungsaufbau Sende Verbindungsaufbauwunsch mit Sequenznummer = X Sende Quittung für X mit eigner Sequenznummer = Y Sende Quittung für Y Georges Awad 8 Transport layer/TCP 9 Georges Awad " Da TCP verbindungsorientiert ist, muß eine Nachricht einer TCP-Verbindung zugeordnet werden. " Diese Zuordnung findet über die Kombination von IP-Adressen und Portnummern von Sender und Empfänger statt. Transport layer/TCP ! Interprozeßkommunikation Prozesse Port 997 Port 999 IP-Adr. A.1 Port 21 IP-Adr. Port 999 A.2 IP-Adr. A.3 IP-Aresse + Portnummer wird als Socket bezeichnet Georges Awad 10 Transport layer/TCP IP-Aresse + Portnummer eines Senders und IP-Aresse + Portnummer eines Empfängers wird als Interprozeßkommunikation bezeichnet und ist Internetweit einmalig Georges Awad 11 $ Auf der Netzwerkschicht unterscheidet jedes Medium normalerweise zwischen „Kunden“ (Einheiten auf der Internet-Schicht) durch die Verwendung von unterschiedlichen Werten in einem Typ-Feld (z.B. benutzt Ethernet den Wert 0800 für IP). $ Auf der Internet-Schicht unterscheidet IP zwischen „Kunden“ (Einheiten auf der Transport-Schicht) durch Verwendung von unterschiedlichen Werten im Protokoll-Feld (z.B. 6 für TCP und 17 für UDP). Transport layer/TCP Zusammenfassung $ Auf der Transportschicht unterscheiden TCP und UDP zwischen „Kunden“ (Einheiten auf der Anwendungsschicht) durch unterschiedliche Werte im Port-Feld (z.B. benutzt TCP den Wert 21 für FTP). Georges Awad 12 1. Hardware-Adresse (bei LANs MAC-Adresse 48 Bits) Transport layer/TCP Um eine Rechnerübergreifende Prozeßkommunikation unter TCP/IP zu realisieren sind vier verschiedene Adreß-Ebenen notwendig: 2. Internet-Adresse (32 Bits) 3. Transportprotokoll-Nummer (8 Bits) 4. Portnummer (16 Bits) Georges Awad 13