Ethernet

Werbung
4.1 Netzwerke / Einführung
SS 05
4.1.1 Einleitung, Begriff Protokoll
4.2.1 Begriffe in Rechnernetzen: geschichtetes Protokoll
Bild aus [1], S. 234
Es wird am Beispiel des Ablaufes eines Telefongespräches erläutert, in
welche unterschiedlichen zeitlich aufeinander folgenden Teile sich ein
typisches Gespräch am Telefon gliedern läßt (=Phasen des
Nachrichtenaustausches):
1) Begrüßung = Verbindungsaufbau
2) Warum ich anfrufe ... Nutzdatenübertragung
3) Fehlerbehandlung bei Störungen
4) Tschüß ... Verbindungsabbau
Die zugrunde liegenden Regeln, die beim Telefonieren beachtet werden
(z.B. man legt nicht einfach auf, ohne sich zu verabschieden, usw.)
werden im Sprachgebrauch der Netzwerke als Protokoll bezeichnet.
4.2 Netzwerke / Protokolle
[1], S236, Abb. 8.8
Erläuterung des Begriffes geschichtetes Protokoll am Beispiel des Telefons. Das Protokoll
des Telefonierens (oder genauer der Protokollschicht "Gespräch führen") ist weitgehend
unabhängig von der Telefontechnologie, d.h. die Regeln beim Telefonieren gelten
unabhängig davon, wie die Sprache technisch zwischen der beiden Partnern beim
Telefonieren ausgetauscht wird.
Es entsteht dabei der Eindruck das man mit dem Teilnehmer am anderen Ende der Leitung
direkt spricht (die Protokollschicht "Gespräch führen" beschreibt also die Regeln der
Kommuniaktion zwischen zwei Gesprächspartner) und nicht den Telefonapparat als
Gesprächspartner hat, obwohl das Gespräch damit übertragen wird.
In dieser Betrachtungsweise dient der Telefonapparat lediglich als Schnittstelle, um die Daten
zu übermitteln.
Jeder Teilnehmer muß wissen, wie diese Schnittstelle zu bedienen ist (Wählen, Hörer richtig
halten), ohne, daß es erforderlich wäre, zu verstehen, wie die darunter liegende Übertragung
durch die Leitungen der Telekom und die Vermittlungsstellen funktioniert.
Für die darunter liegende Sprachübertragung gibt es dann weitere technische Protokolle
(darunter liegende Protokollschichten), die elektrische Signalübertragung festlegen (z.B.
ISDN, analoges Telefon [Tonwahl, Impulswahl])
SS 05
4.2.1 Begriffe in Rechnernetzen: geschichtetes Protokoll
●
4.2 Netzwerke / Protokolle
SS 05
SAP hier: Service Access Point
[1], S. 237, Abb. 8.9
Die Kommunikationspartner, die zwar tatsächlich über darunter liegende
Protokollschichten (durch die Nutzung von Schnittstellen, sogenannten
Service Access Points (SAP)) mit einander kommunizieren, aber in der
Betrachtungsweise der geschichteten Protokolle Daten mit dem
Kommunikationspartner auf der gleichen Protokollebene am anderen Ende
der Übertragung austauschen, diese Kommunikationspartner bezeichnet
man als Peers. Der Kommunikationsfluß zwischen ihnen wird als virtuelle
Kommunikation bezeichnet, der Kommunikationsfluß zwischen den
Protokollschichten wird als realer Kommunikationsfluß bezeichnet.
4.2 Netzwerke / Protokolle
SS 05
4.2.2 Arten der Kommunikation (Fortsetzung)
●
Klassifikation nach der Empfängerzahl
–
Datenübertragung zwischen einem Sender und einem
Empfänger: Punkt-zu-Punkt-Kommunikation (Unicast,
Peer to Peer)
–
Übertragung zwischen einem Sender und allen
möglichen Empfängern in Netz: Broadcast
–
Übertragung Sender und einer echten Teilmenge der
möglichen Empfänger: Multicast
4.3 Netzwerke / Ehernet
4.5 Netzwerke / Nachrichtenübertragung (2)
SS 06
SS 06
4.5.2 Ethernet Eigenschaften
Ethernet: Bus-Technologie
●
LAN (Local [100m] Area Network) mit Bus-Topologie
●
Übertragung mit 10 MBit/s, 100MBit/s (Fast Ethernet),
1000MBit/s = 1GBit/s (Gigabit Ethernet)
●
MTU (Maximum Transfer Unit): maximal 1500 Byte Nutzdaten
●
Netzzugang: CSMA/CD (Kollisionen möglich, Behandlung mit:
Carrier Sense, Multiple Access with Collision Detection)
●
6-Byte Adressen, die von Hersteller vergeben werden und für jede
(Ethernet) Netzwerkkarte weltweit eindeutig sind, Bezeichnung:
Ethernet- oder MAC-Adresse (Media Access Control).
[Oberbegriff: Hardware-, physische, physikalische Adresse,
d.h. Ehternet ist ein Beispiel für eine Hardware-... Adresse]
Beispiel: 00:0E:35:1F:27:0C
Das Bild zeigt einen typischen Ethernet Stecker (RJ 45 - Stecker)
–
In diesem Beispiel liefert
http://standards.ieee.org/regauth/oui/index.shtml:
00-0E-35
(hex)
Intel Corp, 2111 NE 25th Ave, JF3420, Hillsboro OR 97123, UNITED STATES
4.2 Netzwerke / Protokolle
SS 06
4.2.2 Begriffe in Rechnernetzen: Nachricht, Protokoll
Frage: Wie werden die Daten in Rechnernetzen übertragen?
–
–
4.5 Netzwerke / Nachrichtenübertragung (2)
4.5.3 Ethernet Datenübertragung
–
Nachricht
●
Folge von Bits oder Bytes (allgemeiner: Zeichen), die zu
Paketen (Frames, Rahmen) zusammengefasst werden
●
Konvention zur Kodierung von Informationen
Kommunikationsprotokoll
●
Aussehen und Bedeutung der Pakete (Daten/Steuerpakete)
●
zulässige Abfolgen beim Austausch der Pakete
Typischer Inhalt eines Datenpaketes: Die Informationen werden mit der Zeit
von links nach rechts übertragen
[1], S. 235, Abb. 8.7, schematischer Aufbau eines Daten-Paktes
(Kopf [Header], Körper [Body], Ende [Schwanz, Trailer])
●
mit /ohne Kollision: [1], S. 244, Abb. 8.14:
●
Sendeversuch bei belegtem Bus
●
Sendeversuch bei freiem Bus
●
gleichzeitiges Abhören / Senden
●
Kollision erkennen
●
Sendung abbrechen
Hinweis: Weitere Technologien
●
Wireless LAN
●
Bluetooth
●
...
SS 05
4.7 Internet Protocol (IP)
SS 06
4.7 Internet Protocol (IP)
4.7.1 Übersicht
4.7.3 Protokollschichten (Fortsetzung)
Internet Protocol (1969, 1975, 1983)
●
–
●
●
Version 4: 4 Byte [32-Bit] IP-Adressen (Version 6: 128 Bit)
●
Adressen werden zusätzlich zu den Adressen der
Verbindungsschicht (z.B. Ethernet-Adressen) verwendet
–
●
●
Adresse wird durch 4 Zahlen angegeben: 141.22.110.160
jede Zahl steht für ein Byte => zwischen 0 .. 255
–
Adressen sind unabhängig von der Technologie des
verwendeten Netzwerkes
rp217n35:~ # arp -a
rp217n35:~ #
SS 06
IP-Adresse der Maschinen ist keine offizielle Adresse,
können benutzt werden, ohne dass es eine Maschine im Internet mit dieser Adresse gibt.
Dadurch wird vermieden, dass der Zugriff auf offizielle Internet-Maschinen verloren geht.
–
4.7 Internet Protocol (IP)
Masquerading (Ein Computer gibt sich als Absender aller IP- Pakte eines
gesamten Netzwerkes aus und ändert Portnummern und IP-Adressen)
●
NAT Network Address Translation
SS 06
4.7.6 Protokollschicht Transport, UDP
●
Innerhalb der IP-Protokoll-Familie unterscheidet man
zwei Unterprotokolle:
–
Zugang zum Internet soll möglich sein erforderlich:
Adressumsetzung, Begriffe:
●
Broadcast (=Nachricht an alle ): Wer hat IP-Adresse a.b.c.d ?
Typisch: Wiederholung der Abfrage nach einigen Minuten.
?
(141.22.110.1) at 00:00:0C:FE:FC:C0 [ether] on eth0
sr216n02.rzbd.haw-ham... (141.22.110.2) at 08:00:06:05:53:89 [ether] on eth0
Für private Zwecke reservierte IP-Adressen
–
In der Regel: dynamischer Aufbau (d.h. automatisch zur Laufzeit)
–
4.8.6 Bereiche privater Netzwerkadressen
●
Tabelle: Zuordnung IP-Adresse zur
physikalischen-Adresse Netzwerkes (z.B. Ethernetadresse)
●
Ethernet: 6 Byte vom Hersteller der Karte bei der Produktion festgelegt
Beispiel: Auto Fahrgestellnummer (entspricht Ethernetadresse) und
Kennzeichen (entspricht IP-Adresse)
4.8 IP - Routing
Netzzugangnsschicht (Fortsetzung)
–
eigene Adressierung
–
SS 06
–
User Datagramm Protokoll (UDP)
●
Verbindungslos (wie Briefpost), „unzuverlässig“
●
minimaler Protokolloverhead
●
Query/Response Anwendungen
Transmission Control Protokoll (TCP)
●
zuverlässiger verbindungsorientierter Datentransport (wie Telefon):
●
Reihenfolge richtig
172.16.0.0 bis 172.31.255.255 (172.16.0.0/12, Class B)
●
Algorithmus: Positiv Acknowledgement with Retransmission (PAR)
192.168.0.0 bis 192.168.255.255 (192.168.0.0/16, Class C)
●
Verbindungsorientiert
–
10.0.0.0 bis 10.255.255.255 (10.0.0.0/8, Class A)
–
–
–
logische Rechner-zu-Rechner-Verbindung durch Übertragung von
Kontrollinformationen (Handshake): Verbindungsaufbau, Verbindungsabbau
SS 05
4.8 IP - Routing
4.8 IP - Routing
4.8.1 Übersicht
4.8.3 IP-Adressen und Routing
●
●
●
SS 06
IP-Adresse: 32-Bit (= 4 Byte) Die 32 Bit werden in einen
„Landschaft“ mit Hosts und Gateways:
–
Physikalische Netze unterschiedlich
–
Frage: Wie gelangt ein Datenpaktet von A1 zu C1
Beispiel: Host A1 im Tokenring sendet Paket über
Gateways G1 und X.25 Netz zu Gateway G2, das die
Pakete über ein Ethernet an Host C1 übermittelt
–
Netzwerk-Teil (Netzwerk-Adress-Bits) und einen
–
Host-Teil (Host-Adress-Bits) aufgeteilt. Diese Unterteilung wird im
Absendersystem eines IP-Paktes herangezogen, um anhand der IP-Zieladresse zu
entscheiden, an welches Computersystem im Netzwerk das Paket im nächsten Schritt
weiterzuleiten ist.
–
Zwei Fälle:
–
●
Host-Teil stimmt überein => System im gleichen Netz
●
Host-Teil verschieden => Datenpaket an ein Gateway weiterleiten.
Das Gateway nimmt dann die Weiterleitung anhand seiner Konfiguration vor
Beispiel: IP 141.22.117.69, Netzwerkteil 22 Bit
1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0 0 1 0 1
Byte 1
SS 06
4.8 IP - Routing
–
Umfasst ebenfalls 32 Bit
–
Netzwerk-Teil mit 1 Bits gekennzeichnet
–
Mögliche Zahlenwerte für die Netzmaske:
IP-Adresse: 141.22.117.69
1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0 0 1 0 1
Netzmaske: 255.255.252.0
Byte 3
Byte 4
Netzwerkteil Hostteil
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
Byte 1
Byte 2
Byte 3
●
SS 05
Routing Table für Hosts (Host=Computer im Netzwerk)
–
8 Bit: 255; 7 Bit: 254, 6 Bit: 252, 5 Bit: 248, 4 Bit: 240, 3 Bit: 224, 2 Bit: 192, 1 Bit: 128
Byte 2
Byte 4
4.8.6 Routingtabellen
Netzmaske legt Aufteilung der IP-Adresse fest
Byte 1
Byte 3
4.8 IP - Routing
4.8.3 IP-Adressen und Routing
●
Byte 2
Byte 4
●
Ziel im lokalem Netzwerk
●
Ziel im entfernten Netzwerk: Gateway nutzen
Routing-Entscheidung: Tabellen Analyse
●
von „Hand“ administriert
●
Wird für alle empfangenen Pakete von oben nach unten durchlaufen
●
Flags: U=up, G=Gateway
●
Default: 0.0.0.0 (Maske 0.0.0.0), Gateway muss im lokalen Subnetz
sein)
rp217n35:~ # netstat -nr
Kernel IP routing table
Destination
Gateway
127.0.0.0
*
141.22.116.0
*
0.0.0.0
172.16.12.1
Genmask
255.0.0.0
255.255.254.0
0.0.0.0
Flags
U
U
UG
Metric
0
0
0
Ref
0
0
0
Use
0
0
0
Iface
lo
eth0
eth0
SS 06
SS 06
Nutzdatenübertragung
von pc-xxx zum Server rp217n35
Prozess
pc-xxx
PuTTy
Router
(Standardgateway)
Nutzdatenübertragung
von pc-xxx zum Server rp217n35
rp217n35
sshd
...
...
1171 ...
... ...
TCP
UDP
IP
Ethernet
pc-xxx
PuTTy
Netzwerkprogrammmodule des
Betriebssystems
22 ...
TCP
IP (Routing [Tabelle])
Ethernet
Ethernet
...
rp217n35
sshd
Router
(Standardgateway)
...
...
...
UDP
IP
Ethernet
1171 ...
... ...
22 ...
TCP
UDP
TCP
IP (Routing [Tabelle])
Ethernet
Ethernet
IP
Ethernet
141.22.112.1
141.22.112.37
00-01-02-16-25-10
00-01-02-B2-F1-27
Netzmaske 255.255.255.0
...
...
UDP
IP
Ethernet
141.22.117.69
141.22.116.1
00-01-02-B6-F5-FC
00-01-02-16-25-11
Netzmaske 255.255.254.0
SS 06
SS 06
Nutzdatenübertragung
von pc-xxx zum Server rp217n35
pc-xxx
PuTTy
Router
(Standardgateway)
Nutzdatenübertragung
von pc-xxx zum Server rp217n35
rp217n35
sshd
...
...
1171 ...
... ...
22 ...
TCP
UDP
TCP
IP
Ethernet
IP (Routing [Tabelle])
Ethernet
Ethernet
141.22.112.1
141.22.112.37
00-01-02-16-25-10
00-01-02-B2-F1-27
Netzmaske 255.255.255.0
Ethernet:
Abs.: 00-01-02-B2-F1-27
Empf.: 00-01-02-16-25-10
Datenpaket 1 IP:
Abs: 141.22.112.37
Empf.: 141.22.117.69
TCP:
Abs: 1171
Empf.: 22
... Nutzdaten ...
pc-xxx
PuTTy
...
rp217n35
sshd
Router
(Standardgateway)
...
...
...
UDP
IP
Ethernet
1171 ...
... ...
22 ...
TCP
UDP
TCP
IP
Ethernet
141.22.117.69
00-01-02-B6-F5-FC
Ethernet:
Abs.: 00-01-02-B2-F1-27
Empf.: 00-01-02-16-25-10
IP (Routing [Tabelle])
Ethernet
Ethernet
...
IP
Ethernet
141.22.117.69
141.22.116.1
00-01-02-B6-F5-FC
00-01-02-16-25-11
Netzmaske 255.255.254.0
Ethernet:
Abs.: 00-01-02-16-25-11
Empf.: 00-01-02-B6-F5-FC
Datenpaket 1 IP:
Abs: 141.22.112.37
Empf.: 141.22.117.69
TCP:
Abs: 1171
Empf.: 22
... Nutzdaten ...
...
UDP
IP:
Abs: 141.22.112.37
Empf.: 141.22.117.69
IP-Teil bleibt
unverändert
TCP:
Abs: 1171
Empf.: 22
... Nutzdaten ...
Datenpaket 2
SS 06
SS 06
Nutzdatenübertragung
von pc-xxx zum Server rp217n35
pc-xxx
PuTTy
Nutzdatenübertragung
von pc-xxx zum Server rp217n35
rp217n35
sshd
Router
(Standardgateway)
pc-xxx
PuTTy
...
...
1171 ...
... ...
22 ...
TCP
UDP
TCP
IP (Routing [Tabelle])
Ethernet
Ethernet
IP
Ethernet
...
rp217n35
sshd
Router
(Standardgateway)
...
...
...
1171 ...
... ...
22 ...
TCP
UDP
TCP
UDP
IP
Ethernet
IP (Routing [Tabelle])
Ethernet
Ethernet
IP
Ethernet
141.22.117.69
00-01-02-B6-F5-FC
Ethernet:
Abs.: 00-01-02-16-25-11
Empf.: 00-01-02-B6-F5-FC
Datenpaket 2
TCP:
Abs: 1171
Empf.: 22
... Nutzdaten ...
Präzisierung:
● Bei UDP kann sich genau ein Prozess
beim Betriebssystem registrieren, um die
Nutzdaten zu erhalten, die an einen Port
gesendet werden.
● Bei TCP ist das etwas komplizierter (s.o.):
viele Verbindungen über einen Port möglich.
Ethernet:
Abs.: 00-01-02-16-25-11
Empf.: 00-01-02-B6-F5-FC
IP:
Abs: 141.22.112.37
Empf.: 141.22.117.69
Datenpaket 2
TCP:
Abs: 1171
Empf.: 22
... Nutzdaten ...
SS 06
Nutzdatenübertragung
von pc-xxx zum Server rp217n35
Prozess
pc-xxx
PuTTy
... ...
TCP
UDP
IP
Ethernet
4.8.5 Routing durch Netze /Subnetze, Beispiel
rp217n35
sshd
●
...
...
1171 ...
Netzwerkprogrammmodule des
Betriebssystems
22 ...
TCP
IP (Routing [Tabelle])
Ethernet
Ethernet
141.22.112.1
141.22.112.37
00-01-02-16-25-10
00-01-02-B2-F1-27
Netzmaske 255.255.255.0
Ethernet:
Abs.: 00-01-02-B2-F1-27
Empf.: 00-01-02-16-25-10
TCP:
Abs: 1171
Empf.: 22
... Nutzdaten ...
...
IP:
Abs: 141.22.112.37
Empf.: 141.22.117.69
IP-Teil bleibt
unverändert
TCP:
Abs: 1171
Empf.: 22
... Nutzdaten ...
lokale Änderung der Aufteilung Host/Netzadresse = Netzwerk
innerhalb eines größeren Netzwerkes
DFN
...
UDP
IP
Ethernet
141.22.117.69
141.22.116.1
00-01-02-B6-F5-FC
00-01-02-16-25-11
Netzmaske 255.255.254.0
Ethernet:
Abs.: 00-01-02-16-25-11
Empf.: 00-01-02-B6-F5-FC
Datenpaket 1 IP:
Abs: 141.22.112.37
Empf.: 141.22.117.69
SS 05
4.8 IP - Routing
Router
(Standardgateway)
...
IP
Ethernet
141.22.117.69
00-01-02-B6-F5-FC
IP:
Abs: 141.22.112.37
Empf.: 141.22.117.69
...
UDP
Datenpaket 2
IP-Adresse
134.100.0.0
134.28.0.0
141.22.0.0
0.0.0.0
Netzmaske
255.255.0.0
255.255.0.0
255.255.0.0
0.0.0.0
Anschluß
1
2
3
0
HAW Netzversorgung
IP-Adresse
141.22.110.0
141.22.112.0
...
0.0.0.0
ISC
Netzmaske Anschluß
255.255.254.0
1
255.255.255.0
1
...
...
0.0.0.0
0
...
0
1
2
3
0
1
2
..
TU Harburg
Internet
Uni Hamburg
HAW
RZBD
IP-Adresse
141.22.110.0
141.22.111.0
141.22.112.0
0.0.0.0
Netzmaske Anschluß
255.255.255.0
1
255.255.255.0
2
255.255.255.0
3
0.0.0.0
0
0
1
2
3
...
PC PC
...
PC PC
...
PC PC
4.7 Internet Protocol (IP)
SS 06
4.7 Internet Protocol (IP)
4.7.11 TCP/IP Verbindung / Sockets
●
4.7.11 TCP/IP Verbindung / Sockets
Vorbemerkung: Standarddienste auf einem Server
werden über festgelegte Ports erreicht, Beispiele:
–
●
Unterschied UDP zu TCP: Verbindungsaufbau
–
●
http/www: TCP Port 80,
●
ssh (PuTTy): TCP Port 22,
●
Mail: TCP Port 25
●
Internet Namensdienst (DNS): UDP Port 42 (alt), TCP Port 53
–
Hinweis TCP und UDP Port-Nummern können völlig
unabhängig von einander benutzt werden:
Der Verbindungsaufbau erfolgt gerichtet:
●
Von einem Computersystem A
●
zu einem Computersystem B (wird auch als Server bezeichnet)
Schritt 1: Ein Prozess des Systems B registriert sich beim
Betriebssystem, um eingehende Verbindungswünsche für
einen TCP-Port zu bearbeiten.
●
●
Für die Port-Nummern werden bei UDP und TCP 16 Bit genutzt
●
Damit stehen 65536 UDP Ports zur Verfügung
●
und zusätzlich 65536 TCP Ports (insgesamt 131072)
4.7 Internet Protocol (IP)
SS 06
–
Schritt 1: Ein Prozess des Systems B registriert sich ...
–
Schritt 2: Ein Prozess des Systems A baut eine Verbindung
zu System B auf:
–
–
–
●
IP-Adresse System B und
TCP-Port B
Paket ist als Paket zum Verbindungsaufbau gekennzeichnet, d.h. das
sogenannte Syn-Bit ist gesetzt.
Beispiel Telefon: Jemand hebt den Hörer ab und wählt eine Nummer,
um einen anderen anzurufen
Es werden weitere Datenpakete ausgetauscht (3-Wege Handshake)
und damit ist die Verbindung aufgebaut
–
Beispiel Telefon: Es klingelt beim Empfänger und der Hörer wird
abgenommen.
SS 06
4.7.11 TCP/IP Verbindung / Sockets
–
Schritt 1: Ein Prozess des Systems B registriert sich ...
–
Schritt 2: Ein Prozess des Systems A baut Verbindung auf ...
–
Schritt 3: Die Prozesse auf System A und B können nun
jeweils Daten über die Verbindung senden und empfangen.
Dafür wird ein Datenpaket von A nach B geschickt, erforderlich:
–
Vergleich mit dem Telefonieren: Jemand setzt sich neben das
Telefon, um Anrufe entgegen zu nehmen und
wartet auf einen Anruf.
4.7 Internet Protocol (IP)
4.7.11 TCP/IP Verbindung / Sockets
●
SS 06
–
●
●
Beispiel Telefon: Es kann auf beiden Seiten gesprochen werden
●
Für verschiedene Anwendungen sind unterschiedliche Protokolle
erforderlich: http, https, ftp, ssh, ...
Schritt 4: Ein neuer Prozess auf System B kann sich
registrieren, um neue eingehende Verbindungswünsche für
den gleichen TCP-Port zu bearbeiten.
Wie werden eintreffende Datenpakete den Prozessen
zugeordnet? ->Nächste Folie
4.7 Internet Protocol (IP)
SS 06
4.7.11 TCP/IP Verbindung / Sockets
●
Wie werden eintreffende Datenpakete den Prozessen
zugeordnet ?
–
Es werden alle 4 folgenden Informationen (die jedes
Datenpaket enthält) verwendet:
●
Absender IP-Adresse, Absender TCP-Port-Nummer
●
Empfänger IP-Adresse, Empfänger TCP-Port-Nummer
●
Allgemein wird das folgende Paar als Socket (engl. Sockel)
bezeichnet:
–
–
●
Man unterscheidet bei einem Datenpaket also:
–
–
–
IP-Adresse
Port-Nummer
Absender-Socket
Empfänger-Socket
Damit ist eine Verbindung durch ein Socket-Paar festgelegt.
Herunterladen