Kapitel 7: Netze

Werbung
Grundlagen der Informatik III
WS 2008 / 2009
[Folien basierend auf VL von Prof. Dr. Claudia Eckert, WS 07/08]
Prof. Dr. rer. nat. Frederik Armknecht
Sascha Müller
Daniel Mäurer
Fachbereich Informatik / CASED
Mornewegstraße 30
64293 Darmstadt
Gliederung der Vorlesung GdI 3
1. Einführung
2. Assemblerprogrammierung
3. Leistungsbewertung
4. Speicherhierarchie
5. Assembler, Binder, Lader
6. Betriebssysteme und Ein-/Ausgabe (Grundlagen)
7. Rechnernetze (Grundlagen)
8. Compiler (Grundlagen)
Fachbereich Informatik | Prof. Dr. F. Armknecht | 2
Gliederung dieses Kapitels
7.1 Klassifikation von Netzen
7.2 Netz-Topologien
7.3 Übertragungsmedien
7.4 Kommunikationsformen
7.5 Kommunikationsprotokolle
7.6 Sicherungsschicht
7.7 Netzwerkschicht
7.8 Internet-Protokoll-Familie
7.9 Protokolle der Anwendungschicht, Auswahl
Fachbereich Informatik | Prof. Dr. F. Armknecht | 3
Kapitel 7 Rechnernetze
Ziel: wesentliche Aufgaben, Protokolle, Netzstrukturen
Literatur
 A.S. Tanenbaum, Computer Networks, Prentice Hall
Motivation: was passiert bei einem Zugriff auf eine Web-Seite
Internet
Zur Realisierung werden benötigt:
• Kommunikationsprotokolle und Netzwerk-Komponenten
Fachbereich Informatik | Prof. Dr. F. Armknecht | 4
7.1. Klassifikation von Netzen
 Meist eine Klassifikation anhand der physischen Ausdehnung der
Netze: LAN, MAN, WAN, (PAN, BAN?)
PAN mit Bluetooth
Fachbereich Informatik | Prof. Dr. F. Armknecht | 5
7.1.1 Local Area Networks (LAN)
•
Netz für bitserielle Übertragung von Daten zwischen
unabhängigen, untereinander verbundenen Systemen.
• Rechtlich unter der Kontrolle des Benutzers; auf den Bereich
innerhalb eines Grundstücks, Gebäudes beschränkt.
• Durchmesser wenige 100m, begrenzte Teilnehmerzahl
• Relativ hohe Datenrate: u.a. 16Mbit/s, 1-10Gbit/s
• Übertragung unterschiedlicher Informationsarten (Text, Bild,
Sprache, ...)
• Verwendung verschiedener Medien zur Datenübertragung
(Kupfer, Koax, Glasfaser, Äther)
Bem.: Bei Gigabit-Ethernet ist auch parallele Übertragung
standardisiert. Dennoch spricht man von LAN-Technologie.
Fachbereich Informatik | Prof. Dr. F. Armknecht | 6
7.1.2 Metropolitan Area Networks (MAN)


Durchmesser: wenige Kilometer, Stadt(gebiet)
Beispiel: MAN basierend auf Kabel-TV
Fachbereich Informatik | Prof. Dr. F. Armknecht | 7
7.1.3 Wide Area Networks (WAN)
• Ausdehnung über große geografische Gebiete (Land, Kontinent)
• Hosts sind über Kommunikations-Subnetze verbunden
• Ein Kommunikations-Subnetz: typisch verwaltet durch
Telefongesellschaft oder durch Internet Provider
• Subnetz besteht aus Übertragungsleitungen und
• Vermittlungselementen (Router)
Fachbereich Informatik | Prof. Dr. F. Armknecht | 8
7.1.3 Wide Area Networks (WAN)
• Kommunikation ist auch zwischen nicht direkt verbundenen
Routern möglich: Pfad über andere Router
• übertragenen Daten werden in idR in Pakete aufgeteilt
• Router können Pakete speichern und weiterleiten:
• store-and-forward or packet-switched subnet
• wichtige Aufgabe: Routing-Verfahren für Pakete
Fachbereich Informatik | Prof. Dr. F. Armknecht | 9
7.1.4 Internet: Netz von Netzen
• Gateways: Maschinen, die zwischen verschiedenen
Hardware-Komponenten, Protokollen und Software vermitteln
• Gebräuchliche Form: LANs verbunden durch WAN
Fachbereich Informatik | Prof. Dr. F. Armknecht | 10
7.2 Netz-Topologien
Netz-Topologie: Struktur von Rechnernetzen
• Klassifikation danach, welche Beziehungen die Rechner
aufgrund der Verbindungsleitungen zueinander haben
7.2.1 Bus-Topologien
• alle Rechner an einem Übertragungsmedium angeschlossen
• Broadcastmedium, jede Station hört ständig das Medium ab
• Beispiel: Ethernet
Fachbereich Informatik | Prof. Dr. F. Armknecht | 11
7.2.2 Ring
• In der Regel sendet jede Station nur in eine Richtung und
empfängt aus der anderen; d.h.
• jede Station muss ein empfangenes Paket weiter senden,
der Ring besteht aus Punkt-zu-Punkt-Verbindungen
• Beispiel: FDDI (Fiber Distributed Data Interface), Token Ring
Bem.: FDDI idR als
Doppelring aufgebaut
Fachbereich Informatik | Prof. Dr. F. Armknecht | 12
7.2.3 Stern
• jede Station wird mit einer (zentralen) Station verbunden
• Beispiel z.B. Telefonnetz der Telekom
• zentrale Station muss hoch zuverlässig sein
• Vorteil: Fehlverhalten einer einzelnen
nicht zentralen Station wird schnell
erkannt und der Rest des Netzes
kann vor dieser geschützt werden kann
Beispiele:
• Hub:
• zentralen Verteiler bei stern-gekoppelten Bus/Ringnetzen
• Switch:
• zentrale Station, die verschiedene Netzsegmente verbindet
Fachbereich Informatik | Prof. Dr. F. Armknecht | 13
7.2.4 Backbone Netze
• Netze, die alleine dazu dienen, andere Netze zu verbinden.
unterschiedliche Toplogien: z.B. Bus, Ring, Stern
• häufig in einer schnellen Technologie erstellt,
z.B. mit Lichtwellenleitern (FDDI-Backbone).
Beispiel:
Fachbereich Informatik | Prof. Dr. F. Armknecht | 14
7.3 Übertragungsmedien
• der Austausch der Daten zwischen Rechnern erfolgt über
Verbindungen
• Verbindungen sind realisiert als physikalischer Kanal
• Sender verändert dessen physikalischen Zustand
• Empfänger misst den Zustand und schließt aus den
Änderungen auf die übertragene Information
• hierzu verwendet:
• elektrische und zunehmend optische Signale
• wichtigstes Merkmal eines physikalischen Kanals:
• Geschwindigkeit, mit der Daten übertragen werden können
• idR in Bits pro Sekunde (Bit/s) oder Bytes pro Sek. (Byte/s)
• Baud (veraltet) steht für Zeichen pro Sekunde
Fachbereich Informatik | Prof. Dr. F. Armknecht | 15
7.3.1 Twisted Pair
• verdrilltes Kupferkabel (z.B.Telefondraht)
• preiswerteste Technologie, für niedrige Frequenzen,
• sehr störungsempfindlich, da elektromagnetische Einstrahlungen (Motoren, Spulen, Höhenstrahlung) fast ungedämpft
die Signale beeinflussen können.
• einfach zu verlegen, weit verbreitet und gut genormt
• Entwicklung: hohe Übertragungsraten (>100 MBit/sec)
• nur für kurze Entfernungen (ca. 100 m), z.B. Gebäude
• STP=shielded twisted pair; UTP=unshielded twisted pair
Bem.: heute UTP meist für Ethernet
• Eingeteilt in Kategorien 1-7
Kategorie 5: ca. 100 MBits/sec über ca. 100 m Entfernung
Fachbereich Informatik | Prof. Dr. F. Armknecht | 16
7.3.2 Koaxialkabel (coaxial cable)
• für hohe bis sehr hohe Frequenzen eingesetzt, teurer als TP
• Technisch bestehen sie aus einem zentralen Leiter, der von
einem peripheren Leiter ummantelt wird (Innen-, Außenleiter)
• Elektromagnetische Einstrahlungen wirken auf beide Leiter in
beide Richtungen gleichermaßen und heben sich nahezu auf
• strahlen auch bei hohen Frequenzen nahezu keine eigene
Energie ab, so dass die Dämpfung entsprechend gering bleibt
• genormte Varianten, z.B. Ethernet das „Yellow cable“
Isolation (Dielektrikum) Schutzmantel
Außenleiter
Innenleiter (Seele)
Fachbereich Informatik | Prof. Dr. F. Armknecht | 17
7.3.3 Lichtwellenleiter (LWL; fibre optics)
(Glasfaser)
• für höchste Frequenzen geeignet, teuer
• moderne Monomodefasern können Licht über fast
100 Kilometer ohne Zwischenverstärkung übertragen
• in Lichtwellenleiter (LWL) wird
• ein (monochromatischer) Laserlichtstrahl mittels
• totaler Reflektion im inneren des LWL entlang geführt und
• kann an dessen Ende wieder empfangen werden.
Fachbereich Informatik | Prof. Dr. F. Armknecht | 18
7.3.4 Funktechnik
• Mobilkommunikation: GSM/GPRS, UMTS
• 802.11-WLAN für einige Kilometer, …
Richtfunk
• benutzt eine elektromagnetische Welle als Träger und
moduliert dieser das zu übertragende Signal auf.
• eingesetzt in dünn besiedelten Gebieten
• Da zwischen Sender und Empfänger Sichtverbindung
herrschen muss, sind die Einsatzmöglichkeiten beschränkt.
Satelliten
• interkontinentale Kommunikationsverbindungen
• sehr großen Entfernungen zw. Sender/Empfänger:
• spürbare Übertragungszeitverzögerungen
Fachbereich Informatik | Prof. Dr. F. Armknecht | 19
Klassifikation:
Funktechnologien
Einordnung nach Reichweite und
Datenrate
Fachbereich Informatik | Prof. Dr. F. Armknecht | 20
7.4 Kommunikationsformen
7.4.1 Vermittlungstechniken
 Wie werden die Daten an einem Netzknoten weitergeleitet?
 Zwei Techniken bekannt: Leitungs- und Paketvermittlung
 Leitungsvermittlung (circuit switched network)
 Vom Sender zum Empfänger wird eine durchgängige, physikalische Leitung
