Kommunikationsprotokoll

A Kommunikationsprotokoll ist ein System von Regeln, das zwei oder mehr Einheiten von a erlaubt Kommunikationssystem übertragen Information über jede Art von Variation von a physikalische Größe. Das Protokoll definiert die Regeln, Syntax, Semantik und Synchronisation von Kommunikation und möglich Fehlerwiederherstellungsmethoden. Protokolle können durch implementiert werden von Hardware-, Software, oder eine Kombination aus beiden.[1]

Kommunikationssysteme verwenden genau definierte Formate zum Austausch verschiedener Nachrichten. Jede Nachricht hat eine genaue Bedeutung, um eine Antwort aus einer Reihe möglicher Antworten zu ermitteln, die für diese bestimmte Situation vorgegeben wurden. Das angegebene Verhalten ist typischerweise unabhängig davon, wie es sein soll implementiert. Kommunikationsprotokolle müssen von den beteiligten Parteien vereinbart werden.[2] Um eine Vereinbarung zu erzielen, kann ein Protokoll zu a entwickelt werden Technischer Standard. EIN Programmiersprache Beschreibt dasselbe für Berechnungen, sodass eine enge Analogie zwischen Protokollen und Programmiersprachen besteht: Protokolle sind zu Kommunikation, welche Programmiersprachen für Berechnungen sind.[3] Eine alternative Formulierung besagt, dass Protokolle sind zu Kommunikation was Algorithmen sind zu berechnen.[4]

Mehrere Protokolle beschreiben oft verschiedene Aspekte einer einzelnen Kommunikation. Eine Gruppe von Protokollen, die für die Zusammenarbeit entwickelt wurden, ist als Protokollsuite bekannt. Wenn sie in Software implementiert sind, sind sie a Protokollstapel.

Internet -Kommunikationsprotokolle werden von der veröffentlicht Internettechnik-Arbeitsgruppe (IETF). Das IEEE (Institute of Electrical and Electronics Engineers) verarbeitet kabelgebundene und drahtlose Netzwerke und die Internationale Standardisierungsorganisation (ISO) behandelt andere Typen. Das Itu-t Griffe Telekommunikation Protokolle und Formate für die öffentliches Fernsprechwählnetz (PSTN). Als Pstn und Internet konvergierenDie Standards werden auch in Richtung Konvergenz getrieben.

Kommunikationssysteme

Geschichte

Eine der ersten Verwendungen des Begriffs Protokoll In einem Datenkommissionskontext erfolgt in einem Memorandum mit dem Titel " Ein Protokoll zur Verwendung in der NPL -Datenkommunikationsnetzwerk geschrieben von Roger Scantlebury und Keith Bartlett im April 1967.[5][6]

Auf der ArpanetDer Ausgangspunkt für die Kommunikation von Host-to-Host im Jahr 1969 war der 1822 Protokoll, die die Übertragung von Nachrichten auf einen Imp definierte.[7] Das Netzwerkkontrollprotokoll (NCP) für das Arpanet wurde erstmals 1970 umgesetzt.[8] Die NCP -Schnittstelle erlaubt Anwendungssoftware Um sich über das Arpanet zu verbinden, indem Kommunikationsprotokolle höherer Ebene implementiert werden, ein frühes Beispiel für die Protokollschichtung Konzept.[9]

Networking -Forschung in den frühen 1970er Jahren von Robert E. Kahn und Vint Cerf führte zur Formulierung der Übertragungskontrollprogramm (TCP).[10] Es ist RFC 675 Die Spezifikation wurde von CERF mit geschrieben Yogen Dalal und Carl Sunshine im Dezember 1974, zu dieser Zeit noch ein monolithisches Design.

Das Internationale Netzwerkarbeitsgruppe Einverstanden eine verbindungslose Datagramm Standard, der dem präsentiert wurde Ccit 1975 wurde aber weder von der ITU noch vom Arpanet übernommen.[11] Internationale Forschung, insbesondere die Arbeit von Rémi Després, bei der Entwicklung der beigetragen X.25 Standard basierend auf Virtuelle Schaltungen bis zum Itu-t 1976.[12][13] Computerhersteller entwickelten sich Proprietäre Protokolle wie IBMs Systemnetzwerkarchitektur (SNA), Digital Equipment Corporation Decnet und Xerox -Netzwerksysteme.[14]

Die TCP -Software wurde als modularer Protokollstapel neu gestaltet. Ursprünglich bezeichnet als als IP/TCP, es wurde auf installiert Satnet 1982 und auf dem Arpanet im Januar 1983. Die Entwicklung einer vollständigen Protokollsuite bis 1989, wie in RFC 1122 und RFC 1123, legte die Grundlage für das Wachstum von TCP/IP Als umfassende Protokollsuite als Kernkomponente des aufstrebenden Internet.[15]

Internationale Arbeiten an einem Referenzmodell für Kommunikationsstandards führten zur OSI -Modell, veröffentlicht 1984. In den späten 1980er und frühen 1990er Jahren wurden Ingenieure, Organisationen und Nationen polarisiert über die Frage, welchen StandardDas OSI -Modell oder die Internet -Protokollsuite würde zu den besten und robustesten Computernetzwerken führen.[16][17][18]

Konzept

Die Informationen, die zwischen Geräten über ein Netzwerk oder andere Medien ausgetauscht werden, unterliegen Regeln und Konventionen, die in Kommunikationsprotokollspezifikationen festgelegt werden können. Die Art der Kommunikation, die tatsächlichen Daten ausgetauscht und alle Zustand-Abhängige Verhaltensweisen, wird durch diese Spezifikationen definiert. In digitalen Computersystemen können die Regeln durch ausgedrückt werden Algorithmen und Datenstrukturen. Protokolle sind zu Kommunikation, welche Algorithmen oder Programmiersprachen für Berechnungen sind.[3][4]

Betriebssysteme enthalten normalerweise eine Reihe kooperierender Prozesse, die gemeinsame Daten manipulieren, um miteinander zu kommunizieren. Diese Kommunikation unterliegt gut verstandene Protokolle, die in den Prozesscode selbst eingebettet werden können.[19][20] Im Gegensatz dazu gibt es keine geteilte Erinnerung, Kommunikationssysteme müssen mit einem gemeinsam genutzten Kommunizieren miteinander kommunizieren Übertragungsmedium. Die Übertragung ist nicht unbedingt zuverlässig und einzelne Systeme können unterschiedliche Hardware- oder Betriebssysteme verwenden.

Um ein Netzwerkprotokoll zu implementieren, werden die Protokollsoftware -Module mit einem Rahmen mit dem Betrieb des Betriebssystems der Maschine miteinander verbunden. Dieses Framework implementiert die Netzwerkfunktionalität des Betriebssystems.[21] Wenn Protokollalgorithmen in einer tragbaren Programmiersprache ausgedrückt werden, kann die Protokollsoftware hergestellt werden Betriebssystem unabhängig. Die bekanntesten Frameworks sind die TCP/IP -Modell und die OSI -Modell.

