Schichtenarchitektur von TCP/IP. Einführung: Grundlegende Design-Prinzipien des Internet. Dienstschnittstellen. Ursprüngliche Entwurfsentscheidungen

Ähnliche Dokumente
Das Internet Protocol (IP): Funktionen, Datenformate und Adressierung

Das Internet Protocol (IP): Funktionen, Datenformate und Adressierung

Einführung: Grundlegende Design-Prinzipien des Internet B. Plattner, H. Lubich Internet Intro 1

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

Automatische Konfiguration mit dem Dynamic Host Configuration Protocol (DHCP) Wozu DHCP?

Grundlegende Steuer- und Verwaltungsfunktionen (ICMP)

Einführung: Grundlegende Design-Prinzipien des Internet

Einführung: Grundlegende Design-Prinzipien des Internet

Dynamic Host Configuration Protocol

TCP. Transmission Control Protocol

Automatische Konfiguration mit dem Dynamic Host Configuration Protocol (DHCP) Wozu DHCP?

Automatische Konfiguration mit dem Dynamic Host Configuration Protocol (DHCP) Prof. B. Plattner

TCP/IP-Protokollfamilie

Adressierung eines Kommunikationspartners in der TCP/IP-Familie

UDP User Datagramm Protokoll

Netzwerk-Programmierung. Netzwerke. Alexander Sczyrba Michael Beckstette.

11. Foliensatz Betriebssysteme und Rechnernetze

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

Netzwerk-Programmierung. Netzwerke.

Grundlagen TCP/IP. C3D2 Chaostreff Dresden. Sven Klemm

Verteilte Systeme. Protokolle. by B. Plattner & T. Walter (1999) Protokolle-1. Institut für Technische Informatik und Kommunikationsnetze

Rechnernetze Übung 11

Internetprotokoll TCP / IP

Mobilkommunikationsnetze - TCP/IP (und andere)-

Vorlesung SS 2001: Sicherheit in offenen Netzen

Grundlagen der Rechnernetze. Internetworking

Netzwerke. Netzwerk-Programmierung. Sven Hartmeier.

Grundkurs Routing im Internet mit Übungen

Prof. Dr. Kerstin Uhde Hochleistungsnetze u. Mobilkommunikation. Hochschule Bonn-Rhein-Sieg. Modul 4: IPv4

Die Transportprotokolle UDP und TCP

Der Internet Layer. Internet layer/ip. Internet Protocol (IP) Internet Control Message Protocol (ICMP) Routing Information Protocol (RIP)

Übungsblatt 4. (Router, Layer-3-Switch, Gateway) Aufgabe 2 (Kollisionsdomäne, Broadcast- Domäne)

Lehrveranstaltung Rechnernetze Einschub für das Labor

KN Das Internet

TCP-Verbindungen und Datenfluss

TCP/IP Troubleshooting

Übung - Mit Wireshark eine UDP-DNS-Aufzeichnung untersuchen

Übungsblatt 4. (Router, Layer-3-Switch, Gateway) Aufgabe 2 (Kollisionsdomäne, Broadcast- Domäne)

DHCP DY NA M I C H O S T C O NF I G UR AT I O N P R OTO C O L. A u t o m a t isc h e Ve r ga b e v o n I P - A d r e sse n a n C lie n t s

Domain Name Service (DNS)

Praktikum zur Vorlesung Datenkommunikation. Teil I

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

UDP-, MTU- und IP- Fragmentierung

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

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

TCP/UDP. Transport Layer

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

15 Transportschicht (Schicht 4)

Netzwerkprotokolle. Physikalische Verbindungsebene Datenübertragungsebene

Praktikum Rechnernetze Aufgabe 3: Messung mit dem Protokollanalyzer

Tutorübung zur Vorlesung Grundlagen Rechnernetze und Verteilte Systeme Übungsblatt 6 (27. Mai 31. Mai 2013)

Domain Name Service (DNS)

Vorlesung SS 2001: Sicherheit in offenen Netzen

