32
© UNI Hannover, Institut für Kommunikationstechnik Institut für Kommunikationstechnik www.ikt.uni-hannover.de Protokolle der OSI-Schicht 2 Sicherungsschicht (Übung) Kapitel 7.2 Netze und Protokolle Dipl.-Wirtsch.-Ing. Kim Bartke

[9] Nup 07 2

Embed Size (px)

Citation preview

Page 1: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

Institut für Kommunikationstechnikwww.ikt.uni-hannover.de

Protokolle der OSI-Schicht 2Sicherungsschicht (Übung)

Kapitel 7.2

Netze und ProtokolleDipl.-Wirtsch.-Ing. Kim Bartke

Page 2: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(2)

Notwendigkeit für Protokolle der Sicherungsschicht (1)

Ausgangslage: Maschine A möchte Informationen an Maschine B übertragen

Welche Probleme können sich dabei ergeben?

Fehler auf den Übertragungsmedienendliche DatenrateVerzögerungen zwischen Senden und EmpfangenEffizienz der DatenübertragungÜberlauf des Empfängers

Literatur: Andrew S. Tanenbaum, „Computernetzwerke“, 3. Auflage, Kapitel 3-4

Page 3: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(3)

Notwendigkeit für Protokolle der Sicherungsschicht (2)

Wunsch: Die zu übertragenden Bits sollen in Wert und Reihenfolge auf dem Übertragungsmedium nicht verändert werden.

Wie kann dies erreicht werden?

Durch Einsatz von Protokollen, die in der Lage sind, mit den angegebenen Problemen umzugehen und einen gesicherten Datenfluss zu gewährleisten.

Page 4: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(4)

Designaspekte der Sicherungsschicht (1)

Welche Dienste können sinnvollerweise der Vermittlungsschicht von der Sicherungsschicht angeboten werden?

unbestätigte verbindungslose Dienstebestätigte verbindungslose Diensteverbindungsorientierte Dienste

Page 5: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(5)

Designaspekte der Sicherungsschicht (2)

Welche Möglichkeiten kennen Sie, um einen Bitstrom in Rahmen zu unterteilen?

ZeichenzählungAnfangs- und Endzeichensetzung (Zeichenstopfen)Anfangs- und Endflags (Bitstopfen)Verstöße gegen die Kodierregeln der Schicht 1

Page 6: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(6)

Designaspekte der Sicherungsschicht (3)

Beispiel für die Zeichenzählung

|5|1|3|2|7|3|3|3|7|1|2|5|6|3|4|5|5|2|5|1|2|1|

Problem: Bei fehlerhafter Übertragung der Rahmenlänge kann sich der Empfänger nicht mehr synchronisieren!

|5|1|3|2|7|6|3|3|7|1|2|5|6|3|4|5|5|2|5|1|2|1|/\

Fehler! (Übergang der Rahmenerkennung von Grün auf Rot)

Page 7: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(7)

Designaspekte der Sicherungsschicht (4)

Beispiel für Anfangs- und Endzeichensetzung (Zeichenstopfen)

|STX| A |DLE| B |ETX| SS 3

|DLE|STX| A |DLE|DLE| B |DLE|ETX| SS 2

Stopfzeichen

|STX| A |DLE| B |ETX| ES 3

DLE – Data Link EscapeSTX – Start of TeXtETX – End of TeXt

SS n – Sender Schicht nES n – Empfänger Schicht n

Sollte die Escape-Sequenz DLE als normales Zeichen auftauchen, wird dies durch ein vorangesteltes DLE gekennzeichnet (durch Schicht 2). Auf Empfängerseite wird das Stopfzeichen durch die Schicht 2 wieder entfernt, so dass die Datentransparenz gewährleistet bleibt.

Page 8: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(8)

Designaspekte der Sicherungsschicht (5)

Beispiel für Anfangs- und Endflags (Bitstopfen)

|0|1|1|0|1|1|1|1|1|1|1|1|1|1|1|1|1|0| SS 3

|0|1|1|0|1|1|1|1|1|0|1|1|1|1|1|0|1|1|1|0| SS 2Stopfbits

|0|1|1|0|1|1|1|1|1|1|1|1|1|1|1|1|1|0| ES 3

Durch Einfügen einer Null nach fünf aufeinanderfolgenden Daten-Einsen (durch Schicht 2) kann das Rahmenerkennungsflag „01111110“ nicht mehr im Datenfluss vorkommen. Auf Empfängerseite werden wiederum in Schicht 2 die eingefügten Nullen entfernt. Die Datentransparenz bleibt erhalten.

Page 9: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(9)

Designaspekte der Sicherungsschicht (6)

