Inhalt - Uni Ulm

Werbung
Inhalt
Teil 4: Datenkommunikation
• ISO/OSI Schichtenmodell
• Ethernet und TCP/IP
Technische Informatik II, WS 2001/02
A. Strey, Universität Ulm
Kapitel 4.2 : Ethernet und TCP/IP
1
Netzwerke
Arten von Netzwerken:
• LAN („Local Area Network“): Abstand der Rechner
untereinander max. einige hundert Meter; in privater Hand !
Beispiele für verschiedene LAN-Technologien: Ethernet (IEEE 802.3),
Token Ring (IEEE 802.5), Wireless LAN (IEEE 802.11)
• MAN („Metropolitain Area Network“): Rechnernetz ist auf
eine bestimmte Region (z.B. eine Stadt) beschränkt
• WAN („Wide Area Network“): Rechnernetz erstreckt sich über
mehrere Länder und Kontinente und verbindet mehrere LANs
und MANs miteinander; Benutzung öffentlicher Datenwege
Beispiele: Telefonnetzwerk (Public Switched Telephone Network, PSTN),
ARPANET (Advanced Research Projects Agency Network, 1969-1990),
Datex-P (X.25), Internet, BelWü, DFN Gigabit Wissenschaftsnetz (G-WiN)
Technische Informatik II, WS 2001/02
A. Strey, Universität Ulm
Kapitel 4.2 : Ethernet und TCP/IP
2
Netzwerktopologien
• Bus
alle Knoten teilen sich eine Datenleitung; dezentrale
Steuerung; einfache Realisierung und Erweiterbarkeit
Nachteile: Leitungslänge begrenzt, Zugriffskonflikte
• Stern
von einem zentralen Vermittlungsknoten besteht eine
Punkt-zu-Punkt Verbindung zu jedem anderen Knoten;
einfache, zentrale Steuerung; Ausfall einer Leitung hat
nur lokale Folgen; einfache Realisierung
Nachteile: hohe Leistungs- und Zuverlässigkeitsanforderungen an Zentralknoten
• Ring
jeder Knoten ist mit genau zwei Nachbarknoten verbunden; einfache dezentrale Steuerung mittels „Token“
Nachteile: Knoten- oder Leitungsausfall bewirkt
Totalausfall des Netzwerks, lange Wege
Technische Informatik II, WS 2001/02
A. Strey, Universität Ulm
Kapitel 4.2 : Ethernet und TCP/IP
3
Netzwerktopologien (Forts.)
• Baum:
Kommunikation zwischen zwei Knoten erfolgt immer
über die in der Hierarchie höheren Knoten bis zu dem
ersten beiden Unterbäumen gemeinsamen Knoten
Nachteile: Ausfall oder Überlastung eines in der
Hierarchie höher liegenden Knotens oder einer Leitung
betrifft alle niedrigeren Knoten; Anforderung an
Leistung und Zuverlässigkeit der Knoten und Leitungen
wächst im Baum von unten nach oben
• Maschennetz:
jeder Knoten ist mit mindestens zwei, i.a. jedoch mit
mehreren anderen Knoten direkt verbunden; hohe
Ausfallsicherheit und hohe Leistung (durch parallele
Verbindungen) bei großem Vermaschungsgrad
Nachteile: hoher Aufwand für die große Anzahl von
Verbindungen; hohe Kosten; aufwendige Steuerung.
Technische Informatik II, WS 2001/02
A. Strey, Universität Ulm
Kapitel 4.2 : Ethernet und TCP/IP
4
Kopplung von Netzwerken
• Kopplungseinheiten dienen der Verbindung von Netzwerken
• verschiedene Ziele bei der Kopplung von Netzwerken, z.B.:
– Überwindung der physikalisch bedingten maximalen Ausdehnung eines
Netzwerks (z.B. aufgrund der Leitungslänge)
– Erhöhung der Knotenzahl
– logische Trennung von Netzwerksegmenten zur Reduzierung der Netzlast
• mögliche Aufgaben einer Kopplungseinheit sind:
–
–
–
–
Adreßumwandlung
Wegewahl (Routing)
Zusammensetzen von Paketen und Aufteilung in Pakete anderer Größe
Fehlerkontrolle
• Die Schicht im ISO/OSI-Referenzmodell, auf der eine
Kopplungseinheit operiert, bestimmt den Funktionsumfang.
Technische Informatik II, WS 2001/02
A. Strey, Universität Ulm
Kapitel 4.2 : Ethernet und TCP/IP
5
Kopplung von Netzwerken (Forts.)
• ein Repeater dient der reinen Signalverstärkung auf der untersten
(physikalischen) Schicht und somit der einfachen Verbindung
von zwei Netzwerksegmenten
• Protokolle aller darüberliegenden Schichten müssen gleich sein !
• ein Hub ist ein Repeater mit mehr als zwei Netzanschlüssen
Technische Informatik II, WS 2001/02
A. Strey, Universität Ulm
Kapitel 4.2 : Ethernet und TCP/IP
6
Kopplung von Netzwerken (Forts.)
• eine Brücke („Bridge“)
– verbindet i.a. zwei Netze mit unterschiedlichen Übertragungsmedien
– arbeitet auf der Sicherungsschicht, d.h. sie führt vor der Weiterleitung der
Daten eine Fehlerbehandlung durch
– leistet eine logische Trennung von Netzen: nur Pakete mit nichtlokalen
Zieladressen werden in das angekoppelte Subnetz übertragen
• ein Switch ist eine Brücke mit mehr als zwei Netzanschlüssen
Technische Informatik II, WS 2001/02
A. Strey, Universität Ulm
Kapitel 4.2 : Ethernet und TCP/IP
7
Kopplung von Netzwerken (Forts.)
• ein Router
– verbindet Netze mit unterschiedlichen Topologien, Netzwerktechnologien
und Netzwerkprotokollen
– operiert auf Vermittlungsschicht: bei mehreren alternativen Pfaden kann
Router einen Weg zum Zielknoten auswählen
– wertet die in Paketen enthaltenen Adressangaben aus und legt interne
Routing-Tabellen zur Bestimmung optimaler Wege an
Technische Informatik II, WS 2001/02
A. Strey, Universität Ulm
Kapitel 4.2 : Ethernet und TCP/IP
8
Ethernet
• weltweit sehr verbreitete LAN-Technologie
• historische Entwicklung:
– 1976 im Xerox Palo Alto Research Center entwickelt
– 1980 erster Standard von Xerox, DEC und Intel
– 1983 erster IEEE Standard 802.3
• leistet ungesicherte Übertragung von Paketen mit verschiedenen
Übertragungsmedien und Übertragungsgeschwindigkeiten
• verschiedene Standards:
Bezeichnung
Standard
„thickwire“ Ethernet 10Base5
„thinwire“ Ethernet 10Base2
Ethernet
Fast Ethernet
Gigabit Ethernet
10BaseT
100BaseT
1000BaseT
Technische Informatik II, WS 2001/02
A. Strey, Universität Ulm
Übertragungsmedium
10 mm ∅ Koaxialkabel
5 mm ∅ Koaxialkabel
2 „twisted pair“ Kabel
2 „twisted pair“ Kabel
4 „twisted pair“ Kabel
Bitrate
10 MBit/s
10 MBit/s
Topologie
Bus (< 500m)
Bus (< 185m)
10 MBit/s
Stern
100 MBit/s Stern
1000 MBit/s Stern
Kapitel 4.2 : Ethernet und TCP/IP
9
Ethernet Protokoll
Standard-Protokoll für Halb-Duplex Betrieb: CSMA/CD
1)
Wenn ein Rechner A Daten senden möchte, prüft er zunächst, ob der
Übertragungskanal frei ist (CS = „Carrier Sense“)
2) Sobald Kanal frei ist, beginnt Rechner A mit der Datenübertragung
3) Gleichzeitig hört Rechner den Datenkanal ab und vergleicht gesendetes
Signal mit abgehörtem Signal
4) Hat ein anderer Rechner B (fast) gleichzeitig mit einer Übertragung
begonnen (MA = „Multiple Access“), wird eine Kollision festgestellt (CD
= „Collision Detect“).
Bei Vorliegen einer Kollision:
5) Rechner A sendet spezielle „Jam“-Signale, um andere Rechner am Netz
von der Ungültigkeit der gesendeten Daten zu informieren
6) Rechner A wartet eine zufällig gewählte Zeitspanne und beginnt
Übertragung erneut mit Punkt 1)
Technische Informatik II, WS 2001/02
A. Strey, Universität Ulm
Kapitel 4.2 : Ethernet und TCP/IP
10
Ethernet Paket
• Aufbau eines Ethernet Paketes (Größe: 64-1516 Bytes):
• Bedeutung der Komponenten:
– „preamble“: 56-Bit Muster zur Synchronisation (gibt dem Empfänger
Zeit, ein Signal auf dem Kanal zu erkennen und Lesevorgang zu starten)
– „destination address“: physikalische 6-Byte Adresse des Zielrechners,
eine Multicast-Adresse für eine bestimmte Gruppe von Zielrechnern oder
eine Broadcast-Adresse (alle 48 Bit auf 1 gesetzt)
– „source address“: eindeutige physikalische 6-Byte Adresse des
sendenden Rechners; in den ersten 3 Byte ist Hersteller/Modell kodiert
– „length“: Länge des Datenfeldes (in Byte)
– „data“: zu übertragende Daten (46-1500 Byte); ggf. werden Null-Bytes
eingefügt, um eine minimale Paketlänge von 64 Byte zu erreichen
– „checksum“ : 32-Bit CRC Rest
Technische Informatik II, WS 2001/02
A. Strey, Universität Ulm
Kapitel 4.2 : Ethernet und TCP/IP
11
Ethernet Timing
• „propagation delay“ τ
– maximale Zeit τ, die ein Paket benötigen darf, um von einem Ende eines
Netzwerks zum anderen Ende transportiert zu werden
– legt maximale Kabellänge und maximale Anzahl der Repeater fest
• „round trip time“ („slot time“, 2 × τ)
– minimale Zeit, in der auch der entfernteste Rechner am Netzwerk eine
Kollision erkennen und ein „Jam“-Signal zurücksenden kann !
– wurde für 10/100 MBit/s Ethernet festgelegt als die Übertragungszeit für
512 Bit, also 51,2 µs bzw. 5,12 µs
– hieraus resultiert eine minimale Paketlänge von 64 Byte
• „interpacket gap“:
– minimale Zeit, die ein Knoten vor dem Versenden eines weiteren Paketes
warten muß
– Übertragungszeit von 96 Bit, bei 10/100 MBit/s also 9,6 µs bzw. 0,96 µs
– ermöglicht auch anderen Knoten, ein Paket zu senden (⇒ Fairness !)
Technische Informatik II, WS 2001/02
A. Strey, Universität Ulm
Kapitel 4.2 : Ethernet und TCP/IP
12
TCP/IP
• Abk. für „Transmittion Control Protocol / Internet Protocol“
• ursprünglich vor über 30 Jahren als Standard-Protokoll des
(D)ARPANET entwickelt, heute das Protokoll des Internet
• hohe Popularität, da bereits seit 1982 in jeder Berkeley UnixImplementierung verfügbar; heute auf jeder Plattform vorhanden
• technologieunabhängige Protokolle für ISO/OSI-Schichten 3 + 4
• Einordnung in
ISO/OSI-Modell:
Technische Informatik II, WS 2001/02
A. Strey, Universität Ulm
Kapitel 4.2 : Ethernet und TCP/IP
13
IP Protokoll
• Protokoll der Netzwerkschicht für eine paketvermittelte (d.h.
verbindungslose) Datenübertragung zwischen zwei Netzwerkknoten A und B
• von der Transportschicht übernommene Nachrichten werden in
kleinere Pakete aufgeteilt und unbestätigt über das Netzwerk
übertragen
(⇒ keine gesicherte Übertragung, Verlust von Paketen ist möglich !)
• Pakete können über Netzwerke unterschiedlicher Technologie
transportiert werden
• dynamisches Routing: Pakete einer Datenübertragung können
unterschiedliche Wege nehmen
• Verwendung globaler logischer Adressen (IP-Adressen) zur
Adressierung aller Netzwerkknoten
(32-Bit Adressen in IP Version 4, 128-Bit Adressen in IP Version 6)
Technische Informatik II, WS 2001/02
A. Strey, Universität Ulm
Kapitel 4.2 : Ethernet und TCP/IP
14
IP Protokoll (Forts.)
• Aufbau eines IP Paketes:
–
–
–
–
–
–
–
–
„version“: IP Versionsnummer (z. Zt. IPv4)
„length“: Länge des Headers (in Bytes)
„type of service“: angeforderte Service-Qualität (z.B. „normal, priority“)
„packet length“: Länge des Gesamt-Paketes (in Bytes)
„identification“: Name des Datenübertragung, zu der ein Paket gehört
„flags“ und „offset“: Angaben zum Paket (Position, noch weitere Pakete ?)
„time-to-live“: max. Zeit, die ein Paket im Netzwerk verbleiben darf
„header checksum“: CRC Prüfsumme, nur für Header !
Technische Informatik II, WS 2001/02
A. Strey, Universität Ulm
Kapitel 4.2 : Ethernet und TCP/IP
15
IP Adressen
• jeder Host und jeder Router im Internet verfügt über eine ihm
zugeteilte 32-Bit IP Adresse
• 5 verschiedene Klassen von IP-Adressen legen unterschiedlich
große Netzwerke fest:
• jedes Netzwerk der Klassen A, B oder C kann in Subnetzwerke
aufgeteilt werden, indem die „host ID“ in zwei Teile unterteilt
wird: „subnet ID“ und neue „host ID“, z.B. für Klasse B:
Technische Informatik II, WS 2001/02
A. Strey, Universität Ulm
Kapitel 4.2 : Ethernet und TCP/IP
16
IP Adressen (Forts.)
• spezielle IP Adressen:
• den IP-Adressen werden symbolische Namen zugeordnet, z.B.:
134.60.73.1 = neuro.informatik.uni-ulm.de
• mittels des DNS-Namendienstes („Domain Name Service“)
kann die IP-Adresse eines Rechners anhand des symbolischen
Namens ermittelt werden
• ARP-Protokoll dient der Abbildung von 32-Bit IP-Adressen auf
physikalische 48-Bit Ethernet-Adressen
Technische Informatik II, WS 2001/02
A. Strey, Universität Ulm
Kapitel 4.2 : Ethernet und TCP/IP
17
TCP Protokoll
• verbindungsorientiertes Protokoll der Transportschicht zwischen
zwei Endknoten einer Datenübertragung
• ermöglicht Übertragung eines (byte-orientierten) Datenstroms
vom Sender zum Empfänger
• leistet sichere Übertragung: TCP erkennt und fordert fehlende
Pakete erneut an, sortiert Pakete ggf. in korrekter Reihenfolge
• Schnittstellen zum TCP bilden vom Anwendungsprogramm
vergebene Kommunikationspunkte (sogenannte „Ports“), die
durch 16-Bit Portnummern angegeben werden
• Portnummern für Standard-Anwendungen sind festgelegt
(z.B.: 7 für Echo, 21 für ftp, 23 für telnet, 25 für smtp, 80 für http, ...)
• als TSAP („Transport Service Access Point “) bezeichnet man
die Kombination aus IP-Adresse und Portnummer
Technische Informatik II, WS 2001/02
A. Strey, Universität Ulm
Kapitel 4.2 : Ethernet und TCP/IP
18
TCP Protokoll (Forts.)
• Aufbau eines TCP Paketes:
–
–
–
–
„source/destination port“ : End-Kommunikationspunkte auf beiden Seiten
„sequence number“: Nummer des ersten gesendeten Bytes im Paket
„acknowledgement number“: Nummer des nächsten erwarteten Bytes
„flags“: Kennzeichnung spezieller Nachrichten, z.B. „acknowledgement“,
„urgent“, „final“, „connection reset“
– „window size“: erlaubte Größe des Antwort-Paketes (⇒ Flußkontrolle !)
– „urgent pointer“: Zeiger (Offset) auf wichtige Information in Paket
– „checksum“: CRC Prüfsumme, für Header und Daten !
Technische Informatik II, WS 2001/02
A. Strey, Universität Ulm
Kapitel 4.2 : Ethernet und TCP/IP
19
Sockets
• auf TCP/IP aufbauende „stream“-basierte Kommunikationsschnittstelle, mit der eine Punkt-zu-Punkt Verbindung zwischen
zwei Prozessen implementiert werden kann
• Unterscheidung zwischen Server (Dienstanbieter) und Klient
• Ablauf einer Socket-basierten Kommunikation (C, vereinfacht):
• Sockets in Java: Klassen Socket und ServerSocket im
Package java.net
Technische Informatik II, WS 2001/02
A. Strey, Universität Ulm
Kapitel 4.2 : Ethernet und TCP/IP
20
Zugehörige Unterlagen
Herunterladen