ebook img

Protocol Engineering: Prinzip, Beschreibung und Entwicklung von Kommunikationsprotokollen PDF

511 Pages·2003·19.089 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Protocol Engineering: Prinzip, Beschreibung und Entwicklung von Kommunikationsprotokollen

Leitfaden der Informatik Hartmut Konig Protocol Engineering Leitfaden der Informatik Herausgegeben von Prof. Dr. Bernd Becker, Freiburg Prof. Dr. Friedemann Mattern, ZOrich Prof. Dr. Heinrich MOiler, Dortmund Prof. Dr. Wilhelm Schafer, Paderborn Prof. Dr. Dorothea Wagner, Karlsruhe Prof. Dr. Ingo Wegener, Dortmund Die Leitfaden der Informatik behandeln • Themen aus der Theoretischen, Praktischen und Technischen Informatik entsprechend dem aktuellen Stand der Wissenschaft in einer systematischen fundierten Darstellung des jeweiligen Gebietes . • Methoden und Ergebnisse der Informatik, aufgearbeitet und dargestellt aus Sicht der Anwendungen in einer fOr Anwender verstandlichen, exakten und prazisen Form. Die Bande der Reihe wenden sich zum einen als Grundlage und Erganzung zu Vorlesungen der Informatik an Studierende und Lehrende in Informatik-Studiengangen an Hochschulen, zum anderen an "Praktiker", die sich einen Uberblick Ober die Anwendung der Informatik (-Methoden) verschaffen wollen; sie dienen aber auch in Wirtschaft, Industrie und Verwal tung tatigen Informatikern und Informatikerinnen zur Fortbildung in praxisrelevanten Fragestellungen ihres Faches. Hartmut Konig Protocol Engineering Prinzip, Beschreibung und Entwicklung von Korn rn u n i kationsprotokollen Teubner B. G. Teubner Stuttgart· Leipzig' Wiesbaden Bibliografische Information der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliographie; detaillierte bibliografische Daten sind im Internet Ober <http://dnb.ddb.de> abrufbar. Prof. Dr.-Ing. Hartmut Konig Geboren 1950 in Quedlinburg. Studium der Physik an der TU Dresden (1968-1972). Forschungs aufenthalt am Vereinigten Institut fOr Kernphysik Dubna bei Moskau (1972-1976). Wissenschaftlicher Mitarbeiter an der Sektion Informationsverarbeitung der TU Dresden (1976-1988). Promotion 1979 zum Dr.-Ing. an der TU Dresden (Datentypkonzepte hoherer Programmiersprachen). Habilitation 1987 an der TU Dresden Ober Kommunikationsprotokolle. Hochschuldozent an der TU Magdeburg (1988- 1992). Seit 1993 Professor fOr Praktische Informatik an der BTU Cottbus. Forschungsaufenthalte an der Universitat Montreal, der La Trobe Universitat Melbourne, am Institute National de Telecommunication Evry und an der Universitat Helsinki. 1. Auflage November 2003 Aile Rechte vorbehalten © B. G. Teubner Verlag / GWV Fachverlage GmbH, Wiesbaden 2003 Der B. G. Teubner Verlag ist ein Unternehmen von Springer Science+Business Media. www.teubner.de Das Werk einschlieBlich aller seiner Teile ist urheberrechtlich geschOtzt. Jede Verwertung auBerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Ver lags unzulassig und strafbar. Das gilt insbesondere fOr Vervielfaltigungen, Obersetzun gen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten waren und daher von jedermann benutzt werden dOrften. Umschlaggestaltung: Ulrike Weigel, www.CorporateDesignGroup.de ISBN-13: 978-3-519-00454-7 e-ISBN-13: 978-3-322-80066-4 DOl: 10.1 007/978-3-322-80066-4 fur Christine Vorwort Motivation. Kommunikationsprotokolle -kurz Protokolle -bilden die Grundlage fUr die Realisierung von Rechner- und Telekommunikationsnetzen. Sie bilden Verhal tenskonventionen, die die Regeln festlegen, wie Rechner und Vermittlungssysteme - kurz Kommunikationssysteme -in Netzen miteinander kommunizieren. Sie beschrei ben die zeitliche Abfolge der Interaktion und legen das Format der auszutauschenden Dateneinheiten fest. DafUr ist ein breites Spektrum recht unterschiedlicher Funktionen erforderlich, z. B. fUr das Senden und Empfangen von Dateneinheiten, fUr ihre Kodie rungIDekodierung, fUr das Erkennen und Beheben von Obertragungsfehlem, fUr die Steuerung der Datenflilsse zwischen den Kommunikationspartnem sowie fUr die Si cherung einer bestimmten Obertragungsqualitlit. Protokolle sind auBerordentlich komplexe und komplizierte Gebilde, die wesentlich die Effizienz und ZuverUissigkeit von Rechnemetzen bestimmen. Die Vielfalt und Verschiedenheit der Mechanismen steht dabei hliufig im Widerspruch zu der angestrebten Effizienz. Kommunikationssysteme nutzen aufeinander abgestimmte Protokollhierarchien, de nen fest vorgegebene Architekturprinzipien zugrundeliegen, wie sie z. B. durch die OS 1- und die Intemet-Architektur vorgegeben sind. Ein Protokoll realisiert in einer solchen Hierarchie eine Teilfunktionalitlit, die in Form eines Dienstes einem hOheren Protokoll bzw. einer Anwendung zur VerfUgung gestellt wird. Die Protokollhierarchi en bilden die Kommunikationsarchitektur eines Kommunikationssystems. FUr ihre Gestaltung gibt es unterschiedliche Prinzipien, z. B. die Berilcksichtigung hersteller- VI Vorwort spezifischer Kriterien, wie sie fur geschlossene bzw. proprietiire Systeme typisch sind, oder die Rechnerunabhangigkeit, die die Grundlage der offenen Systeme bildet. Die Gestaltung der Kommunikationsarchitektur und der in ihr enthaltenen Protokolle ist eines der entscheidenden Momente der Entwicklung von Kommunikationssystemen. Sie hat wesentlichen Einfluss auf ihre Effizienz und ZuverUissigkeit. Kommunikationsprotokolle werden sowohl in Hardware als auch in Software imple mentiert, wobei Softwarerealisierungen, vor allem bei den hoheren Protokollen, tiber wiegen. Die Implementierung von Protokollen ist dabei eng an die jeweilige Ablaufumgebung, insbesondere das Betriebssystem des Rechners gebunden. Die Art und Weise der Implementierung eines Protokolls hat dadurch einen ebenso groBen Einfluss auf seine Effizienz wie der Entwurf. Die Erfahrung einer weitgehend fehlerfreien Nutzung von Diensten im Internet ver deckt den Aufwand, der fur die Entwicklung von Kommunikationsprotokollen erfor derlich ist. Protokolle mtissen entworfen, bescbrieben, verifiziert, implementiert und getestet werden, bevor sie in einem Netz installiert werden konnen. Die Entwicklung von Protokollen - vom Entwurf bis zur Installation - ist kompliziert und aufwendig. Sie wird in ihrer ganzen Komplexitiit heute noch nicht beherrscht. Die Protokollent wicklung wirft ahnliche Probleme und Fragestellungen auf, wie sie aus der Software technik bekannt sind. Viele der fur die Softwareentwicklung typischen Phasen und Merkmale finden sich auch im Protokollentwicklungsprozess wieder. Die spezifi schen Eigenschaften von Kommunikationsprotokollen werfen jedoch eine Reihe zu slitzlicher Fragen auf, die tiber die traditionelle Softwareentwicklung hinausgehen. Das hat dazu gefuhrt, dass sich die Entwicklung, Validation und Realisierung von Pro tokollen unter dem Namen Protocol Engineering [Piat 83] (eine adiiquate deutsche Bezeichnung existiert nicht) als eine eigenstllndige Teildisziplin der Telematik her ausgebildet hat. Grundlage des Protocol Engineerings ist die Verwendung formaler Beschreibungs techniken, kurz auch als FDTs iformal descripition techniques) bezeichnet, fur die Protokollspezifikation. Formale Beschreibungstechniken zeichnen sich durch eine formal definierte Syntax und Semantik aus. Sie gewlihrleisten im Gegensatz zu den in der Praxis zumeist verwendeten informalen Beschreibungen eine eindeutige Interpre tation der Spezifikationen. Formale Beschreibungstechniken bilden die Grundlage fur eine systematische, ingenieurmliBige Entwicklung von Kommunikationsprotokollen. Sie ermoglichen die Entwicklung von Werkzeugen zur Unterstiitzung der verschiede nen Protokollentwicklungsphasen. Was macht die Spezifik von Kommunikationsprotokollen aus, die das Entstehen des Protocol Engineering erklliren? Es sind dies eine Reihe von Besonderheiten, die die Entwicklung von Protokollen von anderer Software unterscheidet: Hinter dem allgemein verwendeten Protokollbegriffverbergen sich genau ge nommen zwei Konzepte: das des Dienstes und das des Protokolls. Der Dienst bezeichnet das Ergebnis der Interaktion zwischen Netzkomponenten. Er kann von einer Anwendung oder einem anderen Protokoll genutzt werden. Das Pro tokoll beschreibt die Art und Weise, wie dieser Dienst bereitgestellt wird. Es Vorwort vii bildet quasi die abstrakte Implementierung des Dienstes. Das hat Konsequen zen fUr die Beschreibung von Diensten und Protokollen. Sie unterscheidet sich von der traditionellen Softwarespezifikation dadurch, dass nicht nur das "Was", der Dienst, beschrieben werden muss, sondern auch das "Wie", d. h. die Art und Weise seiner Bereitstellung. Protokollinstanzen mUssen aufunterschiedliche Ereignisse und Kommunikati onsanforderungen, zum Teil gleichzeitig, reagieren konnen. ProtokollabUiufe sind daher haufig nebenlaufig und nichtdeterministisch. • Protokolle sind wie kaum ein anderer Bereich der Informatik durch die inter nationale Standardisierung gepragt. Der Grund dafUr ist, dass sie in der Regel mehrfach und unabhiingig voneinander von unterschiedlichen Entwicklern im plementiert werden. Die Implementierungen mUssen mit den Implementierun gen anderer Entwickler zusammenarbeiten konnen, d. h. interoperabel sein. Das ist nur durch eine Standardisierung der Protokolle moglich. An Protokolle werden hohe Anforderungen bezUglich der Effizienz und Zuver lassigkeit gestellt. Die Komplexitat von Protokollen und die Kompliziertheit der AbUiufe stehen demjedoch haufig entgegen. Die Korrektheit und Zuverlas sigkeit von Protokollen und ihren Implementierungen lasst sich nur schwer nachweisen. Die Entwicklung und Realisierung von Protokollen ist aufwendig. Sie bindet groBe Entwicklerkapazitaten Uber einen 11ingeren Zeitraum. Der Einsatz von Werkzeugen kann die Entwicklung wesentlich effizienter gestalten. Die Existenz einer existierenden Kommunikationsinfrastruktur, wie sie durch das In ternet gegeben ist, lasst vermuten, dass die Entwicklung neuer Protokolle kaum noch erforderlich ist. Dem ist nicht so. Neue technologische Moglichkeiten und neuartige Anwendungen stellen neue Anforderungen an die Gestaltung und Realisierung von Kommunikationsarchitekturen und -protokollen. In den letzten Jahren sind viele neue Protokolle im Bereich der Hochleistungskommunikation, der Internet-Anwendungen und der Mobilkommunikation entstanden. Dies wird in Zukunft der Fall sein. Ziel des Buches. Das vorliegende Buch fUhrt in die Grundlagen des Protocol Engi neerings ein. Es stellt die grundlegenden Prinzipien der Funktionsweise von Kommu nikationsprotokollen, die Methoden und Techniken fUr ihre Beschreibung sowie die Phasen der Protokollentwicklung und die wichtigsten dabei verwendeten Methoden vor. Dabei werden sowohl die praktischen als auch die theoretischen Aspekte des Pro tocol Engineerings betrachtet. Damit soIl die Verbindung zwischen diesen beiden, haufig isoliert betrachteten Teilen der Protokollentwicklung hergestellt werden. Gleichzeitig sollen auch die Moglichkeiten und die Grenzen der Anwendbarkeit der existierender Methoden aufgezeigt werden. Letztlich will das Buch vor allem aber er mutigen, die Methoden des Protocol Engineerings in der praktischen Arbeit zu nutzen. Das Buch ist primiir ein Buch Uber formale Beschreibungstechniken fUr Kommunika tionsprotokolle und ihre Anwendung. Es enthiilt keine allgemeine EinfUhrung in Rechnernetze, wie sie u. a. in den BUchern von KUROSE und ROSS, STALLINGS und TANENBAUM zu finden ist. Das Buch behandelt einen speziellen, aber wichti gen Bereich der Entwicklung von Rechnernetzen und erg1inzt die genannten BUcher. viii Vorwort Leserkreis. Das Buch ist flir Studenten und Ingenieure der Inforrnatik, der Telematik und der Kommunikationstechnik geschrieben, die vor der Aufgabe stehen, sich in den Problemkreis Kommunikationsprotokolle und ihre Entwicklung einzuarbeiten. Es wendet sich ebenfalls an den Fachmann, der seine Kenntnisse zum Protocol Enginee ring vertiefen und es als Nachschlagewerk flir die verwendeten Methoden und Tech niken nutzen mochte. Das Buch dtirfte auch flir Softwaretechniker von Interesse sein, die sich mit der Entwicklung von Software flir verteilte Systeme bescMftigen. Viele der hier beschriebenen Methoden flir die Beschreibung, die Verifikation und den Test von Protokollen werden auch flir verteilte Systeme genutzt. Voraussetzungen. Ftir das Verstandnis des Buches werden keine speziellen Vor kenntnisse vorausgesetzt. Es wird erwartet, dass der Leser tiber Grundwissen zu Rech nernetzen, Betriebssystemen und hoheren Programmiersprachen verfiigt. Struktur des Buchs. Das Buch ist in drei Teile gegliedert. Der erste Teil enthalt eine Einfiihrung in die prinzipielle Funktionsweise von Kommunikationsprotokollen. Es werden die grundlegenden Konzepte Dienst, Protokoll, Schicht und Kommunikati onsarchitektur vorgestellt. Dabei wird versucht, den Leser durch Analogien zu Ablau fen im taglichen Leben sowie ahnlich gelagerten Problemen in anderen Bereichen der Inforrnatik schrittweise mit den zum Teil sehr komplizierten Ablaufen in Protokollen vertraut zu machen. AnschlieBend werden die wichtigsten Protokollfunktionen be schrieben. Am Beispiel des TCP/IP-Protokollstacks wird die Anwendung der Proto kollmechanismen in einem realen Umfeld diskutiert. Parallel zu dieser Einflihrnng werden unter Verwendung einer Modellsprache die Grundelemente der Beschreibung von Protokollen erlautert und fUr die Basiskonzepte Dienst, Protokoll und Schicht bei spielhaft demonstriert. Der zweite Teil ist der Beschreibung der Kommunikationsprotokolle gewidmet. Er gibt einen Oberblick tiber die verschiedenen Methoden und Techniken der Protokoll beschreibung. Ausgehend von den Anforderungen an forrnale Beschreibungstechni ken flir Kommunikationsprotokolle werden einleitend die wichtigsten Methoden vorgestellt, die flir die Beschreibung von Protokollen und als semantische Modelle forrnaler Beschreibungstechniken genutzt werden. Schwerpunkt des zweiten Teils ist eine ausflihrliche Einflihrnng in einige standardisierte Beschreibungstechniken. Mit SDL-2000 und LOTOS stellen wir je einen Vertreter der und der automaten- und der transitionsorientierten Beschreibungstechniken vor. Weiterhin geben wir einen Uber blick tiber MSC, einer popularen graphischen Beschreibungstechnik flir Kommunika tionsablaufe, und ASN.l, der wichtigsten Beschreibungstechnik flir Datenforrnate in der Datenkommunikation. Der dritte Teil behandelt die Entwicklungsphasen von Kommunikationsprotokollen. Ausgehend yom Modell des Protokollenwicklungsprozesses werden die Phasen Ent wurf, Spezifikation, Verifikation, Implementierung und Test vorgestellt und die wich tigsten dabei verwendeten Techniken erlautert. Der Leser lernt dabei Ansatze zum systematischen Entwurf von Protokollen, die Grundtechniken der Spezifikation von Protokollen, die Methoden zu ihrer Verifikation, die Vorgehensweise bei der Imple mentierung sowie die Strategien des Protokolltests, insbesondere den Konforrnitats test und den Interoperabilitatstest, kennen. Weiterhin wird mit der standardisierten Vorwort ix Testnotation TTCN, in den Versionen TTCN-2 und TTCN-3, eine Technik fUr die Be schreibung von Testdaten eingefUhrt. AbschlieBend wird ein Uberblick tiber Werk zeuge des Protocol Engineerings gegeben. Die "Klammer" zwischen den drei Teilen des Buchs bildet das Beispielsprotokoll XDT (Example Data Transfer-Protokoll), das im ersten Teil des Buches eingefUhrt wird. Es wird als Referenzprotokoll fUr das gesamte Buch genutzt, an dem die ver schiedenen Beschreibungstechniken sowie die wichtigsten Methoden fUr die Imple mentierung und Validation von Protokollen demonstriert werden. Damit wird dem Leser die Moglichkeit gegeben, die verschiedenen Beschreibungstechniken zu ver gleichen. Wie ist das Buch zu lesen? Der erste Teil des Buchs ist den Grundlagen von Kom munikationsprotokollen gewidmet. Er stellt das Prinzip und die Elemente der Be schreibung von Protokollen vor, wie sie fUr die beiden folgenden Teile vorausgesetzt werden. Dieser Teil wendet sich an die Leser, die in die grundlegenden Protokollme chanismen einarbeiten wollen. Leser, die tiber dieses Wissen verfilgen, wird empfoh len, diesen Teil bis auf die Einfilhrung des XDT-Protokolls zu tiberblattem. Der zweite Teil behandelt die Beschreibung von Protokollen. Er stellt die grundlegen den Beschreibungsmethoden vor und enthalt eine EinfUhrung in die wichtigsten Spe zifikationssprachen, die der Leser spater auch als Referenz verwenden kann. Die Art der Beschreibung spielt eine zentrale Rolle in der Protokollentwicklung, da von der Wahl der Beschreibungstechnik, insbesondere von demjeweiligen semantischen Mo dell, abhangt, welche Entwurfs-und Validationstechniken eingesetzt werden konnen. Aus diesem Grund und wegen des Umfangs der Spezifikationssprachen wurde die Be schreibung der Protokolle von der Darstellung des Entwicklungsphasen getrennt. Filr den Leser empfiehlt sich hier, sich zuerst auf die Beschreibungsmethoden und die Grundkonzepte der formalen Beschreibungstechniken zu konzentrieren. Die einzel nen Sprachelemente sind fUr eine konkrete Anwendung einer Technik sowie bei der Auseinandersetzung mit dem XDT-Beispiel von Interesse. Der dritte Teil beschreibt die fUr Kommunikationsprotokolle typischen Entwicklungs schritte. Dazu gehoren der Entwurf, die Spezifikation, die Leistungsvoraussage, die Verifikation, die Implementierung und der Test von Protokollen. Da Kommunikati onsprotokolle selten kontinuierlich, d. h. vom Entwurf bis zur Installierung, entwik kelt werden, ist ein Spezialisierung der Entwickler auf bestimmte Phasen sehr ausgepragt. Es bleibt dem Leser tiberlassen, wie intensiv er sich mit den einzelnen Phasen auseinandersetzt. Online-Materia lien. Zu dies em Buch gibt es eine Web-Seite mit weiteren Materiali en und erganzenden Informationen. Die Web-Seite enthalt u. a. die Beschreibung des XDT-Protokolls mit allen im Buch enthaltenen Spezifika tionen einschlieBlich einer Animation des Protokollablaufs, die Materialien der Vorlesung "Protocol Engineering" in Powerpoint, • eine Obungsaufgabensammlung (im Aufbau) sowie zusatzliche Informationen und Verweise. Die Adresse der Web-Seite ist http://www.protocol-engineering.tu-cottbus.de/. x Vorwort Dank. Das Buch entstand aus den Manuskripten zu den Vorlesungen "Rechnernetze und Kommunikationssysteme" und "Protocol Engineering", die ich an der BTU Cott bus halte. Die Ausarbeitung des Manuskripts haben viele Kollegen unterstiltzt. Ihnen mochte ich an dieser Stelle danken. Mein Dank gilt zuerst postum Herm Prof. Dr. Horst Langendorfer (TU Braun schweig), der vor mehreren Jahren die Anregung zu diesem Buch gab. GroBen Dank schulde ich Prof. Dr. Volker Claus (Universitlit Stuttgart), der die Ver offentlichung des Buchs ermoglicht hat. Ferner dailke ich Herm Ulrich Sandten vom Teubner-Verlag fUr seine versUindnisvolle Unterstiltzung bei der Fertigstellung der Druckversion. Eine Reihe von Fachkollegen hat mich bei der Ausarbeitung einzelner Kapitel unter stiltzt. Ich danke Peter DeuBen, Jens Grabowski, Monika Heiner, OlafHenniger, Peter Herrmann, Heiko Krumm, Bruno Milller-Clostermann, Alexander Petrenko, Ina Schieferdecker, Klaus StOttinger, Jan Tretmans und Colin Willcock. Viele meiner ehemaligen Mitarbeiter und Studenten haben durch Anregungen, Ideen, die Erarbeitung von Spezifikationen und durch Korrekturlesen des Manuskripts einen gewichtigen Beitrag zum Entstehen dieses Buches geleistet. Mein Dank gilt Jan Fied ler, Holger Fuchs, Abdelaziz Guerrouat, Thomas Held, RalfHenke, Peter Langendor fer, Michael Meier, Andreas Ulrich und Mario Zilhlke. Ich danke auch allen Kollegen, Bekannten und Freunden, die an der Entstehung des Besuches Anteil genommen haben, insbesondere Frau Irmhild Karl (postum), und da mit nicht unwesentIich zu seiner erfolgreichen Fertigstellung beigetragen haben. Mein besonderer Dank gilt Frau Katrin WillhOft, die mich ilber all die Jahre bei der Erstellung des Manuskripts und der Zeichnungen sowie der endgilltigen Druckfassung tatkraftig unterstiltzt hat. Cottbus/Dresden, Oktober 2003 Hartmut Konig

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.