Beispiel für einen Verstoß gegen die Kodierregeln der Schicht 1

definierte Koderegelverletzungen werden als Rahmenerkennung benutzt

D L. F L.

t

NT to TE

48 bits in 250 microseconds

FA

logisch „0“LS2

10

N S1

0 0

Bei diesem Beispiel handelt es sich genau genommen um eine Schicht 1-Rahmenerkennung! Die innerhalb dieses Rahmens übertragenen Schicht 2-Rahmen bedürfen im Allgemeinen einer gesonderten Erkennung (beispielsweise mittels Flags). Bei einem einfachen Schicht 2-Protokoll ist es aber denkbar, dass genau ein Schicht 2-Rahmen pro Schicht 1-Rahmen übertragen wird. Somit kann die „Schicht 2-Rahmenerkennung“ implizit mittels Koderegelverletzung realisiert werden.

Page 10: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(10)

Designaspekte der Sicherungsschicht (7)

Coderegelverletzung 1: die erste logische „0“ nach F/L wird negativ codiert (Kollision mit F/L)

Coderegelverletzung 2: der letzte Impuls eines Rahmens ist immer positiv (Kollision mit dem folgenden positivem F-Bit)

D L. F L.

t

NT to TE

48 bits in 250 microseconds

FA

logisch „0“LS2

10

N S1

0 0

Bit-SynchronisationDas Endgerät (TE) leitet die Bit-Synchronisation aus den Flankenwechseln (Potentialwechsel) des Empfangssignals ab.

RahmensynchronisationF-Bit am Rahmenanfang wird immer positiv codiert, das folgende L-Bit realisiert die Gleichstromfreiheit und ist somit immernegativ.

Die erste gesendete “0” wird ebenfalls neagativ codiert, so dass sich eine Coderegelverletzung ergibt. Diese Regelverletzungtritt spätestens beim FA-Bit ein, das auf logisch “0” festgelegt ist.Durch die Steuer- und Ausgleichsbits wird sichergestellt, dass der letzte Impuls des Rahmens positiv ist, so dass sich mit dempositiven Impuls des F-Bits beim Übergang von einem Rahmen zum folgenden Rahmen ebenfalls eine Coderegelverletzungergibt.

S0-Rahmen NT zu TEN ist logisch immer “1”; FA, S1 und S2 sind logisch immer “0”.42 Bits (32 x B-Kanal, 4 x D-Kanal, 4 x E-Kanal, A-Bit, L-Bit) können logisch “0” oder “1” sein.

Daraus ergeben sich folgende Eigenschaften:Die minimale Anzahl logisch “0” codierter Bits zwischen Rahmenanfang (F/L) und Rahmenende (L) ist 3 (FA, S1 und S2).Ist die Zahl der variablen mit logisch “0” codierten Bits eines Rahmens ungerade, ist die Gesamtzahl der logischen Nullengerade (ungerade + 3 = gerade). Daraus folgt, da die erste logische “0” ein negativer Impuls war, für die letzte logische “0” einpositiver Impuls und für das L-Bit eine logische “1” (0 V).Ist die Zahl der variablen mit logisch “0” codierten Bits eines Rahmens gerade, ist die Gesamtzahl der logischen Nullenungerade (gerade + 3 = ungerade). Daraus folgt, da die erste logische “0” ein negativer Impuls war, für die letzte logische “0”ebenfalls ein negativer Impuls und für das L-Bit eine logische “0” mit positivem Impuls.

Somit ist der letzte Impuls eines Rahmens immer positiv und die Coderegelverletzung zum F-Bit des Folgerahmens gesichert. Die Rahmensynchronisation gilt als erfolgt, wenn die Coderegelverletzungen (jeweils 1 und 2) dreimal erfolgreich erkanntwurden.

Page 11: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(11)

Designaspekte der Sicherungsschicht (8)

Fehlerüberwachung

Wie wird sichergestellt, dass alle Rahmen die Vermittlungsschicht des Empfängers „unbeschädigt“ und in der richtigen Reihenfolge erreichen?

Anforderung von BestätigungenEinführung von Timern zur Behandlung verloren gegangener RahmenNummerierung von Rahmen zur SequenzeinhaltungVoraussetzung: Fehler können erkannt werden

Page 12: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(12)

Designaspekte der Sicherungsschicht (9)

Flusssteuerung

Was ist zu tun, wenn der Sender die Rahmen schneller überträgt, als der Empfänger diese verarbeiten kann?

Problem: Empfangsspeicher laufen über (Rahmenverlust)Protokoll muss Regeln enthalten, die definieren, wann ein SenderRahmen abschicken darfBeispiel: Fenstermechanismus (es dürfen nur n Rahmen gleichzeitig unbestätigt bleiben)