Zu der Zeit, als das Internet entwickelt wurde, Abstraktionsschichtung hatte sich als erfolgreicher Entwurfsansatz für den Compiler- und Betriebssystemdesign erwiesen, und angesichts der Ähnlichkeiten zwischen Programmiersprachen und Kommunikationsprotokollen wurden die ursprünglichen monolithischen Netzwerkprogramme in kooperierende Protokolle zerlegt.[22] Dies führte zu dem Konzept von geschichteten Protokollen, die heutzutage die Grundlage für das Protokolldesign bilden.[23]

Systeme verwenden normalerweise kein einziges Protokoll, um ein Getriebe zu verarbeiten. Stattdessen verwenden sie eine Reihe kooperierender Protokolle, die manchmal als a genannt werden Protokoll-Suite.[24] Einige der bekanntesten Protokollsuiten sind TCP/IP, IPX/SPX, X.25, AX.25 und Appletalk.

Die Protokolle können basierend auf Funktionen in Gruppen angeordnet werden, beispielsweise gibt es eine Gruppe von Transportprotokolle. Die Funktionen werden auf die Schichten abgebildet, wobei jede Schicht eine bestimmte Klasse von Problemen in Bezug auf beispielsweise: Anwendungs-, Transport-, Internet- und Netzwerk-Schnittstellenfunktionen löst.[25] Um eine Nachricht zu übertragen, muss ein Protokoll aus jeder Schicht ausgewählt werden. Die Auswahl des nächsten Protokolls wird durch Erweiterung der Nachricht mit einem Protokollauswahl für jede Schicht erreicht.[26]

Typen

Es gibt zwei Arten von Kommunikationsprotokollen, basierend auf ihrer Darstellung des inhaltlichen Inhalts: textbasiert und binär.[27]

Textbasiert

A Textbasiertes Protokoll oder Einfaches Textprotokoll repräsentiert seinen Inhalt in menschliches lesbares Formatoft in klarem Text.

Die unmittelbare menschliche Lesbarkeit steht im Gegensatz zu binären Protokollen, die für die Verwendung in einer Computerumgebung inhärente Vorteile haben (wie die einfache Mechanik Parsing und Verbesserte Bandbreitennutzung).

Netzwerkanwendungen haben verschiedene Methoden zur Verkapselung von Daten. Eine Methode, die bei Internet -Protokollen sehr häufig ist, ist eine textorientierte Darstellung, die Anforderungen und Antworten als Zeilen von überträgt ASCII Text, beendet von einem neuen Charakter (und normalerweise einem Kutschenrückgabecharakter). Beispiele für Protokolle, die einfache, menschlich lesbare Text für seine Befehle verwenden, sind FTP (Dateitransferprotokoll), SMTP (Simple Mail Transfer Protocol), und die Fingerprotokoll.[28]

Textbasierte Protokolle sind typischerweise für die menschliche Parsen und Interpretation optimiert und sind daher geeignet, wenn die menschliche Inspektion des Protokollinhalts erforderlich ist, wie z. Debuggen und während der frühen Protokollentwicklungsplanungsphasen.

Um klar zu sein, ist die gesamte digitale Kommunikation grundsätzlich binär. Die hier erwähnten Protokolle auf „Text“ verwenden nur binäre Inhalte, die von einem Texteditor (oder einer anderen solchen Software) „menschlich lesbar“ gemacht werden.

Binär

A Binärprotokoll verwendet alle Werte von a Byteim Gegensatz zu einem textbasierten Protokoll, das nur Werte verwendet, die menschlich-lesbaren Zeichen in entsprechen ASCII Codierung. Binäre Protokolle sollen eher von einer Maschine als von einem Menschen gelesen werden. Binärprotokolle haben den Vorteil der Belastung, was sich in Übertragungs- und Interpretationsgeschwindigkeit niederschlägt.[29]

Binär wurden in den normativen Dokumenten verwendet, die moderne Standards beschreiben wie wie Ebxml, Http/2, Http/3 und Edoc.[30] Eine Schnittstelle in UML[31] kann auch als binäres Protokoll angesehen werden.

Grundlegende Anforderungen

Die Daten über ein Netzwerk in einem Netzwerk zu bringen, ist nur ein Teil des Problems für ein Protokoll. Die empfangenen Daten müssen im Kontext des Fortschritts der Konversation bewertet werden, sodass ein Protokoll Regeln enthalten muss, die den Kontext beschreiben. Diese Art von Regeln soll das ausdrücken Syntax der Kommunikation. Andere Regeln bestimmen, ob die Daten für den Kontext, in dem der Austausch stattfindet, von Bedeutung sind. Diese Art von Regeln soll das ausdrücken Semantik der Kommunikation.

Nachrichten werden in Kommunikationssystemen gesendet und empfangen, um Kommunikation festzulegen. Protokolle sollten daher Regeln für die Übertragung angeben. Im Allgemeinen sollte ein Großteil der folgenden Angaben angesprochen werden:[32]