etabliert.
 Eine Kommunikation findet in folgenden Phasen statt:
1. Verbindungsaufbau
2. Datenaustausch
3. Verbindungsabbau
 Nach dem Verbindungsaufbau steht die Bandbreite dem Sender vollständig zur
Verfügung (reservierte Bandbreite).
 Beispiele: Telefonverbindungen, DATEX-L
Fachbereich Informatik | Prof. Dr. F. Armknecht | 21
7.4 Kommunikationsformen
 Paketvermittlung (packet switched network)
 Nachrichten werden in kleine Einheiten, sogenannte Pakete
(packets) zerlegt.
 Vom Sender existiert lediglich eine durchgängige Leitung zur
nächsten Relais-Station.
 Relais-Stationen nehmen Pakete entgegen und leiten sie in Richtung
des Ziels weiter.
 Relais-Stationen müssen die Wege zu den einzelnen Zielen kennen
(Wegewahl).
 Die Bandbreite zwischen Relais kann besser genutzt und verplant
werden.
 Beispiele: DATEX-P, Internet
Fachbereich Informatik | Prof. Dr. F. Armknecht | 22
7.4.2 Verbindungsorientiert vs. verbindungslos
Verbindungsorientiert vs. verbindungslos
 Verbindungsorientierte Kommunikation (connection oriented)
 Jede Kommunikation erfordert zunächst den Aufbau einer Verbindung zum
Kommunikationspartner (Signalisierung).
 Verbindungsorientierte Kommunikation kann auf Leitungsvermittlungs- und
Speichervermittlungssystemen realisiert werden.
 Die Adresse des Empfängers wird nur beim Verbindungsaufbau angegeben.
 Ausfälle von Netzkomponenten führen zum (bemerkbaren)
Verbindungsabbruch.
Fachbereich Informatik | Prof. Dr. F. Armknecht | 23
7.4.2 Verbindungsorientiert vs. verbindungslos
 Verbindungslose Kommunikation (connectionless)
 Der Datenaustausch kann jederzeit ohne speziellen Verbindungsaufbau
beginnen.
 Verbindungslose Kommunikation kann auf Leitungsvermittlungs- und
Speichervermittlungssystemen realisiert werden.
 Jede versendete Nachricht muss vollständige Adressinformationen besitzen.
 Ausfälle und Störungen können zu unbemerkten Verlusten von Nachrichten
führen.
Fachbereich Informatik | Prof. Dr. F. Armknecht | 24
7.4.2 Verbindungsorientiert vs. verbindungslos
Matrix der Kommunikationsformen und Beispiele
Fachbereich Informatik | Prof. Dr. F. Armknecht | 25
7.5 Kommunikationsprotokolle
Aufgabe: standardisierte Schritte zum Austausch von Daten
• Komplexe Aufgabe: u.a.
• Finden eines Weges zum Ziel-Rechner
• Prüfen, ob Sender alle Daten in der richtigen Reihenfolge
erhalten hat, Fehlererkennung und -behebung
• Transformation der Daten, so dass sie über physisches
Medium übertragen werden können
• Konsequenz: Aufgabe wird in Teilaufgaben zerlegt,
• Schichtenstruktur: jede Schicht bietet Dienste
• oberste (abstrakteste) Schicht: Anwendung (z.B. HTTP)
• unterste Schicht: physikalische Ebene der Bitübertragung
• Standardisierte Schichten und Protokolle: ISO/OSI-Modell
Fachbereich Informatik | Prof. Dr. F. Armknecht | 26
Kommunikation in Schichten
Indischer
Philosoph
Dolmetscher A:
Englisch 
Niederländisch
Techniker A:
kennt einzelne
Buchstaben
und sendet
(„morst“)
diese.
Diskussion über
philosophische Grundfragen
Uninterpretierte Sätze ohne
Kenntnis der Philosophie
Uninterpretierte Zeichen in
korrekter Reihenfolge
Netz
Fachbereich Informatik | Fachgebiet Graphisch-Interaktive Systeme (GRIS) | Prof. Dr. D. Fellner | 27
Französischer
Philosoph
Dolmetscher B:
Niederländisch
 Französisch