Page 13: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(13)

Fehlererkennung und Fehlerkorrektur

FehlerkorrekturcodesIdee: Jeder Rahmen enthält genug Redundanz um auftretende Fehler korrigieren zu können.Es werden Abstandscodes mit der Eigenschaft a=2d+1 benötigt.

FehlererkennungscodesIdee: Fehler müssen nur erkannt werden, um fehlerhafte Rahmen neu anzufordern.Es werden Abstandscodes mit der Eigenschaft a=d+1 benötigt.

Vorlesung „Kanalcodierung“ (Prof. Ostermann)

d = Anzahl der Fehler

Page 14: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

Institut für Kommunikationstechnikwww.ikt.uni-hannover.de

Medium Access Control –Die MAC-Teilschicht

Beispiele für Protokolle und Protokollphilosophien

Page 15: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(15)

Allgemeine Unterteilung von Netzen

Kategorie 1: Netze mit Punkt-zu-Punkt-Verbindungen Beispiele: SLIP, PPP auf Teilnehmeranschluss-Leitungenkeine MAC-Teilschicht notwendig!

Kategorie 2: Netze mit Kanälen im MehrfachzugriffProblem: Wer darf welchen Kanal wann benutzen?Lösung: Mehrfachzugriffsprotokolle

SLIP: serial line internet protocolPPP: point-2-point protocol

Page 16: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(16)

Protokollphilosophien

zentral organisierte Protokolle (scheduling)Master/Slave-PrinzipRessourcen-Zuteilung und -Verwaltung durch eine übergeordnete Station

dezentral organisierte Protokolle (random access)alle Stationen sind gleichberechtigtkonkurrierende Protokollekollisionsfreie Protokolle

Page 17: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(17)

Beispiele für zentral organisierte Protokolle (1)

Time Division Multiple Access - TDMAZugriff auf reservierte Slots innerhalb eines Rahmensjede Station bekommt einen Slot fester Längeunbenutzte Slots werden nicht anderweitig verwendetBeispiel: die Stationen 1,3,4 senden; die Stationen 2,5,6 sind in Ruhe

Page 18: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(18)

Beispiele für zentral organisierte Protokolle (2)

Token PassingToken Bus, IEEE 802.4Token Ring, IEEE 802.5

PollingRoll-Call Polling (Master pollt jeden Slave einzeln)Hub Polling (Master gibt Token an ersten Slave, dieser reicht das Token an den nächsten Slave weiter, ...)

Page 19: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(19)

Beispiele für dezentral organisierte Protokolle

ALOHApure ALOHAslotted ALOHA

Carrier Sense Multiple Access (CSMA)non-persistent CSMA1-persistent CSMAp-persistent CSMA

CSMA with Collision Detection (CSMA/CD)

CSMA – Carrier Sense Multiple AccessCD – Collision Detection

Page 20: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(20)

ALOHA (1)

1970 an der Universität von Hawaii entwickelt zur Kanalzuteilung im bodengestützten Datenfunk

Grundidee ist auf jedes System übertragbar, in dem unkoordinierte Benutzer um die Benutzung eines einzelnen Kanals konkurrieren:

Sender sendet Paket sofort bei SendebereitschaftEmpfänger sendet QuittungAusbleiben der Quittung = Paket wurde gestört (Sender wiederholt Paket nach zufälliger Wartezeit)

Page 21: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(21)

ALOHA (2)

Ben

utze

r

mögl. Kollision

Paket

mögl. Kollision

Zeitto to+tto+2t

gefährliche Zeit

Die gefährliche Zeit ist gleich der doppelten Nachrichtenlänge:gerade etwas weniger als eine Nachrichtenlänge vor der Übertragung darf nichts von einer anderen Station gesendet werden und natürlich nicht während der Paketübertragung selbst, damit keine Kollision auftrittkein vorheriges Abhören des KanalsLaufzeit zum und Bearbeitungszeit im Empfänger werden vernachlässigt

Page 22: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(22)

ALOHA (3)

Wie kann die „gefährliche Zeit“ von 2t = doppelter Rahmenlänge reduziert werden?

Durch die Einführung von definierten Zeitpunkten, zu denen ein Benutzer anfangen darf zu senden (Zeitschlitze).

Welcher Nachteil entsteht dadurch im Gegensatz zum ursprünglichen Verfahren?

Es wird ein zentraler Zeitgeber benötigt, auf den sich alle Stationen synchronisieren müssen.

Page 23: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(23)

Slotted ALOHA

Ben

utze

r

Paket

mögl. Kollision

Zeitto to+tto+2t

gefährliche Zeit