Datenformate für den Datenaustausch
Digitale Nachrichtenbitstrings werden ausgetauscht. Die Bitstrings sind in Feldern geteilt und jedes Feld trägt Informationen, die für das Protokoll relevant sind. Konzeptionell ist die Bitstring in zwei Teile unterteilt, die als die genannt werden Header und die Nutzlast. Die tatsächliche Nachricht wird in der Nutzlast übertragen. Der Kopfbereich enthält die Felder mit Relevanz für den Betrieb des Protokolls. Bitstrings länger als die Maximale Übertragungseinheit (MTU) sind in geeignete Größe geteilt.[33]
Adressformate für den Datenaustausch
Adressen werden verwendet, um sowohl den Absender als auch den beabsichtigten Empfänger zu identifizieren. Die Adressen werden im Kopfbereich der Bitstrings übertragen, sodass die Empfänger feststellen können, ob die Bitstrings von Interesse sind und verarbeitet werden sollten oder ignoriert werden sollten. Eine Verbindung zwischen einem Absender und einem Empfänger kann mit einem Adresspaar identifiziert werden (Absenderadresse, Empfängeradresse). Normalerweise haben einige Adresswerte spezielle Bedeutungen. Ein All-1Die Adresse kann angenommen werden, um alle Stationen im Netzwerk zu adressieren, sodass das Senden an diese Adresse zu einer Übertragung im lokalen Netzwerk führen würde. Die Regeln, die die Bedeutungen des Adresswerts beschreiben Adressierungsschema.[34]
Adresszuordnung
Manchmal müssen Protokolle Adressen eines Schemas für Adressen eines anderen Schemas abbilden. Zum Beispiel, um eine von der Anwendung angegebene logische IP -Adresse in eine Ethernet -MAC -Adresse zu übersetzen. Dies wird als bezeichnet als Adresszuordnung.[35]
Routing
Wenn Systeme nicht direkt verbunden sind, vermittelt Systeme entlang der Route an die beabsichtigten Empfänger (en) müssen Nachrichten im Namen des Absenders weiterleiten. Im Internet werden die Netzwerke mit Routern verbunden. Die Zusammenfassung von Netzwerken durch Router wird genannt Internetbearbeitung.
Erkennung von Übertragungsfehlern
In Netzwerken ist eine Fehlererkennung erforderlich, in der eine Datenbeschädigung möglich ist. In einem gemeinsamen Ansatz wird ein CRC des Datenbereichs bis zum Ende der Pakete hinzugefügt, wodurch der Empfänger die durch Korruption verursachten Unterschiede erfasst. Der Empfänger lehnt die Pakete für CRC -Unterschiede ab und ordnet sich irgendwie für die Wiedervermittlung ein.[36]
Anerkennung
Die Bestätigung des korrekten Empfangs von Paketen ist erforderlich für Verbindungsorientierte Kommunikation. Bestätigungen werden von Empfängern an ihre jeweiligen Absender zurückgeschickt.[37]
Informationsverlust - Zeitüberschreitungen und Wiederholungen
Pakete können im Netzwerk verloren gehen oder im Transit verzögert werden. Um damit fertig zu werden, kann ein Absender unter einigen Protokollen innerhalb einer bestimmten Zeit eine Bestätigung des korrekten Empfangs vom Empfänger erwarten. Also auf ZeitüberschreitungenDer Absender muss möglicherweise die Informationen übernehmen.[a] Bei einer dauerhaft kaputten Verbindung hat die Neuvermittlung keine Auswirkung, sodass die Anzahl der Wiedervermutungen begrenzt ist. Das Überschreiten der Wiederholungsgrenze wird als Fehler angesehen.[38]
Anleitung des Informationsflusses
Die Richtung muss angegangen werden, wenn Übertragungen nur in einer Richtung auftreten können Halbduplex Links oder von einem Absender gleichzeitig wie auf a gemeinsames Medium. Dies ist bekannt als als Media Access Control. Vorkehrungen müssen getroffen werden, um den Fall von zu unterbringen Kollision oder Streit wo zwei Parteien gleichzeitig übertragen oder übertragen werden möchten.[39]
Sequenzkontrolle
Wenn lange Bitstrings in Stücke unterteilt und dann einzeln im Netzwerk gesendet werden, können die Teile verloren oder verzögert oder in einigen Arten von Netzwerken unterschiedliche Routen zu ihrem Ziel nehmen. Infolgedessen können Stücke aus der Sequenz kommen. Wiederholungen können zu doppelten Teilen führen. Durch das Markieren der Teile mit Sequenzinformationen beim Absender kann der Empfänger bestimmen, was verloren oder dupliziert wurde, um die erforderlichen Wiederholungen zu bitten und die ursprüngliche Nachricht wieder zusammenzustellen.[40]
Ablaufsteuerung
Die Durchflussregelung ist erforderlich, wenn der Absender schneller überträgt, als der Empfänger oder die Zwischennetzwerkgeräte die Übertragungen verarbeiten können. Die Durchflussregelung kann durch Messaging vom Empfänger zum Absender implementiert werden.[41]
Warteschlange
Kommunikationsprozesse oder staatliche Maschinen verwenden Warteschlangen (oder "Puffer"), in der Regel FIFO -Warteschlangen, um die Nachrichten in der gesendeten Bestellung zu befassen, und haben möglicherweise manchmal mehrere Warteschlangen mit unterschiedlicher Priorisierung

Protokolldesign

Systemtechnik Es wurden Prinzipien angewendet, um eine Reihe gemeinsamer Netzwerkprotokoll -Designprinzipien zu erstellen. Das Design komplexer Protokolle beinhaltet häufig die Zerlegung in einfachere, kooperierende Protokolle. Eine solche Reihe kooperierender Protokolle wird manchmal als Protokollfamilie oder Protokollsuite bezeichnet.[24] Innerhalb eines konzeptionellen Rahmens.

Kommunikationssysteme funktionieren gleichzeitig. Ein wichtiger Aspekt von gleichzeitige Programmierung ist die Synchronisation der Software zum Empfangen und Übertragen von Kommunikationsnachrichten in der richtigen Sequenzierung. Die gleichzeitige Programmierung war traditionell ein Thema in den Texten der Theorie von Betriebssystemen.[42] Die formale Überprüfung erscheint unverzichtbar, da gleichzeitige Programme für die versteckten und anspruchsvollen Fehler berüchtigt sind, die sie enthalten.[43] Ein mathematischer Ansatz zur Untersuchung von Parallelität und Kommunikation wird als bezeichnet als Kommunizieren von sequentiellen Prozessen (CSP).[44] Parallelität kann auch mit Verwendung modelliert werden endliche Staatsmaschinen, wie zum Beispiel Mehlig und Moore -Maschinen. Mealy- und Moore -Maschinen werden als Designwerkzeuge in digitalen Elektroniksystemen verwendet, die in Form von Hardware in Telekommunikation oder elektronischen Geräten im Allgemeinen verwendet werden.[45]

Die Literatur zeigt zahlreiche Analogien zwischen Computerkommunikation und Programmierung. In der Analogie ist ein Übertragungsmechanismus eines Protokolls mit einer zentralen Verarbeitungseinheit (CPU) vergleichbar. Das Framework führt Regeln ein, die es dem Programmierer ermöglichen, kooperierende Protokolle unabhängig voneinander zu entwerfen.

Schichtung

Figure 2. Protocols in relation to the Internet layering scheme.
Abbildung 2. Das TCP/IP -Modell oder das Internetschichtschema und seine Beziehung zu einigen gemeinsamen Protokollen.

Im modernen Protokolldesign werden Protokolle geschichtet, um einen Protokollstapel zu bilden. Layering ist ein Designprinzip, das die Protokollentwurfsaufgabe in kleinere Schritte unterteilt, von denen jede einen bestimmten Teil erreicht und mit den anderen Teilen des Protokolls nur auf eine kleine Anzahl von gut definierten Arten interagiert. Schichten ermöglicht es den Teilen eines Protokolls zu entwerfen und ohne a zu testen Kombinatorische Explosion von Fällen jedes Design relativ einfach.

Die Kommunikationsprotokolle, die auf der verwendet werden Internet sind so konzipiert, dass sie in verschiedenen und komplexen Umgebungen funktionieren. Internetprotokolle sind für Einfachheit und Modularität ausgelegt und passen in eine grobe Hierarchie funktionaler Schichten, die in der definiert sind Internet -Protokollsuite.[46] Die ersten beiden kooperierenden Protokolle, die Transmissionskontrollprotokoll (TCP) und die Internetprotokoll (IP) resultierte aus der Zerlegung des ursprünglichen Übertragungskontrollprogramms, eines monolithischen Kommunikationsprotokolls, in diese Layered Communication Suite.

Das OSI -Modell wurde international auf der Grundlage von Erfahrungen mit Netzwerken entwickelt, die als Referenzmodell für die allgemeine Kommunikation mit viel strengeren Regeln für die Protokollinteraktion und strenge Schicht vor dem Internet im Internet waren.

In der Regel basiert die Anwendungssoftware auf einer robusten Datentransportschicht. Die zugrunde liegende Transportschicht liegt ein Datagramm- und Routing -Mechanismus, der typischerweise liegt verbindungslos im Internet. Die Paket -Relaying über Netzwerke hinweg erfolgt über einer anderen Ebene, die nur Netzwerkverbindungs ​​-Technologien umfasst, die häufig für bestimmte physische Schichttechnologien spezifisch sind, wie z. Ethernet. Layering bietet Möglichkeiten zum Austausch von Technologien beispielsweise, beispielsweise Protokolle, die häufig in a gestapelt sind Tunneling Arrangement zur Erfüllung der Verbindung unterschiedlicher Netzwerke. Zum Beispiel kann IP über eine abgestimmt werden asynchroner Übertragungsmodus (ATM) Netzwerk.