Techniker B:
empfängt
einzelne
Buchstaben
und setze diese
zusammen.
7.5.1 ISO/OSI-Referenzmodell
ISO International Standards Organisation
Schicht i+1
Schicht i+1
OSI: Open System Interconnection
request
request
reply
reply
Schichtenansatz (layer): Prinzip
• Jede Schicht definiert
Schicht i
Schicht i
Dienste (service)
• Schicht i nutzt zur Erbringung ihrer
Schicht i-1
Dienste nur Dienste der Schicht i-1
Schicht i-1 Protokoll
Schicht i-1
• Dienste der Schicht i sind über Schnittstellen
von der Schicht i+1 nutzbar
• die Daten werden als Protokolldateneinheiten
(PDU=protocol data unit) ausgetauscht
Bsp. Dienste: Fehlererkennung, Verbindungsaufbau, Wegewahl
Fachbereich Informatik | Prof. Dr. F. Armknecht | 28
7.5.1 ISO/OSI-Referenzmodell
Die 7 Schichten
des OSI-Modells
Fachbereich Informatik | Prof. Dr. F. Armknecht | 29
7.5.1 ISO/OSI-Referenzmodell
Schichtenbildung und Protokolle
• Schicht i von Rechner A kommuniziert (virtuell) über Schicht-i
Protokoll mit der Schicht i des Rechners B
• Schicht i fügt den Daten einen Schicht-i-Header hinzu:
Kontrollinformation der Schicht i (z.B. Adressierungsinfos)
Vorteile der Schichtenbildung:
• eingesetzte Netzwerktechnik ist transparent für Anwender, d.h.
• Details über Blocklängen, Fehlerbehebung,
• Details der Kodierung von Information etc. sind transparent
• Ergebnis:
• unterschiedliche Prozesse können auf vielfältigen
Plattformen standardisiert zusammenarbeiten
Fachbereich Informatik | Prof. Dr. F. Armknecht | 30
7.5.2 Die Protokollschichten im Überblick
Schicht 1 Bitübertragung (physical layer):
• physikalischen Verbindung zwischen zwei direkt verbundenen Kommunikationspunkten
• Übertragung unstrukturierter Ströme von Bits
• legt die Charakteristika der physischen Verbindung fest,
z.B. Spannungspegel, Dauer eines Impulses für 1 Bit, etc
Schicht 2 Sicherungsschicht (data link layer):
• Austausch von Daten zwischen direkt verbundenen Knoten
• bündelt Bitströme zu Einheiten, genannt Frames
• strukturiert Bitstrom u. fügt Kontrollinformationen zu: u.a
• Prüfsummen zur Erkennung von Übertragungsfehlern
Frame
Flag= 0111 1110 .... Steuerinfo Nutzdaten Prüfsumme Flag
Fachbereich Informatik | Prof. Dr. F. Armknecht | 31
7.5.2 Die Protokollschichten im Überblick
Frame
Flag= 0111 1110 .... Steuerinfo Nutzdaten Prüfsumme Flag
Spezielle Aufgabe der Schicht 2 bei Broadcast-Medien
(z.B. Ethernet, WLAN)
• Broadcast: gemeinsam genutztes Medium: jeder mit jedem
• Aufgabe: Regelung des Medien-Zugangs:
Medium-Access Control (MAC) z.B. CSMA/CD Verfahren
• Adressierung auf der Schicht 2 bei Broadcast-Medien
notwendig (auf Schicht 2 sonst direkt verbundene Rechner)
• Broadcast-Medium: tatsächlicher Empfänger muss
identifizierbar sein
• Eindeutige Identifikation des Empfangsrechners über
48-Bit Adressen, MAC-Adresse
Fachbereich Informatik | Prof. Dr. F. Armknecht | 32
7.5.2 Die Protokollschichten im Überblick
Schicht 3 Netzwerkschicht (network layer):
• verknüpft und kontrolliert Teilnetze,
• Ende-zu-Ende Kommunikation zwischen Kommunikationspartnern, die nicht direkt benachbart sein müssen: d.h.
• Weiterleiten der Daten-Pakete über verschiedene Knoten,
• Vermittlung von Leitungen bei circuit switched Netzen
• Routingaufgabe (Wegewahl):
• Anlegen von Routing-Tabellen (u.a. Pfad von A nach B)
• Routingalgorithmen: statisch, dynamisch
• Erkennen, Auflösen von Stausituationen (congestion control)
Beispiel: IP (Internet Protocol siehe später mehr)
Fachbereich Informatik | Prof. Dr. F. Armknecht | 33
7.5.2 Die Protokollschichten im Überblick
Schicht 4 Transportschicht (transport layer):
• Ende-zu-Ende Kommunikation idR zwischen Prozessen
• in der Regel zuverlässiges, verbindungsorientiertes Protokoll:
• Verbindungsauf- und –abbau (logische Verbindung),
z.B. Zustandsinformation in Datenstrukturen ablegen
• korrekte Reihenfolge: Vergabe von Sequenznummern,
• erneutes Versenden bei Paketverlusten, nach Timeout
• Bestätigen empfangener Pakete (Acknowlegment)
• Beispiel: TCP (später mehr)
• Schicht 4: auch verbindungslose, unzuverlässige Dienste
• Beispiel UDP (später mehr)
Fachbereich Informatik | Prof. Dr. F. Armknecht | 34
7.5.2 Die Protokollschichten im Überblick
Schicht 5 Sitzungsschicht (session layer):
• Unterstützung von Sitzungen über längere Zeiträume hinweg:
• Synchronisation der Datenübertragung über mehrere
Verbindungen
• Zustandsinformation ist notwendig, z.B. Sicherungspunkte,
zur Weiterführung eines unterbrochenen Transfers
• Bem: Sitzungsschicht wird selten unterstützt
Schicht 6 Darstellungsschicht (presentation layer):
• Aushandeln gemeinsamer Datenformate, Syntax, Semantik
Beispiele: ASN.1 (Abstract Syntax Notation No 1), XML
• Absprache der Informationsdarstellung: Byte-Ordering,
Zahldarstellung (u.a. Komplement, Gleitkomma-Darstellung)
Fachbereich Informatik | Prof. Dr. F. Armknecht | 35
7.5.2 Die Protokollschichten im Überblick
Schicht 7 Anwendungsschicht (application layer)
• Vielzahl von Protokollen, die von Anwendungen genutzt
werden können
• Beispiele: http (www), smtp (e-mail), ftp (Datei-Transfer)
Fachbereich Informatik | Prof. Dr. F. Armknecht | 36
7.5.3 Netzwerk Komponenten
Repeater: auf Schicht 1:
• Verstärken eines Signals, bitweises Kopieren
• Verbindung gleichartiger Medien
Hub: Multiport Repeater: verbinden
mehrerer Netze
• eingehendes Signal an einem Port
wird aufbereitet
und an alle ausgehenden Ports
weitergeleitet
Fachbereich Informatik | Prof. Dr. F. Armknecht | 37
7.5.3 Netzwerk Komponenten
Bridge: Verbindung von Netzen auf der Schicht 2,
• z.B. Verbindungen von Ethernet-Segmenten,
• Weiterleiten von Frames an MAC-Adressen,
Verwaltung von Tabellen zum Weiterleiten der Frames
• Verbindung auch unterschiedlicher Medien
Fachbereich Informatik | Prof. Dr. F. Armknecht | 38
7.5.3 Netzwerk Komponenten
Switch: Multiport Bridge: Weiterleitung von Paketen nur an
Ports mit MAC-Adress-Eintrag des Empfängers: Filterung
Router: Verbindung von Netzen auf Netzwerk Ebene
• Routing-Tabellen für Wege-Wahl
manuell oder automatisch erstellt, aktualisiert
• häufig dezidierter Rechner für Routing Aufgaben
Bridge versus
Router
• Gateway: Verbindung von Netzen, auch unterschiedl. Typen
• z.B. IP-Netz und Apple-Talk
Fachbereich Informatik | Prof. Dr. F. Armknecht | 39
7.6 Sicherungsschicht (Data Link Layer)
7.6.1 Framing
Aufteilung des Bitstroms in Frames (Datenblöcke)
u.a. zur Fehlererkennung (u. –korrektur)
Flag= 0111 1110 .... Steuerinfo Nutzdaten Prüfsumme Flag
• Header und Trailer:
Schicht2- Steuerdaten
• Start- und Endflag, um
Rahmen zu definieren:
Byte-Stuffing
• Berechnung einer
Prüfsumme über den
ganzen Rahmen
Fachbereich Informatik | Prof. Dr. F. Armknecht | 40
7.6.2 Medienzugriff
(Medium Access Control, MAC)
• Regelung des Kanalzugriffs bei Broadcast-Medien durch
MAC-Protokolle
• MAC-Schicht wird auch als Schicht 2a bzeichnet
• verschiedene Verfahren im Einsatz: ALOHA, slottet ALOHA
und Varianten von CSMA (Carrier Sense Multiple Access)
Problem: Behandlung von
Konkurrenzsituationen
Rahmenübertragung
beendet
Zeitschlitze
Kollision: Überschneiden
von Signalen: Fehler
Übertragungsperiode
Konkurrenzperiode
Fachbereich Informatik | Fachgebiet Graphisch-Interaktive Systeme (GRIS) | Prof. Dr. D. Fellner | 41
Leerlaufperiode
7.6.2 Medienzugriff
 Medien-Zuteilungsverfahren:
 Zuteilungsverfahren überlassen sendebereiten Knoten in einer festgelegten
Reihenfolge den Zugang zum Medium.
 Feste Zuteilungsverfahren definieren feste Zeiten, zu denen ein Teilnehmer
senden darf.
 Variable Zuteilungsverfahren weisen das Medium entsprechend der
Anforderungen dynamisch zu.
 Zufallsstrategien:
 Diese basieren auf der Idee, das Medium zufällig einem Teilnehmer
zuzuteilen.
 Dabei können Kollisionen entstehen, die geeignet behandelt werden
müssen.
Fachbereich Informatik | Prof. Dr. F. Armknecht | 42
7.6.2 Medienzugriff
Zuteilungsverfahren:
Reines ALOHA:
 Frames werden zu beliebigen Zeiten übertragen. Jeder sendet, wann er
will.
 Falls der Sender auf den Kanal hören kann, kann der Sender den Fehler
erkennen und nochmals senden.
Fachbereich Informatik | Prof. Dr. F. Armknecht | 43
7.6.2 Medienzugriff
Durchsatz vs. Versuche pro Rahmenübertragungszeit:
 Slotted ALOHA: Feste Zeitschlitze werden ausgehandelt, in denen
gesendet werden darf.
Fachbereich Informatik | Prof. Dr. F. Armknecht | 44
7.6.2 Medienzugriff
CSMA-Protokolle
• CSMA: Carrier Sense Multiple Access
 Bei S-ALOHA:
 Stationen senden, wann sie wollen, ohne auf Aktivitäten der anderen Stationen
zu achten.
 Viele Kollisionen zu erwarten.
 In LANs:
 Stationen können erkennen, was andere tun, und ihr Verhalten
dementsprechend anpassen.

Viel bessere Auslastung möglich.
 Protokolle, bei denen Stationen einen Träger (carrier) abhören, heißen
Protokolle mit Trägerüberprüfung (carrier sense protocols)
Fachbereich Informatik | Prof. Dr. F. Armknecht | 45
7.6.2 Medienzugriff
1-persistente CSMA-Verfahren:
• sendewillige Station hört das Medium ab
• ist der Kanal besetzt, warten bis Kanal frei ist
• ist der Kanal frei, wird gesendet
senden mit Wahrscheinlichkeit 1, deshalb 1-persistent
• falls eine Kollision auftritt, wartet die Station eine
zufällige Zeitspanne und beginnt erneut
Fachbereich Informatik | Prof. Dr. F. Armknecht | 46
7.6.2 Medienzugriff
p-persistentes Verfahren: Stationen sind weniger ‚gierig‘
• abhören des Mediums, warten bis Kanal frei ist
• ist der Kanal frei, sendet die Station mit Wahrscheinlichkeit p,
mit Wahrscheinlichkeit q=1-p wartet sie auf den nächsten Slot
• falls eine Kollision auftritt: wie bei 1-persistentem Verfahren
Vergleich der Kanalauslastung in Abhängigkeit vom Datenverkehr
bei verschiedenen zufallsgesteuerten Protokollen
Fachbereich Informatik | Prof. Dr. F. Armknecht | 47
7.6.2 Medienzugriff
 CSMA-Protokolle stellen sicher, dass keine Station sendet, wenn sie den
Kanal als belegt erkannt hat.
 Weitere Verbesserung: Abbruch einer Übertragung, wenn Kollision erkannt
wird, z.B.
 Zwei Stationen erkennen Kanal als frei an und beginnen gleichzeitig zu senden.
 Beide erkennen fast sofort eine Kollision.
 Statt die Übertragung der Rahmen zu beenden (ohnehin irreparabel verstümmelt),
besser Übertragung sofort abbrechen.
CSMA/CD-Protokoll: with collision detection
 Mehrfachzugang mit Trägerprüfung und Kollisionserkennung
Fachbereich Informatik | Prof. Dr. F. Armknecht | 48
7.6.2 Medienzugriff
• Stationen müssen fortwährend prüfen, ob eine Kollision auftritt
• Anwendung
•häufig bei LANs in der MAC-Teilschicht
•Grundlage für Ethernet-LAN
Beispiel:
Fachbereich Informatik | Prof. Dr. F. Armknecht | 49
7.6.2 Medienzugriff
 CSMA/CD kann sich in einem von drei Zuständen befinden: Konkurrenz,
Übertragung oder Leerlaufzustand:
Zeitschlitze
Übertragung Konkurrenz
Zeit
Leerlauf
 In t0 : Station hat die Übertragung ihres Rahmens beendet.
 Jede andere Station, die einen Rahmen zu senden hat, kann das jetzt versuchen.
 Kollision kann auftreten, wenn mehr als 1 gleichzeitig senden
 Kollisionen können erkannt werden, indem die Leistung oder Impulsbreite des
empfangenen Signals mit dem übertragenen Signal verglichen wird.
Fachbereich Informatik | Prof. Dr. F. Armknecht | 50
7.6.2 Medienzugriff
 Jede Station erkennt die Kollision, unterbricht ihre Übertragung, wartet
eine zufällige Zeitspanne und versucht es dann erneut
Eigenschaften von CSMA/CD
 Änderungen am Netz erfordern keinerlei Anpassung des
Medienzugangsverfahrens.
 keine zentrale Überwachung (no single point of failure).
 Bei hoher Auslastung treten verstärkt Kollisionen auf, wodurch die
erzielte Datenübertragungsrate drastisch sinkt.
 Kollisionen können wiederholt auftreten: keine Zusagen, wann die
Übertragung eines Datums beendet sein wird.
 Verfahren ist probabilistisch. Daher keine Zusicherung, wann bzw. ob ein
Paket versendet werden kann.
Fachbereich Informatik | Prof. Dr. F. Armknecht | 51
7.6.3 Link Control Protokolle (Schicht 2)
Ziele: zuverlässige Übertragung, P2P-Verbindungen aushandeln
• Angleichen der Sende- und Empfangsgeschwindigkeiten
Sender darf Empfangspuffer nicht zum Überlauf bringen
Lösung:
• Timer, um nicht bestätigte Rahmen erneut zu senden,
wenn Timer abgelaufen ist
• Sequenznummern:
• sequentiell durchnummerierte Frames, um mehrfach
gesendete Frames erkennen und löschen zu können
• verschiedene Protokollvarianten:
• Stop-and-Wait oder insbesondere
• Schiebefenster-Protokolle (Sliding-Window)
Fachbereich Informatik | Prof. Dr. F. Armknecht | 52
7.6.3 Link Control Protokolle (Schicht 2)
Sliding Window (Schiebefenster-Protokoll)
• bidirektionaler Datenverkehr
• jeder gesendete Rahmen erhält eine Sequenznummer von
0 bis 2n-1 (d.h. n-bit Sequenznummer)
• Sender und Empfänger verwalten jeweils ein ‚Fenster‘ von
Sequenznummern
Sendefenster:
• enthält Sequenznummern von Rahmen, die gesendet,
deren Empfang aber noch nicht bestätigt wurden
• kommt von der Schicht 3 ein Paket zum Versandt, so erhält
dies die nächste Sequenznummer und die Obergrenze des
Sendefensters wird um eins nach rechts verschoben
Fachbereich Informatik | Prof. Dr. F. Armknecht | 53
7.6.3 Link Control Protokolle (Schicht 2)
• kommt vom Empfänger eine Bestätigung, so wird die
Untergrenze um eins nach rechts verschoben
• das Sendefenster hat eine maximale Größe, wenn diese
erreicht ist, muss der Sender blockiert werden
Empfängerfenster
• Empfang eines Rahmes mit Nummer innerhalb des Fensters:
Rahmen wird an Schicht 3 zur Bearbeitung weitergeleitet
• Ack wird an Sender verschickt, Fenster wird um eine Position
nach rechts verschoben (die Größe bleibt also gleich)
• Rahmen, die nicht im Fenster liegen, werden vom Empfänger
verworfen
Fachbereich Informatik | Prof. Dr. F. Armknecht | 54
7.6.3 Link Control Protokolle (Schicht 2)
Beispiel: Fenstergröße 1 und 3-bit Sequenznummer
Bem.: bei Fenstergröße 1 werden Rahmen nur sequentiell empfangen, das
muss aber bei größeren Fenstern nicht so sein!
(a) Initialer Zustand
(b) Erster Rahmen
gesendet
(c) Erster Rahmen
empfangen
(d) Erstes Ack
empfangen
Fachbereich Informatik | Prof. Dr. F. Armknecht | 55
7.6.3 Link Control Protokolle (Schicht 2)
Beispiele für Sicherungsprotokolle:
• HDLC – High-Level Data Link Control
• PPP (Pont-to-Point Protocol), im Internet verwendet für u.a.
Router-zu-Router Kommunikation oder Heim-PC zu ISP,
wesentliche Aufgabe: Verbindungsauf- und Abbau
PPP-Frame
Fachbereich Informatik | Prof. Dr. F. Armknecht | 56
7.6.3 Link Control Protokolle (Schicht 2)
Beispiel: Ablauf: PPP-Verbindung
(1) Aufbau einer physikalischen Verbindung:
Modem (PC) zu Router beim ISP: Zustand established
(2) Austausch von PPP Paketen: z.B. zur Authentifizierung
Beispiel: PAP: Übertragung eines Passwords
(3) Aushandeln der Parameter der Netzwerkschicht
z.B. für IP Protokoll: ISP weist PC eine IP-Adresse zu
(4) Datenübertragung nach Eintritt in Zustand ‚öffnen‘
z.B. PC kann IP-Pakete senden/empfangen
(5) Nutzer beendet die Verbindung:
z.B. IP-Adresse wird wieder frei gegeben
(6) Modem legt auf, Verbindung auf Schicht 1 beendet
Fachbereich Informatik | Prof. Dr. F. Armknecht | 57
7.6.3 Link Control Protokolle (Schicht 2)
Beispiel: Ablauf: PPP-Verbindung
Fachbereich Informatik | Prof. Dr. F. Armknecht | 58
7.7 Netzwerkschicht (Schicht 3)
Hauptaufgabe: Routing:
• Weiterleitung von Datenpaketen: Store and forward Prinzip
• Routing-Tabellen, um ‚gute‘ Wege zu ermitteln
• Gütekriterien: schnell, Vermeiden von Staus, stabil, fair, …
• H1, H2 sind Host-Rechner
• Hosts senden Pakete zum
nächst gelegenen Router
• Router speichert bis Paket
vollständig empfangen
• Forwarden des Pakets zum
nächsten Router
Fachbereich Informatik | Prof. Dr. F. Armknecht | 59
7.7 Netzwerkschicht (Schicht 3)
 Ziele der Wegewahl
 Geringe Durchlaufzeiten von Nachrichten durch das Netz
 Gleichmäßige Auslastung der Netzknoten
 Geringe Zahl von Knoten, die zu durchlaufen sind
 Auswahl alternativer Wege bei Störungen
 Auswahl alternativer Wege bei Lastspitzen
 Nachrichten sollen nicht zyklisch im Netz umherlaufen
 Stabilität der Wegewahl (gleicher Ablauf bei gleichen Verhältnissen)
 Randbedingungen
 Möglichst keine Annahmen über die Netztopologie
 Robustheit gegenüber Änderungen, Ausfällen,Störungen
 Korrektheit, Fairness, Effizienz
 Einfachheit des Verfahrens
Fachbereich Informatik | Prof. Dr. F. Armknecht | 60
7.7.1 Routing-Verfahren
Es gibt eine Vielzahl von Routing-Verfahren: u.a.
• Shortest Path, Flooding, Distance Vector, Link State Routing
Klassen von Verfahren:
• statisch, nicht-adaptiv:
• Routingtabellen werden vorab berechnet,
• keine Änderungen aufgrund von Verkehrsmessungen oder
Topologie-Änderungen
• Beispiel: kürzeste Wege (Dijkstra-Alg.), Flooding
• dynamisch, adaptiv:
• Routingtabellen werden dynamisch neu berechnet,
• Beispiele: Distance Vector, Link State Routing
Fachbereich Informatik | Prof. Dr. F. Armknecht | 61
7.7.1 Routing-Verfahren
Distance Vector Routing (oder Bellman-Ford Routing)
• Algorithmus eingesetzt im ARPANET (Vorgänger des Internet)
• unter dem Namen RIP im Internet verwendet
Idee:
• jeder Router verwaltet eine Routing-Tabelle (genannt Vektor)
• Tabelle: enthält für jedes Ziel
• die bestmögliche, bekannte Entfernung (z.B. in Anzahl
von Hops, oder geschätzter Übertragungszeit gemessen)
• und die zu verwendende Verbindung
• Verfahren basiert darauf, dass Entfernung zu den NachbarRoutern bekannt sind
Fachbereich Informatik | Prof. Dr. F. Armknecht | 62
7.7.1 Routing-Verfahren
Algorithmus:
Basis: Sei Übertragungszeit das Entfernungsmaß:
• jeder Router sendet alle T ms an alle Nachbarn eine Liste
mit den geschätzten Übertragungszeiten zum Ziel
• er empfängt eine analoge Liste von jedem Nachbarn
• Annahme:
• eine Tabelle von Nachbar X sei beim Router j eingetroffen
• Xi: Abschätzung der Zeit für den Weg von X zum Router i
• die Entfernung von j zu X sei m ms,
• dann weiß j, dass Router i über X in
Xi + m ms erreichbar ist
• Router j berechnet für jeden Nachbarknoten die Entfernung,
beste Strecke wird in der Routing-Tabelle vermerkt
Fachbereich Informatik | Prof. Dr. F. Armknecht | 63
Beispiel: Distance Vector Routing
Kürzeste Strecke von
JG führt über H
?
Betrachtet:
• Router J und
• die Vektoren seiner
Nachbarn A,I,K,H
Fachbereich Informatik | Prof. Dr. F. Armknecht | 64
Beispiel: Distance Vector Routing
Algorithmus weist in der Praxis eine gravierende Schwäche auf:
• er reagiert zwar schnell auf gute Nachrichten
• reagiert aber sehr träge auf schlechte Nachrichten:
Count-to-infinity Problem
• Ursache: Router wissen nicht, über wen geroutet wird
A ist Anfangs nicht verfügbar und geht
irgendwann wieder online. Diese gute
Nachricht wird schnell verbreitet
Fachbereich Informatik | Prof. Dr. F. Armknecht | 65
A fällt plötzlich aus
Beispiel: Link State Routing
Link State Routing weit verbreitet im Einsatz
5 Schritte, die von jedem Router durchzuführen sind:
1. Ermitteln der Nachbarn und deren Netzadressen
2. Messen der Kosten/Zeiten zu jedem Nachbar
3. Erzeuge Paket mit Informationen über die Nachbarn
4. Sende Paket an alle anderen Router
5. Berechne kürzesten Pfad zu allen anderen Routern
Schritt 1: Senden von Hello-Paketen, antworten mit Identität
Fachbereich Informatik | Prof. Dr. F. Armknecht | 66
Beispiel: Link State Routing
Schritt 2: Ermittlung von Leitungskosten
•
Einfachster Weg: senden von Echo-Paketen
•
Messen der Laufzeit bis zum Erhalt einer Antwort
Schritt 3: Erstellen eines Informationspakets:
•
Name des Senders, Sequenznummer, Alter des Pakets
•
Liste der Nachbarn mit Übertragungszeiten zu diesen
Teilnetz und Link-State Pakete für das Teilnetz
Fachbereich Informatik | Prof. Dr. F. Armknecht | 67
Beispiel: Link State Routing
Schritt 4: Sende Paket an alle anderen Router
•
Optionen für Erzeugungs/Versendezeitpunkt: In regelmäßigen
Abständen; oder wenn sich die lokale Umgebung eines Routers
ändert (Struktur bzw. Übertragungszeiten)
•
Robuste Sendemethode sollte gewählt werden, um Gefahr von
abweichenden Zustandsinformationen bei den einzelnen Routern
klein zu halten. Ansatz: Flooding mit Sequenznummer und Timer
Schritt 5: Berechne kürzesten Pfad zu allen anderen Routern
•
Aufbau des Subnetz Graphen mit kürzeste Wege Algorithmus
sobald vollständiger Satz von Link State Pakets erhalten wurde
•
Installation des Ergebnisses in der Routing Tabelle der Router
Fachbereich Informatik | Prof. Dr. F. Armknecht | 68
7.7.2 Weitere Aufgabe der Schicht 3
Flusskontrolle (Congestion Control)
Prinzip:
• Beobachten des Netzverkehrs
• Erkennen von Stausituationen
• Auflösung der Stausituation: Anpassen von Operationen
z.B. vorübergehendes Drosseln von Senderaten,
Umleiten von Paketen über andere Routen etc.
Quality of Service
• z.B. Reservieren hoher Bandbreite für MultimediaÜbertragung
• Pufferung, um Verzögerungen zu minimieren
Detaillierte Behandlung ist nicht Gegenstand von GdI III
Fachbereich Informatik | Prof. Dr. F. Armknecht | 69
7.8 Internet-Protokoll-Familie
7.8.1 Die Entwicklung des Internets
• Ende der 60er Jahre als Projekt der Defense Advanced
Research Projects Agency (DARPA) der USA gestartet
• Es entsteht das ARPANET, ein auf gemieteten Leitungen
realisiertes Datagramm-Netz.
• Das ARPANET wird zum Backbone-Netzwerk zwischen
den Universitäten der USA.
• Anfang der 80er Jahre wird eine Implementierung der
Internet-Protokolle als Teil des BSD UNIX-Betriebssystems
allgemein verfügbar.
• Das BSD UNIX erhält eine Socket-Programmierschnittstelle,
mit der sich relativ einfach netzwerkfähige Applikationen
entwickeln lassen.
Fachbereich Informatik | Prof. Dr. F. Armknecht | 70
7.8.1 Die Entwicklung des Internets
Fachbereich Informatik | Prof. Dr. F. Armknecht | 71
7.8.1 Die Entwicklung des Internets
 1983 wird das ARPANET in das Forschungsnetz ARPANET und das
militärisch genutzte MILNET aufgeteilt.
 1986 wird von der National Science Foundation der USA das NSFNET
realisiert.
 1990 geht das NSFNET in das ANSNET über, das von MERIT, MCI und
IBM betrieben wird und eine kommerzielle Nutzung des Internets möglich
macht.
 Anfang der 90er Jahre wird am CERN (bei Genf) das World Wide Web
geboren.
 Derzeit laufen Initiativen für Gigabit-Backbones und technologisch der
Übergang von der IP-Version 4 zur IP-Version 6.
Fachbereich Informatik | Prof. Dr. F. Armknecht | 72
7.8.1 Die Entwicklung des Internets
 Anzahl der Hosts, die im DNS registriert sind
Fachbereich Informatik | Prof. Dr. F. Armknecht | 73
7.8.2 TCP/IP Modell
• Modelle beschreibt den Aufbau und das Zusammenwirken
der Netzwerkprotokolle aus der TCP/IP-Familie
• Aufteilung der TCP/IP-Protokolle in vier aufeinander
aufbauende Schichten, man spricht hier häufig von dem
TCP/IP Protokoll-Stack
• Fokus: Internet-Protokolle:
• Datenaustausch über die Grenzen lokaler Netzwerke
hinaus (Internetworking)
• Deshalb:
• weder der Zugriff auf ein Übertragungsmedium
• noch die Datenübertragungstechnik werden definiert.
Fachbereich Informatik | Prof. Dr. F. Armknecht | 74
7.8.2 TCP/IP Modell
Internet-Protokollfamilie
Fachbereich Informatik | Prof. Dr. F. Armknecht | 75
7.8.2 TCP/IP Modell
Aufgabe der TCP/IP Protokolle:
• Datenpakete über mehrere Punkt-zu-Punkt-Verbindungen
(Hops) weitervermitteln
• Verbindungen zwischen Netzwerkteilnehmern über
mehrere Hops herzustellen.
Fachbereich Informatik | Prof. Dr. F. Armknecht | 76
7.8.3 Schichten des TCP/IP-Referenzmodells
• Anwendungsschicht, Transportschicht,
• Netzwerkschicht und Host-an-Netz-Schicht
Vergleich zur ISO/OSI-Schichtung:
Fachbereich Informatik | Prof. Dr. F. Armknecht | 77
7.8.4 Internet Protocol (IP)
• paketvermittelndes, unzuverlässiges, verbindungsloses Protokoll
• Ende-zu-Ende Kommunikation zwischen Rechnern
IP-Adressen
• Identifikation über IP-Adressen: 2 Teile: Netz u- Hostadresse
• IPv4: 32-Bit Adressen, 4er Gruppe a 1Byte
z.B. 130.149.25.97 (Dottet dezimal Notation)
• Klassen von Netzen: A, B, C, D
Fachbereich Informatik | Fachgebiet Graphisch-Interaktive Systeme (GRIS) | Prof. Dr. D. Fellner | 78
7.8.4 Internet Protocol (IP)
Formatklassen:
• Realisierung verschieden großer Netze
• Unterscheidung anhand der höchstwertigen Bits
• Weiterleitung eines IP-Pakets: über Netzadresse
• Tabelle mit Netz-Identifikatoren:
• in der Klasse A nur 128 Einträge,
• in der Klasse B 16384 Einträge für verschiedene Netze
• Klasse C-Netze: Tabelle mit über 2 Millionen Einträgen
Subnetze:
• Klasse B: sehr große Anzahl von Rechnern: 216=65534
nur in wenigen Institutionen wird Adressraum ausgeschöpft
• Deshalb: Einführung von Unternetzen (Subnet)
Fachbereich Informatik | Fachgebiet Graphisch-Interaktive Systeme (GRIS) | Prof. Dr. D. Fellner | 79
Typisches Beispiel eines Campusnetzes
Implementierung von Subnetzen über Subnetz-Masken
• idR Dezimalzahlen (z.B. 255.255.252.0)
• Subnetze sind nicht nach außen sichtbar
• Subnetzmaske eines Klasse B-Netzes mit 64 Teilnetzen
Fachbereich Informatik | Fachgebiet Graphisch-Interaktive Systeme (GRIS) | Prof. Dr. D. Fellner | 80
7.8.4 Internet Protocol (IP)
Routingtabellen bei der Nutzung von Subnetzen:
Einträge:
• dieses Netz, dieses Teilnetz, Host i
im Teilnetz sind die Host direkt adressierbar
• dieses Netz, Teilnetz, 0
man kennt die Teilnetze, muss aber darin nicht jeden
einzelnen Host kennen
• Effekt: weniger Einträge in Routingtabellen
Vorgehen:
• Router extrahiert aus der gesamten Zieladresse nur
die Netz- und Subnetzadresse:
IPadresse UND Subnetzmaske (Hostadresse wird maskiert)
Fachbereich Informatik | Prof. Dr. F. Armknecht | 81
7.8.4 Internet Protocol (IP)
Dynamische Adressvergabe
Problem: zu wenige weltweit eindeutige IP-Adressen
• z.B. ISP mit 16-Bit Hostadressen kann nur 65.534 aktive
Nutzer unterstützen
• heute: ISP mit zehntausenden von Kunden keine Seltenheit!
• Kunden: meist gleichzeitig online, IP-Adressen reichen nicht
Lösung: NAT (Network Adress Translation), RFC 3022
• viele interne (nicht gleichzeitig genutzte) IP-Adressen
• werden auf wenige feste, öffentlich bekannte IP-Adressen
(z.B. erhalten durch den ISP) abgebildet (Adressübersetzung)
Beispiel (siehe auch nächste Folie)
• intern habe jeder Rechner eine IP-Adresse der Form 10.x.y.z
Fachbereich Informatik | Prof. Dr. F. Armknecht | 82
7.8.4 Internet Protocol (IP)
• NAT-Box ersetzt IP Adresse ausgehender Pakete
im Beispiel wird 10.0.0.1 durch 198.60.42.12 ersetzt
• die NAT-Box verwaltet Tabellen, um von außen kommende
Pakete korrekt nach innen weiterzuleiten (über Portadressen)
Bem.: NAT ist eine Übergangslösung bis IPv6 kommt
• NAT verursacht etliche Probleme, welche?
Fachbereich Informatik | Prof. Dr. F. Armknecht | 83
7.8.4 Internet Protocol (IP)
IP-Datenpaket
• besteht aus Datenteil (Payload) und Header-Teil
• der Header beinhaltet Verwaltungsinformationen
• IP-Pakete werden fragmentiert, Fragmente einzeln versandt
Format eines IP-Paket-Headers
Fachbereich Informatik | Prof. Dr. F. Armknecht | 84
7.8.4 Internet Protocol (IP)
Erläuterungen zur IP-Paket-Format
• Version: Versionsnummer des Protokolls, z.Z Version 4
• Länge: Länge des Headers als 32 Bit Worte, meist 5*32 Bits
• Diensttyp: für Qualitätsattribute, wird in der Praxis ignoriert
• Gesamtlänge: des IP-Pakets in Oktetten (zu 8 Bits),
Höchstgrenze: 65.535 Byte
• Identifikation: notwendig, um Fragmente eines IP-Pakets
wieder zusammenfügen zu können, alle Fragmente eines
Pakets enthalten die gleiche Identifikation
• Lebenszeit: Hop-Count, herunterzählen des Wertes, verhindert, dass fehlgeleitete Pakete unendlich lange zirkulieren
• Prüfsumme: nur des Headers: Einerkomplement-Summe der
Worte im Header, modulo 216
• Adressen: Sender- und Empfänger-IP-Adresse
Fachbereich Informatik | Prof. Dr. F. Armknecht | 85
7.8.5 Internet-Steuerprotokolle
Wichtige der Steuerungsprotokolle der IP-Familie sind:
• ICMP, ARP und DHCP
Internet Control Message Protocol (ICMP):
• Aufgabe: Übermittlung von Fehler- und Statusmeldungen
• ICPM-Nachrichten werden als IP-Pakete versandt
• Beispiel: Status-Informationen einer Maschine: ping
Fachbereich Informatik | Prof. Dr. F. Armknecht | 86
7.8.5 Internet-Steuerprotokolle
Address Resolution Protocol (ARP), RFC 826
• Hardware auf der Schicht 2 ‚versteht‘ keine IP-Adressen
• jeder Rechner besitzt eine 48 Bit Ethernet-Adresse (auf der
Netzwerkkarte des Rechners eingetragen), MAC-Adress
Aufgabe: Abbilden: IP-Adressen auf MAC-Adressen (Ethernet)
Lösung: Rechner: führt ARP-Adresstabelle ( als Cache)
• Cache-Miss: Empfänger IP-Adresse steht nicht im Cache,
• Aktion: Broadcast-Request: wer hat MAC-Adr.?
• Rechner mit angefragter Empfänger IP-Adresse:
schickt seine MAC-Adresse zurück (ARP-Reply)
• Cache-Eintrag wird aktualisiert
Problem: ARP ist ein zustandsloses Protokoll
• ankommende ARP-Replies werde auch ohne vorherige
Anfrage angenommen
Fachbereich Informatik | Prof. Dr. F. Armknecht | 87
7.8.5 Internet-Steuerprotokolle
DHCP (Dynamic Host Configuration Protocol), RFC 2131, 2132
• DHCP-Server verwalten Adressbereiche
• DHCP-Server weist auf Anfrage einem Rechner (Client)
dynamisch eine IP-Adresse zu
• Client erhält IP-Adresse mit begrenzter Gültigkeit
• Idee: wenige Adressen einer großen Anzahl an Teilnehmern
zuordnen, die evtl. nicht ständig auf das Netz zugreifen
Fachbereich Informatik | Prof. Dr. F. Armknecht | 88
7.8.6 Transmission Control Protocol (TCP)
RFC 793
Schicht 4-Protokoll, setzt auf dem IP-Protokoll auf
IP-Header
TCP-Header
Einordnung von TCP (und UDP)
Fachbereich Informatik | Prof. Dr. F. Armknecht | 89
Nutzdaten
7.8.6 Transmission Control Protocol (TCP)
TCP-Header
Fachbereich Informatik | Prof. Dr. F. Armknecht | 90
7.8.6 Transmission Control Protocol (TCP)
Aufgaben von TCP:
• Etablieren einer zuverlässigen Verbindung zwischen Hosts
• Flusskontrolle unter Einsatz eines Sliding-Window-Protokolls
• Flusskontrolle: Slow-Start Protokolle (nicht in GdI III)
• Verbindungsmanagement:
• Verbindungen werden zwischen Sockets aufgebaut
• socket = IP address + (lokale) port number
• eine Port Nummer ist eine16-Bit Adresse
Zuverlässige Verbindungen:
• Ziel: Einhalten der korrekten Reihenfolge der Pakete und
erkennen von Übertragungsfehler und Re-Transmission
• Lösungskonzepte:
• Sequenznummern, Timer
Fachbereich Informatik | Prof. Dr. F. Armknecht | 91
7.8.6 Transmission Control Protocol (TCP)
Zuverlässige Verbindungen: (Forts.)
• Vergabe von Sequenznummern an Pakete,
• Absender bestimmt ISN (Initial Sequence Number),
• gefordert, dass ISN möglichst nicht vorhersagbar ist
• Re-Transmission eines Pakets, falls Fehler erkannt
• Erhalt eines TCP-Pakets wird vom Empfänger
quittiert (Ack-Nummer)
• Sender setzt Timer, speichert Pakete in Warteschlange
• falls Ack für das gesendete Paket nicht rechtzeitig eintrifft:
Re-Transmission des Pakets
• Sliding-Window Protokoll
• zur Koordinierung von Sender und Empfänger
Fachbereich Informatik | Prof. Dr. F. Armknecht | 92
7.8.6 Transmission Control Protocol (TCP)
TCP-Verbindungen
• Aufbau einer logischen Ende-zu-Ende Verbindung
• Verbindung erfolgt zwischen Ports: 16-Bit Adresse
• Datentransfer zu Dienst, der an Port gebunden ist
• Ports < 1024 üblicherweise privilegiert, d.h.
nur durch root-Prozesse bindbar
• Beispiel für Standarddienste: RFC 1700, www.iana.org
Port
21
23
25
69
Protocol
Use
FTP
File transfer
Remote login
Telnet
E-mail
SMTP
Trivial File Transfer Protocol
TFTP
Finger
Lookup info about a user
79
80
World Wide Web
HTTP
POP-3
110
Remote e-mail access
USENET news
119
NNTP
Fachbereich Informatik | Fachgebiet Graphisch-Interaktive Systeme (GRIS) | Prof. Dr. D. Fellner | 93
7.8.6 Transmission Control Protocol (TCP)
3-Wege-Handshake zum Verbindungsaufbau
(1) Sender: sendet SYN-Paket mit:
ISN, Portadresse für Antwort, Fenstergröße
SYN-Paket: gespeichert (z.B. Linux: Default: 128 Anfragen)
(2) Empfänger: SYN/ACK-Paket zurück, speichert Paket
(3) Sender bestätigt seinerseits Empfang des Pakets
Basis-Operationen:
Fachbereich Informatik | Prof. Dr. F. Armknecht | 94
TCP-Handshake
A
(1) Speichern
des Syn Pakets
Bem.: Window-Größe definiert Puffer
für Datenempfang
SYN: ISN=1234, port=1695,
windows=1024, ..
B
(2) Speichern:
SYN/ACK Pakete
SYN: ISN=4253, port=2007,
windows=15000, ACK: ack=1235
Quittiert
wird letztes
Byte
(3)
ACK: ack= 4254, …
Verbindung steht,
Daten werden ausgetauscht
Fachbereich Informatik | Prof. Dr. F. Armknecht | 95
7.8.7 User Datagram Protocol (UDP)
• auch auf Schicht 4, auf IP aufsetzend
• verbindungsloses, unzuverlässig Protokoll, d.h.
• Sender hat auf IP- und UDP-Ebene keine Informationen,
ob Daten beim Empfänger angekommen sind
• UDP-Pakete können in beliebiger Reihenfolge beim
Sender eintreffen,
• Duplikate werden nicht erkannt
• Kommunikation erfolgt wie bei TCP über Ports als Endpunkte
Fachbereich Informatik | Prof. Dr. F. Armknecht | 96
7.8.2 TCP/IP Modell
Internet-Protokollfamilie
Fachbereich Informatik | Prof. Dr. F. Armknecht | 97
7.9 Protokolle der Anwendungschicht, Auswahl
7.9.1 DNS Domain Name Service
Problem:
• Numerische IP-Adressen sind für Menschen schwer zu merken
Lösung:
• DNS übersetzt numerische Adresse in Namen und vice versa
• Beispiel
Fachbereich Informatik | Prof. Dr. F. Armknecht | 98
7.9 Protokolle der Anwendungschicht, Auswahl
7.9.1 DNS Domain Name Service
Problem:
• Numerische IP-Adressen sind für Menschen schwer zu merken
Lösung:
• DNS übersetzt numerische Adresse in Namen und vice versa
• Beispiel: www.tu-darmstadt.de ↔ 130.83.58.221
DNS entwickelt in den 80er Jahren
Grundlegende Definitionen:
Name
server
• RFC 1034 & 1035, 1987
Zahllose weitere RFCs für die
Nutzung von DNS, Updates etc.
• Hierarchisches Namensschema
• Verteilte Namensdatenbank
• DNS-Protokoll: query-response protocol
Fachbereich Informatik | Prof. Dr. F. Armknecht | 99
2
cs.princeton.edu
User
1
user @ cs.princeton.edu
Mail
program
192.12.69.5
192.12.69.5
3
Port=25
4
TCP
192.12.69.5
IP
5
7.9.1 DNS Domain Name Service
Basis: hierarchischer Namensraum:
• top-level Domänen u. Unterdomänen
• ICANN verwaltet die top-level Domänen
• verteilte Datenbank, um Namensabbildung durchzuführen
• verteilte DNS-Server führen DNS-Protokoll durch
Fachbereich Informatik | Prof. Dr. F. Armknecht | 100
7.9.1 DNS Domain Name Service
Aufgabe von DNS:
• Abbilden (Resolve) von logischen Namen auf IP-Adressen
• jeder DNS-Server verwaltet einen Cache von erfragten
und manuell eingetragene Adresszuordnungen
• Über DNS-Anfrage-Antwort Protokoll können Clients von
den DNS-Servern IP-Adressen von Rechnern erfragen, von
denen nur der DNS-Name bekannt ist
• das Protokoll ist idR UDP-basiert, d.h.
• unzuverlässige Kommunikation
• Client sendet unbeantwortete Anfragen erneut
• Unerwartete Antwortpakete, z.B. Antworten auf bereits
beantwortete Anfragen, werden einfach ignoriert
Prinzip: Best Effort
Fachbereich Informatik | Prof. Dr. F. Armknecht | 101
7.9.1 DNS Domain Name Service
Beispiel: Ausschnitt aus einer möglichen DNS-Datenbank
Felder v.l.n.r.:
•Domain_name
•Time_to_live
•Class
•Type
•Value
Fachbereich Informatik | Prof. Dr. F. Armknecht | 102
7.9.1 DNS Domain Name Service
Beispiel: Ausschnitt aus einer möglichen DNS-Datenbank
Ressource record types:
Fachbereich Informatik | Prof. Dr. F. Armknecht | 103
7.9.1 DNS Domain Name Service
Ablauf bei einer DNS-Anfrage: (siehe folgende Folien)
1. Client A stellt eine DNS-Anfrage an den Port 53 eines
DNS-Servers X: IP-Adresse von www.beispiel.de?
2. falls Cache-Miss bei Server X,
3. leitet X die Anfrage weiter an zuständigen Server Y
4. falls Cache-Hit bei Y, schickt dieser die Antwort, also die
IP-Adresse von www.beispiel.de an Server X zurück
5. Server X aktualisiert seinen Cache, um Anfragen nach
www.beispiel.de direkt beantworten zu können.
6. Server X liefert Client die angefragte IP- Adresse zurück
Fachbereich Informatik | Prof. Dr. F. Armknecht | 104
7.9.1 DNS Domain Name Service
Ablauf einer DNS-Anfrage: zusammengefasst
Server X
Cache
2. DNS-Server: Cache-Miss, kein Eintrag für
www.beispiel.de
3.
1. DNS-Anfrage
www.beispiel.de ?
4.
Zuständiger Server Y
Cache
www.beispiel.de : 130.83.56.60
Client A
Fachbereich Informatik | Prof. Dr. F. Armknecht | 105
7.9.1 DNS Domain Name Service
Server Y beantwortet Anfrage (4)
Server X
Cache
www.beispiel.de : 130.83.65.60
5. Cache Aktualisierung
Server Y
4.
130.83.65.60
6.
Client A
Fachbereich Informatik | Prof. Dr. F. Armknecht | 106
Cache
www.beispiel.de : 130.83.65.60
7.9.2 E-Mail
Elektronische Mail ist die mit Abstand häufigste
Anwendung in vernetzten Systemen
E-Mail-Typen:
• Einfache ASCII-Mails: aufsetzend auf dem Simple Mail
Transfer Protocol (SMTP), aber nur ASCII-Texte
• Multimediale Nachrichten: codiert mittels Multipurpose
Internet Mail Extension Protocol (MIME)
Vorgehen: analog zur Papier-Mail
• User-Agent: Mailprogramm zur Texterstellung
Text mit Absender/Empfänger-Info versehen
• Mail-Zustellung: Mail Transfer System: SMTP
Fachbereich Informatik | Prof. Dr. F. Armknecht | 107
7.9.2 E-Mail
Analogon: Papier-Mail versus E-Mail
Fachbereich Informatik | Prof. Dr. F. Armknecht | 108
Grobarchitektur eines E-Mails-Systems
LAN
LAN
MTA
Internet
MUA
Recipient
MUA
Sender
MTA
MUA= Mail User Agent, wird als Mail Client bezeichnet
MTA=Mail Transport Agent, wird als Mail Server bezeichnet
Fachbereich Informatik | Prof. Dr. F. Armknecht | 109
7.9.2 E-Mail
Versenden von E-Mails: (RFC822-konforme Mail als Bsp.)
• MUA = Mail Client, z. B. Mozilla, Microsoft Outlook, …
• Sender füllt To: … und Subject: …. Feld sowie
den Nachrichten-Body aus
• MUA transformiert das in eine RFC 822
konforme Nachricht und sendet diese via LAN-Verbindung
zum MTA = Mail Server des Senders
• MUA weist den MTA an, welches Mail-Protokoll
zu verwenden ist
Bem.: RFC 822: erlaubt nur ASCII Zeichen, SMTP als Protokoll
• eine Mail besteht aus 2 Teilen:
• Header: sender, recipient, date, subject, delivery path,…
• Body: Inhalt
Fachbereich Informatik | Prof. Dr. F. Armknecht | 110
7.9.2 E-Mail
• der MTA des Senders nutzt den DNS-Dienst, um
die IP-Adresse des Empfänger MTA zu finden
• der MTA des Senders öffnet eine Verbindung zum
Empfänger MTA
• Übertragung der Nachricht mittels SMTP
SMTP: einfaches ASCII-Protokoll
• nutzt TCP (also verbindungsorientiert) über Port 25
• Sender (client) baut Verbindung zu Server auf (1)
• Server antwortet mit seiner Identität und der Bereitschaft,
Mails zu empfangen (2)
• Client meldet von wem, an wen die Mail gehen soll (3)
• falls Empfänger beim Server bekannt, gibt Server Startsignal
zum Senden der Mail durch den Client (4)
Fachbereich Informatik | Prof. Dr. F. Armknecht | 111
7.9.2 E-Mail
Empfänger MTA:
• stellt die Nachricht dem MUA des Empfängers zu
• oder speichert sie lokal für einen späteren Abruf über das LAN
Bem.:
• SMTP basiert darauf, dass der Sender eine TCP-Verbindung
zum Empfänger-Rechner aufbauen kann
Fachbereich Informatik | Prof. Dr. F. Armknecht | 112
7.9.2 E-Mail
d.h. der Empfänger muss online sein.
• das ist aber häufig nicht der Fall!
Lösung: ISP ist immer online und nimmt E-Mails der Kunden an
• zusätzliche Protokolle, um von Kunden-Rechner die Mails
beim ISP abzurufen:
• POP3 (Post Office Protocol)
• IMAP (Internet Message Access Protocol)
Fachbereich Informatik | Prof. Dr. F. Armknecht | 113
Abbildung (a):
permanente Verbindung
und der User Agent läuft
auf dem gleichen
Rechner wie der MTA
Abbildung (b):
Empfänger besitzt Wählverbindung zu einem ISP
Fachbereich Informatik | Prof. Dr. F. Armknecht | 114
7.9.2 E-Mail
Ablauf (grob) des POP3-Protokolls: RFC 1939
• POP3 beginnt mit dem Start des Mailprogramms
• Mailprogramm richtet eine TCP-Verbindung zum Port 110 und
MTA des ISP (zum POP3-Server des ISP) eine Verbindung ein
• der POP3-Client führt eine Benutzer-Authentisierung durch,
indem er den Benutzernamen und das Passwort sendet
• nach erfolgreicher Anmeldung: Client kann sich die Mailbox
anzeigen lassen (list-Befehl)
• im Transaktionszustand können Benutzer E-Mails abholen und
zum Löschen markieren
• sind alle Mails abgerufen, sendet der Client ein quit,
• der ISP-Server aktualisiert die Mailbox (löscht markierte Mails)
• die Verbindung kann terminiert werden
Fachbereich Informatik | Prof. Dr. F. Armknecht | 115
7.9.2 E-Mail
Beispiel: Abruf von drei
Nachrichten mit POP3
Fachbereich Informatik | Prof. Dr. F. Armknecht | 116
7.9.2 E-Mail
Probleme mit POP3
• falls Benutzer seine Mails von verschiedenen Rechnern abruft:
• Mails des Benutzers sind auf diese Rechner verteilt
Lösung:
IMAP Internet Message
Access Protocol
• E-Mails verbleiben
beim Server
(unbegrenzt)
• oder werden wie
bei POP3 abgeholt
Fachbereich Informatik | Prof. Dr. F. Armknecht | 117
/offline
7.9.3 World Wide Web
Grundmodell
• Browser zeigt Web-Seite auf Client-PC an,
• Hyperlink verweist auf Server abcd.com,
• von dort wird Seite angefordert
Fachbereich Informatik | Fachgebiet Graphisch-Interaktive Systeme (GRIS) | Prof. Dr. D. Fellner | 118
7.9.3 World Wide Web
Client-Seite: Schritte, wenn Benutzer im Browser einen
Hyperlink anklickt (URL Uniform Resource Locator)
Am Beispiel der URL http://www.itu.org/home/index.html
• Browser ermittelt die URL und fragt den DNS-Server nach der
IP-Adresse von www.itu.org
• DNS gibt IP-Adresse zurück, hier 156.106.192.32
• Browser baut zu Port 80 (http) eine TCP-Verbindung zum
Rechner mit der IP-Adresse 156.106.192.32 auf
• Browser sendet Anfrage nach http://www.itu.org/home/index.html
• Server sendet Datei home/index.html (wenn Client berechtigt ist)
• die TCP-Verbindung wird getrennt
• der Browser zeigt den Text von home/index.html im Display
Fachbereich Informatik | Prof. Dr. F. Armknecht | 119
7.9.3 World Wide Web
Server-Seite:
• nimmt TCP-Verbindung an, prüft die Identität des Client,
• prüft die Zulässigkeit des Dateizugriffs
• ruft angeforderte Datei von Festplatte ab und
• sendet die angeforderten Daten und loggt die Aktion
Problem: Datentransfer erfordert jeweils Zugriff auf die Platte
Lösung: Cachen der n zuletzt zugegriffenen Dateien und
Multi-Threaded Server
Fachbereich Informatik | Prof. Dr. F. Armknecht | 120
Einordnung von HTTP (Wiederholung)
http-Protokoll
Fachbereich Informatik | Prof. Dr. F. Armknecht | 121
7.9.3 World Wide Web
HTTP (HyperText Transfer Protocol), RFC 2616
• Standardübertragungsprotokoll im Web
• legt fest, welche Nachrichten Clients an Server senden dürfen
• und welche Antworten die Server senden können
• jede Interaktion besteht aus einer ASCII-Anfrage und
einer MIME-ähnlichen Antwort
• Methoden unter
HTTP
Fachbereich Informatik | Prof. Dr. F. Armknecht | 122
Fazit Kapitel 7
Einführung in Netzwerk Architekturen
 Bedeutung, Historie, Topologien, Übertragungsformen
ISO/OSI Abstraktion
 Layer 1: Div. Übertragungsmedien (Twisted Pair, LWL, Richtfunk etc.)
 Layer 2a (Media Access): ALOHA, CSMA, CSMA/CD
 Layer 2b (Logical Link Control): Sliding Window, PPP Architektur
 Layer 3 (Netzwerk): Flooding; Distance Vector und Link State Routing
 Layer 4 (Transport)
 Layer 5 (Sitzung)
 Layer 6 (Darstellung)
 Layer 7 (Anwendung)
TCP/IP Protokoll Stack
 IP Adressierung und Paketstruktur, TCP
 ARP, NAT, DHCP
Anwendungsschicht
 DNS, Email, WWW
Fachbereich Informatik | Prof. Dr. F. Armknecht | 123
Herunterladen