RFC 2 - Host-Software
- Status: Unbekannt
- Veröffentlicht: April 1969
- Stream: Legacy
- Errata: RFC-Editor-Errata
Dokumentinformationen
- RFC Number: 2
- Title: Host Software
- Authors: Bill Duvall (SRI)
- Date: April 1969
- Category: Unknown
Hinweis: Seite 1 des Originaldokuments fehlt; die archivierte Quelle enthält die Platzhalter [unknown title] und [page 1 missing] an der Stelle, an der die Titelzeile und ein etwaiger einleitender Text gestanden hätten. Der oben angegebene Titel und der Autor stammen aus dem Katalog des RFC Editor und aus RFC 3, der festhält, dass RFC 1 und RFC 2 beide den Titel HOST Software tragen.
Zusammenfassung
RFC 2 umreißt die für das ARPANET geplante Host-Software. Er definiert drei Arten von Verbindungen – Steuer-, Primär- und Hilfsverbindungen – und beschreibt, wie jede von ihnen über den Netzwerk-Monitor aufgebaut, aufrechterhalten und abgebaut wird. Anschließend spezifiziert er die Fehlerprüfung, die auf Nachrichten angewendet wird, die Monitorfunktionen, die Ein- und Ausgabe abwickeln und den Netzwerkstatus verfolgen, die Executive-Primitive, die ein Benutzerprogramm aufruft, um Verbindungen zu öffnen und zu nutzen, sowie das Verfahren zur Erstinbetriebnahme, das geplant ist, um zwei Hosts in Kommunikation zu bringen.
Inhaltsverzeichnis
- 1. Verbindungen
- 1a. Steuerverbindungen
- 1a1. Logische Verbindung 0 wird eine Steuerverbindung zwischen zwei beliebigen HOSTs im Netzwerk sein
- 1a2. Sie wird in erster Linie für die Kommunikation zwischen HOSTs zu folgenden Zwecken verwendet:
- 1a3. IMPs im Netzwerk können alle über Verbindung 0 gesendeten Nachrichten automatisch mitverfolgen.
- 1b. Primärverbindungen
- 1b1. Ein Benutzer an einem gegebenen HOST kann genau 1 Primärverbindung zu jedem der anderen HOSTs im Netzwerk haben.
- 1b1a. Die Primärverbindung muss die erste Verbindung sein, die zwischen einem HOST-Benutzer und einem anderen HOST aufgebaut wird.
- 1b1b. Primärverbindungen sind für einen Benutzer global, d. h. ein Benutzerprogramm kann eine Primärverbindung öffnen, und diese Verbindung bleibt offen, bis sie ausdrücklich geschlossen wird.
- 1b1c. Die Primärverbindung wird vom entfernten HOST wie ein Fernschreiber behandelt, der über eine normale Dataphone- oder Direktleitung angeschlossen ist, d. h. der entfernte HOST betrachtet eine Primärverbindung als einen normalen Fernschreiber-Benutzer.
- 1b1d. Die Primärverbindung wird verwendet, um (Benutzer-)Steuerinformationen an den entfernten HOST zu übermitteln, z. B. wird sie zum Anmelden am entfernten Host verwendet (unter Verwendung des Standard-Anmeldeverfahrens des entfernten Hosts).
- 1b1. Ein Benutzer an einem gegebenen HOST kann genau 1 Primärverbindung zu jedem der anderen HOSTs im Netzwerk haben.
- 1c. Hilfsverbindungen
- 1a. Steuerverbindungen
- 2. Manipulation von Verbindungen
- 2a. Steuerverbindungen
- 2b. Primärverbindungen
- 2b1. Primärverbindungen werden durch einen Benutzer- oder Executive-Aufruf an den Monitor aufgebaut.
- 2b1a. Die Netzwerk-Identifikationsnummer des HOSTs, zu dem die Verbindung aufgebaut werden soll, muss im Aufruf enthalten sein.
- 2b1b. Ein Versuch, mehr als eine Primärverbindung zu einem bestimmten HOST aufzubauen, wird als Fehler betrachtet, und die Anforderung wird abgewiesen.
- 2b1c. Standard-Zeichensatz für die Übertragung
- 2b1d. (get link) Das Protokoll zum Aufbau einer Verbindung von HOST A zu HOST B ist wie folgt
- 2b1d1. A wählt aus seinen Zuordnungstabellen eine derzeit unbenutzte Verbindung zu HOST B aus
- 2b1d2. A überträgt eine Verbindungsaufbaunachricht über Verbindung 0 an B.
- 2b1d3. A wartet dann auf:
- 2b1d4. Wird eine Mitteilung bezüglich der Verbindung von B empfangen, wird sie daraufhin geprüft, ob es sich um Folgendes handelt:
- 2b1d4a. Eine Bestätigung der Verbindung von B.
- 2b1d4a1. Dies führt zu einer erfolgreichen Rückkehr vom Monitor an den Anforderer. Die Verbindungsnummer wird an den Anforderer zurückgegeben, und die Verbindung ist aufgebaut.
- 2b1d4b. Eine Anforderung von B, die Verbindung aufzubauen. Das bedeutet: Dass B unabhängig von A versucht, dieselbe Verbindung wie A aufzubauen.
- 2b1d4b1. Ist die Netzwerk-ID-Nummer von A(Na) größer als die von B(Nb), so ignoriert A die Anforderung und wartet weiter auf die Bestätigung der Verbindung von B.
- 2b1d4b2. Ist dagegen Na<Nb, so tut A Folgendes:
- 2b1d4b2a. Erfüllt die Anforderung von B, die Verbindung aufzubauen,
- 2b1d4b2b. Sendet die erforderliche Bestätigung,
- 2b1d4b2c. Bricht seine eigene Anforderung ab und wiederholt den Zuordnungsvorgang.
- 2b1d4c. Eine andere Mitteilung von B bezüglich der Verbindung.
- 2b1d4c1. Dies ist ein Fehlerzustand, der bedeutet, dass entweder:
- 2b1d4c1a. A einen Fehler begangen hat, indem es eine bereits zugewiesene Verbindung zur Zuweisung ausgewählt hat,
- 2b1d4c1b. B Informationen über eine nicht zugewiesene Verbindung überträgt,
- 2b1d4c1c. Oder eine Nachricht bezüglich der Zuweisung von B an A bei der Übertragung verfälscht wurde.
- 2b1d4c2. In diesem Fall besteht die Aktion von A darin:
- 2b1d4c2a. Eine Verbindungstrennungsnachricht bezüglich der versuchten Verbindung an B zu senden
- 2b1d4c2b. Den Zustand von HOST B als fehlerhaft zu betrachten und den Eintritt in eine Panikroutine (Fehler) einzuleiten.
- 2b1d5. Wird innerhalb der vorgeschriebenen Zeitspanne keine Mitteilung bezüglich der Verbindung von B empfangen, wird HOST B als in einem Fehlerzustand betrachtet.
- 2b1. Primärverbindungen werden durch einen Benutzer- oder Executive-Aufruf an den Monitor aufgebaut.
- 2c. Hilfsverbindungen
- 2c1. Hilfsverbindungen werden durch einen Aufruf des Monitors aus einem Benutzerprogramm aufgebaut.
- 2c1a. Die Anforderung muss dem Monitor die relevanten Daten über die gewünschte Verbindung angeben
- 2c1b. Die Anforderung einer Hilfsverbindung muss von einem Benutzerprogramm in jedem der HOSTs (A und B) gestellt werden.
- 2c1c. Ist Na > Nb, so fährt HOST A fort, eine Verbindung zu HOST B auf die oben beschriebene Weise aufzubauen (getlink).
- 2c1d. Ist Na<Nb, so wartet A:
- 2c1. Hilfsverbindungen werden durch einen Aufruf des Monitors aus einem Benutzerprogramm aufgebaut.
- 3. Fehlerprüfung
- 3a. Alle über das Netzwerk gesendeten Nachrichten werden anfangs einer Fehlerprüfung unterzogen, um Software- und Hardwarefehler leichter isolieren zu können.
- 3b. Jeder Nachricht wird eine Prüfsumme zugeordnet, die von der Reihenfolge abhängig ist.
- 3b1. Der folgende Algorithmus ist einer, der verwendet werden könnte:
- 3b1a. Eine Prüfsumme der Länge 1 kann gebildet werden, indem aufeinanderfolgende Felder in der zu prüfenden Zeichenkette seriell addiert und das Übertragsbit in die niedrigste Bitposition der Summe addiert wird.
- 3b1a1. Dieser Vorgang ist als Falten bekannt.
- 3b1a2. Mehrere Felder können parallel addiert und gefaltet werden, wenn sie nach der Addition entsprechend gefaltet werden.
- 3b1a3. Eine auf diese Weise berechnete Prüfsumme hat den Vorteil, dass die Wortlängen verschiedener Maschinen jeweils optimal genutzt werden können:
- 3b1a3a. Wird eine Zeichenkette geeigneter Länge für die Berechnung der Prüfsumme gewählt und eine geeignete Prüfsummenfeldlänge ausgewählt, so ist die Prüfsummentechnik für jede der Maschinen relativ optimal.
- 3b1a3a1. Feldlänge: 288 Bits (kleinster gemeinsamer Nenner von (24, 32, 36)
- 3b1a3a2. Prüfsummenlänge: 8 Bits (günstige Feldgröße für alle Maschinen)
- 3b1b. Wird eine Nachricht in Gruppen von Feldern aufgeteilt und wird jede Gruppe auf diese Weise mit einer Prüfsumme versehen, so kann eine von der Reihenfolge abhängige Prüfsumme erhalten werden, indem die Prüfsumme jeder Gruppe verschoben und (nacheinander) zur Prüfsumme der nächsten Gruppe addiert wird
- 3b1a. Eine Prüfsumme der Länge 1 kann gebildet werden, indem aufeinanderfolgende Felder in der zu prüfenden Zeichenkette seriell addiert und das Übertragsbit in die niedrigste Bitposition der Summe addiert wird.
- 3b1. Der folgende Algorithmus ist einer, der verwendet werden könnte:
- 3c. Es wird eine Einrichtung bereitgestellt, mit der zwei HOSTs in einen Modus eintreten können, der eine positive Bestätigung aller Nachrichten erfordert. Diese Bestätigung wird über die Steuerverbindung gesendet.
- 4. Monitorfunktionen
- 4a. Netzwerk-I/O-Treiber
- 4a1. Eingabe
- 4a1a. Eingangsnachricht vom IMP.
- 4a1b. Fehlerprüfung der Nachricht durchführen.
- 4a1c. (trans) Zeichenübersetzung
- 4a1c1. Es besteht eine große Wahrscheinlichkeit, dass die Zeichenübersetzung im IMP erfolgen kann.
- 4a1c2. Dies muss weiter mit BBN untersucht werden.
- 4a1c3. Es gibt zwei Hauptüberlegungen
- 4a1c3a. Sollte die Übersetzung durch Tabelle oder Algorithmus erfolgen?
- 4a1c3a1. Zunächst scheint der beste Weg eine Tabelle zu sein.
- 4a1c3b. Wie sollten wir entscheiden, welche Nachrichten übersetzt werden sollen, d. h. ist es wünschenswert, nicht alles zu übersetzen (JA!!), und mit welchen Mitteln können wir unterscheiden?
- 4a1d. Header decodieren und die Nachricht an den korrekten Empfänger weiterleiten, der durch Quelle und Verbindung identifiziert wird.
- 4a2. Ausgabe
- 4a1. Eingabe
- 4b. Netzwerkstatus
- 4b1. Status der anderen HOSTs im Netzwerk verwalten
- 4b2. Status der Steuerleitungen verwalten.
- 4b3. Statusabfragen von anderen HOSTs beantworten.
- 4b4. Andere HOSTs auf Unterbrechungsbasis über den Status der Primär- und Hilfsverbindungen informieren.
- 4b5. Andere HOSTs über den Status von Programmen informieren, die Primär- und Sekundärverbindungen nutzen
- 4a. Netzwerk-I/O-Treiber
- 5. Executive-Primitive
- 5a. Primärverbindungen
- 5a1. Diese erfordern die HOST-Nummer als Parameter.
- 5b. Hilfsverbindungen.
- 5c. Spezielle Executive-Funktionen
- 5c1. Transparent. INPUT/OUTPUT über die Verbindung
- 5c1a. Dies kann verwendet werden, um Block-I/O-Übertragungen über eine Verbindung durchzuführen
- 5c1b. Die Funktion des Monitors ist in diesem Fall, einen Puffer direkt an seinen IMP zu übertragen
- 5c1c. Er verändert ihn in keiner Weise
- 5c1d. Der beabsichtigte Verwendungszweck hiervon ist das Netzwerk-Debugging.
- 5c1. Transparent. INPUT/OUTPUT über die Verbindung
- 5a. Primärverbindungen
- 6. Erstinbetriebnahme
- 6a. Das Netzwerk wird zunächst unter Verwendung der Verbindungen in einem simulierten Dataphone-Modus in Betrieb genommen.
Verwandte Ressourcen
- Offizieller Text: RFC 2
- DataTracker: RFC 2 Info
- Errata: RFC Editor Errata