Protokollschichtung

Figure 3. Message flows using a protocol suite.
Abbildung 3. Die Nachrichtenströme unter Verwendung einer Protokollsuite. Schwarze Schleifen zeigen die tatsächlichen Messaging -Loops, rote Loops sind die effektive Kommunikation zwischen den durch die unteren Ebenen ermöglichten Schichten.

Protokollschicht bildet die Grundlage für das Protokolldesign.[23] Es ermöglicht die Zersetzung einzelner, komplexer Protokolle in einfachere, kooperierende Protokolle.[46] Die Protokollschichten lösen jeweils eine bestimmte Klasse von Kommunikationsproblemen. Zusammen bilden die Schichten ein Schichtschema oder ein Modell.

Berechnungen befassen sich mit Algorithmen und Daten; Kommunikation umfasst Protokolle und Nachrichten; Also das Analogon von a Datenflussdiagramm ist eine Art Nachrichtenflussdiagramm.[4] Zur Visualisierung von Protokollschicht- und Protokoll -Suiten fließt ein Diagramm der Meldung in und zwischen zwei Systemen A und B, in Abbildung 3 dar. Die Systeme A und B verwenden die gleiche Protokollsuite. Die vertikalen Strömungen (und Protokolle) sind im System und die horizontalen Meldungsströme (und Protokolle) zwischen den Systemen. Die Nachrichtenströme unterliegen den Regeln und Datenformaten, die durch Protokolle angegeben sind. Die blauen Linien markieren die Grenzen der (horizontalen) Protokollschichten.

Softwareschichtung

Abbildung 5: Protokoll und Softwareschichten. Die Softwaremodule, die die Protokolle implementieren, werden durch Würfel dargestellt. Der Informationsfluss zwischen den Modulen wird durch Pfeile dargestellt. Die (oberen zwei horizontalen) roten Pfeile sind virtuell. Die blauen Linien markieren die Schichtgrenzen.

Die Software, die Protokolle unterstützt, hat eine geschichtete Organisation und ihre Beziehung zur Protokollschichtung ist in Abbildung 5 dargestellt.

Um eine Nachricht auf System A zu senden, interagiert das Top-Layer-Software-Modul mit dem Modul direkt darunter und überreicht die zu verknüpfte Nachricht. Das untere Modul füllt die Header -Daten gemäß dem Protokoll aus und interagiert mit dem unteren Modul, das die Nachricht über den Kommunikationskanal an das untere System von System B sendet wird in seiner ursprünglichen Form an das obere System von System B geliefert. B.[47]

Programmübersetzung ist in Unterprobleme unterteilt. Infolgedessen wird auch die Übersetzungssoftware geschichtet, sodass die Softwareschichten unabhängig voneinander gestaltet werden können. Der gleiche Ansatz ist in der TCP/IP -Schichtung zu sehen.[48]

Die Module unterhalb der Anwendungsschicht werden im Allgemeinen als Teil des Betriebssystems angesehen. Das Übergeben von Daten zwischen diesen Modulen ist viel günstiger als das Übergeben von Daten zwischen einem Anwendungsprogramm und der Transportschicht. Die Grenze zwischen der Anwendungsschicht und der Transportschicht wird als Betriebssystemgrenze bezeichnet.[49]

Strenge Schichtung

Ein geschichteter Modell, eine Praxis, die als strikte Schicht bezeichnet wird, streng festhalten, ist nicht immer der beste Ansatz für die Vernetzung.[50] Strikte Schichten können sich negativ auf die Leistung einer Implementierung auswirken.[51]

Während die Verwendung von Protokollschichten heute allgegenwärtig auf dem Gebiet der Computernetzwerke ist, wurde sie historisch von vielen Forschern kritisiert[52] Als Abstraking des Protokollstapels kann eine höhere Schicht dazu führen, die Funktionalität einer niedrigeren Schicht zu duplizieren, wobei ein Hauptbeispiel sowohl die Fehlerwiederherstellung sowohl pro Link als auch von End-to-End-Basis ist.[53]

Designmuster

Häufig wiederkehrende Probleme bei der Gestaltung und Implementierung von Kommunikationsprotokollen können durch behandelt werden Software -Designmuster.[54][55][56][57][58]

Formale Spezifikation

Beliebte formale Methoden zur Beschreibung der Kommunikationssyntax sind Abstrakte Syntaxnotation eins (ein ISO Standard) und Augmented Backus -Naur -Form (ein Ietf Standard).

Finite-State-Maschine Modelle werden verwendet, um die möglichen Wechselwirkungen des Protokolls formell zu beschreiben.[59][60] und kommunizieren Finite-State-Maschinen[61]

Protokollentwicklung

Damit die Kommunikation auftritt, müssen Protokolle ausgewählt werden. Die Regeln können durch Algorithmen und Datenstrukturen ausgedrückt werden. Die Unabhängigkeit des Hardware- und Betriebssystems wird verbessert, indem die Algorithmen in einer tragbaren Programmiersprache ausgedrückt werden. Die Quellenunabhängigkeit der Spezifikation liefert eine breitere Interoperabilität.

Protokollstandards werden üblicherweise durch Erhalten der Genehmigung oder Unterstützung von a erstellt Standardsorganisation, was den Standardisierungsprozess initiiert. Die Mitglieder der Standardorganisation vereinbaren, sich freiwillig an das Arbeitergebnis zu halten. Oft haben die Mitglieder die für das Protokoll relevante große Marktschäden, und in vielen Fällen werden Standards gesetzlich oder die Regierung durchgesetzt, da sie als wichtiges öffentliches Interesse dienen, sodass die Genehmigung für das Protokoll sehr wichtig sein kann.

Die Notwendigkeit von Protokollstandards

Die Notwendigkeit von Protokollstandards kann gezeigt werden, was mit dem von BI-Sync Protocol (BSC) erfundenen von BI-Sync-Protokoll erfunden wurde IBM. BSC ist ein frühes Protokoll auf Link-Ebene, mit dem zwei separate Knoten angeschlossen werden. Es war ursprünglich nicht in einem Multinode -Netzwerk verwendet, aber dies ergab mehrere Mängel des Protokolls. In Ermangelung von Standardisierung fühlten sich Hersteller und Organisationen frei, das Protokoll zu verbessern und inkompatible Versionen in ihren Netzwerken zu schaffen. In einigen Fällen wurde dies absichtlich durchgeführt, um Benutzer von der Verwendung von Geräten von anderen Herstellern zu untersuchen. Es gibt mehr als 50 Varianten des ursprünglichen BI-Sync-Protokolls. Man kann annehmen, dass ein Standard zumindest ein Teil davon verhindert hätte.[21]

