TCP/IP – Troubleshooting

Werbung
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
Herunterladen