Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

TCP/IP für Anfänger Chaos Communication Congress Berlin, 27.-29. Dezember 1998.

Ähnliche Präsentationen


Präsentation zum Thema: "TCP/IP für Anfänger Chaos Communication Congress Berlin, 27.-29. Dezember 1998."—  Präsentation transkript:

1 TCP/IP für Anfänger Chaos Communication Congress Berlin, Dezember 1998

2 2 Übersicht zTCP/IP und das Internet zProtokolle ySchichtenmodell yIP, UDP, TCP, ARP zRouting und Congestion Control zAnwendungen zAngriffspunkte

3 3 TCP/IP und das Internet zhardware-unabhängig zEntwicklung seit 1983 (DARPA) zkeine zentrale Verwaltung zkein zentraler Knoten (im Gegensatz zu SNA) zAusfallsicherheit als Designziel (DOD) zRouting Paket-per-Paket

4 4 TCP/IP und das Internet zApplikationsunabhängig zStandards: RFC (Request for Comment), numeriert - auf vielen Servern verfügbar, z.B. ftp://rtfm.mit.edu zAuch auf der Chaos-CD enthalten zIm Gegensatz zu den ISO/OSI-Protokollen kein offizieller Standard, aber weithin akzeptiert

5 5 Übersicht zTCP/IP und das Internet zProtokolle ySchichtenmodell yIP, UDP, TCP, ARP zRouting und Congestion Control zAnwendungen zAngriffspunkte

6 6 Protokolle zPaketorientiert zSchichtenmodell zAdressierung

7 7 Link: Hardware, GerätetreiberNetwork: Paketzustellung, RoutingTransport: Paketsicherung Application: Benutzerprozesse Schichtenmodell

8 8 Link: Netzwerkkarte, Gerätetreiber (ARP)NetworkTransport Application Link EthernetToken RingIP ICMP TCPUDPftphttpNFSDNS Schichtenmodell ARP

9 9 Link Layer zEthernet zToken Ring zHDLC (für WAN) zISDN zusw.

10 10 Ethernet z10 oder 100 Mbit/s: Gleiches Protokoll zFrame-Typ: Ethernet-II z6 Byte Adressen, weltweit eindeutig (in der Hardware festgelegt) zCSMA/CD, Shared media, nicht kollisionsfrei, stochastisches Verhalten zNeuerdings auch switched Ethernet, kollisionsfrei (gleiches Protokoll)

11 11 6 Byte Zieladresse (destination address) 6 Byte Quelladresse (source address) 2 Byte Typ: 0800=IP, 0806=ARP, 0835=RARP Bytes Nutzdaten (MTU=1500 byte) 2 Byte CRC (Prüfsumme) Der Datenteil muß notfalls auf 46 Bytes aufgefüllt werden. Ethernet (RFC894)

12 12 Exkurs: Ethernet-Kabel 10Base-2, Cheapernet zKoaxial zRG58 Kabel, 50 Ohm zBus-Verkabelung, T- Stücke zKabel muß mit je 50 Ohm terminiert sein zMax 185 m / Segment z10 Mbit/s 10Base-T usw. zVerdrillte Paare zEIA568 Cat.3/4/5 4 Adernpaare (2 genutzt) zStern-Verkabelung vom Hub zMax m/Strang zfehlertoleranter z10 und 100 Mbit/s

13 EIA 568A-Belegung: weiß-grün grün weiß-orange blau weiß-blau orange weiß-braun braun Exkurs: RJ45-Stecker RJ45-Stecker Blick auf die Kontakte Die Rastfeder zeigt nach unten.

14 14 IP - Internet Protocol zPaketvermittelnd zUngesichert zverbindungslos z32 bit Adressen, meist als (dezimal) geschrieben

15 15 IP - Adressen zEine Adresse gehört jeweils zu einem Interface. D.h. ein Rechner mit mehreren Netzwerkkarten hat auch mehrere Adressen. zWenn Daten zu groß für den nächsten Hop, werden sie zerlegt (fragmentiert) zMehr Details später

