Übung 4 - CCS Labs
Transcrição
Übung 4 - CCS Labs
Übungen zu „Rechnerkommunikation“ Wintersemester 2010/2011 Übung 4 Mykola Protsenko, Jürgen Eckert PD. Dr.-Ing. Falko Dressler Friedrich-Alexander d h l d Universität Erlangen-Nürnberg l b Informatik 7 (Rechnernetze und Kommunikationssysteme) Rechnerkommunikation, Übung 4 1 Übung 4: Stop-and-Wait, Go-Back-N, Selective Repeat UML-Statecharts Leistungsanalyse ohne Fehler: - Stop-and-Wait - Schiebefensterprotokolle (Go-Back-N, Selective Repeat) mit Fehler - Selective Repeat - Go-Back-N Go Back N Wichtige Begriffe: normierter Durchsatz (= Leitungsauslastung) Sequenznummernraum Rechnerkommunikation, Übung 4 2 UML-Statecharts ein Statechart befindet sich immer in einem Zustand, d schwarze der h Punkt k kennzeichnet k i h den d initialen i i i l Zustand d ein Zustandsübergang findet statt, wenn das Ereignis ausgelöst wurde und die Bedingung erfüllt ist wenn ein Zustandsübergang stattfindet, wird die Aktion durchgeführt g zur Steigerung der Flexibilität gibt es auch Variablen Ereignis[Bedingung]/Aktion /Aktion Zustand 1 Rechnerkommunikation, Übung 4 Zustand 2 3 UML-Statecharts Verzweigung Zustand Zustand, in dem keine Zeit verbracht wird ((„Pseudozustand Pseudozustand“)) abgehende Zustandsübergänge werden mittels Bedingungen gewählt, auslösende Ereignisse sind hier nicht möglich [Bedingung1]/Aktion1 [[Bedingung2 g g ]/ ]/Aktion2 Rechnerkommunikation, Übung 4 4 Stop-and-Wait Sender rdt_send(data)/ pkt=pkt(SQN,data,CRC); udt_send(pkt); udt_rcv(ACK) startt_ttimer sta e [biterror(ACK) SQN(ACK)SQN)]/ /SQN=1 wait for d t data udt_rcv(ACK)/ Empfänger wait for ACK udt_rcv(pkt) [¬biterror(pkt) SQN(pkt)=SQN]/ data=extractdata(pkt); rdt rcv(data); rdt_rcv(data); ACK=ACK(SQN,CRC); udt_send(ACK); SQN++ timeout/ udt_send(pkt); start_timer udt_rcv(ACK) [¬biterror(ACK) SQN(ACK)=SQN]/ stop_timer; SQN++ wait for packet /SQN=1; ACK=ACK(0,CRC) udt_rcv(pkt) [biterror(pkt) v SQN(pkt)SQN]/ udt_send(ACK) Rechnerkommunikation, Übung 4 5 Leistungsanalyse: g y Stop-and-Wait p Vernachlässigung der ACK-Sendezeit ACK Sendezeit und Bearbeitungszeiten (sinnvolle vereinfachende Annahme für diese Berechnungen) p pro Zeit gesendete g Bits: Durchsatz L/R 2D L/R 2D L L / R 2D … Stop-and-Wait ohne Fehler normiert durch die Bitrate (gut für Vergleich bei verschiedenen Bitraten): normierter Durchsatz S L 1 1 1 L / R 2D R 1 2RD / L 1 2a wobei a = Kanalpuffergröße in Paketen Paketen, d.h., dh a S 1 1 2a 1 Rechnerkommunikation, Übung 4 RD D L L /R schlechter Durchsatz u a für ü große go a (Kanal kann nicht gefüllt werden) 6 Übung 4.1 Betrachten Sie eine Halbduplex-Punkt-zu-Punkt-Verbindung, für die das Stop-and-Wait-Verfahren Stop and Wait Verfahren eingesetzt wird wird. Was g geschieht mit der Leitungsauslastung g g (= ( normierter Durchsatz S), ), wenn die Größe der Nachrichten (Objekte) erhöht wird? Die anderen Parameter, inkl. der Paketgröße, sollen nicht verändert werden. Welche Auswirkung auf die Auslastung der Leitung kann man beobachten, wenn die Anzahl der Pakete bei konstanter Nachrichtengröße erhöht wird? Welche Auswirkung auf die Auslastung der Leitung hat eine Vergrößerung der Pakete? Rechnerkommunikation, Übung 4 7 Übung 4.2 Ein Kanal hat eine Datenrate von 4 4,0 0 kbps und eine Ausbreitungsverzögerung von 20 ms. Für welchen Bereich von Paketgrößen g hat das Stop-andp Wait-Verfahren eine Effizienz von mindestens 50%? Rechnerkommunikation, Übung 4 8 Stop-and-Wait Sequenznummerraum die Repräsentation der Sequenznummern ist endlich: ein Feld mit n Bits ermöglicht m = 2n Sequenznummern Wiederverwendung durch zyklisches Durchlaufen für Stop-and-Wait: ein Bit ist zur Darstellung von 2 Sequenznummern ausreichend: 0 und 1 Stop-and–Wait mit 0 und 1 als Sequenznummern heißt auch Alternating-Bit-Protokoll Rechnerkommunikation, Übung 4 9 Übung 4.3 Warum werden beim Alternating-Bit-Protokoll keine speziellen NAK0 NAK0- und NAK1 NAK1-Nachrichten Nachrichten benötigt? zur Erklärung: NAK: No Acknowledgment / Negative Acknowledgment - zur Ablehnung übertragener Daten ab, z.B. bei fehlerhaftem Empfang - bei NAK NAK-Empfang Empfang kann Sender entsprechende Pakete nochmals übertragen Rechnerkommunikation, Übung 4 10 Leistungsanalyse: Schiebefensterprotokolle Schiebefensterprotokolle ohne Fehler für Fenstergröße mit W Paketen der Länge L Fall 1: das Fenster ist nicht groß genug um zu senden, bis ACK zurückkommt Sender W L L 2D R R WL/R W=2 Empfänger L/R 2D ACK - Bedingung: L / R 2D W 1 2a L/R ACK - normierter Durchsatz: S W L 1 W L / R 2D R 1 2a Rechnerkommunikation, Übung 4 11 Leistungsanalyse: Schiebefensterprotokolle Schiebefensterprotokolle ohne Fehler Fall 2: das Fenster ist g groß genug g g um zu senden,, bis ACK zurückkommt: W L L 2D R R - Bedingung: L / R 2D W 1 2a L /R - normierter Durchsatz: W L 1 S 1 W L /R R WL/R Sender W=3 Empfänger L/R 2D ACK ACK Zusammenfassung: 1 S W 1 2a Rechnerkommunikation, Übung 4 W 1 2a W 1 2a 12 Übung 4.4 Auf einer Satellitenverbindung mit 1 1,0 0 Mbps und 270 ms Verzögerung sollen Pakete der Größe 1000 Bits eingesetzt werden. Wie hoch ist die maximale Auslastung der Verbindung bei Stop-and-Wait-Flusskontrolle? Schiebefenster Flusskontrolle mit einer Fenstergröße von 7 Paketen? Schiebefenster-Flusskontrolle Schiebefenster-Flusskontrolle mit einer Fenstergröße von 127 Paketen? Schiebefenster-Flusskontrolle mit einer Fenstergröße von 255 Paketen? Rechnerkommunikation, Übung 4 13 Übung 4.5 Die Abbildung unten stellt drei Hosts dar. Pakete werden bei Host A erzeugt und über B nach C versendet. B ti Bestimmen Si Sie die di minimale i i l Übertragungsrate Üb t t zwischen i h B und d C, C bei der die Puffer bei Knoten B nicht überlaufen, wenn folgende Voraussetzungen gelten: Die Datenrate zwischen A und B beträgt 100 kbps. Die spezifische Ausbreitungsverzögerung beträgt 10 µs/km bei beiden Verbindungen. Die Leitungen unterstützen Vollduplex-Betrieb. Alle Datenpakete sind 1000 Bits groß groß. ACK-Pakete ACK Pakete haben eine vernachlässigbare Größe. Zwischen Host A und B wird ein Schiebefensterprotokoll mit einer Fenstergröße von 3 Paketen verwendet. Zwischen Host B und C wird Stop-and-Wait verwendet. Es treten keine Fehler auf. 2000 km 500 km A B C Tipp: Damit die Puffer bei B nicht überlaufen überlaufen, muss bei Host B die Anzahl der in einem langen Intervall ankommenden Pakete gleich der Anzahl der abgehenden Pakete sein. Rechnerkommunikation, Übung 4 14 Selective Repeat informelle Beschreibung des Protokolls Verhalten des Senders 1. wenn Daten zum Senden und Platz im Fenster: sende Paket starte Timer für dieses Paket inkrementiere nextSQN 2. wenn ein ACK ohne Bitfehler und mit SQN im Fenster zurückkommt: markiere das Paket mit SQN als bestätigt schiebe das Fenster bis zur nächsten Lücke 3. wenn 3 e de der Timeout eout für ü das Paket a et mitt SQ SQN ab abläuft: äu t sende dieses Paket erneut starte den Timer für dieses Paket erneut nextSQN Sendeseite: 1 2 3 4 5 6 7 8 Rechnerkommunikation, Übung 4 base base+W-1 15 Selective Repeat informelle Beschreibung des Protokolls Verhalten des Empfängers 1. wenn Paket ohne Bitfehler und mit SQN im Fenster ankommt: • • • sende ACK mit dieser SQN puffere das Paket schiebe das Fenster bis zur nächsten Lücke 2. wenn Paket mit SQN aus vorigem Fenster ankommt: • sende das ACK hierfür erneut Empfängerseite: 1 2 3 4 5 6 7 8 base Rechnerkommunikation, Übung 4 base+W-1 16 Übung 4.6 Nehmen Sie an, dass ein Selective-Repeat-Schema mit W 4 zur Übertragung benutzt wird W=4 wird. Veranschaulichen Sie anhand eines Beispiels, dass S Sequenznummern mit it 3 Bits Bit genügen. ü Rechnerkommunikation, Übung 4 17 Übung 4.7 Knoten tauschen Pakete von fester Größe L Bits auf einem Kanal mit Datenrate von R bps, Ausbreitungsgeschwindigkeit c und einer Länge l aus. Bestimmen Sie eine Formel für die minimale Größe des Sequenznummernfeldes (Anzahl der benötigten Bits) in Abhä i k i von R, l, Abhängigkeit l c und d L, bei b i der d die di maximale i l Auslastung der Verbindung berücksichtigt wird. Dazu können Sie annehmen, annehmen dass ACK-Pakete eine vernachlässigbare Größe besitzen und die Verarbeitung in den Knoten unmittelbar geschieht (d.h. keine Zeit benötigt). Rechnerkommunikation, Übung 4 18 Leistungsanalyse: g y Schiebefensterprotokolle p Selective Repeat mit Fehlern Annahme: unabhängige Fehler mit Wahrscheinlichkeit p N = E[Sendeversuche] = 1/(1-p) de der Durchsatz u c sat im fehlerfreien e e e e Fall a muss uss du durch c N gete geteiltt werden: e de 1 1 W 1 2a N 1 /(1 p) 1 p S W W W(1 p) W 1 2a N (1 2a) 1 /(1 p) (1 2a) 1 2a 1 p S W(1 p) 1 2a Rechnerkommunikation, Übung 4 W 1 2a W 1 2a 19 Leistungsanalyse: g y Schiebefensterprotokolle p Go-back-N mit Fehlern jeder j Fehler erfordert eine Sendewiederholung g von K Paketen Annahme: im Fehlerfall ist das Fenster gefüllt und alle Pakete des Fensters müssen erneut gesendet werden, dann: 1 2a W 1 2a K W 1 2a W wenn das fehlerhafte Paket i-mal gesendet wird, müssen insgesamt 1+(i-1)K = (1-K)+Ki Pakete gesendet werden N ((1 K ) Ki) p i1 i1 (1 p) (1 K )(1 p) p i1 i1 K (1 p) i pi1 i1 1 1 i (1 K )(1 p) p K (1 p) p (1 K )(1 p) K (1 p) 1p (1 p)2 i 0 i0 K 1 p Kp 1K 1p 1p Rechnerkommunikation, Übung 4 i 20 Leistungsanalyse: g y Schiebefensterprotokolle p 1 p Kp 1 p (1 2a)p 1 2ap 1 p 1 p 1 p mit K erhalten wir: N 1 p Kp 1 p Wp 1 p 1 p W 1 2a W 1 2a Division des Durchsatzes ohne Fehler durch N ergibt: 1p 1 N 1 2ap S W W(1 p) N (1 2a) (1 p Wp) (1 2a) 1p 1 2ap S W(1 p) (1 p Wp) (1 2a) Rechnerkommunikation, Übung 4 W 1 2a W 1 2a W 1 2a W 1 2a 21 Leistungsanalyse: g y Schiebefensterprotokolle p normierter Durchsatz von Go-Back-N und Selective Repeat als Funktion von a, a p = 10-11: Rechnerkommunikation, Übung 4 22 Aufgabe - Übung 4.8 Ein Webserver empfängt üblicherweise relative kleine Nachrichten (Requests) von den Clients Clients, überträgt aber möglicherweise sehr große Objekte als Antwort an die Cli t Clients. Welches ARQ-Protokoll (Automatic Repeat Request), d h Selective d.h., S l ti Repeat R t oder d Go-back-N, G b k N würde ü d besonders b d populäre Webserver am wenigsten belasten? Warum? Rechnerkommunikation, Übung 4 23 Aufgabe - Übung 4.9 Zeichnen Sie die Leitungsauslastung (= normierter Durchsatz S) als Funktion der Fehlerwahrscheinlichkeit p für folgende Fehlerkontrollmechanismen. Stop-and-Wait Go-back-N mit W = 7 Go-back-N mit W = 127 Selective Repeat mit W = 7 Selective Repeat mit W = 127 Orientieren Sie sich dazu an dem vorigen Graph. Nehmen Sie für die Kanalpuffergröße a folgende Werte an: 0.1 1 10 Welche Technik ist für die jeweiligen Werte von a die beste? Rechnerkommunikation, Übung 4 24