TCP/IP Ti ßi pi ai pi Wozu braucht man TCP/IP? Um festzustellen, ob das Moorhuhn (oder andere Programme) sicher sind. Um nachzusehen, ob noch `ne Coke da ist (http://www.cse.ucsd.edu/users/bsy/coke.html) Um nachzusehen, wie kalt der Kühlschrank ist (http://hamjudo.com/cgi-bin/refrigerator). Um sich in ein System einzuhacken (telnet 192.168.1.201). Um seine Freunde zu treffen (ICQ bei www.mirabilis.com) Um mit den gefundenen Freunden zu Telefonieren (BuddyPhone bei www.buddyphone.com) Um nach Aliens zu suchen (setiathome.ssl.berkeley.edu) Um bei seinen Kumpels anzugeben, wenn man von telnet, Voice over IP oder fqdns spricht. Um Eisenbahn zu spielen (http://rr-vs.informatik.uni-ulm.de/rr/). ... Oder um ganz simpel im Web zu surfen oder E-Mail zu verschicken (aber wer tut das heute schon noch?). Etwas Statistik... Anteil der Deutschen, die 2001 im Internet sein werden: Ein Drittel Anzahl der Bundesbürger, die täglich im Netz shoppen: Stand 1/01,7/01 170 000 Datenbestand der größten Online-Datenbank der Welt: 25 Terrabyte (25 000 000 Megabyte) Durchschnittliche online-Zeit deutscher Surfer am Wochenende: 85 Minuten Durchschnittliche online-Zeit deutscher Surfer an Werktagen: Zahl der Hosts mit der Endung .com: 82 Minuten Ca. 38 Millionen Zahl der Hosts mit der Endung .de: Ca. 4,6 Millionen Hosts im Internet RFC Alarm! RFC (Request for Comment) sind Dokumente, die alles im Internet und TCP/IP beschreiben. Sie finden sie bei www.nic.de. Schauen Sie z.B. unter RFC 1918 nach, um zu sehen, warum man 192.168... als interne Adressen verwendet. Wenn Sie jemals eine neue Protokoll/Anwendung/Dienst Kombination für das Internet erstellen, halten Sie sich an die Anweiseung in RFC 1543 (das wollten Sie doch schon immer, oder?). Eine Liste der RFCs finden Sie auf unserem Server. Was bekomme ich? IP = Internet Protocol IP ist für die Netzwerkverbindung zuständig. IP arbeitet mit Internet-Adressen. IP kümmert sich nicht darum, ob Pakete (in der richtigen Reihenfolge oder überhaupt) ankommen. TCP = Transmission Control Protocol TCP sorgt dafür, daß nichts verloren geht. TCP enthält den Port, damit die Anwendungen wissen, wer gemeint ist. UDP = User Datagram Protocol UDP überträgt größere Datenmengen als TCP. UDP arbeitet ohne jegliche Fehlerkontrolle. Eine UDP-Verbindung nennt man connectionless (verbindungslos), da keine TCP-Verbindung besteht. Noch mehr... ARP = Address Resolution Protocol Ermittelt die Hardware-Adresse aufgrund der IP-Adresse. RARP = Reverse Address Resolution Protocol Ermittelt die IP-Adresse aufgrund der Hardware-Adresse ICMP = Internet Control Message Protocol Überträgt netzwerkspeziefische Probleme. Wird z.B. von PING benutzt. FTP = File Transfer Protocol Protokoll/Programm/Dienst für die Dateiübertragung (versuchen Sie mal ftp 192.168.1.201). TFTP = Trivial File Transfer Protocol Wird z.B. zum remote-booten von thin-clients benutzt (cool, oder?). Noch mehr... SMTP = Simple Mail Transfer Protocol Wird zum verschicken von E-Mails benutzt. POP3 = Postoffice Protocol (v3) Wird zum abholen von E-Mails benutzt. IMAP4 = Internet Message Access Protocol (v4) Wird zum abholen von E-Mails benutzt, bietet aber mehr Verwaltungsfunktionen. NTP = Network Time Protocol Wird zum Abgleichen der Zeit im Netzwerk benutzt. DHCP = Dynamic Host Configuration Protocol Wird zum Konfigurieren von Clients benutzt. Immer noch mehr... PPTP RIP, OSPF LDAP BOOTP HTTP SSL IP-Adressen Über eine IP-Adresse wird ein Computer in einem Netzwerk eindeutig identifiziert. Die Anwendung, mit der auf diesem Computer kommuniziert werden soll, wird über einen Port identifiziert (dazu später mehr). Eine IP-Adresse besteht aus 4 Bytes (0..255), 0..255 0..255 0..255 0..255 Und einer Maske (die nur für den eigenen Computer interessant ist). 0..255 0..255 0..255 0..255 Die Maske bestimmt, welche Zahlen der Adresse das Netzwerk und welche den Computer kennzeichnen. IP-Adressen-Klassen Klasse Netz A 1..127 0..255 0..255 0..255 255 0 0 0 Host Netz Host B 128..191 0..255 0..255 0..255 255 255 Netz 0 C 192..255 0..255 0..255 0..255 255 255 255 0 0 Host Ports... Über die sogenannten Ports werden die Anwendungen auf einem Computer adressiert. Folgendes Schema wurde festgelegt: well known: 0 bis 1023 registered ports: 1024 bis 49151 dynamic and/or private ports: 49152 bis 65535 Z.B.: http 80, telnet 23, ftp 21 und tftp 69. Mit netstat -a sehen Sie, welche Ports auf Ihrem Computer offen sind. Der IP-Header... IP-Header Version Länge Servicetypen Identifikation Lebensz. TTL (gesamte) Paketlänge Flags Transport Fragment Abstand Kopfprüfsumme Senderadresse Empfängeradresse Optionen Padding Datenbereich Der TCP-Header... TCP-Header Quellport Zielport Sequenzernummer Acknowledgenummer Offset Res. Flags Fensteranzeiger Prioritätsanzeiger Prüfsumme Optionen Padding Datenbereich Zusammengefasst... Ethernet-Frame Header IP-Frame Header TCP-Frame Header FTP-Frame Header Die wichtigsten Tools... Prüfen Sie vorher die Kabel! 65% der Fehler liegt in der Hardware! •Ping •Traceroute •Route •Netstat •Arp tracert ip-adresse Wenn Sie der Meinung sind, dass der Fehler nicht bei Ihnen liegt, können Sie versuchen, mit einer Traceroute den Weg eines Paketes zu verfolgen. Achten Sie dabei auf Folgendes: •Nimmt das Paket das richtige Default-Gateway? •Antworten irgendwelche Router auf dem Weg zum Ziel langsam? •Antworten irgendwelche Router garnicht (Angezeigt durch * * *)? Mit Traceroute können Sie auch sehen, wo ein Server steht. route [print] Mit route (auf manchen Systemen mit netstat -r) kann man sich die RoutingTabelle ansehen. In der Routing-Tabelle wird festgelegt, welche Ziel-Adressen welchen Weg nehmen. Das Default-Gateway taucht hier oft als 0.0.0.0 auf. Achten Sie dabei auf Folgendes: •Haben Sie genau eine Default-Route? •Bei mehreren gleichen Routen: Haben die Routen unterschiedliche Prioritäten? Bei zwei vollständig gleichwertigen Routen kommt Ihr Computer durcheinander! Schichten Protokolle ICMP TCP OSPF DNS DHCP BOOTP SNMP TFTP Telnet FTP Rlogin Für jede Schicht existieren mehrere standardisierte Protokolle; sie sind je nach den Anforderungen der jeweiligen Anwendung mehr oder weniger umfangreich. Beispiel: Die Internet-Protokoll-Familie (IP-Suite) HTTP SMTP UDP RIP Internet-Protocol RARP ARP Sicherung (LLC) Zugriffs-Steuerung IEEE 802.2 IEEE 802.2 Bitübertragung (physikal. Verbindung) ...