Rechnernetze mit TCP/IP I

Werbung
Einführung in die
Informatik II
Kommunikation im Internet per TCP/IP Protokol
Prof. Dr. Nikolaus Wulff
Rechnernetze
• Rechner sind heute fast immer per Internet vernetzt.
• Das heutige Internet entstand aus dem ARPANET,
einem Forschungsprojekt des US Verteidigungsministeriums der sechziger Jahre, das einige
Hochleistungsrechner verband.
• Als Kommunikationsprotokol hat sich TCP/IP
durchgesetzt. IP steht für Internet Protocol und TCP
für Transmission Control Protocol.
• Der TCP/IP Protokol Stack zeichnet sich durch seine
Modularität und Erweiterbarkeit aus, da er von der
konkreten Hardware abstrahiert.
Prof. Dr. Nikolaus Wulff
Informatik II
2
Anzahl der Rechner im Internet
Prof. Dr. Nikolaus Wulff
Informatik II
3
Update: Stand 13.04.2010
• Nach wie vor wächst das Internet rasant, aber nicht
mehr exponentiell.
Prof. Dr. Nikolaus Wulff
Informatik II
4
Explosionsartiges Wachstum
• Das exponentielle Wachstum wurde ausgelöst durch
die Erfindung des World Wide Web (WWW) im Jahr
1991 durch Tim Berners-Lee am CERN und die
Einführung des freien Web-Browsers Mosaic 1993.
Prof. Dr. Nikolaus Wulff
Informatik II
5
Chinesen haben Gewicht...
• Die Sprünge 2009 entstanden (vermutlich) durch neue
chinesische Web-Sites, die 2010 teilweise wieder vom
Netz gingen...
Prof. Dr. Nikolaus Wulff
Informatik II
6
Soziale Netze
• Auch das neue Web2.0 mit den Sozialen Netzen, wie
z.B. Facebook, XING, etc. zeigt ähnliche Kurven.
Prof. Dr. Nikolaus Wulff
Informatik II
7
Prinzip von Kommunikation
• Zur Kommunikation gehören ein Sender und ein
Emfänger die eine gemeinsame Sprache sprechen.
Experte
Fachsprache
Experte
Direkte Kommunikation
• Solange sich beide mittels „Ihrer Fachsprache“ direkt
verständigen können ist alles ganz einfach...
• Nur: Der eine Experte spricht Chinesisch der Andere
Französisch!
Prof. Dr. Nikolaus Wulff
Informatik II
8
Prinzip von Kommunikation
• Zur Vermittlung werden Simultanübersetzer
eingesetzt.
Experte
Übersetzer
Fachsprache
Englisch
Experte
Übersetzer
tatsächliche Kommunikation
• Diese Übersetzer verstehen nicht die Fachsprache
können sie aber hören, übersetzen und sprechen.
• Es gibt zwei Ebenen des Verstehens.
Prof. Dr. Nikolaus Wulff
Informatik II
9
Prinzip von Kommunikation
• Die Experten befinden sich auf verschiedenen
Schiffen. Funker werden eingesetzt...
Experte
Übersetzer
Funker
Fachsprache
Englisch
Morsezeichen
Experte
Übersetzer
Funker
• Die Funker verstehen überhaupt nichts von der
Fachsprache der Experten und auch deren Englisch
reicht nur zum Morsen des Textes...
Prof. Dr. Nikolaus Wulff
Informatik II
10
Prinzip von Kommunikation
• Die eigentliche Kommunikation geschieht über
verschiedene separierte Schichten...
Experte
Übersetzer
Funker
Funkgerät
Prof. Dr. Nikolaus Wulff
Fachsprache
Englisch
Morsezeichen
Elektromagnetische
Wellen
Informatik II
Experte
Übersetzer
Funker
Funkgerät
11
Schichtenarchitektur
• Weder der Experte noch der Übersetzer verstehen
etwas vom Funken oder elektromagnetischen Wellen.
• Der Funker kann nur so viel Englisch um den Text zu
morsen. Das Thema des Experten ist für ihn auch auf
Englisch (Fach)Chinesisch...
• Der Funker kennt die Physik elekt. Wellen auch nur
in den Grundlagen, er muss das Funkgerät nicht bauen
oder entwerfen.
• Vorteil: Dies bietet eine sehr effiziente Arbeitsteilung,
jeder macht das, was er am besten kann.
Prof. Dr. Nikolaus Wulff
Informatik II
12
Open Systems Interconnection
Sender
7
Anwendung
6
Darstellung
5
Sitzung
4
Transport
3
Vermittlung
2
Sicherung
1
Bitübertragung
Prof. Dr. Nikolaus Wulff
Das OSI Referenzmodell (1984)
Anwendungsprotokoll
Darstellungsprotokoll
Sitzungsprotokoll
Empfänger
Application
Presentation
Session
Transportprotokoll
Transport
Vermittlungsprotokoll
Network
Sicherungsprotokoll
Übertragungsprotokoll
Informatik II
Data Link
Physical Layer
13
TCP/IP Schichtenmodel
OSI Layer
V - VII
IV
FTP
TCP
III
II
IP
Ethernet
I
Prof. Dr. Nikolaus Wulff
FTP Protokoll
virtuelle Verbindung
TCP Protokoll
IP Protokoll
Ethernet Protokoll
I
N
T
E
R
N
E
T
FTP
TCP
IP
L
O
C
A
L
Ethernet
Physikalische Verbindung
Informatik II
14
Hardware Abstraktion
• IP ist eine logische Schicht, über einer konkreten
Hardware, die physikalisch sehr unterschiedlich sein
kann:
– feste Verkabelung, Funkstrecke, Telefonleitung, Satellit...
• Jedes Medium und oder Gerät erfordert einen anderen
Ethernet-Adapter, der dann aus Sicht von IP gleich
angesprochen werden kann.
• Dies ist eines der großen Vorteile von TCP/IP, sobald
ein passender Adapter für das Medium/Gerät und IP
vorhanden ist, kann jegliches Gerät/Medium im Netz
transparent mit eingebunden werden.
Prof. Dr. Nikolaus Wulff
Informatik II
15
Ethernet Karten
• Zum eindeutigen Identifizieren von Ethernet Karten
wird immer die Media Access Control Adresse MAC
benötigt. Diese ist eine weltweit eindeutige sechs Byte
Seriennummer des jeweiligen Herstellers.
• Physikalische Adressen gelten innerhalb eines physikalischen Netzsegment im OSI Layer II, logische IP
Adressen gelten für die Kommunikation innerhalb des
weltweiten Netzes ab Layer III.
• Eine Netzwerkkarte benötigt zur Kommunikation im
IP Netz immer beide Adressen.
Prof. Dr. Nikolaus Wulff
Informatik II
16
Ein- und Auspacken
• Nachrichten werden als (IP) Pakete versendet.
• Jede Schicht fügt geeignete Kontrollinformationen zu
der Nachricht hinzu, die von der Gegenseite wieder
interpretiert und entfernt werden.
Nachricht:
10010100111110101
TCP Paket: TCP-Header 10010100111110101
IP Paket
IP-Header
TCP-Header 10010100111110101
• Ein Protokoll legt den Versand und Aufbau von
Nachrichtenpaketen in jeder Schicht fest.
Prof. Dr. Nikolaus Wulff
Informatik II
17
Ethernet-Frame
• Ein Datenpaket im Layer II heißt (Ethernet)-Frame
und kann maximal 1500 Byte Nutzlast transportieren.
Nach IEEE 802.3 hat es die Struktur:
Präamble SFD DMAC SMAC Length Data Padding
7 Byte 1 Byte 6 Byte 6 Byte 2Byte 46 – 1500 Byte
FCS
4 Byte
• Der Starting Frame Delimiter zeigt den Beginn eines
Frames an, DMAC und SMAC sind die MAC
Adressen von Empfänger und Sender. Zur Erkennung
von Kollisionen sind wenigstens 64 Bytes notwendig,
andernfalls wird das Frame mit Padding aufgefüllt.
Die Frame Check Sequence ist eine Prüfsumme, um
Übertragungsfehler zu erkennen.
Prof. Dr. Nikolaus Wulff
Informatik II
18
Request For Comments
• Wichtige Protokolle werden in Form von RFC's als
offene Standards im Internet festgelegt:
http://www.rfc-editor.org/
• Auszug einiger bekannter Standards:
–
–
–
–
–
–
RFC 768 User Datagram Protocol UDP (1980)
RFC 791 Internet Protocol IP (1981)
RFC 793 Transmission Control Protocol TCP (1981)
RFC x821 Simple Mail Transfer Protocol SMTP (1982)
RFC 959 File Transfer Protocol FTP (1985)
RFC 1945 Hyper Text Transfer Protocol HTTP (1996)
• RFC's werden fortlaufend weiter verfeinert, wenn es
neue Technologien oder Anforderungen erfordern...
Prof. Dr. Nikolaus Wulff
Informatik II
19
Beispiel RFC 821 (SMTP)
RFC 821
August 1982
Simple Mail Transfer Protocol
TABLE OF CONTENTS
1.
INTRODUCTION .................................................. 1
2.
THE SMTP MODEL ................................................ 2
3.
THE SMTP PROCEDURE ............................................ 4
Einiges ausgelassen ...
4.
THE SMTP SPECIFICATIONS ......................................
4.1.1. Command Semantics .....................................
4.1.2. Command Syntax ........................................
4.2. SMTP Replies ............................................
4.2.1. Reply Codes by Function Group .........................
4.2.2. Reply Codes in Numeric Order ..........................
4.3. Sequencing of Commands and Replies ......................
4.4. State Diagrams ..........................................
4.5. Details .................................................
4.5.1. Minimum Implementation ................................
4.5.2. Transparency ..........................................
4.5.3. Sizes .................................................
APPENDIX A: TCP .................................................
Prof. Dr. Nikolaus Wulff
Informatik II
19
19
27
34
35
36
37
39
41
41
41
42
44
20
RFC 821 cont.
• RFC's sind plain Text Dokumente, welche die allgemeine Architektur, die Schnittstellen und Protokolle
des Internets festlegen.
• ...eine herstellerunabhängige Standardisierung...
Prof. Dr. Nikolaus Wulff
Informatik II
21
Grundelemente eines Netz
• Knoten: Endgeräte Rechner, Host, ...
• Verbindungen: Leitungen, Glasfaser, Funk,...
• Direkte 1:1 Kommunikation Peer to Peer (P2P)
A
B
• Mehrfachzugriffsverbindungen (Bus)
A
Prof. Dr. Nikolaus Wulff
B
C
Informatik II
...
X
22
Netzadresse
• Jeder Knoten im Netz hat hardwareseitig eine MAC
(Media Access Control) Adresse, dieser wird virtuell
eine eindeutige IP Adresse zugewiesen.
• Im Standard IPv4 ist dies eine 32 Bit Zahl gruppiert
zu vier 8-Bitzahlen im Bereich 0-255. z.B. hat der
Lab4Inf Server www.lab4inf.fh-muenster.de die IP
194.95.9.101
• Per Domain Name Service (DNS) kann eine solche
IP Adresse einer Domaine/bzw. einem sprechenden
Hostnamen zugeordnet werden und vice versa.
• Maximal gibt es 232 ≈ 4 Milliarden IP Adressen...
Prof. Dr. Nikolaus Wulff
Informatik II
23
Interpretation der IP Adresse
• Die IP Adresse beinhaltet sowohl die Netz- als auch
die Host/Geräteadresse. Die Trennung von Netz- und
Geräteteil entsteht durch die Netzwerkmaske, die per
AND (NOT) verknüpft wird:
Binär
IP Adresse
130.094.122.195
Maske
255.255.255.224
Netzwerkadr. 130.094.122.192
Geräteadr.
3
IP : 10000010
N : 11111111
01011110
11111111
IP ∧ N : 10000010 01011110
IP ∧¬N : 00000000 00000000
Prof. Dr. Nikolaus Wulff
Informatik II
01111010
11111111
01111010
00000000
11000011
11100000
11000000
00000011
24
Netz- und Broadcast Adresse
• Zu einer IP Adresse gehört immer eine zugehörige
Netzwerkmaske, um Netz- und Geräteadressen
auflösen und trennen zu können.
• Lautet die Netzmaske z.B. 255.255.255.0 so gibt es
im Netzsegment maximal 256 Geräteadressen.
• Die 0 ist die Adresse des Netzes selbst und die
maximale Adresse – hier 255 –, wird als Rundrufadresse (Broadcast) verwendet. Physikalisch ist dies
immer die MAC Adresse FF:FF:FF:FF:FF:FF.
• Ferner wird mindestens eine Adresse für das Gateway
benötigt, um auch entfernte Hosts per Routing zu
erreichen.
Prof. Dr. Nikolaus Wulff
Informatik II
25
ifconfig Beispiel
racer:~ # ifconfig
eth0
Link encap:Ethernet HWaddr 00:15:58:81:2A:1F
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Base address:0x3000 Memory:ee000000-ee020000
eth1
Link encap:Ethernet HWaddr 00:19:D2:2A:21:33
inet addr:192.168.2.4 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::219:d2ff:fe2a:2133/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3732 errors:81 dropped:613 overruns:0 frame:0
TX packets:3224 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2792016 (2.6 Mb) TX bytes:831561 (812.0 Kb)
Interrupt:17 Base address:0xe000 Memory:edf00000-edf00fff
Prof. Dr. Nikolaus Wulff
Informatik II
26
Netzwerkkonfiguration
• Mit dem ifconfig (UNIX) bzw. ipconfig (Windows)
Befehl lässt sich die aktuelle Netzwerkkonfiguration
anschauen und modifizieren.
• Das Beispiel zeigt das Ausführen von ifconfig auf
einem Linux Rechner im lokalen Home-Netzwerk
192.168.2.0 mit der Netzmaske 255.255.255.0.
• Der Rechner (racer) hat eine (nichtverbundene) LAN
Karte mit der MAC 00:15:58:81:2A:1F und eine
verbundene WLAN Karte 00:19:D2:2A:21:33.
• Die maximale Paketgröße (maximal transfer unit)
MTU beträgt 1500 Byte.
Prof. Dr. Nikolaus Wulff
Informatik II
27
Address Resolution Protocol
• Befinden sich Sender und Empfänger im selben
Netzsegment, so können sie nach dem Auflösen der
IP Adresse direkt im Ethernet kommunizieren.
• Zum Bestimmen der physikalischen Adresse sendet
der Sender seine physikalische und IP Adresse per
ARP - Rundruf/Broadcast an alle Rechner im
Netzsegment. Der gesuchte Rechner antwortet mit
seiner physikalischen MAC Adresse.
• Die Rechner behalten eine gefundene Auflösung für
eine gewisse Zeit (~300sec) im Cache...
– Der Cache lässt sich per arp -v anzeigen und per arp -d
explizit löschen und per arp -s setzen.
Prof. Dr. Nikolaus Wulff
Informatik II
28
ARP
• Per arp Befehl lässt sich der ARP Cache inspizieren:
racer:~ # arp -v
Address
HWtype HWaddress
Flags Mask
192.168.2.1
ether 00:11:50:3D:C9:08 C
Entries: 1
Skipped: 0
Found: 1
Iface
eth1
• Nach dem Aufruf des lokalen Netzwerkdruckers ist
ein neuer Eintrag 192.168.2.10 im Cache...
racer:~ # arp -v
Address
HWtype HWaddress
Flags Mask
192.168.2.1
ether 00:11:50:3D:C9:08 C
192.168.2.10
ether 00:1E:0B:43:38:17 C
Entries: 2
Skipped: 0
Found: 2
Iface
eth1
eth1
• Zu erkennen ist das Mapping von IP zur MAC
Adresse, diese besteht aus sechs 8-Bit Hexzahlen.
Prof. Dr. Nikolaus Wulff
Informatik II
29
IP Routing
• Im IP Header ist sowohl die IP Adresse des Senders
als auch des Empfängers vermerkt.
• Eine Nachricht, deren Empfänger nicht im eigenen
Subnetz liegt, wird an ein sogenanntes Gateway
geschickt, dass sich um die Weiterleitung per Routing
kümmert.
• Router pflegen Routing-Tabellen, um einen möglichst
optimalen Weg im Netz zu finden.
– Früher wurden diese Tabellen zentral gepflegt, bei der
heutigen Dimension des Internets ist dies nicht mehr
möglich. Router bauen ihre Routing-Tabellen dynamisch
durch Kontaktierung „benachbarter Router“ auf...
Prof. Dr. Nikolaus Wulff
Informatik II
30
Netztopologien
• Die Knoten in einem Netz können vielfältig miteinander verbunden sein:
Switch
(Token)
Ring
Sternförmig
Prof. Dr. Nikolaus Wulff
Informatik II
31
Zusammenschluß von Netzen
• Verschiedene Hosts und Netzwerke werden mit
Routern und Gateways zusammengeschaltet.
192.168.2.0/24
172.16.9.56
H
172.16.9.0/24
H
R
H
R
172.16.1.0/24
H
H
172.16.1.13
R
Prof. Dr. Nikolaus Wulff
H
H
Informatik II
H
10.104.5.0/24
10.104.5.0
32
Netz und Netzwerkmaske
• Die Interpretation der Geräteadressen innerhalb eines
Netzes erfolgt immer per Netzwerkmaske.
• Ohne Kenntnis der Netzwerkmaske ist die Netzwerkadresse nicht eindeutig einem Gerät zuzuordnen.
• Die Bitfolge der Maske muss immer aus führenden
Einsen bestehen, z.B 111111111111111100000000....
• Die Maske ist daher eindeutig durch die Anzahl an
Einsen definiert.
• Anstatt die Maske 255.255.0.0 anzugeben wird häufig
verkürzt 172.16.1.0/16 geschrieben, um die ersten 2
Byte der Maske als Einsen zu kennzeichnen.
Prof. Dr. Nikolaus Wulff
Informatik II
33
Netzwerke: Physical Layer
• Nachrichten werden in Lokal Area Netzwerken
(LAN) mit optischen oder elektrischen Leitern
übertragen.
• In einem Wireless WLAN erfolgt entsprechend die
Übertragung per Funk.
• Grob simplifiziert werden einzelne Bits quasi als
Rechteckimpulse auf einem Leiter übertragen.
• Dieser Rechteckimplus pflanzt sich vom Sender zum
Emfänger nach den Maxwellschen Gleichungen fort...
x = vg· t
S
t0
Prof. Dr. Nikolaus Wulff
t1
t2
tn
Informatik II
E
Ort
34
Telegraphengleichung
• Die Ausbreitung des elektromagnetischen Feldes
genügt den Maxwellschen Gleichungen.
• Angewandt auf einen unendlich langen Draht in xRichtung führen diese auf die Telegraphengleichung:
2
2
∂ U
∂ U
∂U
=C⋅L
C⋅R
2
2
∂t
∂x
∂t
• Für einen idealen Leiter mit R=0 ergeben sich als
Lösungen Sinus- und Cosinus-Wellen der Form:
U  x ,t =U 0 sin  t ±k x 
• mit k =  C⋅L
Prof. Dr. Nikolaus Wulff
Informatik II
35
Fourierreihe eines Rechtecks
• Approximation eines Rechteckimpuls durch eine
n
endliche Fourierreihe:
sin 2j1 x 
E n  x =∑ j =1
Prof. Dr. Nikolaus Wulff
Informatik II
2j1
36
Modell eines Rechteckimpulses
• Ein Rechteckimpuls breitet sich auf dem Draht als
eine Überlagerung verschiedener Sinuswellen aus.
• Medium und/oder Draht haben unterschiedliche
Wellenwiderstände in Abhängigkeit von der Frequenz
des Signals. Dies führt zu verschiedenen Effekten:
– Es gibt eine maximale Übertragungsfrequenz
• 10MBit/s und 100MBit/s Ethernet Übertragung
– Das Rechtecksignal „zerfliesst“ mit längerer Laufzeit
• Begrenzung der maximalen Leitungslänge
– Es entstehen Reflexionen auf Kabeln endlicher Länge
• Terminierung mit Abschlußwiderstand
• Es darf nur ein Adapter zur Zeit senden!
Prof. Dr. Nikolaus Wulff
Informatik II
37
Paket-Kollisionen
• Senden zwei Geräte quasi gleichzeitig ein Signal
kommt es auf der Übertragungsstrecke zu einer
Überlagerung und die Signale werden unbrauchbar.
S
S
Prof. Dr. Nikolaus Wulff
Informatik II
Ort
38
CSMA/CD
• Netzwerkadapter haben einen Sensor zum Entdecken
einer Kollision. Der erste Adapter der diese entdeckt,
generiert ein JAM-Signal, das allen signalisiert, dass
ein Fehler passiert ist.
• Alle Netzwerkkarten „schweigen“ nun und wissen,
dass ihre Kommunikation gestört war. Nach einer
Zufallszeit beginnt der erste Adapter erneut mit seiner
Sendung...
• Dieses als „Carrier Sense Multiple Access/Collision
Detection“ benannte Verfahren garantiert eine sichere
Übertragung von Nachrichten, auf Kosten der
Übertragungsgeschwindigkeit bei viel Traffic.
Prof. Dr. Nikolaus Wulff
Informatik II
39
CSMA/CA
• Im Wireless WLAN Betrieb hat sich das CSMA/CA
Verfahren durchgesetzt. CA steht für „Collision
Avoidence“.
• Vor Beginn einer Nachricht sendet der Adapter ein
„Request-to-Send“ (RTS) Signal ins Medium. Gibt es
keine Kollision so gehört dem Adapter das Medium
und er darf senden, alle anderen Adapter „lauschen“.
• Nach der Sendung generiert der Adapter ein „Clearto-Send“ (CTS) Signal, um das Medium für alle
anderen wieder frei zugeben.
• Kollisionen während der Sendung werden vermieden.
Prof. Dr. Nikolaus Wulff
Informatik II
40
Brücken trennen und verbinden
• Sind zu viele Rechner in einem Netzsegment, so kann
dieses durch Bridges in zwei Hälften zerlegt werden,
um die Kollisionswahrscheinlichkeit zu halbieren.
• Ein Bridge pflegt einen ARP Cache und ist nur
durchlässig für Anfragen von einer Seite auf die
Andere, wenn dies notwendig ist. Broadcasts werden
allerdings immer weitergeleitet...
1
2
3
7
8
9
10
B
4
Prof. Dr. Nikolaus Wulff
5
6
Informatik II
41
Vielseitige Bridges
• Angenommen 1 und 2 kommunizieren, die Station 7
kann dies nicht wissen und so muss die Bridge eine
Sendung von 7 nach 3 zwischenspeichern, um eine
Kollision zu vermeiden.
• Die Bridge liest daher den IP Header und interpretiert
ihn geeignet. Sie kann das Signal nicht nur speichern,
sondern auch verstärken oder transformieren wenn im
linken und rechten Segment eine unterschiedliche
physikalische Netzwerktechnologie verwendet wird.
• Auf Grund der Zwischenspeicherung ist es nun auch
möglich z.B. 10-MBit mit 100-MBit Netzen zu
verbinden.
Prof. Dr. Nikolaus Wulff
Informatik II
42
Zugehörige Unterlagen
Herunterladen