16 16 20 Byte Header, plus Optionen Vers.H.LenTOSGesamtlänge (in byte) laufende Nr. des Pakets flagsFragment-Offset Time to liveProtokollPrüfsumme ü. d. Header Quell-IP-Adresse (source) Ziel-IP-Adresse (destination) IP Paketaufbau Versionsnummer des Protokolls Länge des Header in byte Type of Service

17 17 ICMP: Internet Control Message Protocol zFür Status- und Fehlermeldungen zhost unreachable znetwork unreachable zPING nutzt ICMP echo request/reply zTeil von IP (network layer), nutzt aber IP- Pakete zur Datenübertragung

18 18 ARP: Address Resolution Protocol zZur Zustellung von IP-Paketen im LAN wird die physische (z.B. Ethernet-) Adresse benötigt zEthernet-Adressen (48 bit) sind weltweit eindeutig in der Hardware eingebrannt zLogische IP-Adressen (32 bit) sind vom Netzverwalter festgelegt zARP erlaubt Umsetzung

19 19 SenderEmpf. ARP-Request (broadcast) Wer hat hier IP-Adresse ? ARP-Reply (unicast) Ich habe IP-Adresse , und meine Ethernet-Adresse ist a.b.c.d.e.f ARP-Cache ARP

20 20 UDP - User Datagram Protocol zSimpelstes Internet-Protokoll auf Transportebene (Ebene 3) zVerbindungslos zUngesichert - fire and forget zAnwendungen: z.B. DNS, NFS zZusätzlich zum 20 Byte IP-Header noch zwei 16 bit Portnummern, 16 bit Länge und eine 16 bit Prüfsumme

21 21 IP Header (20 Byte + Optionen) Source port number Destination port number UDP LängeUDP Prüfsumme Nutzdaten UDP Paketaufbau IP Header (20 Byte + Optionen)

22 22 Ports zUDP und TCP verwenden Ports als Erweiterung der IP-Adresse. zEine Datenübertragung ist durch 4 Adressen gekennzeichnet: yQuell-Adresse, Quell-Port yZiel-Adresse, Ziel-Port zPorts beschreiben einen Prozess auf einem Rechner

23 23 TCP: Transmission Control Protocol zVerbindungsorientiert (wie Telefon) zgesicherte Verbindung: Alles kommt an, in der richtigen Reihenfolge, und nicht doppelt zdie meisten Internet-Anwendungen verwenden TCP zWeitaus komplexer als UDP zClient-Server Modell üblich zVersucht, Netzüberlast zu vermeiden

24 24 Source port numberDestination port number Sequence number Acknowledgement number H.LenReservedFlagswindow size TCP checksumurgent pointer Optionen (sofern vorhanden) Nutzdaten (sofern vorhanden) TCP Paketaufbau IP Header (20 Byte + Optionen)

25 25 TCP - Sequence / Ack number zSequence number: yNummer des ersten Bytes in diesem Segment (Flags zählen mit) zAcknowledgement number: yDie Sequence number, die als nächste erwartet wird

26 26 TCP - Flags zURG - urgent pointer ist gültig zACK - acknowledgement number ist gültig zPSH - Empfänger soll sofort verarbeiten (push) zRST - Reset der Verbindung zSYN - Verbindungsaufbau zFIN - Verbindungsabbau

27 27 TCP - Window size zWindow size: yDer Empfänger bestimmt, wieviel Daten er noch aufnehmen will (z.B. Puffergröße) yWenn der Empfänger (wieder) mehr Daten verarbeiten kann, sendet er ein Window update yBei Window size 0 kann nichts mehr gesendet werden, bis der Empfänger sein Window wieder öffnet (window update)

28 28 ClientServer SYN meine initial sequence no. ist... SYN + ACK OK. Meine initial sequence no. ist... ACK OK TCP - Verbindungsaufbau