IPv4 - Internetwork Protocol

Router 1 Router 2 Router 3

IP Internet Protokoll

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

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

.NET Networking 1. Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros. Institut für Informatik Software & Systems Engineering

Inhalt. Funk%onsweise Vor und Nachteile Konfigura%onshinweise Lease- Time

IP Adressen & Subnetzmasken

IP (Internet Protocol)

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

Beispiel TCP-/IP-Datenübertragung

Internetanwendungstechnik. Transportschicht. Gero Mühl

Hinweise. Weiterhin wird in dieser Veranstaltung von der IP-Version 4 ausgegangen. ITSec WS Teil 1/Wiederholung

DHCP und NTP. Jörn Stuphorn Universität Bielefeld Technische Fakultät

Internetanwendungstechnik. Vermittlungsschicht. Gero Mühl

Netzwerk Linux-Kurs der Unix-AG

7 Transportprotokolle

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

ICMP Internet Control Message Protocol. Michael Ziegler

Modul 7: DHCP (Dynamic Host Configuration Protocol)

3.1 Einfaches Senden oder Routing?

Der TCP/IP Protokollstapel

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

Transportschicht (Schicht 4) des Internet

Modul 12: DHCP (Dynamic Host Configuration Protocol)

Themen. Vermittlungsschicht. Routing-Algorithmen. IP-Adressierung ARP, RARP, BOOTP, DHCP

Internet Protokoll. Die Funktionen von IP umfassen:

Kurzeinführung in TCP/IP. Sebastian Drexler

RARP, BOOTP, DHCP Wie ermittelt ein Client seine IP-Adresse?

Client-Server mit Socket und API von Berkeley

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

Chapter 8 ICMP. CCNA 2 version 3.0 Wolfgang Riggert, FH Flensburg auf der Grundlage von

Telekommunikationsnetze 2

LAN & Internet. Grundlagen Netzwerke LAN-2. Saarpfalz-Gymnasium. Router. Router LAN-3. Router. Kommunikation in Rechnernetzen

Grundlagen zum Internet. Protokolle

Internet Protokolle. ICMP & Ping Internet Controll Message Protokolls

Im Jahre 1983 wurde TCP/IP das Standardprotokoll im DOD, und ist heute der generische Name für die gesamte Sammlung von Protokollen.

Grundlagen Funktionsweise Anhang Begriffserklärungen. DHCP Grundlagen. Andreas Hoster. 9. Februar Vortrag für den PC-Treff Böblingen

Internet Networking TCP Congestion Avoidance and Control

Netzwerke Teil 7: TCP/IP - Teil I

ICMP Protokoll & Anwendung Einige Risiken von ICMP erkennen und verstehen! FRITZ Gerald

Das Internet-Protocol. Aufteilung von Octets. IP-Adressformat. Class-A Netzwerke. Konventionen für Hostadressen

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells.

Inhaltsverzeichnis. Teil I TCP/IP-Grundlagen Einführung... 11

Transportprotokolle. TCP - Transmission Control Protocol

Transkript:

Schichtenarchitektur von TCP/IP Dienstschnittstellen Einführung: Grundlegende Design-Prinzipien des Internet E-mail File Transfer Transmission Control Protocol (TCP) World Wide Web Verteilte Spiele Gebäude- Steuerung User Datagram Protocol (UDP) Internet Protocol (IP) Physikalische Subnetze (Hardware, Firmware) Ursprüngliche Entwurfsentscheidungen Paketvermittlung damals eine neue Technik, im ARPANET erforscht Hohe Verfügbarkeit des Netzes Datengrammtechnik (vs. virtual circuit) wenig Zustandsinformation im Netz verteilte Verwaltung Soll viele verschiedene Dienste unterstützen können Internet Protocol (IP) als Netzwerkprotokoll Transmission Control Protocol (TCP), User Datagram Protocol (UDP) als Transportprotokolle (- > Bezeichnung TCP/IP) Anwendungen direkt auf Transportprotokolle aufgesetzt Netzverbund mit heterogenen Teilnetzen Minimale Anforderungen an die Subnetze (bez. Zuverlässigkeit, Durchsatz, etc.), Fragmentierungsfunktion in IP Offenes System Spezifikation offen gelegt und unter öffentlicher Kontrolle Dienstschnittstellen zur Anwendung: nicht standardisiert, anwendungsabhängig zu den Transportprotokollen: De-facto Standard (socket-schnittstelle) Dienst von UDP: Verbindungslos, unzuverlässig Dienst von TCP: Verbindungsorientiert, zuverlässig zu IP: Eingschränkt auf Super-User / Systemprogramme, via raw socket Verbindungslos, unzuverlässig zu den phys. Subnetzen: Netz- und implementationsabhängig, oft jedoch IEEE 802.x