In einigen Fällen gewinnen Protokolle Marktdominanz, ohne einen Standardisierungsprozess durchzuführen. Solche Protokolle werden als bezeichnet de facto Standards. De facto Standards sind in Schwellenländern, Nischenmärkten oder Märkten üblich, die sind monopolisiert (oder oligopolisiert). Sie können einen Markt in einem sehr negativen Griff halten, insbesondere wenn sie verwendet werden, um den Wettbewerb abzuschrecken. Aus historischer Perspektive sollte die Standardisierung als Maß angesehen werden, um den schlechten Effekten der De-facto-Standards entgegenzuwirken. Es gibt positive Ausnahmen; Ein De -facto -Standard -Betriebssystem wie Linux hat diesen negativen Markt nicht, da die Quellen auf offene Weise veröffentlicht und aufrechterhalten werden, wodurch der Wettbewerb eingeladen wird.

Standardsorganisationen

Manche der Standardsorganisationen von Relevanz für Kommunikationsprotokolle sind die Internationale Standardisierungsorganisation (ISO), die Internationale Telekommunikationsunion (Itu), die Institut für Elektro- und Elektronikingenieure (IEEE) und die Internettechnik-Arbeitsgruppe (IETF). Das IETF unterhält die im Internet verwendeten Protokolle. Die IEEE kontrolliert viele Software- und Hardwareprotokolle in der Elektronikindustrie für kommerzielle und konsumentliche Geräte. Die ITU ist eine Dachorganisation von Telekommunikationsingenieuren, die die entwerfen öffentliches Fernsprechwählnetz (PSTN) sowie viele Radio Kommunikationssysteme. Zum Meereselektronik das NMEA Standards werden verwendet. Das World Wide Web Konsortium (W3C) produziert Protokolle und Standards für Webtechnologien.

Internationale Standardorganisationen sollen unparteiischer sein als lokale Organisationen mit einem nationalen oder kommerziellen Eigeninteresse zu berücksichtigen. Standardsorganisationen forschen auch für Standards der Zukunft. In der Praxis kooperieren die Standardsorganisationen in der Praxis eng miteinander zusammen.[62]

Der Standardisierungsprozess

In der ISO beginnt der Standardisierungsprozess mit der Inbetriebnahme einer Unterausschusser-Arbeitsgruppe. Die Arbeitsgruppe gibt Arbeit mit Entwürfen und Diskussionsdokumenten an interessierte Parteien (einschließlich anderer Standards) aus, um Diskussionen und Kommentare zu provozieren. Dies führt zu vielen Fragen, viel Diskussion und in der Regel einige Meinungsverschiedenheiten. Diese Kommentare werden berücksichtigt und a Entwurfsvorschlag wird von der Arbeitsgruppe produziert. Nach Feedback, Änderung und Kompromisse erreicht der Vorschlag den Status von a Entwurf internationaler Standardund letztendlich eine internationaler Standard. Internationale Standards werden regelmäßig neu aufgelegt, um die Mängel zu bewältigen und sich ändernde Ansichten zu diesem Thema widerzuspiegeln.[63]

OSI -Standardisierung

Eine Lektion von gelernt von ArpanetDer Vorgänger des Internets war, dass Protokolle einen Rahmen benötigen, um zu arbeiten. Es ist daher wichtig, ein allgemeines, zukunftssicheres Framework zu entwickeln, das für geeignet ist Strukturierte Protokolle (wie geschichtete Protokolle) und deren Standardisierung. Dies würde Protokollstandards mit überlappender Funktionalität verhindern und eine klare Definition der Verantwortlichkeiten eines Protokolls auf den verschiedenen Ebenen (Schichten) ermöglichen.[64] Dies führte zu dem Offenes Systemverbindungsmodell (OSI -Modell), das als Rahmen für die Gestaltung von Standardprotokollen und Diensten verwendet wird, die den verschiedenen Schichtspezifikationen entsprechen.[65]

Im OSI -Modell wird angenommen, dass Kommunikationssysteme durch ein zugrunde liegendes physikalisches Medium verbunden sind, das einen grundlegenden Übertragungsmechanismus bietet. Die über ihm nummerierten Schichten. Jede Schicht bietet Dienst an der Ebene über die Dienste der Ebene unmittelbar darunter. Die oberste Ebene bietet Dienste für den Anwendungsprozess. Die Schichten kommunizieren miteinander über eine Schnittstelle, die als a genannt wird Servicezugangspunkt. Entsprechende Schichten an jedem System werden aufgerufen Gleichaltrige. Um zu kommunizieren, verwenden zwei Peer -Entitäten auf einer bestimmten Ebene ein Protokoll, das für diese Ebene spezifisch ist, die durch die Verwendung von Diensten der folgenden Ebene implementiert wird.[66] Für jede Schicht gibt es zwei Arten von Standards: Protokollstandards, die definieren, wie Peer -Entitäten in einer bestimmten Ebene kommunizieren, und Servicestandards, die definieren, wie eine bestimmte Ebene mit der obigen Ebene kommuniziert.

Im OSI -Modell sind die Schichten und ihre Funktionalität (vom höchsten bis niedrigsten Schicht):

  • Das Anwendungsschicht Kann die folgenden Dienstleistungen für die Bewerbungsprozesse erbringen: Identifizierung der beabsichtigten Kommunikationspartner, Festlegung der notwendigen Befugnis zur Kommunikation, Bestimmung der Verfügbarkeit und Authentifizierung der Partner, Einigung über Datenschutzmechanismen für die Kommunikation, Einigung über die Verantwortung für die Wiederherstellung und Verfahren für Fehler und Verfahren Um die Datenintegrität, die Synchronisation zwischen kooperierenden Anwendungsprozessen, die Identifizierung von Einschränkungen der Syntax (z. B. Zeichensätze und Datenstrukturen), die Bestimmung der Kosten und die akzeptable Servicequalität, die Auswahl der Dialogdisziplin, einschließlich der erforderlichen Anmeldung und Anmeldeverfahren, zu identifizieren.[67]
  • Das Präsentationsfolie Kann die folgenden Dienste für die Anwendungsschicht bereitstellen: eine Anfrage zur Einrichtung einer Sitzung, Datenübertragung, Verhandlung der Syntax, die zwischen den Anwendungsebenen verwendet werden soll Verschlüsselung).[68]
  • Das Sitzungsschicht kann die folgenden Dienste für die Präsentationsschicht bereitstellen: Einrichtung und Freigabe von Sitzungsverbindungen, normalen und beschleunigten Datenaustausch, einem Quarantänendienst, mit dem das sendende Präsentationsunternehmen die empfangende Sitzungseinheit anweisen kann Management So können Präsentationsunternehmen kontrollieren, wessen Turn es ist, bestimmte Kontrollfunktionen auszuführen, eine Reynchronisation einer Sitzungsverbindung zu erfüllen und nicht wiederherstellbare Ausnahmen von der Präsentationseinheit zu melden.[69]
  • Das Transportschicht Bietet eine zuverlässige und transparente Datenübertragung auf kostengünstige Weise, wie von der ausgewählten Servicequalität erforderlich. Es kann die Multiplexierung mehrerer Transportverbindungen zu einer Netzwerkverbindung unterstützen oder eine Transportverbindung in mehrere Netzwerkverbindungen teilen.[70]
  • Das Netzwerkschicht Macht die Einrichtung, Wartung und Freigabe von Netzwerkpfaden zwischen Transportpeer -Unternehmen. Wenn Relais benötigt werden, werden diese Schicht Routing- und Relaisfunktionen bereitgestellt. Die Servicequalität wird zum Zeitpunkt der Einstellung der Verbindung zwischen Netzwerk- und Transportunternehmen ausgehandelt. Diese Schicht ist auch verantwortlich für Netzüberlastung Kontrolle.[71]
  • Das Datenübertragungsebene Fertigt die Einrichtung, Wartung und Freigabe von Datenverbindungen. In der physikalischen Schicht auftreten Fehler werden erkannt und können korrigiert werden. Fehler werden in der Netzwerkschicht gemeldet. Der Austausch von Datenverbindungseinheiten (einschließlich Flussregelung) wird durch diese Schicht definiert.[72]
  • Das Physische Schicht Beschreibt Details wie die elektrischen Eigenschaften der physischen Verbindung, die verwendeten Übertragungstechniken sowie die Einrichtung, Wartung und Löschen physischer Verbindungen.[73]

