500 likes | 717 Views
Grundlagen: Internet-Protokolle. Torsten Sorger / Martin Gaitzsch. Gliederung. ISO/OSI Schichten + TCP/IP-Äquivalente IPv4 (Internet Protocol) TCP ( T ransmission C ontrol P rotocol) UDP ( U ser D atagramm P rotocol) ICMP ( I nternet C ontrol M essage P rotocol). Gliederung.
E N D
Grundlagen: Internet-Protokolle Torsten Sorger / Martin Gaitzsch
Gliederung • ISO/OSI Schichten + TCP/IP-Äquivalente • IPv4 (Internet Protocol) • TCP (Transmission Control Protocol) • UDP (User Datagramm Protocol) • ICMP (Internet Control Message Protocol) Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
Gliederung • TCP Verbindungsablauf • Fehlerbehandlung • Routingprotokolle • IPv6 Überblick Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
ISO/OSI-Referenzmodell • beschreibt das externe Verhalten von Endsystemen und keine Implementierung • dient der Interoperabililität verschiedenster Protokolle und Netzwerktechnologien • realisiert durch Schichten-Modell • Abstraktion / Komplexitätsreduzierung • Austauschbarkeit der Protokolle einzelner Schichten Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
ISO/OSI-Referenzmodell Anwendungsschicht SMTP, FTP, HTTP, DNS... 7 Darstellungsschicht 6 Sitzungsschicht 5 TCP, UDP Transportschicht 4 ICMP Vermittlungsschicht IP 3 Sicherungsschicht 2 Physikalische Ebene 1 Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
ISO/OSI-Referenzmodell • Protokolle sind ineinander geschachtelt • eine Schicht n nimmt Dienste der Schicht n-1 in Anspruch und stellt der Schicht n+1 Dienste bereit • Beispiel für ein TCP-Paket in einem Ethernet: Ethernet-Frame IP-Packet TCP-Packet Nutzdaten (z.B. http) Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
TCP/IP - Architekturmodell Application Level WWW(http) File Transfer(ftp) E-Mail(smtp) NameServer(dns) NFS Transmission Level TransmissionControl Protocol User DatagrammProtocol Internet Level Internet Protocol &Internet Control Message Protocol Network Level ARPANET SatellitenNetzwerk X.25 Ethernet Token Ring Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
Internet Protocol • IP ist ein packetorientiertes und verbindungs-loses Protokoll der Vermittlungsschicht • dient der Abstaktion von Besonderheiten der unterliegenden Schicht 2 Protokoll wie z.B. Ethernet, Token Ring oder ATM • bietet der Transportschicht einen unzuverlässiges Transportsystem Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
Internet Protocol v4 Version K-Länge Servicetypen Paketlänge Identifikation 0 DF MF Fragmentabstand Lebenszeit Protokoll Kopfprüfsumme Protkoll-Kopf Senderadresse Empfängeradresse Optionen Füllzeichen Eigentliche Nutzdaten bzw. Protokoll-Köpfe+Daten von Protokollen höherer Schichten (z.B. TCP) Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
Internet Protocol v4 • Version: klassisch v4, zukünftig v6 • Kopflänge: Länge des Paketkopfs in 32Bit-Worten • Servicetypen: Prioritätsvergabe • Paketlänge: Länge des ganzen Pakets in Byte • Identifikation, DF, MF, Fragmentabstand: s.u. • Lebenszeit: verbleibende Paketlebenszeit • Protokoll: Nummer des transportierten Protokolls Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
Internet Protocol v4 • Kopfprüfsumme: Prüfsumme über den Paketkopf • Sender- und Empfängeradresse: eindeutige 32Bit Adressen • Optionen: für flexible Erweiterbarkeit (z.B. Zeitstempel, Source Routing,...) • Füllzeichen: Auffüllen auf Vielfaches von 32-Bit • Nutzdaten (z.B. TCP) Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
IP-Adressen • 32-Bit lang (z.B: 134.100.14.15 oder 86640E0Fhex) • global eindeutig (mit Ausnahmen) • bestehen aus Netz- und Host-Anteil • früher: Netzanteil nur in 8, 16 und 24 Bit (Klasse A,B und C) • mit CIDR: flexibler Netzanteil • zusätzlich: • Multicast-Adressen • private Adressen... Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
IP - Fragmentierung • Felder: DF, MF, Identifikation, Fragmentabstand • kann nur bei DF=0 angewendet werden • wird von den Routern eigenständig vorgenommen • kann bei Bedarf wiederholt angewendet werden • Zielhost muss die Fragmente zusammensetzen Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
IP - Fragmentierung: Beispiel • Netz1: MTU 1200Byte • Netz2: MTU 532 Byte • Netz3: MTU 276 Byte • Paket mit Länge 1044Byte (= 20Byte Header + 1024Byte Daten) und nicht gesetztem DF-Bit soll über die 3 Netze übertragen werden Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
IP - Fragmentierung: Beispiel Netz1: 1200 ID / MF=0 / FO=0 / Rest Daten 0..1023 Netz2: 532 ID / MF=1 / FO=0 / Rest Daten 0..511 ID / MF=0 / FO=64 / Rest Daten 512..1023 Netz2: 276 ID / MF=1 / FO=0 / Rest 0..255 ID / MF=1 / FO=32 / Rest 256..511 ID / MF=1 / FO=64 / Rest 512..767 ID / MF=0 / FO=96 / Rest 768..1023 Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
IP - Fragmentierung • Die Reihenfolge der Ankunft beim Zielhost spielt keine Rolle. • Wenn nach Ablauf eines Timers nicht alle Teilpakete angekommen sind, wird das Paket verworfen. Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
Ports • Ports von 0 bis 65535 gibt es unabhängig voneinander bei TCP und UDP • sie stellen die Endpunkte einer Kommunikationsbeziehung zwischen zwei Rechnern dar • die sog. „well-known-ports“ von 0..1023 sind standardisiert z.B.: • TCP-Port 80 für http • UDP+TCP-Port 53 für DNS • UDP-Port 123 für NTP Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
TCP (Transmisson Control Protocol) • verbindungsorientiertes Protokoll • beinhaltet verschiedene Algorithmen zur Fehler-erkennung und -behandlung • Sequenznummern • Quittungsnummern • Anzeigen (Flags) • die richtige Reihenfolge der Daten ist garantiert • bietet der Anwendungsschicht einen zuverlässigen Transportdienst Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
TCP (Transmisson Control Protocol) Sender-Port Empfänger-Port Sequenznummer Quittungsnummer Kopflänge Reserviert Anzeigen Fenstergrösse Prüfsumme Urgent Zeiger Optionen Füllzeichen Eigentliche Nutzdaten bzw. Protokoll-Köpfe+Daten von Protokollen höherer Schichten (z.B. http) Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
TCP • Sender- und Empfängerport:Endpunkte der TCP-Verbindung • Sequenznummer: Nummer zur Indentifizierung gesendeter Datensegmente • Quittungsnummer: Nummer zur Bestätigung bereits empfangener Datensegmente • Kopflänge: Länge des TCP-Kopfs in 32Bit-Worten • Anzeigen: zur Steuerung (z.B. Verbindungsauf und -abbau) Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
TCP • Fenstergröße: wird vom Hostje nach Belastung dynamisch festgelegt • Prüfsumme über: • TCP-Paketkopf • Daten • Teil des IP-Paketkopfs (u.a. Quell und Zieladresse) • Urgent-Zeiger: Zeiger auf das Ende von dringenden Daten, die vor den eigentlichen Nutzdaten stehen Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
TCP • Optionen: z.B. MSS (Maximum Segment Size) • Füllzeichen: auf die nächste 32-Bit-Grenze wird mit Nullen aufgefüllt • Nutzdaten (z.B. http) Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
UDP - User Datagramm Protocol • verbindungsloses Protokoll der Transportschicht • bietet keine • gesicherte Übertragung • Flusskontrolle • Garantie auf Reihenfolgeerhalt • einfaches Protokoll ohne großen Overhead Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
UDP - User Datagramm Protocol Sender-Port Empfänger-Port • Sender- und Empfängerport: Endpunkte der UDP-„Verbindung“ • Länge: Länge des UDP-Pakets • Prüfsumme: ist optional und wird gebildet über: • UDP-Paketkopf • Daten • Teil des IP-Paketkopfs (u.a. Quell und Zieladresse) Länge Prüfsumme Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
ICMP - Internet Control Message Protocol • Steuer- und Fehlerbenachrichtigungsprotokoll • wird von IP, aber auch von höheren Schichten wie UDP und TCP benutzt • dient unter anderem zu Testzwecken • ICMP-Daten werden in IP-Paketen verschickt Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
ICMP - Internet Control Message Protocol Typ Code Prüfsumme Verschiedenes • Typ: Art der ICMP-Nachricht • Code: weitere Unterteilung innerhalb des Typs • Prüfsumme: über das ICMP-Paket • Verschiedenes: nur bei manchen Typen genutzt • Daten: bei den meisten Typen der IP-Kopf des fehlererzeugenden Pakets + 64 weitere Bits Daten Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
ICMP - Nachrichtentypen • 1. Fehlermeldungen • Typ3: Destination Unreachable • Code0: Netz nicht erreichbar • Code1: Rechner nicht erreichbar • Code2: Protokoll nicht erreichbar • Code3: Port nicht erreichbar • Code4: Fragmentierung erforderlich, aber DF=1 • Typ4: Source Quench • Typ5: Redirect • Typ11: Time Exeeded • Typ12: Parameter Problem Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
ICMP - Nachrichtentypen • 2. Anfragen • Typ8: Echo Request • Typ0: Echo Reply (einzige IMCP-Nachricht, die jeder Rechner unterstützen muss) • Typ17: Adress Mask Request • Typ18: Adress Mask Response PING Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
Demonstration • Ping mit Ethereal: Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
TCP Verbindungsablauf • Drei Phasen: • Verbindungsaufbau • Datenaustausch • Verbindungsabbau Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
1. Verbindungsaufbau • Verbindungswunsch • Bestätigung durch beide Seiten Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
Sequenznummern • Erhaltung der Reihenfolge • Nummerierung: • Zufallszahl auf beiden Seiten • Seq.nr. := Initiale Seq.nr. + Byte-Position im Datenstrom Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
2. Datenaustausch • Senden eines Segments und Start eines Timer • Bestätigung mit nächster erwarteter Seq.nr. • wird Timer überschritten, erneutes Senden Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
sliding window Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
variable window • Größe des Fensters kann variieren: • Reagieren auf Netzwerk-Engpässe • Flusskontrolle (z.B. zwischen verschieden starken Partnern) Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
3. Verbindungsabbau • Senden eines Segments mit FIN=1 • Bestätigung • muss für beide Richtungen gemacht werden Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
Demonstration • TCP Verbindungsablauf mit Ethereal: Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
Zustandsautomat Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
Fehlerbehandlung • Checksummen-Fehler • Ablehnung einer Verbindung • Abgebrochene Verbindungen Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
Checksummen-Fehler • Erkennen von Übertragungsfehlern • Defekte Pakete werden weggeworfen • Nach Timeout wird das entsprechende Paket neu gesendet Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
Ablehnung einer Verbindung • Versuch eines Verbindungsaufbaus zu einem geschlossenen Port • Beispiel TCP • Beispiel UDP Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
Beispiel TCP Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
Beispiel UDP Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
Abgebrochene Verbindung • plötzlicher Abbruch (Absturz, Kabel entfernt, ...) • Schließen der Verbindung nach Timeout Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
IP Routing Protokolle • RIP : Routing Information Protocol • OSPF: Open Shortest Path First • BGP4: Border Gateway Protocol 4 Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
IPv6 • Adressgrösse 128 Bit • Einfacheres Header-Format • Erweiterte Unterstützung von Optionen • Dienstarten • Sicherheit • Erweiterbarkeit Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
… das war‘s ! • Fragen ? • Kommentare ? Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
Literaturliste I • RFCshttp://www.ietf.org/rfc/rfc####.txt 0768 – User Datagram Protocol 0791 – Internet Protocol Version 4 0792 – Internet Control Message Protocol 0793 – Transmission Control Protocol 2018 – Transmission Control Protocol Selective ACK 2460 – Internet Protocol Version 6 Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
Literaturliste II • Bücher: • TCP/IP Network Administration (Craig Hunt) • Technik der IP-Netze (Anatol Badach & Erwin Hoffmann) • NetCat • http://www.atstake.com/research/tools/index.html#network_utilities • Ethereal: • http://www.ethereal.com Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle