OSI-Referenzmodell

Werbung
Kapitel 1.
OSI-Referenzmodell
Kommunikationssystem in Schichten
1. Schicht – Übertragungsschicht
Festlegung von mechanischen, elektrischen u.
elektromagnetischen Eigenschaften
Bsp. Kabel, Frequenz, Spannung
2. Schicht - Sicherungsschicht
Bitszusammenfassung in Frames.
Erkennung von Fehlern
3. Schicht – Vermittlungsschicht
Vermittlung zw. nicht direkt verbundenen Rechnern
4. Schicht – Transportschicht
Logische Verbindungen, kompensieren von
Paketverlüsten, Engpassvermeidung
5. Schicht – Kommunikationssteuerungschicht
Sitzungsaufbau, Kontrolle und Wiederabbau.
6. Schicht – Darstellungsschicht
Einheitliche Kodierung und Datenkompression
Dient als Übersetzer
7. Schicht – Anwendungsschicht
Darstellung der Anwendungsfunktionen
TCP/IP besteht aus 4 Schichten
Die ersten zwei Schichten des OSI werden in
Netzwerkschicht zusammengefaßt.
Vermittlungsschicht = Internetschicht
Transportschicht bleibt gleich
Die oberen 3. Schichten des OSI werden in einen
Anwendungsschicht zusammengefaßt.
Jede Schicht besitzt ihre eigene Adressierung:
1.Schicht: MAC – Adressen (Ethernet 48 Bit) ,
eindeutige Identifizierung von
Rechnernetzwerkadaptern.
2. Schicht: IP – Adressen (32 Bit aktuell)
3. Schicht: Portnummer (zusätzl. Zu IP-Adresse)
4. Schicht: je nach Anwendung werden andere
Adressen verwendet: z.B. http, www, ftp, usw.
Unterschiede der beiden Modelle:
OSI hat sich nicht durchgesetzt; TPC/IP dagegen hat
sich in der Rechnernetzenwelt signifikant
durchgesetzt.
TCP/IP – schnell lauffähig (UNIX),
OSI Protokolle – schwer zu implementieren,
Kapitel 2:
Direktverbindungsnetzwerke:
Betriebsweise:
Synchron vs. Asynchron:
Synchron: der Sender darf nicht zu beliebigen
Zeitpunkten senden (Sendenfreigabe durch den
Empfänger)
Asynchron: der Sender kann zu beliebigen
Zeitpunkten senden (Tastatur, langsam)
Multiplexverfahren:
Frequenzmultiplex: Trennung unterschiedlicher
Frequenzen durch Empfänger (Rundfunk)
Zeitmultiplex: Benutzen des Übertragungsmediums
nacheinander für bestimmte Zeit (Slot)
Nachteil: Kollision = Mehrfachbelegung.
Lösung: zentrale Verfahren – Senderrechterteilung
Dezentrale Verfahren – Vereinbarung der
Sendereihenfolge (flexibel aber komplex)
Raummultiplex: Verwendung im mobilen Umfeld
(Handy, WLANs) Elektromagnetische Signale
Codemultiplex: Funk – Frequenzen, teuer
Modulation: Darstellung von Binärzeichen durch
Variation von Amplitude, Frequenz, oder Phase eines
sinusartigen Signals
Sicherung der Übertragung: 5 Probleme:
•Kodierung
•Framing: Frameszusammenfassung
•Fehlererkennung
•Zuverlässige Zustellung: Erreichen der Zustellung
trotz Fehler
•Medienzugriff: gleichzeitiger Zugriff
Diese Funktionen werden auf der NW-Karte
bereitgestellt
NRZ – Kodierung von Bits
Bits werden 1:1 übertragen. 0-Bit low, 1-Bit high
NRZ
0 0 1 0 1 1 1 1 0 1 0 0 0 0
Nachteil: lange Sequenzen von 0 oder 1
Lösung: Takt über eigene Leitung transportieren
NRZI
Non-Return-to Zero Inverted
0-Bit -> Wiederholung des letzten Signals
1-Bit -> Wechsel des Signals
Der Wechsel findet in der Mitte der jeweiligen
Zeiteinheit statt. Sonst gleich.
Manchester-Kodierung:
0-Bit -> Signal wechselt von low->high
1-Bit -> Signal wechselt von high->low
0-Bit bedeutet:
0
1-Bit bedeutet:
1
Vorteil: in jedem Takt findet ein Wechsel statt
Nachteil: Änderungsrate der Signalwechsel
verdoppelt sich.
4B/5B – Kodierung
Jeweils 4 Daten-Bits werden 5 Code-Bits zugeordnet
Die Codes sind vorgeschrieben, siehe Tabelle
Frameserzeugung
Sentinel-Methode:
Spezielle Sentinel-Zeichen (Start of Text-STX, End of
Text-ETX). Nicht genügend übersichtlich, denn kann
auch im Nutzdatenanteil vorkommen.
Andere Methoden…
Parität: Einfache Parität
Die Bits werden um 1 Bit erweitert:
Even Parity –
gerade Parität -> 1011 010 -> 1011 0100
Odd Parity –
Ungerade Parität -> 0110 110 -> 0110 1101
Nachteil: schon 2 umgekippte Bits können nicht
erkannt werden.
Zweidimensionale Parität
Zu jedem Paritätsbits einzelner Informationsblöcke
wird noch mal die Parität über alle Blöcke gebildet:
1
0
0101 101 0 Die Anzahl der 1 ablesen->gerade=0
0110 100 1 ungerade = 1
0111 111 0
0000 000 0
1111 111 1
0100 101 1
0111 111 0
1000 011 1 Parität über alle Blöcke nach dem obigem
Schema (ung=1, ger=0)
Zyklische Blocksicherung CRC
Interpretation einer Nachricht der Länge n+1 durch
ein binäres Polynom des Grades n, z.B.
1011 0011 -> x^7+x^5+x^4+x+1
Informationspolynom I(x) sind die übertragenen Daten
Generatorpolynom G(x) wurde vom Sender u.
Empfänger vorher vereinbart und ist fest
Codepolynom C(x) wird vom Sender an den
Empfänger übertragen und enthält redundante
Information
Folgende Schritte:
I(x)*x^k wo x^k Grad des Generatorpolynoms ist
Das Ergebnis wird durch das Generatorpolynom
geteilt. Man bekommt Restpolynom R(x)
Bsp:
G(x)=x^3+x+1
Information: 1001 1001 01 -> x^9+x^6+x^5+x^2+1
I(x)*x^3=x^12+x^9+x^8+x^5+x^3
(I(x)*x^3)/G(x)->R(x)=x^2+1
Kapitel 3: Direktverbindungsnetzwerke (Teil 2)
Zwei Grundmechanismen zur Erkennung fehlerhafter
Übertragung:
Bestätigungen (ACKs)
Timeout
ARQ Automatic Repeat Request
Der Empfänger sendet das ACK, wenn ein Frame
erfolgreich empfangen wurde:
Bekommt der Sender das ACK, so ist die Zustellung
erfolgreich abgeschlossen, wenn nicht, so sendet er
den Frame erneut. Stop and Wait – erst nach der
Bestätigung wird ein neuer Frame ausgesendet.
Hat der Empfänger einen Frame erfolgreich
empfangen und geht das ACK verloren, so sendet der
Sender denselben Frame erneut.
Sliding Window: man erlaubt es dem Sender, mehrere
Frames unbestätigt auszusenden.
Kumulative ACKs: es werden nur ununterbrochene
Folgen erfolgreich empfangener Frames bestätigt,
z.B. 1,2,3,4,6,7->ACK(4)
Bsp:
1
ACK1
1
2
3
U
S
W
Werden z.B. Pakete von 3 Bits ausgesendet, so kann
es dazu kommen, daß einer von diesen Bits verloren
geht. Dann wird der Empfänger das letzte ACK
aussenden, um zu zeigen, daß er nach diesem ACK
nichts anderes bekommen hat. Doch es kann
vorkommen, daß der Sender nach der mißerfolgten
Übersendung noch weiter versendet. Die weiteren
Bits, die er sendet, werden im Speichertabelle rechts
abgelegt, wie z.B. man bekam 1, 2 nicht, dann 3 und
4, und in der Tabelle steht 1, 3, 4. Nachdem der
Sender festgestellt hat, daß einer der Pakete nicht
angekommen ist, kann er schon mehrere ACK mit der
gleichen Nummer bekommen haben. Dann versendet
er z.B. 2 und dann auch 3. Nach 2 bekommt er aber
Antwort ACK4, was bedeutet, daß der Sender alle 4
Pakete empfangen hat.
Medienzugriff:
Problem: Media Access Control, MAC: Mehrere
gleichzeitige Sendungen auf einem Medium machen
die Übertragungen unbrauchbar-> Lösung:
Man erlaubt Kollisionen, aber erarbeitet
Mechanismen, um diese zu entdecken und behandeln
zu können (CSMA/CD)
Verhinderung der Kollisionen (CSMA/CA)
Ethernet: Mehrfachzugriffsnetz. Ein Ethernet ist
ursprünglich ein Bus. Jede Ethernet-Station verfügt
über eine Einrichtung, die gesendeten Signale wieder
vom Medium zu lesen: Sind die Signale verfälscht
worden, liegt eine Kollision vor (vom Sender erkannt),
die Signale verbreiten sich mit Lichtgeschwindigkeit.
Ist das Medium frei, wird sofort gesendet,
Ist das Medium nicht frei, wird gewartet, bis es frei ist,
und dann sofort gesendet. Wird während des
Sendens eine Kollision erkannt, so wird das Senden
abgebrochen, Statussignal wird versendet, dann wird
eine Zufallszahl aus {0,1} ausgewählt und z*twait
(twait = 51,2 Ms)
Die Daten werden Manchester-kodiert.
WLAN – Medienzugriff
Kollisionserkennung ist bei Funknetzen ein Problem,
denn
Eine Station muß gleichzeitig senden und empfangen
können (Wird ein Frame gesendet, müßte sie
Funkmedium abhören und erkennen, ob gleichzeitig
eine andere Übertragung abläuft, am Ort des Senders
ist die Signalstärke so hoch, daß alle anderen Signale
Überdeckt werden.
Einfaches CSMA/CA
Ein Sender hört erst das Medium ab
Findet eine Übertragung statt, so wird auf das Ende
gewartet, noch zusätzlich eine Zeit abwarten, dann
wenn immer noch frei, wird gesendet.
Wird das Medium während der Wartezeit von einem
anderen Sender belegt, wird erneut gewartet, Backoff
wird solange wiederholt, bis Senden möglich wird.
Dies garantiert die Kollisionsvermeidung nicht, denn
z.B. zwei Sender haben die gleiche Zufallszahl
ausgewählt und starten zum gleichen Zeitpunkt ->
Problem., wenn CW (Connection Window) groß ->
lange Wartezeiten, weniger Kollisionen, klein-> kurze
Wartezeiten, mehrere Kollisionen
Das Gleiche System funktioniert auch mit ACKs.
Token Ring
Alle Rechner eines Netzwerks sind zu einem Ring
verbunden, die Daten fließen in einer festgelegten
Richtung im Ring. Will die Station nicht senden, so
gibt sie das empfangene Token weiter an den
nächsten Nachbarn
Will eine Station einen Frame senden, so wartet sie
auf das Token und nimmt diesen vom Ring, oder
sendet statt dessen einen Nutzlast-Frame
Empfängt die Station einen Frame, so gibt sie diesen
an den nächsten Nachbarn weiter, wenn sie der
Empfänger ist, so kopiert sie den Inhalt. Bekommt der
Sender seinen Frame zurück, verwandelt er ihn in ein
Token.
Wenn ein PC ausgeschaltet wird, wird dieser den
Token-Ring verhindern. Lösung: Ein Relais schlißt
den Ring und überdrückt die NW-Karte.
Es können mehrere Umläufe von Frames geben,
bevor die Station wieder ein Token sendet. Ein
Sender muß berechnen, ob die Zeit für einen weiteren
Umlauf vorhanden ist. Daher rechnet er:
TRT (Rotation Time)=Aktive Knoten * THT +
RingLatenz (Ausbreitungsverzögernung des Rings)
MonitorStation. Jede Station muß in der Lage sein, zu
einer Monitor Station zu werden. Wenn fehlerfrei reicht nur eine Monitor Station. Sie überwachen den
Ring und schauen, ob es ewig kreisende Frames gibt
und verhindern, daß diese mehrmals eine Monitor
Station passieren (nur einmal)
Paketvermittlung (Kapitel 4, Teil 1)
Vernetzung nicht direkt verbundener Rechner
OSI-Referenzmodell verwendet Hardware:
Schicht 1: Repeater-Verstärker, Hub-Kabelverteiler
und (wenn aktiv) mehrwegiger Repeater.
Schicht 2:
Bridge - Verbindet unabhängige Netzwerksegmente
Störungen, Kollisionen und Fehler bleiben auf ein
Segment beschränkt.
Naiver Ansatz: Kopiert alle Frames eines Segments in
das jeweils andere Segment
Optimierter Ansatz: Optimierung durch Administrator
Selbstlernend: wenn ein Rechner aus einem Segment
etwas sendet, kann sich die Bridge es in einer Tabelle
merken (seine Adresse). Die Tabelle muß nicht
vollständig gefüllt sein, die Einträge haben Verfallsdatum.
z.B. Rechner A sendet an YY, der in einem anderen
Segment liegt. Bridge 1 merkt, daß Rechner A über
Port 1 erreichbar ist, Bridge 2 merkt, daß A über Port
3 erreichbar ist und wenn YY dann sendet, wird der
direkte weg gewählt.
Switch, wird auch Bridge genannt. Unterschied ist,
daß Switches auch im dritten Schicht des OSI –
Referenzmodells verwendet werden (z.B. ATM)
Router: vermittelt Pakete zwischen LANs, kann
Netzwerke unterschiedlicher Technologien verbinden,
wichtiger Verteiler: IP Router
Circuit Switching vs. Packet Switching
Zwei unterschiedliche Ansätze:
1. Packet Switching: jedes Paket wird separat
über das Vermittlungsnetz zugestellt, ohne
die Reihenfolge der Pakete zu
berücksichtigen.
2. Circuit Switching. Von der Datenübertragung
wird eine Verbindung aufgebaut
(Signalisierung), diese wird nur für die Zeit
der Sitzung aufgebaut. Es ist unüblich eine
echt elektrische Verbindung für eine Sitzung
zu schalten, deshalb verwendet man Virtual
Circuit Switching. Bei diesen beantragt erst
der Rechner durch signalisieren eine virtuelle
Verbindung und jeder Switch richtet seinen
Teil der virtuellen Verbindung ein. Jedes
Paket besitzt einen virtuellen Wegweiser
(Leitungsbezeichner), an dem der Switch
ablesen kann, über welchen Port das Paket
verschickt wird. Fällt ein Switch aus, muß
eine neue virtuelle Verbindung eingerichtet
werden.
Vorteile der Circuit Switching: durch das Konstrukt
können bestimmte Eigenschaften beim
Verbindungsaufbau spezifiziert werden, die während
der Verbindung erhalten bleiben. Die
Paketreihenfolge bleibt erhalten, was bei Paket
Switching nicht der Fall ist, denn hier wird der
Laufweg pro Paket ermittelt und kann sich bei einer
Paketfolge ändern.
Nachteil: Rekonstruierung der Verbindung bei
Ausfällen oder Engpässen.
ATM (Asynchronous Transfer Mode)
Eine verbindungsorientierte, paketvermittelte
Technologie (eng mit Typ 1 Schichten verbunden).
Bei Verbindung kann man bestimmte Anforderungen
setzen und wenn diese akzeptiert werden, können die
für die Dauer der Verbindung gewährleistet werden.
ATM verwendet Pakete fester Länge (53 Byte), diese
werden Zellen genannt.
Vorteile: Implementierung einfacher; Die
Ausführungszeit bei allen Zellen ist gleich, daher
einfacher parallelisierbar; Häufig müssen
Abschätzungen gemacht werden, wie lange es
dauern wird, bis Pakete übermittelt werden. Bei
Paketen fester Größe ist diese Worst – Case –
Schätzung leichter und exakter.
ATM-Zellen-Format:
GFC – Generic Flow Control: 4 Bit
VPI – Virtual Path Identifier: 8 Bit
VCI – Virtual Circuit Identifier: 16 Bit
Zusammen spezifizieren sie die virtuelle Leitung.
Type: 3 Bit = 8 versch. Möglichkeiten der Zellen
CLP: 1 Bit. Zeigt an, ob Zellen bei Überlast bevozugt
verworfen werden oder nicht.
HEC: 8 Bit: CRC – Prüfsumme des Headers
Insgesamt 5 Bytes = 40 Bit.
Und noch 48 Bytes = 384 Bit der Nutzdaten
Nur der Header wird gesichert, weil Fehler in dem
Header sind viel kritischer, die Nutzlast wird häufig
ungesichert übertragen (Audio, Video), soll dieser
jedoch gesichert werden, muß dies über die
überlagerten Protokolle erfolgen.
Um die Zellengrenzen zu erkennen, wird ständig die
CRC – Berechnung durchgeführt.
Es gibt zwei Möglichkeiten, wie man Verbindungen
einrichtet:
Permanente Virtual Circuits: permanente Eintragung
einer virtuellen Verbindung: zwei entfernte Rechner
können auf diese Weise dauerhaft miteinander
kommunizieren. Keine Signalisierung nötig.
Switched Virtual Circuit: virt. Verbindung wird per
Signalisierung angefordert, das Verbindungsnetzwerk
signalisiert sich bei Bedarf. Bei der Signalisierung
können Anforderungen an die virtuelle Verbindung
spezifiziert werden.
Kritik: ATM Switches sind teuerer als LAN – Switches,
Verbindungsauf- und –abbau kostet Zeit,
Broadcasting problematisch. ATM wird hauptsächlich
in Backbone-Bereich eingesetzt
(Telefongesellschaften, große Unternehmen).
Paketvermittlung (Kapitel 5, Teil 2)
Unter Routing wird die Festlegung eines
Übertragungsweges bei der Versendung von Paketen
in Computernetzen (Wegeauswahl).
Switching befaßt sich aber mehr mit der Weiterleitung
von Paketen.
Routing Verfahren:
Distance – Vector: Ermitteln der Distanz zu allen
Knoten, Austausch von Distanzinformationen nur mit
den Nachbarn
Link – State: Messen der Distanz zu den Nachbarn,
Austausch der Distanzinformation mit allen Knoten
DBF (Distance Vector) Jeder Knoten kennt seine
Nachbarn und den „Abstand“ zu diesen. Jeder Knoten
hat eine Routing – Tabelle mit folgenden Spalten:
Ziel: zeigt den Zielknoten, an den ein Paket gesendet
werden soll.
Hop: Über welchen Nachbarn gesendet wird
Metrik: zeigt Distanz bis zum Ziel
Routing – Tabelle von Na
Ziel
Hop
Metrik
…
…
…
Nb
Ha b
Ma b
------Count – to – Infinity – Problem
N1 ----- N2 ----- N3
N1—x—N2 ---- N3 Verbindung zw. N1 u. N2 getrennt
N2 aktualisiert seine Tabelle und besitzt immer noch
die Route zu N1, die durch N3 liegt, denn die alte
Route verschwindet. N3 besitzt die Route zu N1, die
über N2 liegt. Mit jedem Austausch werden die
Distanzen der beiden Tabellen wachsen, sie werden
aber nie unendlich -> Count – to – Infinity
Lösung: Difinition eines kleinen, endlichen Werts als
unendlich, wie z.B. 16
DSDV (Destination Sequenced Distance Vector) dient
zur Behebung des Count-Infinity Problem:
Ziel: Hop: Metrik: SeqNr
Bei jeder Verbreitung wird die Sequenznummer
erhöht. Damit kann ermittelt werden, wie aktuell ein
Eintrag ist. Ein Eintrag wird nur dann übernommen,
wenn die Sequenznummer sich erhöht hat, oder wenn
die Sequenznummer gleich geblieben ist und die
Gesamtdistanz sich verringert hat.
Jeder Knoten Ni initialisiert seine Tabelle mit
Hii<-Ni
Mii<-0
Sii<<0
Und trägt für alle anderen Knoten Nm ein
Him<-?
Mim<-∞
Sim<- -1
Ein Nachbar Nj von Ni sendet nun Distanzinformation
bzgl. Eines Knotens Nk an Ni. Ni prüft, ob
Sik<Sjk oder
Sik<Sjk und Mij + Mjk < Mjk
Ist dies der Fall, aktualisiert Ni die Tabelle wie folgt
Djikstra – leicht.
Internetworking (Kapitel 6, Teil 1)
Internet ist ein zusammenschluß verschiedenster
Netzwerke wie Ethernet, WLAN, Token – Ring –
Netze etc.
Jeder Host muß eindeutig identifizierbar sein. 5
Klassen der IP – Adressierung:
A
0
Netzwerk 7
Host 24
B
10
Netzwerk 14
Host 16
C
110
Netzwerk 21
Host 8
D
1110
Netzwerk 28
E
1111
Netzwerk 28
Bei der Vergabe von Adressen kann die Größe des
Netzwerks berücksichtigt werden
Klasse
Mögl. Netzwerke
Mögl. Hosts
A
126 = 2^7
16 777 214=2^24
B
16 384
65 534
C
2 097 152
254
Im Host – Anteil: Nur 1-Bits dürfen nicht vorkommen,
denn beschreibt Broadcast – Adresse des NW; Nur 0
– Bits nicht vorkommen, denn beschreibt das
Netzwerk in Routing – Tabellen
Adresse 127. x. y. z. dürfen nicht für Netzwerke
vergeben werden. 127. 0. 0. 1 – Loop Back Adresse
(der Host selbst)
Von
Bis
10.0.0.1
10,255,255,254
172,16,0,1
172,31,255,254
192,168,0,1
192,168,255,254
Diese Adressen können für die privaten Hosts
verwendet werden. Die IP – Pakete werden nicht von
Routern übertragen.
ARP (Adress Resolution Protokol)
Jeder Host führt einen Cache über schon aufgelöste
Adressen
Adressen, die älter als 15 Minuten sind, werden aus
dem Cache gelöscht.
Subnetting
Vergabe von Adress – Blöcken
Bsp. Ein Campus möchte 15 Netzwerke mit je 300
Rechnern anmelden
= 300*15 = 4500 Adressen -> Klasse C ist zu klein.
Es müssen daher 15 Klassen B – Netze beantragt
werden.
300 Hosts/ Subnetz = 9 Bits notwendig
15 Subnetze = 4 Bits notwendig
Insgesamt 15 Bits = 9+4+2 (am Anfang)
Ist allerdings nicht effizient, denn 90% der Klasse B
Adressen bleiben umsonst belegt. Deshalb wäre die
Vergabe von vielen Klasse C Adressen von Vorteil:
4500/254=etwa 18 Klasse C Adressen. Problem: statt
einem Eintrag für dieses Netz müssen jetzt 18
Einträge gemacht werden.
Lösung: Klassenlose Adresse: Ein Router merkt sich
die Adresse 221.176.128 und zusätzlich die Maske
255.255.224.0 um alle Klasse – C – Netze zu
erreichen.
NAT (Network Address Translation) Router mit NAT
Fall 1. Rechner des Subnetzes kommunizieren
untereinander. Die Subnetzmaske im Beispiel ist
255,255,255,0. Von Innen nach Außen ist eine
Weiterleitung erforderlich. Der Nat Router ersetzt die
Absender – Adresse durch seine eigene (globale)
84,56,65,2 und sendet weiter. Der Empfänger
bekommt Paket und sendet ggf. Antwort an
84,56,65,2. Der Router merkt aber die Adresse des
Absenders und leitet die Antwort weiter. Die Liste der
Verbindungen kann u. U. sehr umfangreich werden.
Fragmentierung:
Im Heimnetzwerk des Senders wird nicht fragmentiert,
nicht alle MTUs (Maximum Transmition Unit) sind
bekannt. D.h. IP Pakete werden in Fragmente
aufgeteilt (danach).
Reassemblierung:
Alle Fragmente werden gesammelt, das ursprüngliche
IP – Paket wird zusammengesetzt, Fragmente
müssen nicht über denselben Router gehen.
Fragmentierung und Reassemblierung
Ident (16 Bits)
Identifikator des Fragments
Wird vom Sender indentifiziert u. muß eindeutig sein
Flags (3 Bits)
1 Bit – reserviert, 2 Bit – 0/1 – erlaubt/verboten
3 Bit – More 1-folgen weitere Pakete, 0 – Ende
Offset (13 Bits): Wo liegt dieses Fragment innerhalb
der gesamten Nutzdaten? (8 Byte Blöcke)
Segmentierung und Fragmentierung
Zerlegung der übertragenen Einheiten
TCP -> IP: Segmentierung
Beliebig große Pakete werden in IP – Pakete von
max. 64 kByte zerlegt
IP -> Netzwerk: Fragmentierung
IP – Pakete werden so zerlegt, daß sie in Rahmen der
MTU passen.
wird. Nach einer bestimmten Zeit versucht der Client
den Lease zu erneuern (mit DHCPREQUEST), wenn
aber bis zu einem Zeitpunkt T2=87,5% keine
Erneuerung eingeht, so wendet sich der Client per
Broadcast an alle DHCP – Server des Netzes.
Häufig sollen dieselben Pakete an eine ganze Gruppe
von Empfängern gesendet werden. Möglichkeit:
einzeln Senden. Nachteil: Manche Transportwege
müssen denselben Inhalt mehrfach transportieren.
Multicast: Hosts, die eine Multicast – Übertragung
empfangen möchten, treten einer Multi – Cast –
Gruppe ein (Klasse D – Adressen). Der Sender
sendet ein Paket an eine Multicast – Gruppenadresse
und die Routing – Infrastruktur sorgt dafür, daß alle
teilnehmenden Hosts das Paket empfangen.
Link – State Multicast:
Wenn ein Router ihre Link – States im Netz verteit,
sendet er auch die Gruppen – Adressen von
angemeldeten Hosts. Verwendung von Djikstra.
Internetworking (Kapitel 7 Teil 2)
ICMP Internet Control Message Protocol
IP – Router und Hosts teilen dem Sender über ICMP
mit, wenn Fehler aufgetreten sind. Typische Fehler:
Ein Paket kann wegen dem Puffer – Überlauf nicht
transportiert werden. Destination Unreachable:
Zielhost nicht mehr erreichbar. Time Exceeded: TTL –
Wert hat 0 erreicht oder Time Out. Redirect: Ein
Router kann prinzipiell das Ziel erreichen, es gibt aber
einen besseren Router.
Jeder Computer, der IP versteht, sende „Echo
request“ und „Echo reply“ – Inhalt gleich. Ping wird
verwendet, um zu testen, ob Host erreichbar ist.
Traceroute: Ermittlung der Route zu einem
bestimmten Host.
Ein Teilnehmer in einem Subnetz muß die
entsprechende Netz – und Subnetzadresse besitzen,
sonst können ihm keine Pakete zugestellt werden.
Lösung: Ein mobiler Rechner bekommt in jedem
Subnetz automatisch eine neue Adresse zugewiesen.
Die Vergabe von IP – Adressen ist zwar eine Lösung,
erfordert aber einen gewissen Aufwand. Bei der
doppelten IP – Adressenvergabe kann es zu
Netzstörungen kommen.
DHCP – Dynamic Host Configuration Protocol.
Ein Rechner, der in ein Subnetz eingebunden wird,
sucht selbstständig nach einem DHCP-Server und
bekommt von diesem ein freie IP – Adresse,
Subnetzmaske, Adresse des Domain Name Servers,
Adresse von Standard – Gateway, weitere Parameter.
Die Adressen werden entweder manuell (Hinterlegung
der MAC – Adressenliste von einem Administrator)
oder automatisch (eine freie IP – Adresse wird für
eine unbegrenzte Zeit vergeben) oder dynamisch (die
IP – Adresse wird nur für eine bestimmte Zeit
vergeben. Prinzip:
Der Client sendet per Broadcast ein
DHCPDISCOVER, Ein DHCP – Server antwortet mit
einem DHCPOFFER und sendet eine mögliche
Netzwerkkonfiguration. Nimmt der Client diese
Adresse an, sendet er ein DHCPREQUEST. Ist der
Server einverstanden, antwortet er mit DCHPACK.
Der Client ist dann im Besitz eines Leases, d. h. er
darf die IP – Adresse eine bestimmte Zeit benutzen.
Wenn ein Client aber keine Netzwerkparameter
haben, so ist es ein Problem. Der Server kann dann
keine Antwort schicken. TCP steht dann nicht zur
Verfügung, denn dieser benötigt IP – Adressen.
UDP kann versendet werden, wenn als Zieladresse
keine IP – Adresse, sondern MAC – Adresse benutzt
Internetworking (Kapitel 8 Teil 3)
Wichtig: garantierte Übertragung von Nachrichten,
beliebig große Nachrichten, Unterstützung mehrerer
Anwendungsprozesse auf einem Host, Flußkontrolle,
Überlastkontrolle
UDP (User Datagramm Protocol)
Erweitert IP – Pakete um die Funktionalität zu
demultiplexen.
UDP ist geeignet für bestimmte Anwendungen, die
verbindungslos sind. Die Nachrichten können verloren
gehen (Audio, Video Übertragung)
TCP (Transmission Control Protocol)
Demultiplexen verläuft analog zu UDP
TCP stellt zuverlässige, bidirektionale Byte – Streams
zur Verfügung, Fluß – und Überlastkontrolle.
Bildung der TCP – Segmente aus dem Byte – Strom:
Es wurden genug Bytes gepuffert, eine TCP –
Nachricht ohne IP – Fragmentierung zu versenden.
Die Anwendung wünscht explizit, die bisher
gepufferten Bytes zu versenden (flush); periodischer
Timer. TCP verwendet das Sliding – Window –
Verfahren.
Unterschied zwischen Sliding – Windows der 2 u. 4
Schichten. Schicht 4 erfodert Verbindungsauf – und –
abbau, während Schicht 2 – Verbindung zweier
Computern implizit definiert ist. Die Round – Trip –
Zeit schwankt bei Schicht 4 sehr stark, bei Schicht 2
ist sie im Wesentlichen konstant. Die Ressourcen auf
Schicht 4 (Größe) ist variabel und können sich zur
Laufzeit ändern. Auf Schicht 4 können die Pakete
umgeordnet werden, bei Schicht 2 nicht.
Überlastungen auf Schicht 4 betreffen Router, u. auf
Schicht 2 – Direktverbindung
TCP muß viel über die Verbindung lernen, während
auf Schicht 2 die Optimierung priori vorgenommen
werden können.
TCP – Flusskontrolle.
Der Empfänger sendet bei jedem empfangenen TCP
– Segment eine Antwort mit
Aknowledge (komulatives ACK)
Advertised Window: wie viele Bytes kann der
Empfänger noch puffern, bevor der Puffer überläuft.
Advertised Window = Max Received Buffer – (Last
Byte Received – Last Byte Read)
Last Byte Send – Last Byte Acked ≤ Advertised
Window
Effective Window = Advertised Window – (Last Byte
Send – Last Byte Acked) kann auch 0 sein.
Dann darf der Sender erstmal nichts senden
Schreibt die sendende Anwendung in den Puffer, wird
dieser irgendwann voll
Ist der Sendepuffer voll, wird die Anwendung beim
nächsten Schreiben solange blockiert, bis wieder
Pufferplatz frei ist.
Der Sender versucht periodisch, ein einziges Byte zu
senden (auch wenn er eigentlich nicht dürfte), bis
Effective Window > 0
Geht ein TCP – Segment verloren, sollte es möglichst
schnell erneut gesendet werden. Time Out
Berechnung: RTT (round trip zeit) =
RTT*a+RTTlast*(1-a) (a=0.8, …, 0.9)
Und setzt Timeout auf 2*RRT
Problem: sendet man ein TCP – Segment zweimal,
kann man das ACK nicht mehr der Sendung zuordnen
-> die Messung wird ausgesetzt
Die 2*RTT sind häufig zu großzügig – hat man eine
weitgehend konstante RTT, so wird in der Regel zu
lange gewartet bis ein Segment neu übertragen wird
Lösung von Jacobson/ Karels
RTT wird wie bisher berechnet
Zusätzlich noch der gleitende Durchschnitt wird
berechnet:
RTT=RTT*a+RTTlast*(1-a)
Deviation=Deviation*a + IRTTlast – RTTI*(1-a)
(a=7/8)
Timeout=RTT+4*Deviation
Bisher wurde nur die Flusskontrolle betrachtet – ein
Empfänger kann die Datenrate beim Sender so
drosseln, dass der Empfangspuffer nie überläuft.
Notwendig ist auch die Überlastkontrolle: diese stellt
sicher, daß die Übertragungswege, insb. Die Router
nicht überlastet werden.
Problem: Die Router sind nicht in der Lage ihre
Überlastung zu zeigen.
Der Sender paßt sich dynamisch an eine
Überlastsituation an und berechnet ständig einen
Wert Congestion Window.
Anpassung der Formel für das Effective Window
(Anzahl der Bytes, die noch unbestätigt versendet
werden dürfen)
Max Window = min (Congestion Window, Advertised
Window)
Effective Window = Max Window – (Last Byte Send –
Last Byte Acked)
Der Wert Congestion Window (Überlastfenster) gibt
an, wie viele Bytes unbestätigt versendet werden
dürfen, bis eine Überlastung droht.
Start: Congestion Window =1
Wenn alle Pakete im Congestion Window positiv
bestätigt wurden:
Congestion Window = Congestion Window+1
Additive Increase
Wenn ein Paket im Congestion Window verloren
gegangen ist (Durch Timeout erkannt)
Congestion Window = Congestion Window/2
Multiplicative Decrease
Herunterladen