Kontinuierliches ARQ (continuous ARQ) • Sende-und-Warte ARQ ist simpel und benötigt keinen Puffer, aber ist bezüglich der Kanalauslastung nicht effizient. Denn nach jedem Senden wartet der Sender auf ACK, bevor er einen neuen Block sendet. • Kontinuierliches ARQ arbeitet nach folgendem Schema: • Sender sendet Blöcke, ohne auf die Quittierung zu warten • Jeder Block enthält eindeutige Blocknummer • Sender merkt sich in einer Sendeliste jeweils eine Kopie jedes gesendeten Blocks • Empfänger speichert alle empfangenen Blocknummern in einer Empfangsliste • Empfänger quittiert jeden empfangenen Block mit einem ACK, das die jeweilige Blocknummer enthält • Sender löscht aus der Sendeliste alle Blöcke, deren ACK er empfängt Fehlerbehandlung und Blocknummernbegrenzung 2 gebräuchliche Varianten zur Fehlerbehandlung • Selektive Wiederholung (selective retransmission) • bei nicht direkt aufeinander folgenden ACK-Blocknummern überträgt der Sender erneut den nicht bestätigten Block • siehe vorheriges Diagramm • Go-back-N-ARQ • bei fehlerhaftem Empfang wird der Sender vom Empfänger aufgefordert, alle Blöcke seit dem letzten korrekt empfangenen Block erneut zu übertragen • belegt mehr Übertragungskapazität, aber leichter zu realisieren • keine Sortierung im Empfangspuffer nötig • stabiler bei Mehrfachfehlern als selektive Wiederholung Huckepack-Quittierung (piggy-back acknowledgement) • tauschen zwei Stationen gegenseitig Blöcke im Vollduplex aus, wird die ACK Meldung in speziellen Feldern der ohnehin gesendeten Blöcke untergebracht Blocknummernbegrenzung • damit die Blocknummern nicht beliebig groß wenden können und damit zu viele Bits im Block zur Codierung verwendet werden müssen, wird eine maximale Anzahl unbestätigter Blöcke vereinbart und diese als Fenstergröße bezeichnet • Fenstergröße = 1 ⇒ Sende-und-Warten ARQ • siehe auch Gleitendes Fenster Leistung des S&W-ARQ Protokolls ohne Fehler Sende-und-Warte ARQ • betrachte fehlerfreie Übertragung Leistung des S&W-ARQ Protokolls mit Fehlern Sende-und-Warte ARQ • mit Fehlerberücksichtigung Nr : durchschnittliche Anzahl der durch Fehler insgesamt erforderlichen Übertragungen Tix P: P b: 1 (1) ⇒ U = N T + 2 N T = N (1 + 2T / T ) r ix r p r p ix Bitfehlerrate Wahrscheinlichkeit, daß ein Ni-Bit langer Block gestört ist Pb = 1 − (1 − P) N Pb ≈ NiP für NiP « 1 gilt : Wahrscheinlichkeit, daß ein Ni-Bit langer Block nicht gestört i Kanalauslastung U = Blockübertragungszeit Tix Tix + Wartezeit _ auf _ ACK häufig gilt: Bearbeitungszeiten Tip , Tax , Tap « Übertragungszeiten Tix , Tp ⇒ U= Signalfortpflanzungszeit (Latenzzeit) Tix 1 = Tix + 2Tp 1 + 2Tp / Tix TP = Übertragungsentfernung[m] Signalgeschwindigkeit [m/s ] (i.a. Signalgeschwindigkeit ≈ 2/3 c , c = 3 108 m/s) Tix = 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 1E+04 1E+03 1E+02 1E+01 1E-01 T p /T ix 1E+00 1E-02 1E-03 1E-04 1E-05 ⇒ 0E+00 U=1/(1+2Tp/Tix)) Blockübertragungszeit Anzahl übertragener Bits Übertragungsrate [bps] hohe Auslastung (U→1) für Tix » Tp , also geringe Entfernungen und Übertragungsraten (z.B. Modemübertragungen übers analoge Telefonnetz) (1-Pb): ist 1 ⇒ Nr = 1 − P b Glg. (2) in Glg. (1) einsetzen ergibt: 1 − Pb ⇒ U = 1 + 2T / T p ix (2) Leistung des Kont.-ARQ Protokolls ohne Fehler Leistung des Kont.-ARQ Protokolls mit Fehlern Kontinuierliches ARQ Kontinuierliches ARQ • betrachte keine Fehler • U = 1, wenn Kanal voll mit Blöcken belegt ist • z.B. für Tp = 250 ms und Tix = 1 ms würden 250 Blöcke gleichzeitig auf den Sendekanal passen, nach einer weiteren Millisekunde wäre der erste Block vollständig im Empfänger angekommen und ACK wird zurückgesendet, in der Zwischenzeit weitere 250 Blöcke senden bis ACK am Sender ankommt ⇒ für Fenstergröße K > 500 gilt Kanalauslastung U = 1 • volle Kanalbelegung gesichert, wenn K so gewählt wird, daß gilt: • berücksichtige auftretende Fehler • betrachte hier nur das Verfahren der selektiven Wiederholung nur die defekten Blöcke werden erneut übertragen Nr : durchschnittliche Anzahl der durch Fehler insgesamt erforderlichen Übertragungen 1 Nr = 1 − P b (wie bei S&W-ARQ) Dauer von K Blockübertragungen > Dauer Hin- und Rückübertragung > Tix + 2Tp K Tix • wenn diese Bedingung nicht erfüllt ist, gilt für K = 1 natürlich die Kanalauslastungsgleichung für S&W-ARQ. Für K > 1 steigt U dann linear mit K • allgemein gilt also für den fehlerfreien Fall: 1 ⎧ ⎪ KT K U =⎨ ix = ⎪ Tix + 2Tp 1 + 2Tp / Tix ⎩ für K ≥ 1 + 2Tp / Tix für K < 1 + 2Tp / Tix • die richtige Wahl der Fenstergröße in Abhängigkeit des Verhältnisses Tp/Tix ist offensichtlich entscheidend für die Leistungsfähigkeit dieses Protokolls reduziert die Kanalausnutzung linear 1 / N r = 1 − Pb ⎧ ⎪ K (1 − Pb ) K U =⎨ = ⎪ N r (1 + 2Tp / Tix ) 1 + 2Tp / Tix ⎩ für K ≥ 1 + 2Tp / Tix für K < 1 + 2Tp / Tix Flußkontrolle (flow control) nötig zur Steuerung unterschiedlicher Sende- und Empfangsgeschwindigkeiten und zur Vermeidung eines Überlaufs im Empfangspuffer • Leitungsprotokolle Echo-Überwachung und S&W-ARQ führen mit ihrer Fehlerbehandlung quasi nebenbei, aber nicht besonders effizient, eine Flußkontrolle durch • kontinuierliches ARQ ohne Blocknummernbegrenzung jedoch nicht • X-ON/X-OFF Protokoll • Empfänger übermittelt an Sender das spezielle Kontrollzeichen X-OFF (transmission off) , worauf der Sender die Übertragung stoppt • der Sender startet die Übertragung, wenn er das Kontrollzeichen X-ON vom Empfänger erhält • Einsatz in Terminals und Druckeransteuerung • ähnlich läuft das Zusammenspiel der RTS/CTS-Leitungen (Request to send/Clear to send) bei der RS-232/V.24 Schnittstelle Link-Management die Funktionen • Fehlerbehandlung und • Flußkontrolle steuern die Übertragung der Daten Vorher und nachher muß die Verbindung/Leitung kontrolliert aufgebaut und wieder abgebaut werden. Die dafür nötigen Prozeduren werden als Link-Management bezeichnet. Das Zustands-Diagramm zeigt die typischen Vorgänge beim Linkmanagement und Datentransfer, die in der angegebenen Reihenfolge durchlaufen werden: 1 4 • Gleitendes Fenster (sliding window) • bezeichnet das Verfahren, daß aus der Blocknummernbegrenzung resultiert und auch der Flußkontrolle dient • mehr als K ( = Fenstergröße) unbestätigte Blöcke werden nicht gesendet, hier K = 3 2 3 SETUP sent : UA: DISC sent: an Empfänger wird ein Setup-Block mit der Information zum Verbindungsaufbau geschickt unnumbered acknowledge = nichtnumeriertes ACK vom Empfänger, daß “Anweisung” befolgt an Empfänger wird Disconnect-Block mit der Information zum Verbindungsabbau geschickt Schichten und Dienste Schichten • haben eine formale Schnittstelle • weisen als aktive Elemente Entitäten (entities) auf, die mit Entitäten gleicher Schichten über ein Protokoll kommunizieren. Entitäten sind quasi als Softwareprozesse zu verstehen. • bieten einen Dienst an der durch Angabe einer Dienstprimitive (service primitive) zusammen mit den Nutzerdaten (user data) aufgerufen wird Beispiel: ISO 7498 definiert für einen Dienst D vier verschiedene Typen von Dienstprimitiven: D.request D.indication D.response D.confirm Der Dienst D wird angefordert Eine Entität erhält über D.indication mitgeteilt, welcher Dienst angefordert wurde Mit D.response kann eine Entität auf eine D.indication antworten Anfordernde Entität erhält über D.confirm die Bestätigung für die Ausführung des Dienstes D Dienstarten und ihre Dienstprimitiven Drei Dienstarten: bestätigte Dienste: Verwendung aller 4 Dienstprimitiven unbestätigte Dienste: Beschränkung auf die Dienstprimitiven D.request und D.indication vom Dienstanbieter Aktivierung einer Primitive D.indication durch initiierte Dienste: den Dienstanbieter, z.B. um den oder die Dienstbenutzer über Störungen in unterliegenden Schichten zu informieren Zeitfolgediagramm Verdeutlichung der zeitlichen Beziehungen der Primitiven hier für die verschiedenen Dienstarten Übersicht über die Funktionen in einfachen Leitungsprotokollen Echo check X-On/X-Off
© Copyright 2025 ExpyDoc