29 29 ClientServer Daten, ACK, window update oder Teile davon Daten, ACK, window update oder Teile davon Daten, ACK, window update oder Teile davon Daten, ACK, window update oder Teile davon TCP - Verbindung steht

30 30 ClientServer FIN ich bin fertig und will nicht mehr senden ACK des FIN Danke, verstanden FIN ich bin fertig und will nicht mehr senden ACK des FIN Danke, verstanden TCP - Verbindungsabbau

31 31 Übersicht zTCP/IP und das Internet zProtokolle ySchichtenmodell yIP, UDP, TCP, ARP zRouting und Congestion Control zAnwendungen zAngriffspunkte

32 32 Routing zIP-Adressen sind 32 bit organisiert. zEs gibt Class-A, Class-B und Class-C Netze. Diese unterscheiden sich durch die Netzmaske, die angibt, welcher Teil der Adresse das Netz und welcher den Rechner innerhalb des Netzes bezeichnet. zRouting-Entscheidungen werden nur nach dem Netz-Teil der Adresse getroffen!

33 33 Class A NetzHost Class B Netz Host Class C Netz Host Es gibt nur wenige Class B und noch weniger Class A Netze. Class C-Netze, oder Blöcke davon, sind das Übliche. Die Klassen wurden eingeführt, um die Tabellen in den Routern klein zu halten. Es ist möglich, die Netzmaske unabhängig von der Klasse frei zu setzen, um ein Netz weiter zu unterteilen (subnetting) Netzmaske Subnet z.B. Netz HostNetz

34 34 Netzmaske Adresse Netzmaske Adresse & Netzmaske (bitweises UND) Netz-Teil der Adresse Host-Teil der Adresse

35 35 Routing-Ablauf zAufspalten der Zieladresse in Netz- und Host-Teil (durch AND mit der Netzmaske) zDurchsuchen der Routing-Tabelle nach dem errechneten Netzteil zWenn gefunden: An das in der Tabelle eingetragene Interface senden (next hop) zSonst: Zur Default-Route, falls vorhanden zAnsonsten: ICMP Network unreachable

36 36 Routing-Protokolle zRouting-Protokolle dienen dazu, die Routingtabellen automatisch zu pflegen, wenn z.B. Wege unpassierbar werden zEs gibt verschiedene Protokolle yRIP: Fuer LAN geeignet, viel Traffic yEGP, BGP: Fuer WAN / ASN zu ASN zUnter UNIX in routed (nur RIP) bzw. gated implementiert

37 37 Nameserver zFür Menschen sind numerische Adressen schwer merkbar zDaher sorgt das DNS (Domain Name System) dafür, daß leichter merkbare Namen verwendet werden können zNameserver bilden eine weltweit verteilte Datenbank

38 38 Nameserver zDie Namen sind hierarchisch organisiert, z.B. blackbox.congress.ccc.de zEine Anfrage fragt nach yde? Deutschland! ns.nic.de yccc.de? Chaos! ns.ccc.de ycongress.ccc.de? ns.congress.ccc.de yResultat:

39 39 Vermeidung von Überlast zWenn das Netz an einer Stelle stark belastet ist (z.B. Übergang vom LAN ins langsamere WAN), gehen Pakete verloren. zWenn nun der Sender weiter mit voller Kapazität sendet, wird die Situation nur schlimmer.

40 40 Vermeidung von Überlast zTCP hat zwei Mechanismen zur Vermeidung von Überlast: Slow Start und Congestion Avoidance.

41 41 Slow Start zEine TCP-Verbindung beginnt nicht, mit der Window-Größe zu senden, die die Gegenseite annonciert, sondern sendet zunächst nur ein Segment. zDie effektive Window-Groesse wird nun mit jedem eingetroffenen ACK um ein weiteres Segment erhöht, bis die Windowgröße erreicht ist.

