Übungen zu Rechnerkommunikation Sommersemester 2009 Übung 7 Jürgen Eckert, Mykola Protsenko PD Dr.-Ing. Falko Dressler Friedrich-Alexander Universität Erlangen-Nürnberg Informatik 7 (Rechnernetze und Kommunikationssysteme) Rechnerkommunikation, Übung 7 1
Zufälliger Medienzugriff wenn Knoten Rahmen zum Senden hat, sendet er mit der vollen Bitrate wenn Knoten gleichzeitig senden, überlagern sich die Signale auf dem Medium und zerstören sie sich gegenseitig (normalerweise): es kommt zur Kollision, die durch Sendewiederholung behoben wird Grundidee: bei schwacher Last ist dies selten unterschiedliche Verfahren zur Vermeidung und Erkennung von Kollisionen - ALOHA, slotted ALOHA - Carrier Sense Multiple Access (CSMA) - mit Collision Detection: CSMA/CD (in Ethernet) - mit Collision Avoidance: CSMA/CA (in WLANs) Rechnerkommunikation, Übung 7 2
Carrier Sense Multiple Access (CSMA) Knoten prüfen vor dem Senden, ob Medium belegt (listen before talking) reduziert Kollisionen Voraussetzung: Ausbreitungsverzögerung < Rahmensendezeit (sonst sinnlos) Kollisionen immer noch möglich: wenn anderer Knoten startet, bevor sich das Signal auf dem Medium zu ihm ausgebreitet hat Rechnerkommunikation, Übung 7 3
CSMA-Verfahren allgemein wenn die MAC-Schicht eines Knotens von der Netzwerkschicht ein Datagramm erhält, überprüft sie das Medium (listen before talking); wenn es frei ist, wird der Rahmen gesendet, sonst wird gewartet wenn der Empfänger ihn fehlerlos erhält, sendet er eine positive Bestätigung (ACK) zurück wenn nach einem Timeout kein ACK zurückkommt, wartet der Sender eine zufällige Wartezeit (Backoff) und wiederholt dann das Senden Rechnerkommunikation, Übung 7 4
CSMA-Varianten 1-persistent - wenn das Medium belegt ist, wartet der Knoten bis es frei ist und sendet dann sofort - geringe Wartezeit aber mögliche neue Kollision, i wenn mehrere Knoten auf freies Medium warten nicht-persistent - wenn das Medium belegt ist, geht der Knoten in Backoff - weniger Kollisionen aber längere Wartezeit p-persistent persistent - wenn das Medium belegt war und wieder frei ist, sendet der Knoten jeweils mit Wahrscheinlichkeit p oder wartet noch einen Slot mit Wahrscheinlichkeit 1-p - Kompromiss Rechnerkommunikation, Übung 7 5
Statechart des 1-persistenten Senders /m=0 fromabove(data)/ [free]/ [finished]/ start_timer timeout/ m++ wait for data sense transmission wait for ACK backoff rcv(ack)/ stop_timer; m=0 random(0,...,2 m -1) / m = #collisions = constant time Rechnerkommunikation, Übung 7 6
Statechart des nicht-persistenten Senders [busy]/ m++ /m=0 fromabove(data)/ [free]/ [finished]/ start_timer timeout/ m++ wait for data sense trans- mission wait for ACK backoff rcv(ack)/ stop_timer; m=0 random(0,...,2 m -1) / m = #collisions = constant time Rechnerkommunikation, Übung 7 7
Statechart des p-persistenten Senders /m=0 from above(data)/ wait one slot 1-p [busy]/ slot/ p [finished]/ start_timer timeout/ m++ wait for data sense [free]/ trans- mission wait for ACK backoff rcv(ack)/ stop_timer; m=0 random(0,...,2 m -1) / m = #collisions = constant time Rechnerkommunikation, Übung 7 8
Durchsatz für verschiedene CSMA-Varianten aus Tanenbaum: Computer Networks. 4th Ed., Prentice Hall, 2003, Herleitung geht über Inhalt der VL hinaus Rechnerkommunikation, Übung 7 9
Kollisionserkennung, CSMA/CD Knoten besitzen HW, um während des Sendens Kollision zu erkennen (listen while talking) nach Kollisionserkennung wird Senden abgebrochen b (weniger Verschwendung), ein Jamming- Signal wird gesendet, damit alle Knoten Kollision sicher erkennen keine ACKs kombinierbar mit allen CSMA- Varianten Rechnerkommunikation, Übung 7 10
Statechart des 1-persistenten CSMA/CD-Senders /m=0 fromabove(data)/ [free]/ [collision]/ [jamfinished]/ m++ wait for data sense transmission jam backoff [finished]/ m=0 random(0,...,2 m -1) / m = #collisions = constant time Rechnerkommunikation, Übung 7 11
Minimale Rahmengröße bei CSMA/CD sei D die maximale Ausbreitungsverzögerung zwischen zwei Knoten es dauert höchstens 2D, bis eine Kollision von allen Knoten bemerkt wird bei der Bitrate t R muss die minimale i Rahmengröße L groß genug sein, so dass L/R > 2D A begins to transmit at t=0 A detects collision at t=2d- A A B B B begins to transmit at t=d- B detects collision at A B t = D Rechnerkommunikation, Übung 7 12
Leistung von CSMA/CD Wechsel von Sende-, Leerlauf- und Wettbewerbsphasen Sendephase dauert L/R Zeiteinheiten Kollisionen werden nach Intervallen der Länge 2D behoben Wettbewerbsphase wird in Slots der Länge 2D unterteilt N Knoten, jeder versucht mit p in einem Slot zu senden Wettbewerb ist beendet, wenn genau ein Knoten sendet: P Erfolg = Np. (1-p) N-1 wie bei ALOHA kann man herleiten, dass für p = 1/N die Erfolgswk. maximal wird: P max Erfolg = 1/e Busy Contention Busy Idle Contention Busy Time Rechnerkommunikation, Übung 7 13
im Mittel ist die Wettbewerbsphase also e 2.718 Slots lang für maximalen Durchsatz wird die Leerlaufphase auf Null gesetzt, das System alterniert nur zwischen Sende- und Wettbewerbsphase nach dem Senden dauert es noch eine Ausbreitungsverzögerung D, bis das Ende überall bemerkt ist also: S max L /R Sendephase Sendephase Ausbreitung Wettbewerbsphase L /R 1 D e2d 1 (1 2e)DR /L 1 1 (1 2e)a 1 1 6.4a a = RD/L ist die Kanalpuffergröße in Rahmen, wie in der Transportschicht definiert, die Leistung hängt kritisch von dieser Größe ab Rechnerkommunikation, Übung 7 14
Maximaler Durchsatz von Zufallszugriffverfahren vs. a S max 1 CSMA/CD 0.8 1-P CSMA Non-P PCSMA 0.6 Slotted ALOHA 04 0.4 0.2 ALOHA 0 0.01 0.1 1 a kleines a: CSMA/CD am besten ALOHA, slotted ALOHA unabhängig von a, besser für großes a Rechnerkommunikation, Übung 7 15
Übung 7.1 Sendewiederholungen im CSMA/CD-Algorithmus Nehmen Sie an, dass die Knoten A und B sich im gleichen 10 Mbps Ethernet-Segment (Rahmengröße = 256 Bit-Zeiten) befinden und das Propagation-Delay zwischen den beiden Knoten 225 Bit-Zeiten beträgt. A und B gleichzeitig Daten senden, die Frames kollidieren und A und B unterschiedliche Werte für K im CSMA/CD-AlgorithmusAlgorithmus wählen. keine weiteren Knoten aktiv sind. A und B ihre Übertragung zum Zeitpunkt t = 0 Bit-Zeiten beginnen, beide die Kollision bei t = 225 Bit-Zeiten erkennen und die Übertragung des Jam-Signals zum Zeitpunkt t = 225 + 48 = 273 Bit- Zeiten beenden. K A = 0 und K B = 1 (Backoff-Konst.); Backoff-Zeit = 512 Bit-Zeiten. (Fortsetzung siehe nächste Seite) Rechnerkommunikation, Übung 7 16
Übung 7.1 Beantworten Sie folgende Fragen: Können die Sendewiederholungen von A und B kollidieren? Zu welcher Zeit ist der Beginn der Sendewiederholung von Knoten B geplant? Zu welcher Zeit beginnt A mit der Sendewiederholung. (Hinweis: Die Knoten müssen nach Schritt 2 darauf warten, dass der Kanal frei ist, siehe Protokoll.) Führt B die Sendewiederholung zum geplanten Zeitpunkt durch? Rechnerkommunikation, Übung 7 17
Übung 7.2 Betrachten Sie ein 100 Mbps Ethernet-Netzwerk mit einer Frame-Länge von 64 Bytes ohne Repeater. Beantworten Sie folgende Fragen: Wie groß sollte die Maximaldistanz zwischen einem Knoten und einem Hub sein, um eine Effizienz i von 0,5 zu erreichen? Stellt diese Maximaldistanz sicher, dass Knoten A erkennen kann, dass ein weiterer Knoten sendet, während A sendet? Warum bzw. warum nicht? Wie verhält sich die von Ihnen berechnete Maximaldistanz zu der im 100 Mbps Standard festgelegten? Rechnerkommunikation, Übung 7 18