Im Gegensatz zu TCP/IP -Schichtschema, was ein verbindungsloses Netzwerk übernimmt, übernahm RM/OSI ein verbindungsorientiertes Netzwerk.[74] Verbindungsorientierte Netzwerke eignen sich besser für weite Netzwerke und verbindungslose Netzwerke eignen sich besser für lokale Netzwerke. Verbindungsorientierte Kommunikation erfordert eine Sitzung und (virtuelle) Schaltungen, daher die (im TCP/IP-Modell fehlende) Sitzungsschicht. Die Mitgliedsmitglieder von ISO waren hauptsächlich mit weiten Netzwerken befasst[75][76] und später in ein Update zu RM/OSI aufgenommen.[77]

Damals,[wenn?] Das IETF musste damit umgehen und die Tatsache, dass das Internet Protokolle benötigte, die einfach nicht da waren. Infolgedessen entwickelte der IETF einen eigenen Standardisierungsprozess basierend auf "groben Konsens und laufenden Code".[78] Der Standardisierungsprozess wird von beschrieben von RFC 2026.

Heutzutage ist das IETF zu einer Standardorganisation für die im Internet verwendeten Protokolle geworden. RM/OSI hat sein Modell auf verbindungslose Dienste erweitert, und daher könnten sowohl TCP als auch IP zu internationalen Standards entwickelt werden.

Taxonomien

Klassifizierungsschemata für Protokolle konzentrieren sich normalerweise auf den Gebrauchs- und Funktionsbereich. Als Beispiel für den Gebrauchsbereich,, Verbindungsorientierte Protokolle und Verbindungslose Protokolle werden in verbindungsorientierten Netzwerken bzw. verbindungslosen Netzwerken verwendet. Ein Beispiel für Funktion ist a Tunnelprotokoll, mit der verwendet wird, um Pakete in einem hochrangigen Protokoll zu verkapulieren, damit die Pakete mit dem hochrangigen Protokoll über ein Transportsystem geleitet werden können.

A Schichtschema kombiniert sowohl Funktion als auch Gebrauchsdomäne. Die dominanten Schichtschemata sind die von der IETF und von ISO entwickelten. Trotz der Tatsache, dass die zugrunde liegenden Annahmen der Schichtschemata unterschiedlich genug sind, um die beiden zu unterscheiden, ist es eine übliche Praxis, die beiden zu vergleichen, indem gemeinsame Protokolle mit den Schichten der beiden Schemata in Verbindung gebracht werden.[79] Das Schichtschema aus dem IETF heißt Internetschichtung oder TCP/IP -Schichtung. Das Schichtschema von ISO heißt Das OSI -Modell oder ISO -Schichtung.

In der Konfiguration der Netzwerkausrüstung wird häufig ein Term-of-Art-Unterscheidung gezeichnet: Der Begriff Protokoll bezieht sich strikt auf die Transportschicht und den Begriff Service bezieht sich auf Protokolle unter Verwendung a Protokoll Für den Transport. Im gemeinsamen Fall von TCP und UDP werden Dienste durch Portnummern unterschieden. Die Übereinstimmung mit diesen Portnummern ist freiwillig. In Content Inspection Systems der Begriff ist daher der Begriff Service bezieht sich strikt auf Portnummern und den Begriff Anwendung wird häufig verwendet, um auf Protokolle zu verweisen, die durch Inspektionssignaturen identifiziert wurden.

Siehe auch

Anmerkungen

  1. ^ Wenn Sie eine Bestätigung nicht erhalten, gibt es an, dass entweder die ursprüngliche Übertragung oder die Bestätigung verloren ging. Der Absender hat keine Möglichkeit, diese Fälle zu unterscheiden und daher sicherzustellen, dass alle Daten empfangen werden, die konservative Annahme, dass die ursprüngliche Übertragung verloren ging.

