Ich schlage vor, zu „träumen“, und was wäre, wenn die Erfinder digitaler Kommunikationssysteme über die Rolle dieser Art von Kommunikation in der Zukunft Bescheid wüssten und ihre Arbeit „verantwortungsbewusster“ angehen und sofort versuchen würden, das universellste digitale Kommunikationsprotokoll zu erfinden.
Ich frage, wer auch immer seine eigenen Gedanken hat, schreibe sie auf und reflektiere sie nach dem Lesen des Artikels in den Kommentaren.
Versuchen wir also noch einmal zu würfeln:
Achtung
Alle in diesem Artikel beschriebenen Ideen und Algorithmen sind das Ergebnis meiner unabhängigen und völlig unabhängigen intellektuellen Aktivität. Als Autor erteile ich die Erlaubnis, alle Ideen und Algorithmen für jede Person oder Organisation in jeder Art von Projekt frei zu verwenden, zu ändern, zu ergänzen, unter Angabe meiner Urheberschaft (Balyberdin Andrey Leonidovich).
Moderne Technologien sind höchstwahrscheinlich nicht die effektivsten (von allen theoretisch möglichen), aber wenn versucht wird, andere Optionen zu finden, kommen die meisten zu Modifikationen bestehender oder können überhaupt keine Antwort geben.
Ich denke, dass dieser Zustand auf die Struktur des Gehirns und die Art des menschlichen Denkens zurückzuführen ist. Wenn Sie auf dem Bild etwas mit zufälligen Linien sehen, wird dieses Bild beim nächsten Blick auf das Bild fast sofort gefunden. Aufgrund der Trägheit des Denkens wird es jedes Mal schwieriger, ein anderes Bild zu betrachten. Darüber hinaus kommt der technische Fortschritt ins Spiel, der dem Schienenverkehr sehr ähnlich ist. Einmal gefaltet, ist es fast unmöglich, die Auswahl zu wiederholen, es ist einfacher, die "Krücke" zu implementieren, die das Problem löst.
Beginnen wir also mit der Erstellung eines einfach zu implementierenden, flexiblen und vielseitigen Telekommunikationsparadigmas. Darunter muss es mit allen vorhandenen und theoretisch möglichen digitalen Datenübertragungskanälen kompatibel sein. Von oben die vollständigste Befriedigung der Anfragen aller theoretisch möglichen Verbraucher, sofern diese Anfragen "von unten" unterstützt werden. Mit anderen Worten, das Kommunikationssystem selbst sollte kein Engpass sein. Lassen Sie mich gleich bemerken, dass "Perfektion" unerreichbar ist, aber dies negiert nicht die Notwendigkeit, danach zu streben.
Das ideale Kommunikationssystem wird ganz einfach beschrieben:
- Die Möglichkeit, jederzeit sofort eine Verbindung zwischen einem Teilnehmer und einem Teilnehmer herzustellen.
- Sofortige und fehlerfreie Nachrichtenübermittlung von einem Teilnehmer an einen anderen.
- , .
Wenn Sie das System von unten nach oben entwerfen, lautet die erste Frage:
Welche Art von Kommunikationskanal muss erstellt werden. Hier ist
alles einfach: streng sequentielle Datenübertragung mit einer konstanten und ausreichenden Geschwindigkeit für den Verbraucher. Alle anderen Arten von Kanälen können leicht von diesem Typ erhalten werden.
Die nächste (zweite) Frage:
Systemschnittstelle zu physischen Kommunikationskanälen und Systembenutzern
Zu Beginn der Telekommunikationssysteme wurde hauptsächlich eine Bitschnittstelle verwendet. Gegenwärtig wird das "Symbol" als Informationsträger ausgewählt, es trägt im Gegensatz zur Bitschnittstelle mehr als ein Datenbit und kann eine zusätzliche Eigenschaft "Typ" aufweisen.
Wenn wir die Arten der übertragenen Informationen betrachten, werden wir das Konzept eines Symbols als Informationsträger verwenden, dann können die übertragenen Zeichen in vier Arten (Gruppen) unterteilt werden:
- Benutzerdaten.
- Benutzerdefinierte Steuerzeichen.
- Servicedaten.
- Dienststeuerzeichen.
Dieser Satz von Symboloptionen ist beim Erstellen verschiedener Informationsstrukturen sehr vielseitig. Dienstsymbole dienen zum Aufbau von Anrufen an das Kommunikationssystem. Benutzerdefinierte Symbole für die Kommunikation zwischen Benutzern. Das Vorhandensein separater Dienstsymbole ist etwas redundant, aber durch die Notwendigkeit einer Steuerschnittstelle in fast allen Kommunikationssystemen gerechtfertigt.
Die Mindestmenge an Informationen, die von einem Symbol codiert werden, beträgt ein Bit (digitale Kommunikation). Es ist nicht erforderlich, zunächst die Informationskapazität verschiedener Arten von Symbolen festzulegen, selbst wenn diese schädlich sind. Es reicht aus, die Kommunikationsparameter mit einem Mindestsatz von 4 Symboltypen festzulegen, und der Rest des Empfängers und Senders "verhandelt" beim Herstellen einer direkten Verbindung. Aus physischer (elektronischer oder Software-) Sicht sieht die Schnittstelle zum Telekommunikationssystem zum Zeitpunkt des Einschaltens folgendermaßen aus:
- Symbolpräsenzsignal (1 Bit)
- Zeichentyp (2 Bit)
- Übertragene Daten (1 Bit und dann entsprechend der Informationskapazität)
- Synchronisationssignal (für Synchronelektronik).
In modernen Kommunikationssystemen ist eine solche Einheit nicht vorgesehen, obwohl für die Computerkommunikation ein IP-Paket und die Regeln für seine Bildung als analog angesehen werden können.
Die dritte Frage lautet :
Verteilung des physischen Kanals zwischen Benutzern
Für reale Kommunikationssysteme mit einer ausreichend großen Anzahl von Teilnehmern ist es unrentabel, Verbindungen nach dem Schema mit jeweils einem Teilnehmer aufzubauen, und es ist erforderlich, ein Kommunikationsschema unter Verwendung von Vermittlern zu implementieren. Bei der Ausführung der Relaisfunktion müssen Vermittler die Kanäle, die sie verbinden, zwischen "ihren" und "fremden" Daten trennen.
Zur Zeit der Geburt moderner Kommunikationssysteme waren die folgenden Möglichkeiten, einen Kommunikationskanal gemeinsam zu nutzen, am gebräuchlichsten:
- Direktzugriff (Funkverbindung, Gegensprechanlage).
- Paketvermittlung (Telegraph).
- Temporäre Zuweisung fester Bandbreite (Telefonie).
Keine dieser Methoden erfüllt die Anforderungen eines idealen Kommunikationssystems in erheblichem Maße.
Die Bereitstellung der Bandbreite funktioniert am besten, es gibt jedoch Flexibilitätsprobleme in Bezug auf die Geschwindigkeit des bereitgestellten Kanals, die Zeit zum Erstellen des Kanals und die Effizienz der Nutzung der Ressourcen des physischen Kanals.
Die Paketvermittlung ist bei der Ressourcennutzung effizient, es gibt jedoch Probleme mit der Geschwindigkeitskonsistenz, der Kanalkonsistenz und dem Datenverlust. Ein willkürlicher Zugriff ist im Allgemeinen nur für eine kleine Anzahl von Teilnehmern möglich, wenn dieser (oder der Wechselkurs) überschritten wird und die Effizienz auf unbefriedigende Werte fällt.
Um die Einhaltung des idealen Kommunikationssystems zu maximieren, musste die Technologie basierend auf der temporären Zuweisung eines Teils der Bandbreite des physischen Kanals "neu erfunden" werden. Es war notwendig, das Problem mit der Flexibilität in der Geschwindigkeit des erstellten Datenübertragungskanals, seiner schnellen Erstellung und Entfernung zu lösen.
Multiplexen (Aufteilen) eines Kommunikationskanals
Um eine neue Art der Aufteilung eines physischen Kanals in Komponenten zu veranschaulichen, werden wir einen einzelnen Kanal in Teile aufteilen.
Stream R in 1/3, Stream G in ¼ und Stream B in 1/5 der ursprünglichen physischen Kanalbandbreite. Die verbleibende Bandbreite kann für andere Anforderungen verwendet werden.
Das Bild zeigt, wie die ursprünglichen Streams in einen Gesamt-Stream zerlegt werden. Orange - Stream R, Green Stream G, Blue Stream B und Black freie Bandbreite. (Die Symbole für den Gesamtfluss werden nacheinander von der linken Seite genommen).
(Der Algorithmus ist symmetrisch, der gleiche gilt für Empfänger und Sender.)
Das allgemeine Prinzip der Trennung ist ziemlich transparent:
- Wir sortieren die erstellten Kanäle in absteigender Reihenfolge der Übertragungsgeschwindigkeit.
- Für jeden Kanal erstellen wir einen Zähler (reguliert die Übertragungsrate) und einen Puffer mit übertragenen Symbolen.
- Jeder Zyklus der Symbolsynchronisation in jedem Zähler addiert eine Konstante proportional zur Baudrate, Konstante = V (erforderlich) / V (physikalischer Strom).
- Bei jedem Taktzyklus überprüfen wir die Zähler in der Reihenfolge abnehmender Geschwindigkeiten der an sie angeschlossenen Kanäle auf Überlauf (Wert größer als eins), bis wir den ersten Zähler finden, der einen Wert größer als eins enthält.
- Wir subtrahieren eins vom gefundenen Zähler und addieren ein Zeichen aus dem Puffer der übertragenen Zeichen zum Gesamtstrom (erstellt in Verbindung mit dem Zähler).
Weitere Einzelheiten zum Multiplexing-Algorithmus werden am Ende des Artikels beschrieben. Er wird von Spezialisten für Kommunikationstechnologien zum Lesen empfohlen.
Wir sehen, dass, wenn die erzeugten Ströme die gleiche Geschwindigkeit haben, der übliche PDH-Algorithmus (E1 usw.) von der Telefonnummer erhalten wird. Wenn die Flussrate 100% der Kanalbandbreite entspricht, führt dies zu einer Paketvermittlung.
Nach dem Empfang müssen die Daten an einen anderen Kanal gesendet werden, und dies erfolgt durch den Switch. Das Erstellen eines Schalters für einen synchronen (gleichmäßigen) Fluss ist eine triviale Aufgabe. Die Kapazität eines solchen Schalters hängt nur von der Lautstärke der "Transistoren" ab (für moderne Mikroschaltungen im Bereich von einer Million gleichzeitiger Verbindungen). Die Schaltfrequenz von Transistoren hängt nur von der Ankunftsrate der Symbole und von der Informationskapazität des Symbols ab. Die Fähigkeit, die Informationskapazität von Symbolen zu ändern, ermöglicht es, den Wert der Schalttaktfrequenz anzupassen, und die parallele Verarbeitung jedes der physischen Kanäle macht sie unabhängig von der Anzahl der physischen Kanäle.
Diese Art des Multiplexens und Schaltens kann als synchrone symbolische Hierarchie bezeichnet werden.
Und die letzte Frage:
Verwaltung der Kommunikationsumgebung
Für die moderne Computerkommunikation ist TCP / IP der am häufigsten verwendete Protokollsatz. Dieses Protokoll konzentriert sich auf die Paketvermittlung und ist für eine serielle Verbindung nicht optimal. In Anbetracht des ursprünglichen Zwecks des neuen Kommunikationssystems (die Kommunikationsbasis des Datenflussprozessors - wird in den folgenden Artikeln beschrieben) wäre eine optimale und universelle Sprache, die sich an seriellen Kommunikationskanälen orientiert, oder eine Erweiterung einer vorhandenen Programmiersprache am optimalsten. Bei der Erstellung einer Netzwerkverwaltungssprache sollte man sich von einem Paradigma leiten lassen, bei dem ein Computersystem die Kombination verschiedener Geräte in einem digitalen Kommunikationsnetzwerk ist.
Warum brauchen Sie einen neuen Netzwerktyp?
Das allererste ist die Vielseitigkeit und Einfachheit der Algorithmen. Die Einfachheit des Designs von Hochgeschwindigkeitsschaltern, es gibt keine grundlegenden Einschränkungen hinsichtlich der Anzahl der Kanäle oder ihrer Geschwindigkeit, wird die Eigenschaften von Multicore-Computersystemen (Kommunikation zwischen Kernen und Modulen) erheblich verbessern.
Wo ist eine signifikante Erhöhung der Geschwindigkeit und Anzahl der Kanäle erforderlich?
Und hier ist alles einfach: Sie müssen das bestehende Problem des Festziehens des Computersystems zu einem Kristall lösen und die Geschwindigkeit der Interaktion zwischen Kristallen erheblich erhöhen. Gegenwärtig interagieren separate, unabhängige Computersysteme (unabhängige Computer) in einem Computernetzwerk. Der neue Netzwerktyp sollte den Beginn der "Migration" des Konzepts des "Computersystems" von einer physischen Entität (eine Box auf einem Tisch) zu einer logischen Kombination vieler Computermaschinen (Kerne) in ein verteiltes Computersystem erheblich vorantreiben (beschleunigen). Bei der Erstellung einer Sprache für die Netzwerkinteraktion sollte man sich von einem Paradigma leiten lassen, bei dem ein Computersystem die Kombination verschiedener Geräte in einem digitalen Kommunikationsnetzwerk ist.
Das Auswahlverfahren ist derzeit im Gangeneues Computerparadigma. Der alte (von Neumann) hat sein Potenzial ausgeschöpft und stagniert, während der neue noch nicht aus der Vielzahl bestehender „Ideen“ hervorgegangen ist. Ich schlage vor, das beschriebene Kommunikationsparadigma zu verfeinern und es als Grundlage für eine zukünftige einheitliche Informationsumgebung zu verwenden.
Und doch ist es notwendig, einen Namen für das neue Netzwerk zu finden, sonst bleibt "SkyNet" bestehen und der Charakter der KI wird schädlich.
Algorithmus zum Teilen (Multiplexen) eines physischen Kanals eines Kanals in separate virtuelle Kanäle:
- — . , , , . : , , . . ( ). ( ) . .
- , () . «» , ( ). .
- . , . «», . , ( ) «». «» , «». , 2.5 . 3 .
- «» , . , 0.01% , . ( ).
- ( ) «» . . . , .
- , ( ). ( ) () . , . .
- ( ), . , . , «». ( ..), .
- «» . «» . «», .
Während der Übertragung muss der Gesamtfluss in Switches nicht nur aufgrund der Neuanordnung virtueller Kanäle zwischen physischen Kanälen, sondern auch aufgrund der potenziellen Notwendigkeit, leere Zeichen hinzuzufügen oder zu entfernen, was nur zum Zeitpunkt des Lesens oder Schreibens des virtuellen Kanalpuffers möglich ist, notwendigerweise zerlegt werden. Sie können die Möglichkeit hinzufügen, einen Gesamtfluss des "Tunnels" zu erstellen, der in Zwischenschaltern nicht zerlegt werden kann. Ein solcher Stream wird nicht in Zwischenschalter in Komponenten zerlegt und als virtuelle Benutzerschaltung verarbeitet. Die Erstellung eines virtuellen "Tunnels" ist möglich, wenn Sie einen Zusammenfassungsdatenstrom mit alternativen Dienstsymbolen erstellen (der Algorithmus bleibt gleich, jede Tunnelebene erfordert einen eigenen Satz von Dienstsymbolen).
Auf der Empfangsseite muss ein zusätzliches Verfahren zum Zerlegen eines solchen Kanals in seine Komponenten durchgeführt werden (die Anzahl solcher „Analysen“ kann als Höhe des „Tunnels“ angesehen werden).
Es ist vorteilhaft, "Tunnel" zu erstellen, da die Anzahl der virtuellen Kanäle und dementsprechend die erforderlichen Puffer in Zwischenschaltern oder an Orten, an denen sehr große Informationsflüsse geschaltet werden, abnehmen (und die Schaltverzögerung proportional zur Geschwindigkeit des virtuellen Kanals geringer ist).
Algorithmus zum Erstellen eines virtuellen Kanals
- Zum anfänglichen Zeitpunkt existiert nur der Dienststrom zwischen dem Sender und dem Empfänger (die zuvor erstellten virtuellen Kanäle werden nicht gezählt). Der Sender verfügt über einen Puffer, in dem die zum Erstellen eines neuen virtuellen Kanals erforderlichen Daten gesammelt werden.
- ( ), ( ) . , ( ) , , ( ) () . «» .
- , . , .
- , « ». , « », . « » .
- (), , () (timeout) « ». « », .
- , , . , , .
- « » , «» - . ( ), «» ( ).
- : ( , , ) ( ). ( ) . , .
- , , ( ). , ( ), «» . , .
- , . , , . , . , . , 8 ( ), IP6 16 , . (-).
- , , . DNS , ( : IP ) . , . , () , ( , — ).
- , () - . , , . , . , . ( ), () , , . ( , ) . , . ( ), ( ).
Ein Netzwerk, das auf synchronem symbolischem Schalten basiert, kann die gesamte Informationsumgebung revolutionieren.
Computersysteme werden sich schließlich von einem persönlichen "Taschenrechner", den sie im Grunde jetzt sind, in eine einzige Informationsdimension (Raum) unserer Welt verwandeln. Der Computer des Benutzers wird einfach zu einem Gerät für den Zugriff auf diese Welt und möglicherweise zu einem Gerät zum Speichern und Verarbeiten vertraulicher Informationen. Die Rolle von Netzwerkgeräten in der Computerarchitektur wird sich erheblich ändern. Heutzutage ist ein Netzwerk im Grunde eine Möglichkeit, separate Computer (jeder von ihnen hat ein eigenes Betriebssystem) und die darauf ausgeführten Anwendungen miteinander zu verbinden. In Zukunft wird das Konzept einer separaten Rechenmaschine (als physisches Objekt) nicht existieren, das Computersystem wird vollständig virtuell sein, es wird über verschiedene Hardwareressourcen des Netzwerks "verschmiert".Das Thema Verwaltung (Ressourcenverwaltung durch Zugriffsparameter eines Computersystems) wird vollständig in die Netzwerkverwaltungsebene verschoben, die einzelne Exekutivmodule verbindet.