Einteilung der Zeitachse in Intervalle (Slots), zu deren Anfang ein Sendevorgang beginnen darf. Die „gefährliche Zeit“ reduziert sich auf eine Rahmenlänge.

Page 24: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(24)

Carrier Sense Multiple Access (1)

Problem ALOHA: Stationen interessieren sich nicht für die Aktivitäten der Nachbarstationen

hohe Anzahl von Kollisionenschlechte Auslastung des Kanals

Lösung: Überwachung der Kanalbelegung

Protokolle, bei denen die Stationen einen Träger abhören, werden als Carrier Sense Protocols bezeichnet

Carrier Sense Protocols = Trägererkennungsprotokolle

Page 25: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(25)

Carrier Sense Multiple Access (2)

p-persistent CSMAsendebereite Stationen hören das Medium ständig (persistent) abist der Kanal frei, wird der Sendevorgang mit der Wahrscheinlichkeit p gestartet

non-persistent CSMAwiederholtes Überprüfen auf freien Kanal nicht ständig, sondern nach einer zufälligen Zeitspanne

Page 26: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(26)

Kollisionen (1)

Wie kann es trotz Trägererkennung (carrier sense) zu Kollisionen kommen?

Problem: eine Station beginnt mit dem Senden, eine zweite Station ist solange nicht in der Lage dies zu erkennen, bis das Signal der ersten Station bei ihr eintrifft

negative Auswirkung von Signallaufzeiten

Sonderfall: zwei (oder mehr) Stationen beginnen gleichzeitig mitder Aussendung

Page 27: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(27)

Kollisionen (2)

Wie lang muss ein Datenpaket (in Bit) mindestens sein, damit eine sichere Kollisionserkennung stattfinden kann?

LAN 1000m / 10Mbit/s Coax mit Ausbreitungsgeschwindigkeit v =0,6 c; c=3*108 m/s

Worst Case: Stationen liegen 1000 m auseinander, Station 1 beginnt mit dem Senden, Station 2 beginnt kurz vor Eintreffen des ersten Bits von Station 1 ebenfalls mit dem Senden

=> Das erste „gestörte Bit muss ebenfalls die gesamte Wegstrecke von Station 2 zu Station 1 zurücklegen.

Zeit bis zum Eintreffen des ersten Bits bei Station 2:

T = 1000m / (0,6 x 3 x 10exp8 m/s) = 5,6 µsT(Bit) = 1 / (10 Mbit/s) = 0,1 µs

=> L in Bit = 2xT / T(Bit) = 11,2µs / 0,1µs = 112 Bit

Page 28: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(28)

CSMA / CDBehandlung von Kollisionen

CD – Collision Detectionnach dem Erkennen einer Kollision erfolgt der sofortige Rückzug vom Medium (Zeitersparnis)es wird eine zufällige Zeit gewartet, bis ein neuer Sendeversuch gestartet wird

CSMA/CD kommt in der Form IEEE 802.3 (Ethernet) weltweit zum Einsatz

Page 29: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(29)

Konkurrierende Protokolle Effizienzbetrachtungen

0 2 6 1084G (Versuche pro Paket)

0.1

0.2

0.3

0.4

S (D

urch

satz

pro

Rah

men

)

0.5

0.6

0.7

0.8

0.9

1.0

3 7 951

0.01 persistent CSMA

0.1 persistent CSMA

0.5 persistent CSMA1 persistent CSMA

slottedALOHA

pureALOHA

nonpersistent CSMA

Page 30: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(30)

Kollisionsfreie Protokolle

Jedes kollisionsbehaftete Protokoll ist immer auch konkurrierend.Ist jedes kollisionsfreie Protokoll somit immer auch nichtkonkurrierend?

Nein. Die Vermeidung von Kollisionen schließt nicht aus, das Stationen nach wie vor um ein gemeinsames Übertragungsmedium wetteifern müssen.Um Kollisionen zu verhindern, werden in derartigen Protokollen Bewerbungen um das Medium und die Übertragung von Daten getrennt.

Page 31: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(31)

Beispiele für kollisionsfreie Protokolle (1)

Bitmusterprotokoll (Basic Bit-Map Method)

1 2 3 4 5 6 7 8

1 31 2 3 4 5 6 7 8

Konkurrenzslots

11

t

51

Inforahmen

Rahmen

XKonkurrenzslots

Konkurrenzslots

Page 32: [9] Nup 07 2

© UNI Hannover, Institut für Kommunikationstechnik

(32)

Beispiele für kollisionsfreie Protokolle (2)

Token-Verfahren

Broadcast Recognition with Alternating Priorities (BRAP, ähnlich Basic Bit-Map)

Multi Level Multi Access

Binary Countdown