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
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
TCP/IP-Troubleshooting
4
Internet
30.11.2011
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
TCP/IP-Troubleshooting
9
TCP/IP im OSI Modell
30.11.2011
Jochen.Reinwand@rrze.uni-erlangen.de
TCP/IP-Troubleshooting
10
TCP/IP im OSI Modell
30.11.2011
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
TCP/IP-Troubleshooting
14
Internet
Netz / subnet
Gerät / host
Vermittlung / router
30.11.2011
Jochen.Reinwand@rrze.uni-erlangen.de
TCP/IP-Troubleshooting
15
HTTP
4
TCP
TCP
3
IP
2
Link
IP
Link
IP
Link
Link
1
30.11.2011
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
TCP/IP-Troubleshooting
31
Windows Einstellungen
30.11.2011
Jochen.Reinwand@rrze.uni-erlangen.de
TCP/IP-Troubleshooting
32
Windows Einstellungen
30.11.2011
Jochen.Reinwand@rrze.uni-erlangen.de
TCP/IP-Troubleshooting
33
Windows Einstellungen
30.11.2011
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
TCP/IP-Troubleshooting
36
ipconfig
30.11.2011
Jochen.Reinwand@rrze.uni-erlangen.de
TCP/IP-Troubleshooting
37
ipconfig
30.11.2011
Jochen.Reinwand@rrze.uni-erlangen.de
TCP/IP-Troubleshooting
38
netstat
30.11.2011
Jochen.Reinwand@rrze.uni-erlangen.de
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
Jochen.Reinwand@rrze.uni-erlangen.de
TCP/IP-Troubleshooting
40
nslookup und ping
30.11.2011
Jochen.Reinwand@rrze.uni-erlangen.de
TCP/IP-Troubleshooting
41
tracert
30.11.2011
Jochen.Reinwand@rrze.uni-erlangen.de
TCP/IP-Troubleshooting
42
Wireshark
30.11.2011
Jochen.Reinwand@rrze.uni-erlangen.de
TCP/IP-Troubleshooting
43
Vielen Dank!
30.11.2011
TCP/IP-Troubleshooting
44