42 42 Congestion Avoidance zWenn zwischendurch Pakete verlorengehen (erkennbar daran, daß doppelte ACK-Nachrichten eintreffen), wird das fehlende Paket erneut gesendet (retransmit). zDie Datenrate wird dann vermindert und steigt langsam wieder an.

43 43 Übersicht zTCP/IP und das Internet zProtokolle ySchichtenmodell yIP, UDP, TCP, ARP zRouting und Congestion Control zAnwendungen zAngriffspunkte

44 44 Anwendungen zDie meisten Anwendungen basieren auf TCP, nur wenige auf UDP. zUDP-basierend sind NFS (Network File System) und DNS.

45 45 UDP-Anwendungen zNFS: Network File System, entwickelt von Sun. Relativ langsam, aber extrem stabil. Das Protokoll ist stateless, d.h. alle Status- information liegt nur auf dem Client. Der Server kann zwischendurch neu starten, ohne daß der Client dies normalerweise merkt. NFS Version 2 kann auch TCP verwenden.

46 46 UDP-Anwendungen zDNS: Domain Name system Clients fragen über UDP bei den Name Servern an. Die Server antworten ihrerseits per UDP. zTraceroute: Feststellen, wie meine Daten zum Empfänger kommen. Nur aktuelles Bild, das nächste Paket kann schon einen anderen Weg nehmen.

47 47 TCP-Anwendungen zTelnet: Terminal-Emulation, login zSSH: Das bessere Telnet, verschlüsselt zFTP: Dateitransfer zHTTP: Übertragungsprotokoll des WWW zSMTP, POP3: Electronic Mail zusw.

48 48 Übersicht zTCP/IP und das Internet zProtokolle ySchichtenmodell yIP, UDP, TCP, ARP zRouting und Congestion Control zAnwendungen zAngriffspunkte

49 49 Angriffspunkte Dieses Thema bildet einen besonderen Schwerpunkt morgen. Daher hier nur ein knapper Überblick.

50 50 Angriffspunkte zDenial of Service: Berechtigte Nutzer können nicht arbeiten zAusspähen von Daten durch passives Mitlesen zVerfälschen von Daten unterwegs zAktiver Eingriff in Netzknoten (Rechner, Router) zIP Spoofing

51 51 Denial of Service zFlood ping usw.: Überlasten eines Netzes oder Rechners zPing mit zu großen Paketen zSYN-flooding zIllegale Fragmente zBeruht meist auf Fehlern in der IP- Implementierung des angegriffenen Systems

52 52 Ausspähen von Daten zMitlesen (Sniffer) im LAN yBei Ethernet einfach yZur Fehleranalyse oder Spionage yetherfind, tcpdump, RMON-Probe zMitlesen in WAN-Zwischenstationen, z.B. beim Internet-Provider zLog-Dateien, z.B. WWW Proxy

53 53 Einschleusen von Daten zEinschleusen anderer Daten (unter falscher Identität) zÜbernahme (hijacking) bestehender Verbindungen, z.B. juggernaut zOft bei applikationsspezifischen Client- Server-Systemen, z.B. Datenbanken

54 54 IP Spoofing zSetzen der Quell-Adresse im IP-Header auf eine andere Adresse zOft eine Adresse im angegriffenen LAN zBasis für weitere Attacken zKeine Antwort möglich zEinfache Protokolle, wie SMTP, funktionieren auch ohne Antwort (Antwort vorhersehbar) -> Spam

55 55 Literatur zW.Richard Stevens, TCP/IP Illustrated, Addison-Wesley (besonders Vol.1) zOlaf Kirch, Linux Network Administrators Guide, LDP bzw. OReilly zDouglas Comer, Internetworking with TCP/IP, Prentice-Hall zRFCs


Herunterladen ppt "TCP/IP für Anfänger Chaos Communication Congress Berlin, 27.-29. Dezember 1998."

Ähnliche Präsentationen


Google-Anzeigen