Protokollspezifikation mit endlichen Automaten
Protokollspezifikation mit endlichen Automaten
Protokollspezifikation mit endlichen Automaten
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur1 / 23Spezifikation von Kommunikationssystemen3. <strong>Protokollspezifikation</strong> <strong>mit</strong> <strong>endlichen</strong> <strong>Automaten</strong>Prof. Jochen SeitzFachgebiet „Kommunikationsnetze“18. April 2013
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur2 / 23Übersicht1 Kommunikationsprotokolle2 Weg-Zeit-Diagramm3 Endlicher Automat4 Beispiel5 Protokollkorrektheit
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur3 / 23Protkollablauf zur DiensterbringungDienstschnittstelleD iDienstschnittstelleD i-1KommunikationsinstanzI i+1kKommunikationsinstanzI imAbstraktes Medium M iProtokoll derSchicht iKommunikationsinstanzI i+1lKommunikationsinstanzI inDienstzugangspunktAbstraktes Medium M i-1
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur4 / 23Bezeichnungskonventionen nach Debes u. a. (2007)(N)-Schicht⋄ A-Schicht: Anwendungsschicht (Application Layer)⋄ P-Schicht: Darstellungsschicht (Presentation Layer)⋄ S-Schicht: Kommunikationssteuerungsschicht (Session Layer)⋄ T-Schicht: Transportschicht (Transport Layer)⋄ N-Schicht: Ver<strong>mit</strong>tlungsschicht (Network Layer)⋄ DL-Schicht: Sicherungsschicht (Data Link Layer)⋄ Ph-Schicht: Bitübertragungsschicht (Physical Layer)(N)-Dienstpri<strong>mit</strong>ive(N)-Dienst.TypPhDLNT...-Connect-Data-Disconnect-Abort- ....Req (Request, Anforderung).Ind (Indication, Anzeige).Rsp (Response, Antwort).Cnf (Confirmation, Bestätigung)Dienstpri<strong>mit</strong>ive der A-Schicht werden gemäß ihres Application Service Elements(ASE) benannt.
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit LiteraturDatenaustausch5 / 23Bezeichnungskonventionen am BeispielDL-Con.ReqDL-SAP(Initiator)DL-SAP(Beantworter)DL-Con.IndDL-Con.CnfDL-Con.RspDL-Dat.ReqDL-Dat.ReqDL-Dat.IndDL-Dat.IndVerbindungsabbauVerbindungsaufbauDL-Disc.ReqDL-Disc.Indtt
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur6 / 23Dienstbeschreibung durch Weg-Zeit-DiagrammeInitiatorT-Con.ReqT-Con.CnfInitiatorT-Con.ReqOrt jOrt jMediumMediumOrt k BeantwortertT-Con.IndT-Con.RspOrt k BeantworterT-Con.IndT-PAbo.IndtT-PAbo.Ind
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur7 / 23Protokollbeschreibung durch Weg-Zeit-DiagrammeInitiatorBeantworterT-Con.ReqT-Con.CnfT-SAPN-Dat.Req(CR-PDU)N-Dat.Ind(CC-PDU)N-SAPMediumN-SAPN-Dat.Ind(CR-PDU)N-Dat.Req(CC-PDU)T-SAPT-Con.IndT-Con.Rspt
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur8 / 23Grundelemente eines <strong>endlichen</strong> <strong>Automaten</strong>Zustandeindeutige Kennungausgezeichneter Startzustandzu einem Zeitpunkt immer nur ein Zustand aktuellÜbergangvon einem Zustand in einen anderencharakterisiert durch Eingabe; Ausgabe, d. h. derZustandsübergang wird bei Auftreten der Eingabeausgeführt, wobei die Ausgabe ausgegeben wirdkeine zeitliche Auswirkung
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur9 / 23Beispiel: Verbindungsaufbau TransportschichtDienstbeschreibungWie sieht der Dienst an der Dienstschnittstelle aus?Dienstpri<strong>mit</strong>iveAblauf der DienstinanspruchnahmeProtokollbeschreibungWelche Informationen werden zwischen dendiensterbringenden Instanzen ausgetauscht?Aufbau der ProtokolldateneinheitenAuswertung der Protokolldateneinheiten <strong>mit</strong> nachfolgenderReaktionWichtig: Berücksichtigung des zu verwendenden Dienstesverbindungsloser Ver<strong>mit</strong>tlungsschichtdienstverbindungsorientierter Ver<strong>mit</strong>tlungsschichtdienst
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur10 / 23Relevante Dienstpri<strong>mit</strong>iveVer<strong>mit</strong>tlungsdienstschnittstelleN-Data.RequestN-Data.IndicationN-ProviderAbort.IndicationN-UserAbort.RequestN-UserAbort.IndicationWenn verbindungsorientiert,zusätzlich:N-Connect.RequestN-Connect.IndicationTransportdienstschnittstelleT-Connect.RequestT-Connect.IndicationT-Connect.Response+/-T-Connect.Confirmation+/-T-ProviderAbort.IndicationT-UserAbort.RequestT-UserAbort.IndicationN-Connect.Response+/-N-Connect.Confirmation+/-
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur11 / 23Automat zur Beschreibung desVerbindungsaufbaudienstesT-Con.ReqT-UAbo.ReqT-Con.Cnf+T-Con.Cnf-T-UAbo.IndT-PAbo.IndT-Con.Rsp+T-Con.Rsp-T-UAbo.ReqT-Con.IndT-UAbo.IndT-PAbo.IndT-Con.Req; T-Con.IndStartT-Con.Req;T-PAbo.IndVerbindungim AufbauT-Con.Rsp-; T-Con.CnfoderT-UAbo.Req; T-UAbo.Indoder (2x) T-PAbo.IndT-UAbo.Req; T-UAbo.Indoder (2x) T-PAbo.IndT-Con.Rsp+; T-Con.Cnf+Verbindungaufgebaut
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur12 / 23Weg-/Zeit-Diagramm zur Beschreibung desVerbindungsaufbaudienstesInitiatorMediumBeantworterT-Con.ReqT-Con.Cnf+T-Con.ReqT-Con.Cnf-T-Con.ReqT-PAbo.IndT-Con.IndT-Con.Rsp+T-Con.IndT-Con.Rsp-T-Con.IndT-PAbo.Ind(a) ErfolgreicherVerbindungsaufbau(b) AbgelehnterVerbindungsaufbau(c) Vom DiensterbringerabgebrochenerVerbindungsaufbautt
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur13 / 23Dienstbeschreibung des verbindungslosenVer<strong>mit</strong>tlungsschichtdienstsN-Dat.Req N-Dat.Ind N-Dat.Req N-Dat.IndN-Dat.Req;N-Dat.IndStartZur Vereinfachung wurde auf den Benutzer- bzw. Dienstgeberabbruch verzichtet!
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur14 / 23Dienstbeschreibung des verbindungsorientiertenVer<strong>mit</strong>tlungsschichtdienstsN-Con.ReqN-Dat.ReqN-Con.Cnf+N-Con.Cnf-N-Dat.IndN-Con.Rsp+N-Con.Rsp-N-Dat.ReqN-Con.IndN-Dat.IndN-Con.Req; N-Con.IndStartVerbindungim AufbauN-Con.Rsp-; N-Con.Cnf-N-Con.Rsp+; N-Con.Cnf+VerbindungaufgebautN-Dat.Req;N-Dat.IndZur Vereinfachung wurde auf den Benutzer- bzw. Dienstgeberabbruch verzichtet!
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur15 / 23PDUs für den VerbindungsaufbaudienstCR (Connect Request)Transport des VerbindungsaufbauwunschesCC+ (positives Connect Confirmation)Transport der VerbindungsannahmeCC- (negatives Connect Confirmation)Transport der VerbindungsablehnungUAbo (User Abort)Anzeige des Abbruchs durch den Benutzer
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur16 / 23Beispielhafter Aufbau der PDUsDie Transportprotokoll-PDU könnte wie folgt aussehen:VersionCR CC UA DRZieladresseQuelladressereserviertPaketsendenummerPaketempfangsfolgenummerKurze Nutzdaten (bei Bedarf)CRCCUADRConnect RequestConnect ConfirmationUser AbortDisconnect Request
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur17 / 23Automat zur Beschreibung des Protokollsbei verbindungslosem Ver<strong>mit</strong>tlungsschichtprotokollN-Dat.Ind(CC-);T-Con.Cnf- oderT-UAbo.Req;N-Dat.Req(UAbo) oderN-Dat.Ind(UAbo);T-UAbo.IndStart*T-Con.Rsp-;N-Dat.Req(CC-) oderT-UAbo.Req;N-Dat.Req(UAbo) oderN-Dat.Ind(UAbo);T-UAbo.IndT-Con.Req;N-Dat.Req(CR)N-Dat.Ind(CR);T-Con.IndVerb. im Aufbau[Sender]Verb. im Aufbau[Empfänger]N-Dat.Ind(CC+);T-Con.Cnf+VerbindungaufgebautT-Con.Rsp+;N-Dat.Req(CC+)*: Provider-Abort, d.h. T-PAbo.Ind auf beiden Seiten, Auslöser hierfür ist unterschiedlich.
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur18 / 23Erfolgreicher Verbindungsaufbau imWeg-/Zeit-DiagrammT-SAP N-SAP Netz N-SAP T-SAPT-Con.ReqN-Dat.Req(CR)N-Dat.Ind(CR)T-Con.IndT-Con.Cnf+N-Dat.Ind(CC+)N-Dat.Req(CC+)T-Con.Rsp+t t t t
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur19 / 23Automat zur Beschreibung des Protokolls - IIbei verbindungsorientiertem Ver<strong>mit</strong>tlungsschichtprotokollN-Con.Cnf-;T-PAbo.IndT-Con.Req;N-Con.ReqStart*N-Con.Ind;N-Con.Rsp-N-Con.Ind;N-Con.Rsp+N-Verb. im Aufbau[Sender]N-Con.Cnf+;N-Dat.Req(CR)N-Verb. aufgebaut[Sender]N-Dat.Ind(CC-);T-Con.Cnf- oderT-UAbo.Req;N-Dat.Req(UAbo) oderN-Dat.Ind(UAbo);T-UAbo.IndT-Con.Rsp-;N-Dat.Req(CC-) oderT-UAbo.Req;N-Dat.Req(UAbo) oderN-Dat.Ind(UAbo);T-UAbo.IndN-Verb. aufgebaut[Empfänger]N-Dat.Ind(CR);T-Con.IndT-Verb. im Aufbau[Empfänger]N-Dat.Ind(CC+);T-Con.Cnf+T-VerbindungaufgebautT-Con.Rsp+;N-Dat.Req(CC+)*: Provider-Abort, d.h. T-PAbo.Ind auf beiden Seiten, Auslöser hierfür ist unterschiedlich.Unter Umständen muss die Ver<strong>mit</strong>tlungsschichtverbindung noch abgebaut werden!
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit LiteraturErfolgreicher Verbindungsaufbau imWeg-/Zeit-Diagramm - IIT-Con.ReqT-SAP N-SAP Netz N-SAP T-SAPN-Con.ReqN-Con.IndN-Con.Rsp+N-Con.Cnf+T-Con.Cnf+N-Dat.Req(CR)N-Dat.Ind(CC+)N-Dat.Ind(CR)N-Dat.Req(CC+)T-Con.IndT-Con.Rsp+t t t t20 / 23
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur21 / 23Anmerkungen zur Protokollkorrektheit IProtokollkorrektheit nach Lockemann u. a. (1993)Nachweis, dass sich das beschriebene System aus Instanzenund unterliegendem (abstraktem) Medium – wenn seineKomponenten beschreibungskonform agieren – sich an derSchnittstelle des zu erbringenden Dienstes konform zurBeschreibung des Dienstes verhält.⇒ Untersuchung aller möglichen Abläufe und Vergleich <strong>mit</strong> derDienstspezifikation.
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur22 / 23Anmerkungen zur Protokollkorrektheit IIVorgehensweise:Bildung einfacher Transitionssysteme für Sender,Empfänger und abstraktes Medium:⋄ Zustandsübergang = eine einzige Eingabe resp. Ausgabe⋄ Kopplung beispielsweise über Rendez-Vous-KonzeptModellierung des Gesamtsystems durch Zusammenfassender Zustände: < Z S , Z E , Z M > −→ ErreichbarkeitsgraphUntersuchung des Erreichbarkeitsgraphs aufVerzögerung, d. h. Schleifen ohne ZieldienstereignisTerminierung, d. h. Globalzustand ohne weitere ÜbergängeQuasi-Terminierung, d. h. Endlos-Schleifen ohneZieldienstereignisToter Ereignistyp, d. h. Ereignis wird nie erzeugtToter Instanzenzustand, d. h. ein Zustand eines <strong>Automaten</strong>wird nie erreicht
Kommunikationsprotokolle Weg-Zeit-Diagramm Endlicher Automat Beispiel Protokollkorrektheit Literatur23 / 23Literatur[Debes u. a. 2007] DEBES, Maik ; HEUBACH, Michael ; SEITZ, Jochen ;TOSSE, Ralf: Digitale Sprach- und Datenkommunikation: Netze -Protokolle - Ver<strong>mit</strong>tlung. München, Wien : Fachbuchverlag Leipzig im CarlHanser Verlag, 2007. – ISBN 3-446-22979-5[Lockemann u. a. 1993] LOCKEMANN, Peter C. ; KRÜGER, Gerhard ;KRUMM, Heiko: Telekommunikation und Datenhaltung. München, Wien :Hanser-Verlag, 1993. – ISBN 978-3-446-17465-8