Geschichte des Internet (I) Standardisierungsprozess: Dokumentation Baut auf Forschung im Bereich Paketvermittlung auf (Arpanet, ca. ab 1967) 1973: Bob Kahn postuliert eine neue Architektur, basierend auf Konzept Netzverbund 1973/74: Implementation des Konzepts in der Gruppe von Vint Cerf in Stanford; erstes Internet mit 3 Netzen 1977: Einbindung des Arpanet Ab ca. 1980: Arpanet ist wichtiger Backbone des wachsenden Internet 1983: TCP/IP als Standard für das US- DoD verankert DARPA- finanzierte Implementation von TCP/IP (entwickelt von BBN) und deren Integration in Berkeley UNIX (BSD); socket- Schnittstelle. Request for Comment (RFC): Reihe von elektronisch zugänglichen Publikationen, welche das Internet beschreiben. Frühere Reihe von Publikationen: Internet Engineering Notes (IEN). Nicht mehr weitergeführt Internet Drafts (ID): Diskussions- und Entwurfsdokumente für die Standardisierung, zeitlich beschränkge Gültigkeit. Dokumentation ist vollständig im Internet verfügbar. Geschichte des Internet II 1986: NSFNET in USA als Rückgratnetz von neuen regionalen Netzen Ab 1987: Aufbau von TCP/IP- Netzen in Europa und Australien - weltweites Internet ca. 1988/89: Aufbau und Anschluss des Schweizerischen akad. Forschungsnetzes (SWITCH) an das Internet. Rückgratnetz mit 2 Mbit/s! 1990: Übergang von 56 kbit/s auf 1.544 Mbit/s (T1) für Leitungen des NSFNET 1990: Mehr als 3000 Netze und 200 000 Hosts 1992: Übergang auf 45 Mbit/s im Backbone im NSFNET; Start der Entw. von IP next generation 1994/95: Explosion des Internet nach der Erfindung des WWW Seither: Triebfeder der Informationsgesellschaft Adressierung Address Resolution Protocol Das IP Protokoll

Konzept und Architekturmodell des Internet "The TCP/IP internet protocols treat all networks equally. A local area network like an Ethernet, a wide area network like the NSFNET backbone, or a point-to-point link between two machines each count as one network." (D. Comer) Internet Internet Physikalisches Netz Adressierung im Internet: Adresstypen 0 1 2 3 4 8 16 24 31 Klasse A 0 NetzID RechnerID Klasse B 10 NetzID RechnerID Klasse C 110 NetzID RechnerID Klasse D 1110 Multicast Adresse Router Klasse E 11110 Reserviert für spätere Verwendung Rechner Rechner Konzept und Architekturmodell des Internet IV Das Internet beruht auf dem Zusammenschluss von teilautonomen Subnetzen mittels Verbindungsrechnern (Routern). Router leiten den Datenverkehr gemäss einer Netzwerkadresse, nicht einer Endsystemadresse. Diese Form der Datenweiterleitung ist transparent für Benutzer. Netzwerk 1 R1 Netzwerk 2 R2 Netzwerk 3 Adressierung im Internet: Darstellung Darstellung als 4 Oktette in Dezimalnotation, getrennt durch einen Punkt, z.b. 129.132.66.1 Klasse A zwischen 1 und 126 Klasse B zwischen 128.1 und 191.254 KlasseC zwischen 192.1.1 und 223.254.254 Um ein Netz zu adressieren, wird der Rechnerteil einer Adresse auf Null gesetzt, z.b. B-Netz der ETH: 129.132.0.0 Um alle Rechner in einem Netz zu erreichen (Broadcast), wird der Rechnerteil auf 1 gesetzt, z.b. 129.132.255.255

