View
50
Download
0
Category
Preview:
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
Grundlagen: Internet-Protokolle
Torsten Sorger / Martin Gaitzsch
Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
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
Physikalische Ebene
Sicherungsschicht
Vermittlungsschicht
Transportschicht
Sitzungsschicht
Darstellungsschicht
Anwendungsschicht
SMTP, FTP, HTTP, DNS...
TCP, UDP
IP
7
6
5
4
3
2
1
ICMP
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
ApplicationLevel
TransmissionLevel
InternetLevel
NetworkLevel ARPANET
SatellitenNetzwerk
X.25 Ethernet Token Ring
Internet Protocol &Internet Control Message Protocol
TransmissionControl Protocol
User DatagrammProtocol
WWW(http)
File Transfer(ftp)
E-Mail(smtp)
NameServer(dns)
NFS
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
Lebenszeit Protokoll Kopfprüfsumme
0 DF MF Fragmentabstand
Senderadresse
Empfängeradresse
Optionen Füllzeichen
Eigentliche Nutzdaten bzw. Protokoll-Köpfe+Daten von Protokollen höherer Schichten (z.B. TCP)
Protkoll-K
opf
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
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
IP-Adressen
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
Daten 0..1023ID / MF=0 / FO=0 / RestNetz1:1200
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
ID / MF=1 / FO=32 / Rest
ID / MF=1 / FO=64 / Rest
ID / MF=0 / FO=96 / Rest
0..255
256..511
512..767
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
Prüfsumme
Optionen
Anzeigen Fenstergrösse
Urgent Zeiger
Füllzeichen
Reserviert
Eigentliche Nutzdaten bzw. Protokoll-Köpfe+Datenvon 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 ProtocolSender-Port Empfänger-Port
Länge Prüfsumme
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)
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
Verschiedenes
Typ Code Prüfsumme
Daten
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
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:1. Verbindungsaufbau
2. Datenaustausch
3. Verbindungsabbau
Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
1. Verbindungsaufbau
Verbindungswunsch Bestätigung durch
beide Seiten
Aktiver Teilnehmer Passiver Teilnehmer
SYN
Seq.nr. = x, Ack.nr. = 0
ACK
Seq.nr. = x+1, Ack.nr. = y+1
SYN, ACK
Seq.nr. = y, Acknr. = x+1
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 SendenAktiver
TeilnehmerPassiver
Teilnehmer
SendeNachricht 1
EmpfangeACK 1
EmpfangeNachricht 1
Sende ACK 1
SendeNachricht 2
Timeout fürNachricht 2
SendeNachricht 2 Empfange
Nachricht 2
Sende ACK 2EmpfangeACK 2
Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
sliding window
1 2 3 4 5 6 7 8 9 10 11 12 …
ACK ACK
1 2 3 4 5 6 7 8 9 10 11 12 …
Initial Window
Window slides … -->
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ässeFlusskontrolle (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
Aktiver Teilnehmer Passiver Teilnehmer
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 PortBeispiel TCPBeispiel UDP
Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
Beispiel TCPAktiver Teilnehmer Passiver Teilnehmer
Torsten Sorger / Martin Gaitzsch 18.415 Sicherheit in vernetzten Systemen - Grundlagen: Internet-Protokolle
Beispiel UDPAktiver Teilnehmer Passiver Teilnehmer
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
IGP EGP
Distance Vector Algorithmus RIP BGP4
Link State Algorithmus OSPF
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####.txt0768 – 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
Recommended