TCP/IP Troubleshooting Jochen Reinwand RRZE-Kolloquium Praxis der Datenkommunikation 8. Dezember 2010
Gliederung Definitionen & Methoden Referenz-Modelle TCP/IP IP-Adressen, Routing, ARP, ICMP, TCP, UDP Einstellungen IP-Adresse, Netzmaske, Router, DNS-ServerServer Windows, FreeBSD Fehlersuche ipconfig, ping, traceroute, netstat, nslookup Wireshark 2
Definitionen & Methoden Das Internet als Netz der Netze Entstehung t und Grundgedanke d Referenzmodelle ISO-OSI Open Systems Interconnect TCP/IP Transmission Control Protocol RFC Request for Comment Medien Kabel Funk FAU Erlangen-Nürnberg g 3
Internet Vorher: Großrechner mit Terminals Nachher: Viele Rechner mit Netz 1957 SPUTNIK ARPA (Advanced Research Projects Agency) 1969 ARPANET 4 Standorte 1972 ARPANET 34 Standorte 1974 TCP 1978 TCP v4 (Trennung in TCP und IP) 1983 1. Januar Einführung im ARPANET 1993 1,3 Mio. Hosts 2009 769 Mio. Hosts 4
Internet 5
Internet Standardisierung IAB (Internet Architecture Board) Plant und koordiniert Entwicklung der Internet-Architektur und die Standardisierung der Protokolle IETF (Internet Engineering Task Force) Technische Weiterentwicklung g( (kurzfristig) IRTF (Internet Research Task Force) Forschung (langfristig) RFC (Requests for Comments) Dokumente (technisch und organisatorisch) http://www.rfc-editor.org/ 6
Internet Datenpaket Verbindungslos Einzelne Pakete voneinander unabhängig Zerlegung / Zusammensetzung Routing Rechner A Rechner B Fragment 1 Fragment 2 7
TCP/IP Schichtenmodell 4 3 2 HTTP TCP IP IEEE 802.3 Protokoll Dienst application Anwendung transport Transport network Vermittlung link Sicherung 1 Bitübertragung physical 8
TCP/IP Schichtenmodell HTTP Daten Anwendung T 4 TCP C P Daten Transport I 3 P IP T C P Daten Vermittlung 2 IEEE 802.3 M T I A C P Daten C R C P C Sicherung 1 Bitübertragung physical 9
Ein Paket Empfänger Absender Typ Länge Daten FCS 4 H L E N S T y p e L E N I D Fl a g s O ff s et T T L Pro to koll H C h e c k O p t Sender Empfänger i o n s P a d d i n g Daten Sender Port Empfänger Port S e q A c k H L E N C o n t r o l Windows C h e c k U O P r p a g ti d e o di n n n t s g Daten 10
TCP/IP im OSI Modell 11
TCP/IP im OSI Modell 12
Medien Ethernet Kupfer 10/100/1000 Glasfaser 100/1000/10.000 Weitere Steigerung praktisch vollzogen ATM Asynchronous Transfer Mode Classical IP over ATM LAN Emulation Eigentlich tot, aber wiederum Basis für DSL Serial SLIP (Serial Line IP) PPP (Point-to-Point to Protocol) PPP immer wieder irgendwie in Verwendung. DSL: PPPoE DSL Digital Subscriber Line 13
FAU Erlangen-Nürnberg 14
Gliederung Definitionen & Methoden Referenz-Modelle TCP/IP Internet, IP-Adressen, Routing, ARP, ICMP, TCP, UDP Einstellungen IP-Adresse, Netzmaske, Router, DNS-ServerServer Windows, FreeBSD Fehlersuche ipconfig, ping, traceroute, netstat, nslookup Wireshark 15
Netz Netz / Subnet Host / Gerät 16
Internet Netz / Subnet Host / Gerät Router 17
TCP/IP Schichtenmodell HTTP HTTP 4 TCP TCP En nde zu Ende 3 IP IP IP t Punk 2 Link Link Link Link 1 Pun nkt zu 20.01.2010 jochen.reinwand@rrze.uni-erlangen.de TCP/IP Troubleshooting 18
IP-Adressen CIDR 131.188.79.246 im Netz 131.188.79.0/24 131. 188. 79. 246 10000011. 10111100. 01001111. 11110110 24 Bit Netz-Id 8 Bit Host-Id 131.188.16.136 im Netz 131.188.16.128/26 131. 188. 16. 136 10000011. 10111100. 00010000. 10 001000 26 Bit Netz-Id 6 Bit Host-Id Nützliches Tool: http://jodies.de/ipcalc 19
ARP (Address Resolution Protocol) Address Resolution Protocol Welche MAC gehört zu dieser IP? Innerhalb des Subnetzes per Broadcast IP: 131.188.3.150 MAC: 08:00:20:97:1f:60 1. Wer ist 131.188.3.150? Ausgangsrechner IP: 131.188.3.150 MAC: 08:00:20:97:1f:60 Ausgangsrechner 2. Ich bin 131.188.3.150 mit 08:00:20:97:1f:60 20
ICMP (Internet Control Message Protocol) Internet Control Message Protocol Fehler- und dkontroll-meldungen llm ld Protokoll-Feld 1 Typ-Feld Code-Feld Type Field Beschreibung 0 Echo Reply 3 Destination Unreachable 4 Source Quench 5 Redirect 8 Echo Request 11 Time Exceeded 12 Parameter Problem 13 Timestamp Request 14 Timestamp Reply 17 Address Mask Request 18 Address Mask Reply 21
ICMP Codes Code Values für Destination Unreachable Code Value Beschreibung 0 Network unreachable 1 Host unreachable 2 Protocol unreachable 3 Port Unreachable 4 Fragmentation needed, DF set 5 Source route failed 6 Destination network unknown 7 Destination host unknown 8 Source host isolated (obsolete) 9 Communication with destination network prohibited 10 Communication with destination host prohibited 11 Network unreachable for type of service 12 Host unreachable for type of service 22
TCP (Transmission Control Protocol) Erstes Transportprotokoll auf IP Definiert Ende-zu-Ende-Verbindung Bietet gesicherte Übertragung Flusskontrolle (Flow Control) Überlastkontrolle (Congestion Control) Dominiert im Weitverkehrsbereich Datenstromschnittstelle 23
TCP 2 Socket-Konzept Dient der eindeutigen Identifikation eines Dienstes auf einem Rechner Prozess Port auf einem Rechner durch eindeutige Portnummer identifiziert Formal eine TCP-Verbindung wird durch ein 5-Tupel charakterisiert: {Protokoll; lokale Adr.; lokaler Port; entfernte Adr.; entfernter Port} Beispiel: {tcp; 131.188.3.150; 1022; 131.188.3.40; 22} lisa$ netstat -an grep 131.188.3.40188 3 131.188.3.150.1022 131.188.3.40.22 17520 0 33580 0 ESTABLISHED 131.188.3.150.1011 131.188.3.40.22 17520 0 33580 0 ESTABLISHED 24
Beispiele für TCP-Anwendungen ssh Secure Shell Zugriff auf entfernte Rechner Wie ein angeschlossenes Terminal Port 22 FTP File Transfer Protocol Datenübertragung von/zu einem entfernten Rechner Zwei Verbindungen (für Kommandos und Datenübertragung) Port 20 (Daten), Port 21 (Kommandos) SMTP Simple Mail Transfer Protocol Elektronische Post Port 25 HTTP Hypertext Transfer Protocol Das World-Wide-Web Port 80 25
Aufbau eines TCP-Pakets HLEN Source Port Destination Port Sequence Number Acknowledge Number Reserved Code Bits Window Checksum Urgent Pointer Options Padding Data Source Port / Destination Port Prozess-Identifikation auf Quell- und dzielrechner Sequence Number / Acknowledge Number Flusskontrolle HLEN Länge des Headers in 32 Bit-Worten Checksum Prüfsumme (beinhaltet auch einen Teil des IP-Headers) 26
TCP - Geschichte einer Verbindung Rechner 1 Rechner 2 Send SYN seq=x Receive SYN + ACK segment Send ACK y+1 Verbindungsaufbau Receive SYN segment Send SYN seq=y, ACK x+1 Send Packet x+1 Receive ACK x+2 Datenübertragung Receive ACK segment Receive Packet x+1 Send ACK x+2 27
TCP - Geschichte einer Verbindung Rechner 1 Rechner 2 Send FIN seq=x Receive ACK segment Receive FIN + ACK segment Send ACK y +1 Verbindungsabbau Receive FIN segment Send ACK x +1 Inform Application Send FIN ACK x +1 Receive ACK segment 28
TCP Zustandsautomat Zustandsautomaten dienen zur Protokollspezifikation Die Beschriftungen an den Übergängen bezeichnen das empfangene / gesendete Paket begin closed passive open close active open/syn syn/syn+ack reset listen send/syn SYN RECVD close/fin ack close/fin established syn/syn+ack fin/ack CLOSE WAIT SYN SEND close/ timeout/ reset FIN WAIT-1 ack fin/ack fin/ack ack closing ack LAST ACK close/fin ack FIN WAIT-2 fin/ack TIMED WAIT timeout nach 2 segment lifetimes 29
UDP (User Datagram Protocol) ungesichertes Transportprotokoll effizienter als TCP im LAN-Bereich keine Flusskontrolle Anwendung muss Datenverluste selber behandeln Einsatz für Multimedia-Anwendungen 30
Beispiele für UDP-Anwendungen NFS (Network File System) NIS (Network Information System) SNMP (Simple Network Management Protocol) RTP (Realtime Transport Protocol, für Multimedia over IP) DNS (Domain Name Service) Requests 31
IP-Adresse Domain-Name IP-Adressen: 131.188.12.212 sind schwer zu merken ändern sich (zwangsläufig) Domain Namen: ftp.uni-erlangen.de automatische Auflösung durch Nameserver hierarchisch (Zonen; root-nameserver) verteilt 32
TOP Level Domains edu education de Deutschland com commercial uk Großbritanien gov government at Österreich org organisation ch Schweiz mil military fr Frankreich net network ca Kanada jp Japan au Australien Demnächst vermutlich sehr viele mehr! 33
Gliederung Definitionen & Methoden Referenz-Modelle TCP/IP IP-Adressen, Routing, ARP, ICMP, TCP, UDP Einstellungen IP-Adresse, Netzmaske, Router, DNS-ServerServer Windows, FreeBSD Fehlersuche ipconfig, ping, traceroute, netstat, nslookup Wireshark 34
Einstellungen am Rechner pro Interface IP-Adresse Netzmaske pro Rechner Router (Standard-Gateway) DNS-Server oder DHCP Dynamic Host Configuration Protocol macht dann alles alleine 35
Windows-Einstellungen 36
FreeBSD-Einstellungen 37
Gliederung Definitionen & Methoden Referenz-Modelle TCP/IP IP-Adressen, Routing, ARP, ICMP, TCP, UDP Einstellungen IP-Adresse, Netzmaske, Router, DNS-ServerServer Windows, FreeBSD Fehlersuche ipconfig, ping, traceroute, netstat, nslookup Wireshark 38
Fehlersuche Systemtools ipconfig Windows Hauptsächlich zur Information ifconfig Unix / Linux Universelles Tool zur Konfiguration In der Regel nur Manipulation des laufenden Systems! ip Mächtigerer Ersatz von ifconfig unter Linux In der Regel nur Manipulation des laufenden Systems! netstat Windows und Linux Anzeige von dynamischen Statusinformationen 39
ipconfig 40
netstat 41
Fehlersuche Aktive Tests nslookup / dig Interaktion mit DNS Wichtiger Teil der Netzverfügbarkeit ping ICMP Echo Request <-> Response Problematisch: Priorisierung und Limitierung Hilfreiche Ziele: Eigene Adresse, Router, Name-Server traceroute, tracert, tracepath, mtr UDP, ICMP oder TCP -> steigende TTL -> ICMP Heutige, netzinterne Probleme meist zu komplex Probleme wie ping, zusätzlich Load Balancing und MPLS Interpretation schwer -> Fehldiagnosen Wireshark (früher: Ethereal) Detaillierte Analyse durch Sniffing 42
ping 43
nslookup 44
nslookup Session 45
tracert 46
Wireshark 47
Danke! Vielen Dank für Ihre Aufmerksamkeit! 48