Adressierung im Internet: Spezielle Adressen Eine Null in einem Teil der Adresse bezeichnet per Konvention den lokalen Rechner bzw. das lokale Netz. Die Adresse 127.0.0.0 (oft auch 127.0.0.1) ist der "lokale loopback" eines Rechners. Alles Null Lokaler Rechner Adressierung im Internet: Schwachpunkte Wenn ein Rechner an ein anderes Netz angehängt wird, muss seine Adresse geändert werden. Die Reihenfolge der Adressbytes ist im Standard festgelegt. Wenn z.b. ein C- Netz auf mehr als 255 Rechner wächst, müssen alle Rechner auf ein B- Netz migriert werden. Ein Rechner mit mehreren Anschlüssen an das Internet braucht mehrere Adressen, die auch verschiedene Routen implizieren. Alles Null Rechner Rechner auf lokalem Netz Alles Eins Beschränkter Broadcast (auf lokalem Netz) I1 I3 I4 Netz Alles Eins 127 Beliebig Gerichteter Broadcast für "Netz" Lokaler Loopback Router Rechner A Rechner B I2 I5 Netz 2 Adressierung im Internet: Namensautorität und Subnetze Problem der Adressabbildung Die Adressautorität im Internet wird durch die zentrale Vergabe von Netzadressen durch das NIC in den USA ausgeübt. Um die Freiheit der lokalen Konfiguration zu erhöhen, und die Anzahl vergebener Netzadressen zu minimieren, ist die Verwendung lokaler Subnetz- Masken zur internen Unterteilung des Rechner- Teils der Adresse möglich. Internet Physikalisches Netz 0 1 2 3 4 8 16 24 31 Klasse B 10 NetzID RechnerID Subnetz 10 NetzID Subnetz RechnerID Router 16 Bits n Bits 16-n Bits Subnetz-Maske Beispiel: Netz 129.132.0.0, Maske 255.255.255.192 = 10 Bit Subnetz Rechner

Abbildung von IP-Adressen auf physikalische Adressen Aufbau eines ARP-Paketes ARP Paket Gegeben 2 Rechner, die am selben physikalischen Subnetz angeschlossen sind. Beide Rechner haben je eine IP-Adresse, und je eine physikalische Adresse bezüglich ihres gemeinsamen Netzes (z.b. eine Ethernet-Adresse). Will Rechner A Daten an Rechner B senden, so muss er anhand der IP-Adresse von Rechner B die Ethernet- Adresse von Rechner B herausfinden, um die Daten über das gemeinsame Netz zu senden. Frame Kopf Frame Datenteil 0 1 2 3 4 8 16 24 31 Hardware Typ Protokoll Typ HLEN PLEN Operationstyp Sender HA (Bytes 0 bis 3) Sender HA (Bytes 4 bis 5) Sender IP (Bytes 0 bis 1) Sender IP (Bytes 2 bis 3) Ziel HA (Bytes 0 bis 1) Ziel HA (Bytes 2 bis 5) Ziel IP (Bytes 0 bis 3) Wege zur Abbildung von IP-Adressen auf physikalische Adressen Direkte Abbildung durch Berechnung aus der IP-Adresse: dies ist nur in bestimmten Netzen möglich, und auch nur, solange das Adressierschema in beiden Adressräumen eingehalten wird. Suche der physikalischen Adresse in einem Verzeichnisdienst anhand der IP-Adresse. Dynamische Bindung durch Nachfragen auf dem lokalen Netz mittels des "Address Resolution Protocol": Rechner A sendet ein spezielles Broadcast-Paket auf das lokale Netz, in dem die IP-Adresse von Rechner B angegeben ist, und in dem nach der physikalischen Adresse von Rechner B gefragt wird. Rechner B füllt die gesuchte Adresse ein und sendet das Paket zurück. Aufbau eines IP-Paketes 0 1 2 3 4 8 16 19 24 31 Vers HLEN Diensttyp Gesamtlänge Identifikation Flags Fragment-Offset Lebenszeit Protokoll Kopf-Prüfsumme IP-Adresse des Senders IP-Adresse des Empfängers IP-Optionen (falls vorhanden) "Padding" Daten