Verweise

  1. ^ US 7529565Hilpisch, Robert E.; Duchscher, Rob & Seel, Mark et al., "Wireless Communication Protocol", veröffentlicht 2009-05-05, zugewiesene Starkey Laboratories Inc. und Oticon als 
  2. ^ Protokoll, Encyclopædia Britannica, abgerufen 24. September 2012
  3. ^ a b Comer 2000, Sekte. 11.2 - Die Notwendigkeit mehrerer Protokolle, p. 177 "Sie (Protokolle) sind zu Kommunikation, welche Programmiersprachen für die Berechnung sind"
  4. ^ a b c Comer 2000, Sekte. 1.3 - Internet Services, p. 3, "Protokolle sind zur Kommunikation, welche Algorithmen zur Berechnung sind"
  5. ^ Naughton, John (24. September 2015). A Brief History of the Future. Orion. ISBN 978-1-4746-0277-8.
  6. ^ Cambell-Kelly, Martin (1987). "Datenkommunikation im National Physical Laboratory (1965-1975)". Annalen der Geschichte des Computers. 9 (3/4): 221–247. doi:10.1109/mahc.1987.10023. S2CID 8172150.
  7. ^ Schnittstellenmeldungsprozessor: Spezifikationen für die Verbindung eines Hosts und eines IMP (PDF) (Bericht). Bolt Beranek und Newman (BBN). Bericht Nr. 1822.
  8. ^ Bücher, High Definition. UGC -NET/JRF/SET PTP & GUIDER -LEUTUNG UND FORSCHUNG. High -Definition -Bücher.
  9. ^ "NCP - Netzwerkkontrollprogramm", Leben im Internet
  10. ^ Cerf, v.; Kahn, R. (1974). "Ein Protokoll für das Paketnetzwerk Interkommunikation" (PDF). IEEE -Transaktionen zur Kommunikation. 22 (5): 637–648. doi:10.1109/tcom.1974.1092259. ISSN 1558-0857. Die Autoren bedanken sich bei einer Reihe von Kollegen für hilfreiche Kommentare bei frühen Diskussionen über internationale Netzwerkprotokolle, insbesondere R. Metcalfe, R. Scantlebury, D. Walden und H. Zimmerman; D. Davies und L. Pouzin, die konstruktiv die Fragmentierungs- und Buchhaltungsprobleme kommentierten; und S. Crocker, der die Schöpfung und Zerstörung von Assoziationen kommentierte.
  11. ^ McKenzie, Alexander (2011). "Inwg und die Konzeption des Internets: Ein Augenzeugenkonto". IEEE Annals of the History of Computing. 33 (1): 66–71. doi:10.1109/mahc.2011.9. ISSN 1934-1547. S2CID 206443072.
  12. ^ Schwartz, Mischa (2010). "X.25 Virtuelle Schaltkreise - Transpac in Frankreich - Vor -Internet -Datennetzwerk [Geschichte der Kommunikation]". IEEE Communications Magazine. 48 (11): 40–46. doi:10.1109/mcom.2010.5621965. ISSN 1558-1896. S2CID 23639680.
  13. ^ Rybczynski, Tony (2009). "Kommerzialisierung des Paketschalters (1975-1985): Eine kanadische Perspektive [Geschichte der Kommunikation]". IEEE Communications Magazine. 47 (12): 26–31. doi:10.1109/mcom.2009.5350364. ISSN 1558-1896. S2CID 23243636.
  14. ^ Die "versteckte" Vorgeschichte des europäischen Forschungsnetzwerks. Trafford Publishing. p. 354. ISBN 978-1-4669-3935-6.
  15. ^ "TCP/IP -Internetprotokoll", Leben im Internet
  16. ^ Andrew L. Russell (30. Juli 2013). "OSI: Das Internet, das nicht". IEEE -Spektrum. Vol. 50, nein. 8.
  17. ^ Russell, Andrew L. "Grober Konsens und Running Code" und der Internet-OSI-Standardkrieg " (PDF). IEEE Annals of the History of Computing.
  18. ^ "Standardkriege" (PDF). 2006.
  19. ^ Ben -Ari 1982, Kapitel 2 - Die gleichzeitige Programmierabstraktion, p. 18-19, Staaten gleich.
  20. ^ Ben -Ari 1982, Abschnitt 2.7 - Zusammenfassung, p. 27 fasst die gleichzeitige Programmierabstraktion zusammen.
  21. ^ a b Marsden 1986, Abschnitt 6.1 - Warum sind Standards notwendig?, P. 64-65 verwendet BSC als Beispiel, um die Notwendigkeit sowohl Standardprotokolle als auch eines Standard-Frameworks anzuzeigen.
  22. ^ Comer 2000, Sekte. 11.2 - Die Notwendigkeit mehrerer Protokolle, p. 177, erklärt dies, indem Sie Analogien zwischen Computerkommunikation und Programmiersprachen zeichnen.
  23. ^ a b Sekte. 11.10 - Der Nachteil der Schichtung, p. 192, Zustände: Schichten bildet die Grundlage für das Protokolldesign.
  24. ^ a b Comer 2000, Sekte. 11.2 - Die Notwendigkeit mehrerer Protokolle, p. 177 Staaten gleich.
  25. ^ Comer 2000, Sekte. 11.3 - Die konzeptionellen Schichten der Protokollsoftware, p. 178 "Jede Schicht übernimmt die Verantwortung für den Umgang mit einem Teil des Problems."
  26. ^ Comer 2000, Sekte. 11.11 - Die Grundidee hinter Multiplexing und Demultiplexing, p. 192, Staaten gleich.
  27. ^ "Datenkommunikation - Ein Überblick | ScienceDirect -Themen". www.sciencedirect.com. Abgerufen 31. Mai 2022.
  28. ^ Kirch, Olaf (16. Januar 2002). "Textbasierte Protokolle". Archiviert von das Original Am 30. Mai 2010. Abgerufen 21. Oktober 2014.
  29. ^ Kirch, Olaf (16. Januar 2002). "Binäre Repräsentationsprotokolle". Archiviert von das Original am 5. März 2006. Abgerufen 4. Mai 2006.
  30. ^ Kirch, Olaf (16. Januar 2002). "Binäre Repräsentationsprotokolle". Archiviert von das Original am 5. März 2006. Abgerufen 4. Mai 2006.
  31. ^ "Willkommen auf der UML -Website!". Uml.org. Abgerufen 15. Januar 2017.
  32. ^ Marsden 1986, Kapitel 3 - Grundlegende Protokollkonzepte und Problembereiche, p. 26-42, erklärt einen Großteil der folgenden.
  33. ^ Comer 2000, Sekte. 7.7.4 - Datagrammgröße, Netzwerk -MTU und Fragmentierung, p. 104, erklärt die Fragmentierung und die Wirkung auf den Kopfzeile der Fragmente.
  34. ^ Comer 2000, Kapitel 4 - Classful Internet Adressen, p. 64-67; 71.
  35. ^ Marsden 1986, Abschnitt 14.3 - Schichtkonzepte und allgemeine Definitionen, p. 187, erklärt die Adresszuordnung.
  36. ^ Marsden 1986, Abschnitt 3.2 - Erkennungs- und Übertragungsfehler, p. 27, erklärt die Vorteile der Rückwärtsfehlerkorrektur.
  37. ^ Marsden 1986, Abschnitt 3.3 - Anerkennung, p. 28-33 erklärt die Vorteile von positiven Anerkennung und erwähnt Datagrammprotokolle als Ausnahmen.
  38. ^ Marsden 1986, Abschnitt 3.4 - Informationsverlust - Zeitüberschreitungen und Wiederholungen, p. 33-34.
  39. ^ Marsden 1986, Abschnitt 3.5 - Anleitung des Informationsflusses, p. 34-35, erklärt Master/Sklave und die Verhandlungen, um die Kontrolle zu erlangen.
  40. ^ Marsden 1986, Abschnitt 3.6 - Sequenzkontrolle, p. 35-36 erklärt, wie Pakete verloren gehen und wie die Sequenzierung dies löst.
  41. ^ Marsden 1986, Abschnitt 3.7 - Flow Control, p. 36-38.
  42. ^ Ben-Ari 1982, in seinem Vorwort, p. xiii.
  43. ^ Ben-Ari 1982, in seinem Vorwort, p. xiv.
  44. ^ Hoare 1985, Kapitel 4 - Kommunikation, p. 133, befasst sich mit Kommunikation.
  45. ^ S. srinivasan, Digitale Schaltkreise und Systeme, Nptel -Kurse, archiviert von das Original am 27. Dezember 2009
  46. ^ a b Comer 2000, Sekte. 11.2 - Die Notwendigkeit mehrerer Protokolle, p. 177 führt die Zersetzung in Schichten ein.
  47. ^ Comer 2000, Sekte. 11.3 - Die konzeptionellen Schichten der Protokollsoftware, p. 179 beschreiben die ersten beiden Absätze das Senden einer Nachricht durch aufeinanderfolgende Schichten.
  48. ^ Comer 2000, Sekte. 11.2 - Die Notwendigkeit mehrerer Protokolle, p. 178, erklärt Ähnlichkeiten -Protokollsoftware und Compiler, Assembler, Linker, Loader.
  49. ^ Comer 2000, Sekte. 11.9.1 - Betriebssystemgrenze, p. 192 beschreibt die Betriebssystemgrenze.
  50. ^ IETF 1989, Sekte 1.3.1 - Organisation, p. 15, 2. Absatz: Viele Designentscheidungen beinhalten kreatives "Brechen" strenger Schichtungen.
  51. ^ Comer 2000, Sekte. 11.10 - Der Nachteil der Schichtung, p. 192 erklärt, warum "strenge Schichten extrem ineffizient sein kann" Beispiele für Optimierungen.
  52. ^ Wakeman, I (Januar 1992). "Schicht als schädlich angesehen". IEEE -Netzwerk: 20–24.
  53. ^ Kurose, James; Ross, Keith (2005). Computernetzwerk: Ein Top-Down-Ansatz. Pearson.
  54. ^ Jorge Edison Lascano, Stephen Clyde und Ali Raza. "Kommunikations -Protokoll -Designmuster (COMMDP) - Commdp." [Online]. Verfügbar: http://commdp.serv.usu.edu/wiki/index.php/communication-protocol_design_patterns_(commdp) Archiviert 18. März 2017 bei der Wayback -Maschine. [Zugriff: 17. März 2017].
  55. ^ J. E. Lascano und S. Clyde, "Eine Mustersprache für Kommunikationsprotokolle auf Anwendungsebene", präsentiert auf der ICSEA 2016, der elften Internationalen Konferenz über Software-Engineering-Fortschritte, 2016, S. 22–30.
  56. ^ R. Daigneau, Service Design Muster: Grundlegende Designlösungen für SOAP/WSDL und RESTful Web Services, 1 Ausgabe. Upper Saddle River, NJ: Addison-Wesley Professional, 2011.
  57. ^ M. Fowler, Muster der Enterprise Application Architecture, 1 Ausgabe. Boston: Addison-Wesley Professional, 2002.
  58. ^ [1] f. Buschmann, K. Henney und D. C. Schmidt, Muster-orientierte Software-Architektur Band 4: Eine Mustersprache für verteiltes Computing, Band 4 Edition. Chichester England; New York: Wiley, 2007.
  59. ^ Bochmann, G. (1978). "Finite -Status Beschreibung von Kommunikationsprotokollen". Computernetzwerke. 2 (4–5): 361–372. doi:10.1016/0376-5075 (78) 90015-6.
  60. ^ Comer 2000, Glossar der Internetbeobachtungen und Abkürzungen, p. 704, Term Protocol.
  61. ^ Marke, Daniel; Zafiropulo, Pitro (1983). "Über die Kommunikation von Finite-State-Maschinen". Journal of the ACM. 30 (2): 323. doi:10.1145/322374.322380. S2CID 11607967.
  62. ^ Marsden 1986, Abschnitt 6.3 - Vorteile der Standardisierung, p. 66-67, Staaten gleich.
  63. ^ Marsden 1986, Abschnitt 6.4 - Einige Probleme mit der Standardisierung, p. 67, folgt HDLC, um den Prozess zu veranschaulichen.
  64. ^ Marsden 1986, Abschnitt 6.1 - Warum sind Standards notwendig?, P. 65, erklärt Lehren aus Arpanet.
  65. ^ Marsden 1986, Abschnitt 14.1 - Einführung, p. 181 stellt OSI vor.
  66. ^ Marsden 1986, Abschnitt 14.3 - Schichtkonzepte und allgemeine Definitionen, p. 183-185, erklärt Terminologie.
  67. ^ Marsden 1986, Abschnitt 14.4 - Die Anwendungsschicht, p. 188 erklärt dies.
  68. ^ Marsden 1986, Abschnitt 14.5 - Die Präsentationsschicht, p. 189 erklärt dies.
  69. ^ Marsden 1986, Abschnitt 14.6 - Die Sitzungsschicht, p. 190 erklärt dies.
  70. ^ Marsden 1986, Abschnitt 14.7 - Die Transportschicht, p. 191 erklärt dies.
  71. ^ Marsden 1986, Abschnitt 14.8 - Die Netzwerkschicht, p. 192 erklärt dies.
  72. ^ Marsden 1986, Abschnitt 14.9 - Die Datenverbindungsschicht, p. 194 erklärt dies.
  73. ^ Marsden 1986, Abschnitt 14.10 - Die physische Schicht, p. 195 erklärt dies.
  74. ^ "ISO 7498: 1984 - Informationsverarbeitungssysteme - Open Systems Interconnection - Basic Referenzmodell": 5. Dieses grundlegende Referenzmodell der Verbindung der offenen Systeme basiert auf der Annahme, dass eine Verbindung für die Datenübertragung erforderlich ist. {{}}: Journal zitieren erfordert |journal= (Hilfe)
  75. ^ "ISO 7498: 1984/Add 1: 1987 - Informationsverarbeitungssysteme - Open Systems Interconnection - Basic Referenzmodell - Addendum 1". {{}}: Journal zitieren erfordert |journal= (Hilfe)
  76. ^ Marsden 1986, Abschnitt 14.11 - Verbindungsloser Modus und RM/Osi, p. 195 erwähnt dies.
  77. ^ "ISO/IEC 7498-1: 1994 - Informationstechnologie - Open Systems Interconnection - Basic Referenzmodell: Das Basismodell". {{}}: Journal zitieren erfordert |journal= (Hilfe)
  78. ^ Comer 2000, Abschnitt 1.9 - Internetprotokolle und Standardisierung, p. 12, erklärt, warum das IETF nicht vorhandene Protokolle verwendet hat.
  79. ^ Comer 2000, Sekte. 11.5.1 - Das TCP/IP -5 -Schicht -Referenzmodell, p. 183, Staaten gleich.

