Übungen zu „Rechnerkommunikation“ Sommersemester 2009 Übung 7 Jürgen Eckert, Mykola Protsenko PD Dr.-Ing. Falko lk Dressler l Friedrich-Alexander Universität Erlangen-Nürnberg Informatik 7 (Rechnernetze und Kommunikationssysteme) Rechnerkommunikation, Übung 7 1 Verbindungsschicht: Medienzugriff 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 Verbindungsschicht: Medienzugriff 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 Verbindungsschicht: Medienzugriff CSMA-Verfahren allgemein wenn die MAC-Schicht 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 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 Verbindungsschicht: Medienzugriff CSMA-Varianten 1 1-persistent persistent - wenn das Medium belegt ist, wartet der Knoten bis es frei ist und sendet dann sofort - geringe i Wartezeit W t it aber b mögliche ö li h neue Kollision, K lli i wenn mehrere h 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 p-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 1-p p - Kompromiss Rechnerkommunikation, Übung 7 5 Verbindungsschicht: Medienzugriff Statechart des 1-persistenten Senders /m=0 /m 0 fromabove(data)/ wait it for f data [finished]/ start_timer [free]/ ttransmission sense rcv(ACK)/ stop_timer; m=0 0 Rechnerkommunikation, Übung 7 timeout/ m++ wait it for f ACK backoff random(0,...,2m-1)/ m = #collisions = constant time 6 Verbindungsschicht: Medienzugriff Statechart des nicht-persistenten Senders [busy]/ m++ /m=0 fromabove(data)/ wait for data [finished]/ start_timer [free]/ transmission sense rcv(ACK)/ stop_timer; m=0 Rechnerkommunikation, Übung 7 timeout/ m++ wait for ACK backoff random(0,...,2 random(0 2m-1)/ 1) / m = #collisions = constant time 7 Verbindungsschicht: Medienzugriff Statechart des p-persistenten Senders from /m=0 above(data)/ wait one slot [busy]/ 1-p slot/ [finished]/ start_timer p timeout/ m++ [free]/ wait for data transmission sense rcv(ACK)/ stop_timer; m=0 Rechnerkommunikation, Übung 7 wait for ACK backoff random(0,...,2 random(0 2m-1)/ 1) / m = #collisions = constant time 8 Verbindungsschicht: Medienzugriff 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 Verbindungsschicht: Medienzugriff Kollisionserkennung, CSMA/CD Knoten besitzen HW, um während des Sendens Kollision zu erkennen (listen while talking) nach Kollisionserkennung wird S d abgebrochen Senden b b h (weniger ( i Verschwendung), ein JammingSignal wird gesendet, damit alle Knoten Kollision sicher erkennen keine ACKs kombinierbar mit allen CSMAVarianten Rechnerkommunikation, Übung 7 10 Verbindungsschicht: Medienzugriff Statechart des 1-persistenten CSMA/CD-Senders /m=0 fromabove(data)/ wait for data sense [finished]/ m=0 [free]/ [jamfinished]/ m++ [collision]/ transmission jam backoff random(0,...,2m-1)/ m = #collisions = constant time Rechnerkommunikation, Übung 7 11 Verbindungsschicht: Medienzugriff 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 b i der d Bitrate Bit t R muss die di minimale i i l Rahmengröße R h öß L groß ß genug sein, i so dass L/R > 2D A begins to transmit A at t=0 B A B A detects collision A at t=2D- B Rechnerkommunikation, Übung 7 B begins to transmit at tt=D- D B detects collision at t=D 12 Verbindungsschicht: Medienzugriff Leistung von CSMA/CD Wechsel von SendeSende , Leerlauf 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 g ein Knoten sendet: PErfolg= Np . (1-p)N-1 wie bei ALOHA kann man herleiten, dass für p = 1/N die Erfolgswk. maximal i l wird: i d PErfolgmax = 1/e 1/ Busy Contention Busy Idle Contention Busy Time Rechnerkommunikation, Übung 7 13 Verbindungsschicht: Medienzugriff im Mittel ist die Wettbewerbsphase also e 2.718 Slots lang p auf Null gesetzt, g , das für maximalen Durchsatz wird die Leerlaufphase System alterniert nur zwischen Sende- und Wettbewerbsphase nach dem Senden dauert es noch eine Ausbreitungsverzögerung D, bis das Ende überall bemerkt ist also: Smax Sendephase Sendephase Ausbreitung Wettbewerbsphase L /R 1 1 1 L / R D e2D 1 (1 2e)DR / L 1 (1 2e)a 1 6.4 a a = RD/L ist die Kanalpuffergröße in Rahmen, Rahmen wie in der Transportschicht definiert, die Leistung hängt kritisch von dieser Größe ab Rechnerkommunikation, Übung 7 14 Verbindungsschicht: Medienzugriff Maximaler Durchsatz von Zufallszugriffverfahren vs. a Smax 1 CSMA/CD 0.8 1-P CSMA N P CSMA Non-P 0.6 Slotted ALOHA 04 0.4 ALOHA 0.2 a 0 0.01 0.1 1 kleines a: CSMA/CD am besten ALOHA, ALOHA slotted ALOHA unabhängig von a, 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 Bit-Zeiten Zeiten beträgt. beträgt A und B gleichzeitig Daten senden, die Frames kollidieren und A und B unterschiedliche Werte für K im CSMA/CD CSMA/CD-Algorithmus Algorithmus wählen. wählen keine weiteren Knoten aktiv sind. A und B ihre Übertragung zum Zeitpunkt t = 0 Bit-Zeiten Bit Zeiten beginnen, beginnen beide die Kollision bei t = 225 Bit-Zeiten erkennen und die Übertragung des Jam-Signals zum Zeitpunkt t = 225 + 48 = 273 BitZeiten beenden. KA = 0 und KB = 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. 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 Frame-Länge Länge von 64 Bytes ohne Repeater. Beantworten Sie folgende Fragen: Wie groß sollte die Maximaldistanz zwischen einem Knoten und einem i Hub H b sein, i um eine i Effizienz Effi i von 0,5 0 5 zu erreichen? i h ? Stellt diese Maximaldistanz sicher, dass Knoten A erkennen kann, d dass ein i weiterer it Knoten K t sendet, d t während äh d A sendet? d t? Warum bzw. warum nicht? Wie verhält h l sich h die d von Ihnen h berechnete b h Maximaldistanz ld zu der d im 100 Mbps Standard festgelegten? Rechnerkommunikation, Übung 7 18