Länge und Diensttypangabe in einem IP-Paket Das Feld HLEN gibt die Länge des IP-Kopfes an. Das einzige variabel lange Feld sind die IP-Optionen, die mittels des "Padding-Feldes" wieder auf ein Vielfaches von 32 gebracht werden. Typische Grösse (ohne Optionen) ist 20 Byte (HLEN = 5). Diensttyp: 0 1 2 3 4 5 6 7 Priorität (0 bis 7) D T R nicht benutzt hohe Verlässlichkeit hoher Durchsatz niedrige Verzögerung Rechner A Netzwerk 1 MTU = 1500 Fragmentierung von IP-Paketen R1 Netzwerk 2 MTU = 620 Datagram-Kopf 1400 Bytes Daten Datagram-Kopf 600 Bytes Daten 600 Bytes Daten 200 Bytes Daten Fragment-1-Kopf 600 Bytes Daten Fragment-2-Kopf 600 Bytes Daten Fragment-3-Kopf 200 Bytes Daten R2 Flag "weitere Fragmente" gesetzt Flag "weitere Fragmente" gesetzt Rechner B Netzwerk 3 MTU = 1500 Weitere Felder in einem IP-Paket: Fragmentierung Die Felder Identifikation, Flags und Fragment-Offset kontrollieren die Zerlegung zu langer Datenpakete in mehrere kleinere Pakete. Ethernet-Frames können maximal 1500 Bytes lang sein. Diese Maximalwerte werden als MTU (maximum transfer unit) bezeichnet. Ist ein IP-Paket grösser als die vorhandene MTU, muss das IP- Paket fragmentiert (zerlegt) werden. Weitere Felder in einem IP-Paket: Identifikation, Offset, Flags Das Feld "Identifikation" enthält eine eindeutige Nummer des ursprünglichen IP-Pakets. Der Fragment-Offset spezifiziert die Stelle im ursprünglichen IP- Paket, an dem das aktuelle Fragment eingesetzt werden muss. Mittels des Felds "Flags" kann Fragmentierung verboten werden, es wird auch zum Signalisieren weiterer Fragmente benutzt. Das Feld "Gesamtlänge" in einem Fragment bezieht sich auf die Länge des Fragmentes, nicht auf die Länge des IP-Pakets. Einmal fragmentierte Pakete werden erst beim Empfänger wieder zusammengesetzt (Nachteile: Zusatzlast und Gefahr von Verlust).

