Praktikum zur Vorlesung Datenkommunikation

Werbung
Praktikum zur Vorlesung Datenkommunikation
Teil I
1
1
Praktikum zur Vorlesung Datenkommunikation
Ansprechpartner
Rainer Krogull
[email protected]
Tel. 0241 / 80 - 21 406
URL http://www-i4.informatik.rwth-aachen.de/dk-ma/
2
2
Praktikum zur Vorlesung Datenkommunikation
Inhalt
•
•
•
•
•
Einführung in Netze und Protokolle
Das Internetprotokol (IP)
Hilfsprotokolle: ICMP, ARP, RARP
Transportprotokolle: UDP und TCP
Dienstprotokolle: FTP, Telnet, SSH, Finger, POP, SMTP, DNS,
HTTP
•
•
Der Netzwerkmonitor (Netmon)
TCP/IP-Dienstprogramme
3
3
Internet Protocol
Protokolle im TCP/IP-Referenzmodell
HTTP
Internetprotokolle
FTP
Telnet
IGMP
SMTP
TCP
Schicht 1
Ethernet
TokenRing
SNMP
TFTP
UDP
ICMP
IP
RARP
DNS
ARP
Token Bus
Wireless Lan
4
4
Internet Protocol
IP (Internet Protocol)
•
Verwendung von logischen 32-bit Adressen
•
Verschickt Datenpakete in einer transparenten Ende-zu-EndeKommunikation zwischen Rechnern
•
arbeitet verbindungslos und unzuverlässig
•
IP-Pakete laufen als Datagramme unabhängig voneinander zum Ziel
•
•
Fragmentieren und Zusammensetzen der Pakete
weitere Aufgaben:
- Routing
- Interoperabilität zwischen verschiedenen Netztypen beheben
5
5
Internet Protocol
IP Paket
32 bits (4 Bytes)
Version HLEN
Type of
Service
Identification
Time to Live
Protocol
Total Length
Flags
Fragment Offset
Header Checksum
IP Header
20 Bytes gross
Source Address
Destination Address
Options (variable)
Padding
DATA (variable)
6
6
Internet Protocol
Fragmentierung
Ident. Flags Offset
777
x00
Data
0
0
1200 Bytes
IP Header
777
x01
777
511
0
0
x01
64
777
512
x00
128
1023
1024
1200
• Eine zu große oder zu kleine MTU (Maximum Transfer Unit)
verhindert eine gute Performance.
• Bis auf das letzte Segment, muss die Datenlänge ein Vielfaches
von 8 Byte sein.
• Wenn das `Don`t Fragment`-Bit gesetzt ist, wird Fragmentierung
verhindert.
7
7
Internet Protocol
IP Adresse
137.226.12.0
137.226.35.0
137.226.12.1
137.226.35.65
Router
137.226.12.21
•
•
137.226.35.66
Binärformat
10001001 11100010 00001100 00010101
Dotted Decimal Notation
137.226.12.21
jeder Host hat (wenigstens) eine weltweit eindeutige IP-Adresse
Router oder Gateway haben für jedes angeschlossene Netz eine IP-Adresse
8
8
Internet Protocol
Struktur von IP-Adressen
0
8
16
Net
0
Klasse A
10
Klasse B
24
31
Host
Net
110
Klasse C
1. Oktett
Class A
1 – 126
Class B
128 – 191
Class C
192 – 223
Host
Host
Net
# Netze
# Hosts
9
9
Internet Protocol
Struktur von IP-Adressen
0
8
16
24
31
Multicast-Adressen
1110
Klasse D: wird für Multicast gebraucht
1111
reserved
Klasse E: für zukünftigen Gebrauch reserviert
1. Oktett
# Netze
# Hosts
Class A
1 – 126
126
16777214
Class B
128 – 191
16384
65534
Class C
192 – 223
2097152
254
Class D
224 - 239
Class E
240 - 254
IP Multicast Address
Reserved for exp. Purposes
10
10
Internet Protocol
Ein Beispiel
137.226.12.211
10001001
Class B Adresse
11100010
Class B Adresse
der RWTH
Aachen
01110000
11010011
Subnetz
(Informatik 4)
Terminal
11
11
Internet Protocol
IP-Subnetze
•
mit einer IP-Netzwerk-Adresse können mehrere physikalische Netze adressiert
werden
•
einige Bits der Rechner-Adresse werden als Netzwerk-ID genutzt
•
eine Subnetz-Maske identifiziert die „missbrauchten“ Bits
•
alle Hosts eines Netzes sollten die gleiche Subnetz-Maske haben
•
hierarchisch unterteilt in - Netzwerk-Adresse für physikalisches Netz
(z.B. 137.226.0.0)
- Rechner-Adresse pro Host des Netzes
(z.B. 137.226.12.211)
•
Rechner-Adressraum meist weiter unterteilt in Subnetz- und Rechner-Adresse
12
12
Internet Protocol
IP-Subnetze - ein Beispiel
120
.
2
.
35
.
210
0111 1000 0000 0010 0010 0011 1101 0010
IP Adresse
AND
255
.
255
.
0
.
0
1111 1111 1111 1111 0000 0000 0000 0000
Subnetz Maske
120
.
2
.
0
.
0
0111 1000 0000 0010 0000 0000 0000 0000
Aufteilen der IP Adresse
13
13
Internet Protocol
IP-Subnetze – ein weiteres Beispiel
137 .
.
226
12
11100010
0111
1000
10001001
00001100
.
255
.
21
00010101
IP Adresse
AND
255
.
255
. 0
1111 1111 1111 1111 1111 1111 0000 0000
Subnetz Maske
137
.
226
. 12
.
0
1000 1001 1110 0010 0000 1100 0000 0000
Aufteilen der IP Adresse
14
14
Internet Protocol
Subnetz Beispiel
Zugeteilte Netzwerkadressen für Informatik IV und das Lehr- und
Forschungsgebiet (LuFG)
137.226.12.0 Info IV
137.226.35.0/29
( = 8 Rechner )
137.226.59.0/24
LuFG
137.226.113.0
•
Subnetzmaske für die Teilnetze = 255.255.255.0
•
254 Rechner pro Teilnetz
•
andere Notationsweise ist die Angabe der Präfixlänge zu einer IPAdresse (Bsp. /24)
15
15
Internet Protocol
TCP-IP Dienstprogramme
Hostname
Zeigt den Namen des aktuellen Hosts an.
Ipconfig [/all]
Zeigt alle aktuellen TCP/IP-Netzwerkkonfigurationswerte an. Dieser Befehl ist
insbesondere auf Systemen nützlich, die DHCP ausführen. Mit ihm können
die Benutzer ermitteln, welche TCP/IP-Konfigurationswerte von DHCP
konfiguriert wurden.
Ohne Angabe von Parametern zeigt das Dienstprogramm ipconfig alle
aktuellen TCP/IP-Konfigurationswerte an, einschließlich IP-Adresse und
Subnetzmaske.
Parameter: all
Erstellt eine vollständige Anzeige. Ohne diesen Parameter zeigt ipconfig nur
die IP-Adresse, die Subnetzmaske und das Standard-Gateway für jede
Netzwerkkarte an.
16
16
Internet Protocol
Netmon
Netzwerk Monitor (Netmon) ist ein Programm des Microsoft Systems
Management Server (SMS).
Mit dem Netzwerk Monitor kann man:
• Datenpakete direkt aus dem Netzwerk mitschneiden.
• Mitgeschnittenen Netzwerkverkehr anzeigen und filtern.
• Pakete von einem anderen Rechner mitschneiden und auf dem
lokalen Rechner auswerten.
• Mitgeschnittene Pakete verändern und zu Testzwecken ins
Netzwerk senden, um Netzwerk Probleme reproduzierbar zu
machen.
Man kann den Netmon auch als ständigen Überwachungsmonitor konfigurieren,
der spezielle Pakete filtert.
17
17
Internet Protocol
Netmon
Start der Aufzeichnung
Adressdatenbank
18
18
Internet Protocol
Netmon
Ende der Aufzeichnung und
Detailbetrachtung der Pakete
Statistische Auswertung der Pakete
19
19
Hilfsprotokolle
Protokolle im TCP/IP-Referenzmodell
HTTP
Internetprotokolle
FTP
Telnet
IGMP
SMTP
TCP
Schicht 1
Ethernet
TokenRing
SNMP
TFTP
UDP
ICMP
IP
RARP
DNS
ARP
Token Bus
Wireless Lan
20
20
Hilfsprotokolle
ARP (Address Resolution Protocol)
•
Der Sender muß die Hardwareadresse des Empfängers kennen, bevor er ein IPPaket direkt verschicken kann.
•
Mit Hilfe von ARP werden IP- und Hardwareadresse einander zugeordnet
•
ARP benutzt die lokale Broadcastadresse, um die Hardwareadresse dynamisch zu
erhalten.
•
ARP speichert diese Zuordnungen für einen gewissen Zeitraum in einer Tabelle (arp
cache).
•
Statische Eintragungen in der Tabelle können manuell vorgenommen werden.
21
21
Hilfsprotokolle
ARP (Address Resolution Protocol)
ARP Request
A
B
C
D
E
ARP Response
A
1.
2.
3.
B
C
D
E
Ein Broadcast wird an alle Stationen im Netzwerk geschickt
Nur die Maschine mit der angefragten Adresse sendet eine Antwort
Die ARP-Anfrage ist nur gültig im lokalen Netz
22
22
Hilfsprotokolle
RARP (Reverse Address Resolution Protocol)
•
Mit Hilfe von Reverse-ARP werden bekannte Hardwareadressen IP-Adressen
zugeordnet.
•
Ein RARP-Server weist auf eine Anfrage per Broadcast einem Client-Rechner
die entsprechende IP-Adresse zu (Bsp. Bootp, DHCP)
A
B
C
D
E
RARP-Server
23
23
Hilfsprotokolle
ICMP (Internet Control Message Protocol)
•
Sendet Fehler- und Kontroll-Nachrichten
•
ICMP-Nachrichten werden in einem IP-Paket verpackt
•
ICMP ist ein Debugging-Hilfsmittel
ICMP Message Format:
IP Header......
Type
Code
Identifier
Checksum
Sequence Number
Optional Data
24
24
Hilfsprotokolle
ICMP (Internet Control Message Protocol)
Host
ICMP Reply
Router
ICMP Request
Host
ICMP Message
Router
• Information vom Router zum Host oder Host zu Host
• Ping benutzt ICMP Nachrichten
• Fehlermeldungen werden mit Hilfe von ICMP erzeugt
25
25
Hilfsprotokolle
Verschiedene ICMP Typen
0/8
Destination unreachable
Paket kann nicht zugestellt werden
792
3
Echo Reply / Echo Request
Zustandsantwort / -abfrage
792
4
Source Quench
Choke-Paket
792
5
Change Route Format
792
9
Router Advertisement
1256
10
Router Selection
1256
11
Time exceeded for Datagram
Time-to-Live hat den Wert 0
792
12
Parameter Problem on Datagram
Ungültiges Headerfeld
792
13 / 14
Time Stamp Request / Reply
Wie Echo reply, aber mit Zeitstempel
792
15 / 16
Information Request / Reply
792
17 / 18
Address Mask Request / Reply
950
30
Traceroute
1393
31
Datagram Conversion Error
1475
26
26
Hilfsprotokolle
TCP-IP Dienstprogramme
Ping [-t] [-n Anzahl] [-l Länge] [-f] [-i TTL] [-v TOS] [-s Anzahl] Zielliste
Überprüft die Netzwerkverbindung zu einem oder mehreren Remote-Hosts.
Dieser Befehl ist nur verfügbar, wenn das TCP/IP-Protokoll installiert wurde.
-t Sendet fortlaufend Ping-Signale zum angegebenen Host.
-n Sendet die mit Anzahl angegebene Anzahl an ECHO-Paketen. Standardwert
ist 4.
-l Sendet ECHO-Pakete der mit Länge angegebenen Datenlänge. Standardwert
ist 64 Bytes, Maximum ist 8192 Bytes.
-f Sendet ein "Nicht fragmentieren"-Flag im Paket. Das Paket wird dadurch von
keinem Gateway in der Route fragmentiert.
-i Setzt das Feld "Lebensdauer" auf den mit TTL angegebenen Wert.
-v Setzt das Feld "Servicetyp" auf den mit TOS angegebenen Wert.
Zielliste Gibt die Remote-Hosts an, für die Ping ausgeführt werden soll.
Weitere Parameter s. Handbuch
27
27
Hilfsprotokolle
TCP-IP Dienstprogramme
ARP -a
ARP dient zur Anzeige oder Änderung der Übersetzungstabellen, die von
ARP (Address Resolution Protocol) für die Umsetzung von IP-Adressen in
physische Ethernet- oder Token-Ring-Adressen verwendet werden. Dieser
Befehl ist nur verfügbar, wenn das TCP/IP-Protokoll installiert wurde.
Zeigt anhand einer TCP/IP-Abfrage alle aktuellen ARP-Einträge an. Bei
Angabe von IP_Adr werden nur die IP-Adresse und die physische Adresse
des betreffenden Computers angezeigt.
Weitere Parameter s. Handbuch
28
28
Hilfsprotokolle
TCP-IP Dienstprogramme
tracert Zielname
Dieses Diagnose-Dienstprogramm ermittelt die Route zu einem Ziel, indem
es ICMP-Echopakete (Internet Control Message Protocol) mit
unterschiedlichen TTL-Werten (Time-To-Live) sendet. Von jedem Router auf
dem Pfad wird erwartet, daß er den TTL-Wert für ein Paket vor dem
Weiterleiten um mindestens 1 verkleinert. TTL ist also in Wirklichkeit ein
Abschnittszähler. Wenn der TTL-Zähler für ein Paket den Wert Null erreicht,
sendet der Router eine "ICMP-Zeitüberschreitung"-Nachricht zur Quelle
zurück. Tracert ermittelt die Route, indem es das erste Echopaket mit dem
TTL-Wert 1 sendet und den TTL-Wert bei jeder folgenden Übertragung um
Eins erhöht, bis das Ziel antwortet oder der TTL-Höchstwert erreicht ist. Die
Route wird durch Prüfen der "ICMP-Zeitüberschreitung"-Nachrichten ermittelt,
die von den dazwischenliegenden Routern zurückgesendet werden.
Beachten Sie, daß einige Router Pakete mit abgelaufenem TTL-Zähler
"heimlich" entfernen, so daß sie für tracert unsichtbar sind.
29
29
Hilfsprotokolle
Netmon
Filterauswahl
Rechnerauswahl
30
30
Transportprotokolle
Protokolle im TCP/IP-Referenzmodell
HTTP
Internetprotokolle
FTP
Telnet
IGMP
SMTP
TCP
Schicht 1
Ethernet
TokenRing
SNMP
TFTP
UDP
ICMP
IP
RARP
DNS
ARP
Token Bus
Wireless L.
31
31
Transportprotokolle
UDP und TCP - die Transportschicht
A
SSH Client
IP Network
B
SSH Server
• Die Transportprotokolle sind als Dienste für die Applikationsschicht verfügbar
• TCP ist ein verbindungsorientiertes Protokoll, das die Ankunft der Pakete bestätigt
• UDP ist ein verbindungsloses und schnelles Protokoll
32
32
Transportprotokolle
UDP - so einfach wie möglich
Header Format
Bit Positon
0
8
16
24
Source Port
Destination Port
Message Length
Checksum
31
Data
•
•
•
•
•
•
8 Byte + Overhead
Verbindungslos
Keine Bestätigung der Pakete auf der UDP-Schicht
Die Checksumme bietet die einzige Möglichkeit die Ankunft der Pakete auf
Vollständigkeit zu testen
Adressierung des Programms (Applikation) geschieht über Portnummern
Im Gegensatz zu TCP erfolgt der Austausch von Informationen schneller
33
33
Transportprotokolle
UDP - basierte Applikationen
Routing Information
Automatic Address Assignment
Management
Name Service
File Transfer
DNS
BOOTP
TFTP
SNMP
RIP
53
67 / 68
69
161 / 162
520
„Well-Known Ports“ (UDP)
•
•
•
Bestätigung der Verbindung erfolgt über die Applikation
„Datagramme“ werden fortlaufend in bestimmter Größe gesendet
Vorzüge beim Transport von geringen Datenmengen
34
34
Transportprotokolle
TCP - die sichere Verbindung
•
Verbindungsorientiert
•
Flusskontrollmechanismen
•
Erzeugt logische Verbindungen zwischen zwei Prozessen: IP address & port
number
•
Zuverlässige Verteilung der Pakete von Ende-zu-Ende
•
Daten, die zwischen den beiden Kommunikationsstationen ausgetauscht
werden, nennt man “Segment”
•
Segmente werden aus folgenden Gründen ausgetauscht:
– Verbindungsaufbau “Three-Way-Handshake”
– Vereinbarung der Fenstergröße
– Datentransfer
– Verschicken der Bestätigungen
– Verbindungsabbau
35
35
Transportprotokolle
TCP - die sichere Verbindung
Header Format
Bit Positon
8
0
Source Port
16
24
Destination Port
31
Sequenz Number
Acknowledgment Number
Offset Res.
Flags
Window
Checksum
Urgent Pointer
Padding
Options
Data
•
•
•
Adressierung der Applikation über Portnummern
Datenpakete haben Sequenz - und Bestätigungsnummern:
Flusskontrolle
Anwendungen haben keinen Einfluss auf die Grösse der Segmente
36
36
Transportprotokolle
Die Verbindung über TCP
Client
Server
SYN, SEQ=100
SYN, SEQ=200, ACK=101
Verbindungsaufbau
ACK=201, SEQ=101
„Three-Way-Handshake“
37
37
Transportprotokolle
Die Verbindung über TCP
Client
Server
SEQ=101, ACK=201, Data
SEQ=201, ACK=102
Datenübertragung
SEQ=102, ACK=201, Data
SEQ=201, ACK=103
…
38
38
Transportprotokolle
Die Verbindung über TCP
Client
Server
FIN, SEQ=116, ACK=203
SEQ=203, ACK=117
FIN, SEQ=203, ACK=117
Verbindungsende
SEQ=117, ACK=204
39
39
Transportprotokolle
TCP-basierte Applikationen
Routing Information
Virtual Terminal
World Wide Web
File Transfer
Electronic Mail
FTP
telnet
20 / 21
23
SMTP
25
http
BGP
80
179
„Well-Known Ports“ (TCP)
• Bestätigungen schon auf Schicht 4
• Applikationen werden um einige Arbeitsschritte erleichtert
• „Overhead“ durch Bestätigungen
40
40
Transportprotokolle
Alles verstanden ?
Dann kann nur noch eine helfen ....
http://www.wdrmaus.de/sachgeschichten/internet/
41
41
Herunterladen