Literaturverzeichnis

  • Radia Perlman: Verbindungen: Brücken, Router, Switches und Internetbearbeitungsprotokolle. 2. Auflage. Addison-Wesley 1999, ISBN0-201-63448-1. Insbesondere Kap. 18 in "Network Design Folklore", was auch ist Online verfügbar
  • Gerard J. Holzmann: Design und Validierung von Computerprotokollen. Prentice Hall, 1991, ISBN0-13-539925-4. Ebenfalls Online verfügbar
  • Douglas E. Comer (2000). Internetbearbeitung mit TCP/IP - Prinzipien, Protokollen und Architektur (4. Aufl.). Prentice Hall. ISBN 0-13-018380-6. Insbesondere Ch.11 Protokollschichtung. Hat auch einen RFC -Leitfaden und ein Glossar der Internetbeobachtungen und Abkürzungen.
  • Internet Engineering Task Force ABBR. IETF (1989): RFC1122, Anforderungen für Internet -Hosts - Kommunikationsschichten, R. Braden (Hrsg.), Online erhältlich unter http://tools.ietf.org/html/rfc1122. Beschreibt TCP/IP an die Implementierer von Protocolsoftware. Insbesondere die Einführung gibt einen Überblick über die Designziele der Suite.
  • M. Ben-Ari (1982): Prinzipien der gleichzeitigen Programmierung 10. Druck. Prentice Hall International, ISBN0-13-701078-8.
  • WAGEN. Hoare (1985): Kommunizieren von sequentiellen Prozessen 10. Druck. Prentice Hall International, ISBN0-13-153271-5. Online verfügbar über http://www.usingcsp.com
  • R. D. Tennent (1981): Prinzipien der Programmiersprachen 10. Druck. Prentice Hall International, ISBN0-13-709873-1.
  • Brian W Marsden (1986): Kommunikationsnetzwerkprotokolle 2. Auflage. Chartwell Bratt, ISBN0-86238-106-1.
  • Andrew S. Tanenbaum (1984): Strukturierte Computerorganisation 10. Druck. Prentice Hall International, ISBN0-13-854605-3.

Externe Links