Weitere Felder in einem IP-Paket: Lebenszeit Weitere Felder in einem IP-Paket: IP-Optionen Das Feld "Lebenszeit" gibt an, wie lange (in Sekunden) ein Paket im Internet unterwegs sein darf, bevor es gelöscht wird. Beim Erstellen des Paketes wird eine Maximalzeit angegeben, die bei jeder Weiterleitung des Pakets dekrementiert wird. Wird ein Paket in einem Router verzögert, wird ein entsprechend höherer Wert abgezogen. Wird ein Paket wegen "Lebenszeit = 0" vor seiner Ankunft beim Empfänger gelöscht, muss das löschende System eine Fehler- meldung an den Urheber des Pakets zurücksenden. IP-Optionen 0 1 2 3 4 5 6 7 Kopie Opt. Klasse Optionsnummer Das Flag "Kopie" gibt an, ob bei Fragmentierung die Optionen nur im ersten Fragment, oder in allen Fragmenten gesetzt werden. Optionsklasse 0 Normales Datengramm oder Netzwerk- Kontrolle 1 reserviert für zukünftige Benutzung 2 Fehlersuche und Messungen 3 reserviert für zukünftige Benutzung Weitere Felder in einem IP-Paket: Protokoll, Prüfsumme, Adressen Das Feld "Protokoll" gibt an, welches hierarchisch über IP liegende Protokoll das Paket erzeugt hat, d.h. in welchem Format sich die Daten befinden. Das Feld Kopf-Prüfsumme dient der Datensicherung, bei der Bildung der Prüfsumme wird dieses Feld als "0" angenommen. Die Felder mit den IP-Adressen von Sender und Emfänger haben End-zu-End-Signifikanz, d.h sie werden nicht verändert, während das Paket durch das Internet transportiert wird. Weitere Felder in einem IP-Paket: Optionale Elemente Optionen für Leitweglenkung und Zeitstempel Die Option "Wegaufzeichnung" ermöglicht die Protokollierung des Weges des Pakets durch das Netz im Optionsfeld des IP-Pakets. Die Option für die Wahl des Leitweges ermöglicht es dem Sender eines IP-Pakets, den Weg zum Empfänger zu diktieren. Diese Option wird meist zu Testzwecken benötigt. Die Zeitstempel-Option arbeitet ähnlich zur Option "Wegaufzeich- nung", es wird jedoch ein zusätzlicher Zeitstempel angegeben. Weitere Flags steuern die Details der Angabe von Zeitstempeln.

ICMP-Meldungstypen Internet Control Message Protocol (ICMP) 0 Echo-Antwort 3 Destination unerreichbar 4 "Source Quench" 5 Änderung einer Route 8 Echo-Anforderung 11 Datagram-Lebenszeit überschritten 12 Parameter-Problem im Datengramm 13 Zeitstempel-Anforderung 14 Zeitstempel-Antwort 15 Informations-Anforderung (nicht mehr benötigt) 16 Informations-Antwort (nicht mehr benötigt) 17 Adressmasken-Anforderung 18 Adressmasken-Antwort Einführung in ICMP Zur Steuerung und Verwaltung des Internet ist ein gesondertes Protokoll nötig, welches "normalen" Benutzern nicht zugänglich ist. Typische Aufgaben des Internet-Kontrollprotokolls sind: Koordination zwischen Routern und Endsystemen Fehlererkennung und -korrektur Überwachung und Messung des Verkehrsaufkommens ICMP stellt eine Kommunikationsmöglichkeit zwischen der IP-Software auf Internet-Rechnern zur Verfügung. ICMP benutzt den IP-Dienst, gehört logisch aber auf die selbe Protokollschicht, wie das IP-Protokoll. Meldungen über nicht erreichbare Destinationen Wenn ein IP-Paket nicht weitergeleitet werden kann, wird eine entsprechende Fehlermeldung erzeugt. 0 Netz nicht erreichbar 7 Zielrechner unbekannt 1 Rechner nicht erreichbar 8 Zielrechner isoliert 2 Protokoll nicht erreichbar 9 Netzkommunikation unerwünscht 3 Port nicht erreichbar 10 Rechnerkommunikation unerwünscht 4 Fragmentierung benötigt 11 Netz für diesen Dienst unerreichbar 5 Falsche Quell-Route 12 Rechner für diesen Dienst unerreichbar 6 Zielnetz unbekannt 0 8 16 24 31 Typ (3) Code (0-12) Prüfsumme Unbenutzt, muss Null sein Internet-Kopf und erste 64 Bit des Datengramms

