TCP/IP – Troubleshooting Jochen Reinwand RRZE-Kolloquium „Praxis der Datenkommunikation“ 30. November 2011 Gliederung Grundlagen und Theorie Grundgedanke, Entstehung Referenz-Modelle, Medien Technische Details TCP/IP, IP-Adressen, Routing, ARP, ICMP, TCP, UDP Einstellungen IP-Adresse, Netzmaske, Router, DNS-Server Windows Fehlersuche ipconfig, ping, traceroute, netstat, nslookup, Wireshark 30.11.2011 [email protected] TCP/IP-Troubleshooting 2 Grundlagen und Theorie Grundgedanke, Entstehung Referenz-Modelle, Medien 30.11.2011 TCP/IP-Troubleshooting 3 Internet Vorher: Großrechner mit Terminals Nachher: Viele Rechner mit Netz Internet als Netz der Netze 1957 Sputnik-Schock → ARPA (Advanced Research Projects Agency) 1969 ARPANET 4 Standorte 1972 ARPANET 34 Standorte 1974 TCP (Transmission Control Protocol) 1978 TCP v4 (Trennung in TCP/IP – Internet Protokoll) 1983 1. Januar Einführung im ARPANET 1993 1,3 Mio. Hosts 2011 850 Mio. Hosts 30.11.2011 [email protected] TCP/IP-Troubleshooting 4 Internet 30.11.2011 [email protected] TCP/IP-Troubleshooting 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 (kurzfristig) IRTF (Internet Research Task Force) Forschung (langfristig) RFC (Requests for Comments) Dokumente (technisch und organisatorisch) http://www.rfc-editor.org/ ISO-OSI-Referenzmodell (Open Systems Interconnect) 30.11.2011 [email protected] TCP/IP-Troubleshooting 6 Internet Datenpaket Verbindungslos Einzelne Pakete voneinander unabhängig Zerlegung / Zusammensetzung Routing Rechner A Rechner B Fragment 1 Fragment 2 30.11.2011 [email protected] TCP/IP-Troubleshooting 7 TCP/IP Schichtenmodell Protokoll HTTP application Anwendung transport 4 TCP Transport network Dienst 3 IP Vermittlung link 2 1 30.11.2011 IEEE 802.3 Sicherung Bitübertragung physical [email protected] TCP/IP-Troubleshooting 8 TCP/IP Schichtenmodell application HTTP Anwendung Daten transport 4 T C P TCP Transport Daten network 3 IP I P T C P Vermittlung Daten link 2 1 30.11.2011 IEEE 802.3 M A C I P T C P Daten C R C Sicherung Bitübertragung physical [email protected] TCP/IP-Troubleshooting 9 TCP/IP im OSI Modell 30.11.2011 [email protected] TCP/IP-Troubleshooting 10 TCP/IP im OSI Modell 30.11.2011 [email protected] TCP/IP-Troubleshooting 11 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 Protocol) PPP immer wieder irgendwie in Verwendung. DSL: PPPoE DSL (Digital Subscriber Line) WLAN/WiFi (Wireless LAN) Dem Ethernet ähnlich konstruiert 30.11.2011 [email protected] TCP/IP-Troubleshooting 12 Technische Details TCP/IP, IP-Adressen, Routing, ARP, ICMP, TCP, UDP 30.11.2011 TCP/IP-Troubleshooting 13 Internet Netz / subnet Gerät / host 30.11.2011 [email protected] TCP/IP-Troubleshooting 14 Internet Netz / subnet Gerät / host Vermittlung / router 30.11.2011 [email protected] TCP/IP-Troubleshooting 15 HTTP 4 TCP TCP 3 IP 2 Link IP Link IP Link Link 1 30.11.2011 [email protected] TCP/IP-Troubleshooting Punkt zu Punkt HTTP Ende zu Ende TCP/IP Schichtenmodell 16 IP-Adressen – CIDR 131.188.79.246 im Netz 131.188.79.0/24 131. 10000011. 188. 10111100. 79. 01001111. 24 Bit Netz-Id 246 11110110 8 Bit Host-Id 131.188.16.136 im Netz 131.188.16.128/26 131. 10000011. 188. 10111100. 16. 00010000. 26 Bit Netz-Id 10 136 001000 6 Bit Host-Id Nützliches Tool: http://jodies.de/ipcalc 30.11.2011 [email protected] TCP/IP-Troubleshooting 17 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 30.11.2011 [email protected] 2. Ich bin 131.188.3.150 mit 08:00:20:97:1f:60 TCP/IP-Troubleshooting 18 ICMP (Internet Control Message Protocol) Internet Control Message Protocol Fehler- und Kontroll-Meldungen Protokoll-Feld 1 Typ-Feld Code-Feld Type Field 0 3 4 5 8 11 12 13 14 17 18 30.11.2011 Beschreibung Echo Reply Destination Unreachable Source Quench Redirect Echo Request Time Exceeded Parameter Problem Timestamp Request Timestamp Reply Address Mask Request Address Mask Reply [email protected] TCP/IP-Troubleshooting 19 ICMP Codes Code Values für „Destination Unreachable“ Code Value 0 1 2 3 4 5 6 7 8 9 10 11 12 30.11.2011 Beschreibung Network unreachable Host unreachable Protocol unreachable Port Unreachable Fragmentation needed, DF set Source route failed Destination network unknown Destination host unknown Source host isolated (obsolete) Communication with destination network prohibited Communication with destination host prohibited Network unreachable for type of service Host unreachable for type of service [email protected] TCP/IP-Troubleshooting 20 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“ 30.11.2011 [email protected] TCP/IP-Troubleshooting 21 TCP 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} > netstat -an | grep 131.188.3.40 131.188.3.150.1022 131.188.3.40.22 131.188.3.150.1011 131.188.3.40.22 30.11.2011 [email protected] 17520 17520 0 0 33580 33580 0 0 ESTABLISHED ESTABLISHED TCP/IP-Troubleshooting 22 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 30.11.2011 [email protected] TCP/IP-Troubleshooting 23 Aufbau eines TCP-Pakets Source Port HLEN 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 Zielrechner Sequence Number / Acknowledge Number Flusskontrolle HLEN Länge des Headers in 32 Bit-Worten Checksum Prüfsumme (beinhaltet auch einen Teil des IP-Headers) 30.11.2011 [email protected] TCP/IP-Troubleshooting 24 TCP - Geschichte einer Verbindung Rechner 1 Rechner 2 Verbindungsaufbau Send SYN seq=x Receive SYN segment Send SYN seq=y, ACK x+1 Receive SYN + ACK segment Send ACK y+1 Receive ACK segment Datenübertragung Send Packet x+1 Receive Packet x+1 Send ACK x+2 Receive ACK x+2 30.11.2011 [email protected] TCP/IP-Troubleshooting 25 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.11.2011 [email protected] TCP/IP-Troubleshooting 26 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 30.11.2011 [email protected] TCP/IP-Troubleshooting 27 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 30.11.2011 [email protected] TCP/IP-Troubleshooting 28 TOP Level Domains edu com gov org mil net education commercial government organisation military network de uk at ch fr ca jp au Deutschland Großbritanien Österreich Schweiz Frankreich Kanada Japan Australien Demnächst sehr viele mehr! 30.11.2011 [email protected] TCP/IP-Troubleshooting 29 Einstellungen IP-Adresse, Netzmaske, Router, DNS-Server Windows 30.11.2011 TCP/IP-Troubleshooting 30 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 30.11.2011 [email protected] TCP/IP-Troubleshooting 31 Windows Einstellungen 30.11.2011 [email protected] TCP/IP-Troubleshooting 32 Windows Einstellungen 30.11.2011 [email protected] TCP/IP-Troubleshooting 33 Windows Einstellungen 30.11.2011 [email protected] TCP/IP-Troubleshooting 34 Fehlersuche ipconfig, ping, traceroute, netstat, nslookup, Wireshark 30.11.2011 TCP/IP-Troubleshooting 35 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 30.11.2011 [email protected] TCP/IP-Troubleshooting 36 ipconfig 30.11.2011 [email protected] TCP/IP-Troubleshooting 37 ipconfig 30.11.2011 [email protected] TCP/IP-Troubleshooting 38 netstat 30.11.2011 [email protected] TCP/IP-Troubleshooting 39 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 30.11.2011 [email protected] TCP/IP-Troubleshooting 40 nslookup und ping 30.11.2011 [email protected] TCP/IP-Troubleshooting 41 tracert 30.11.2011 [email protected] TCP/IP-Troubleshooting 42 Wireshark 30.11.2011 [email protected] TCP/IP-Troubleshooting 43 Vielen Dank! 30.11.2011 TCP/IP-Troubleshooting 44