Aufbau einer DHCP-Nachricht Automatische Konfiguration mit dem Dynamic Host Configuration Protocol (DHCP) op-operation htype hlen hops xid-transaction ID secs-sekunden seit Beginn Flags ciaddr-client-adresse (falls schon zugewiesen) yiaddr-neu zugewiesene Client-Adresse siaddr-adresse des Bootstrap-Server giaddr-adresse des Relay-Agent chaddr-hardware-adresse des Client (16) sname-hostname des Servers (optional) (64) file-bootstrap-filename (128) Optionen (variabel lang) Wozu DHCP? Automatische Konfiguration von Hosts Zu konfigurierende Parameter: IP-Adresse Gateway- (Router-) Adressen IP-Maske (Subnetting) Adressen der DNS-Server Link MTU, default time-to-live und sehr viel mehr, s. Appendix A von RFC 2131 Ohne DHCP: Einstellung von Hand (Netzwerk- Kontrollfeld in Windows, Registry, oder nicht einstellbar Unangenehm: Bei einer Konfigurationsänderung von Hand muss Windows (95, 98) neu gestartet werden Typischer Ablauf des DHCP-Protokolls Server (nicht gewählt) Client Server (gewählt) Bestimmt Konfiguration t DHCPDiscover DHCPOffer Wählt aus DHCPDiscover DHCPOffer DHCPRequest (rej) DHCPRequest (acc) Client ist konfiguriert DHCPAck DHCPRelease Bestimmt Konfiguration

Adressierung von Anwendungsprozessen: Beispiel TCP/IP - Portnummern Die Transportprotokolle: AP1 AP2 AP3 Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Die Socket-Schnittstelle 37 1245 56 Port- Nummern 4 UDP Internet Physikalisches Netz Proto=17 3 IP Router Rechner Einführung in TCP TCP implementiert ein verbindungsorientiertes, zuverlässiges Transport- Protokoll, aufbauend auf dem IP-Dienst. E-mail File Transfer Transmission Control Protocol (TCP) World Wide Web Internet Protocol (IP) Verteilte Spiele User Datagram Protocol (UDP) Physikalische Subnetze (Hardware, Firmware) Gebäude- Steuerung Dienstschnittstellen Koordination der global zugeordneten Ports Internet Assigned Numbers Authority (IANA): Zuständig für Vergabe von Konstanten in TCP/ IP- Protokollen (port numbers, protocol numbers,...) neu unter der Verantwortung von ICANN Bereich 0.. 1023: Für globale "well known" ports, kontrolliert von der IANA Bereich 1024.. 65535: Frei für dynamische Allozierung durch Prozesse oder für statische Allozierung mit lokaler Bedeutung Registrierung durch IANA ist optional Aktuelle globale / statische Zuordnungen: http://www.iana.org/assignments/port-numbers

Well-known port numbers: /etc/services (Auszug) # Note that it is presently the policy of IANA to assign a single well-known # port number for both TCP and UDP; hence, most entries here have two entries # even if the protocol doesn't support UDP operations. # Updated from RFC 1700, Assigned Numbers echo 7/tcp echo 7/udp discard 9/tcp sink null discard 9/udp sink null ftp-data 20/tcp ftp 21/tcp telnet 23/tcp smtp 25/tcp mail time 37/tcp timserver time 37/udp timserver nameserver 42/tcp name # IEN 116 whois 43/tcp nicname domain 53/tcp nameserver # name-domain server domain 53/udp nameserver TCP-Segmentformat 0 4 10 16 24 31 Port des Senders Port des Empfängers Sequenznummer im Bytestrom des Senders Bestätigungsnummer (ACK in Gegenrichtung) HLEN Reserviert Code Bits Grösse des Emfängerfensters Prüfnummer (auch über Daten) Dringlichkeitszeiger Optionen (falls vorhanden) "Padding" Daten Code Bits: URG, ACK, PSH, RST, SYN, FIN Dringlichkeitszeiger: zeigt auf das Ende der dringenden Daten im TCP-Datenfeld. Eigenschaften des Transmission Control Protocol (TCP) verbindungsorientiert Vollduplex-Verbindung stellt eine byte pipe zur Verfügung - unstrukturierter Datenstrom Sliding Window-Protokoll Folgenummern sind Bytenummern Maximale Fenstergrösse 2 16 Bytes Variable Grösse des Sendefensters bestimmt durch das Maximum von: Angabe des Empfängers (receiver window size) Congestion window size, abhängig von einer lokalen Schätzung der Netzbelastung -> Slow Start Algorithmus Verbindungsaufbau Aktives Öffnen einer Verbindung (SYN) Passive Seite nimmt eine Verbindung auf einer bestimmten Port-Nummer entgegen Die initialen Sequenznummern werden auf jeder Seite zufällig gewählt und bestätigt. 3-fach-Handshake (nötig wegen des unzuverlässigen Dienstes von IP): Sende SYN seq=x Empf. SYN + ACK Sende ACK y+1 Empf. SYN Sende SYN seq=y, ACK x+1 Empf. ACK

Verbindungsaufbau, zwei Fehlerszenarien Segmente, Datenströme und Sequenznummern altes Duplikat RST, Seq=y+1 SYN, Seq=x SYN, Seq=y, Ack=x+1 altes Duplikat RST, Seq=y+1 SYN, Seq=x SYN, Seq=y, Ack=x+1 altes Duplikat Data, Seq=x+1, Ack=z wird verworfen TCP betrachtet einen Datenstrom als Sequenz von Bytes, die für die Übertragung in TCP- Segmente eingeteilt werden. Jedes Segment wird dann in der Regel auf ein IP- Paket abgebildet. (Grösse eines Segmentes bei lokaler Übertragung gemäss physikalischem Netz, sonst 536 Bytes) TCP verwendet ein "sliding window" Protokoll, um möglichst effizient Daten zu übertragen, und Flusskontrolle zu ermöglichen. Bei einer Vollduplex- Verbindung müssen insgesamt 4 Fenster verwaltet werden. 1 2 3 4 5 6 7 8 9 10 11 Abbau einer TCP-Verbindung Aktive Seite (links) schliesst Verbindung mit FIN-Flag Neue Daten werden nicht mehr übertragen, von rechts ankommende Daten werden jedoch noch bestätigt. 4-fach-Handshake; jede Seite wird separat beendet (TCP half close) Sende FIN seq=x Empf. ACK Empf. FIN + ACK Sende ACK y+1 Empf. FIN Sende ACK x+1 Applikation informieren Sende FIN, ACK x+1 Empf. ACK Variable Fenstergrössen Die Fenstergrösse im TCP "sliding window" Protokoll kann variiert, d.h. an den "Füllstand" des Netzes bzw. des Empfängers angepasst, werden. Flusssteuerung Jedes Bestätigungspaket enthält einen "window advertisement" Wert, in dem der Empfänger angibt, für wieviele weitere Pakete er noch freie Kapazität hat (das Fensterkannalso grösseroderkleinerwerden). Verkehrssteuerung Jacobsen's "slow start" Algorithmus variiert die Grösse des Sendefensters, um die Senderate an die Netzbelastung anzupassen (s. Folie 18).

congestion window size (in Segmenten) 20 15 10 5 0 Exponentiell ansteigende Fenstergrösse timeout Slow Start Algorithmus Linear ansteigende Fenstergrössse ssthresh 0 5 10 15 20 Anzahl round trip times Identifikation von Verbindungen Host A (Client-Maschine) Client 1 (tcp, A, 1055) Client 2 (tcp, A, 1056) (tcp, A, 1055, B, 23) (tcp, A, 1056, B, 23) Host B (Server-Maschine) Daemon (tcp, *, 23) Server 1 (tcp, B, 23) fork Server 2 (tcp, B, 23) Verbindungen und Verbindungsendpunkte Eine TCP-Verbindung wird durch ein Paar von Adressen und Port-Nummern identifiziert (Verbindungsendpunkte): IP-Adresse und Port-Nummer Host A IP-Adresse und Port-Nummer Host B Jede Verbindung wird durch ein Paar von Verbindungsendpunkten eindeutig identifiziert -> mehrere Verbindung zwischen den gleichen Hosts sind dadurch gleichzeitig möglich.