Neues DETCP-Protokoll für das VLC-Hybridsystem



Zuvor haben wir bereits neue Informationsspeichertechnologien untersucht. Neben der Bedeutung der Datenspeicherung müssen Sie diese weiterhin übertragen können. Die Entwicklung der Technologie hat die Schaffung vieler Informationsübertragungsmethoden ermöglicht. Und anscheinend gibt es bereits alles, was Sie brauchen. Sie können es einfach verbessern. Wissenschaftler wären jedoch keine echten Wissenschaftler, wenn sie nicht versuchen würden, etwas Neues zu erfinden. Und so haben wir die VLC-Technologie (Kommunikation mit sichtbarem Licht) - Datenübertragung durch sichtbares Licht. Diese Methode hat sowohl beeindruckende Vor- als auch enttäuschende Nachteile. Wissenschaftler der Universität für Wissenschaft und Technologie in China konnten das VLC-System dank des von ihnen entwickelten neuen TCP-Protokolls verbessern. Wie funktioniert das neue System, was sind seine Vor- und Nachteile und hat es auch eine Zukunft? Wir werden versuchen, Antworten auf diese und andere Fragen zu finden. Lass uns gehen.

Kurz gesagt: Was ist VLC?



VLC (Visible Light Communicatio) ist eine Übertragungstechnologie für sichtbares Licht, die Teil von OWC (Optical Wireless Communications) ist. Es klingt beeindruckend, futuristisch und sogar irgendwie unrealistisch. Alle Häuser haben Lampen, die die Räume beleuchten. Diese Technologie ermöglicht die Verwendung dieses Lichts als Datenübertragungskanäle. Hierzu wird ein bestimmter Bereich des sichtbaren Lichts verwendet - von 400 bis 800 THz. Je nach Lampentyp ändert sich auch die Datenübertragungsgeschwindigkeit: eine Leuchtstofflampe - 10 kbit / s und eine LED - bis zu 500 Mbit / s. Um Daten empfangen zu können, muss das Gerät über eine Fotodiode verfügen, die optische Signale aufnimmt. In einigen Fällen kann eine Smartphone-Kamera dafür ausreichen.

VLC ist eine vielversprechende Technologie. Die naheliegendste Anwendung ist der Alltag. Geräte mit dieser Technologie können sich in Privathäusern, Wohnungen, öffentlichen Orten usw. befinden. Es gibt jedoch bestimmte Nachteile, die den Prozess der Popularisierung der VLC-Technologie verlangsamen. Es ist eine schwierige Aufgabe, das VLC-System zu „zwingen“, einen guten Uplink (Uplink) bereitzustellen. Warum ist es schwierig? Erstens sind mobile Geräte hinsichtlich des Energieverbrauchs begrenzt und können nicht mit energieintensiven Lichtquellen ausgestattet werden. Zweitens erfordert für den Betrieb des VLC-Systems ein "klar" gerichteter Strahl. Dementsprechend können die mobilen Geräte, die wir ständig bewegen und drehen, die VLC-Technologie nicht vollständig nutzen.


Eine ungefähre grafische Darstellung des VLC-Systems im Alltag

Natürlich haben in den letzten Jahren verschiedene Forschungsgruppen die Verwendung von Hochfrequenz-, Infrarot- und reflektierenden Transceivern vorgeschlagen, um das VLC-Uplink-Problem auf physikalischer Ebene zu lösen. Aufgrund des asymmetrischen Modells, das beim Aufbau von VLC-Systemen unter Verwendung der obigen Ansätze verwendet wird, treten jedoch neue Probleme auf, diesmal mit der Kompatibilität von Protokollen der oberen Ebene.

Um all diese Mängel und Probleme zu beseitigen, mussten die Forscher ein hybrides VLC / Wi-Fi-System entwickeln: VLC-Downlink (Downlink) und Wi-Fi-Uplink. Dies ermöglichte die Verwendung des Standard-TCP-Protokolls. Alles funktioniert wie erwartet, aber es gibt immer noch ein Problem - Bequemlichkeit und Einfachheit oder vielmehr ihre Abwesenheit. Ein solches Hybridsystem erfordert zusätzliche Ausrüstung, komplexes Routing und eine spezielle Neuprogrammierung der Steckdose. All dies wird natürlich einen Benutzer abstoßen, der ein effektives, aber einfach zu bedienendes System verwenden möchte.

Detc

Die Forscher beschlossen, nach Lösungen für alle Probleme in den Transportschichtprotokollen zu suchen. Laut Wissenschaftlern ist die Verwendung des Standard-TCP-Protokolls in einem Hybrid-VLC-System ineffizient. Sie schlagen vor, DETCP (entkoppeltes gemeinsames TCP) zu verwenden, das die bidirektionale TCP-Übertragung gemeinsam nutzt. Das heißt, ein TCP-Stream kann zwei Verbindungen gleichzeitig verwenden: die Hauptverbindung als Downlink und die zusätzliche Verbindung als Uplink. Somit ermöglicht DETCP dem Benutzer, VLC mit einer anderen Kommunikationsleitung zu verwenden, um ein hybrides bidirektionales System ohne Berücksichtigung ihrer Asymmetrie zu bilden. Und die zusätzliche Programmierung von Sockets und das schwierige Routing werden in Vergessenheit geraten.

Heutzutage haben die meisten Terminals mehrere Schnittstellen. Um das Multicast-Problem zu lösen, schlug die Internet Engineering Task Force (IETF / Internet Engineering Council) eine Änderung des TCP-Protokolls MPTCP - Multipath TCP (Multipath TCP) vor. Es ermöglicht einer einzelnen Verbindung, Pakete auf mehreren Pfaden gleichzeitig zu übertragen. Forscher der VLC-Technologie haben beschlossen, diese Modifikation auf ihr Protokoll anzuwenden. Das Ergebnis war das MP-DETCP-Protokoll .

Grundlagen des DETCP-Protokollkonzepts

Das gebräuchlichste Transportschichtprotokoll ist genau TCP, da es eine stabile und zuverlässige Datenübertragung ermöglicht. Es gibt jedoch Einschränkungen: Alle Vorteile von TCP werden nur dann voll ausgeschöpft, wenn die physische Verbindung die vollständige bidirektionale Datenübertragung ermöglicht. Im Fall von VLC kann das System nur einen Downlink bereitstellen, der zu einer unidirektionalen Netzwerkschnittstelle führt. Daher kann TCP nicht alle Datenübertragungsfunktionen vollständig nutzen.

Das DETCP-Protokoll wurde speziell entwickelt, um dieses Problem zu lösen, dh um die Datenübertragung auf einem Hybridsystem zu implementieren, das aus zwei unabhängigen Verbindungen besteht, ob unidirektional, bidirektional oder gemischt.

Laut den Forschern sind die wichtigsten Ziele des DETCP-Protokolls:

  • Trennung von bidirektionalen TCP-Übertragungen in zwei unidirektionale Übertragungen, die auf zwei unabhängigen physischen Verbindungen und gemäß den Benutzereinstellungen durchgeführt werden;
  • Machen Sie das Protokoll anwendbar, ohne Änderungen an vorhandenen Anwendungen vornehmen zu müssen, die das Standard-TCP-Protokoll verwenden.

Verbindungsarchitektur

Der Socket wird vom Standard-TCP-Protokoll verwendet, um ein Paar von Endpunkten für jeden Host zu identifizieren. Somit ist die Verbindung an eine bestimmte physische Verbindung gebunden, die durch den Socket angezeigt wird. In einem unidirektionalen System wie VLC kann die vorhandene TCP-Verbindungsstruktur jedoch keine Datenübertragung in jede Richtung zwischen Hosts bereitstellen, da eine unidirektionale Verbindung keinen Austausch / keine Übertragung von Schaltungsdaten bilden kann.

Um dieses Problem zu lösen, verwendet das DETCP-Protokoll eine andere Verbindungsarchitektur als TCP. In diesem System gibt es zwei physische Verbindungen, die für TCP verantwortlich sind und gemeinsam für die Übertragung verantwortlich sind.


DETCP-Architektur (rechts) und TCP (links):

  • SIP (Quell-IP-Adresse) - Quell-IP-Adresse;
  • OSIP (ursprüngliche Quell-IP-Adresse) - primäre Quell-IP-Adresse;
  • CSIP (komplementäre Quell-IP-Adresse) - zusätzliche Quell-IP-Adresse;
  • DIP (Ziel-IP-Adresse) - Ziel-IP-Adresse;
  • ODIP (ursprüngliche Ziel-IP-Adresse) - primäre Ziel-IP-Adresse;
  • CDIP (komplementäre Ziel-IP-Adresse) - eine zusätzliche Ziel-IP-Adresse.


Auf der Verbindungsebene ist die Datenübertragung immer noch bidirektional, auf der Kanalebene gibt es jedoch zwei separate Übertragungen, die in verschiedene Richtungen gerichtet sind.

Verbindungsidentifikation

Im Standard-TCP-Protokoll wird jede Verbindung durch ein 4-Tupel (Quelladresse, Quellport, Zieladresse und Zielport) identifiziert. Das Wesentliche dieses Steuerungsmechanismus ist, dass eine TCP-Verbindung auf einer Verbindung erstellt wird. Und da DETCP eine Kombination aus zwei Verbindungen ist, wird ein 6-dimensionales Tupel benötigt (primäre Quelladresse, zusätzliche Quelladresse, Quellport, primäre Zieladresse, zusätzliche Zieladresse und Zielport).

Damit das System der zweiten Aufgabe entspricht, die sich die Forscher gestellt haben, blieb die Struktur der Sockel unverändert. Daher musste ein anderer Weg gefunden werden, um eine zusätzliche Adresse in den Protokollstapel aufzunehmen. Daher wurde beschlossen, die Kernel-Konfigurationsdatei zu verwenden. Der Benutzer könnte darin zusätzliche Adressen angeben, wodurch ein 6-dimensionales Tupel mit dem Hauptstandardpaar von Sockets und zusätzlichen Adressen implementiert wird. Auf diese Weise stellte DETCP die Kompatibilität mit Protokollen der Anwendungsschicht sicher.

Initiieren des Öffnens und Schließens einer Verbindung

Die Prozesse zum Initiieren des Öffnens und Schließens einer DETCP- und TCP-Verbindung sind sehr ähnlich. Der "Handshake" -Mechanismus wurde verwendet, da er am effektivsten ist. Es wurden jedoch zwei wichtige Änderungen eingeführt, die DETCP von TCP unterscheiden:

  • Da die lokale sekundäre Adresse dem Remote-Host vor dem Herstellen der Verbindung unbekannt ist und für jeden Host vollständige Adressinformationen erforderlich sind, um eine geteilte Übertragung durchzuführen, wurde ein TCP-Parameter hinzugefügt, um den Remote-Host während des Verbindungsinitiierungsprozesses über die zusätzlichen Adressen zu informieren.
  • Die Trenncharakteristik wird sowohl in der Phase der Einleitung des Öffnens als auch in der Phase des Schließens der Verbindung angezeigt. Das Bild unten zeigt den Vorgang eines Drei-Wege-Handshakes, der von einem 6-dimensionalen Tupel koordiniert wird.


Drei-Wege-Handschlag, koordiniert von einem 6-dimensionalen Tupel, in der Phase der Einleitung des Verbindungsaufbaus

Datenübertragung

Um sicherzustellen, dass der Trennungsprozess während der Datenübertragung korrekt ist, sollte die aktuelle Verbindungsrichtung geändert werden, wenn das nächste Paket zum Senden bereit ist. Wenn diese Richtung von einem Remote-Host zu einem lokalen Host führt, erfolgt das Senden über eine zusätzliche Verbindung.

Beim Abrufen von Daten gibt es ein Problem, das behoben werden muss. Wenn der Kernel die Adresse verwendet, die durch Parsen vom IP-Header direkt auf dem Demultiplexing eingehender Pakete empfangen wurde, sind diese möglicherweise an die falsche DETCP-Verbindung gebunden.

Beispielsweise sendet der Server ein Datenpaket über den Downlink an den Client, und der Client sendet die Antwort über den Uplink. In einer solchen Situation sind die von der Antwort empfangenen Adressen Uplink-Adressen, und für den Server ist die Verbindung mit Downlink-Adressen verbunden. Diese Nichtübereinstimmung führt zu Paketfehlern. Um solche Probleme zu vermeiden, fügten die Forscher die TCP-Option hinzu.

DETCP-Protokollbetrieb

Zuerst müssen Sie die Schnittstelle konfigurieren. Mit dem DETCP-Protokoll kann der Benutzer über die Konfigurationsdatei eine Richtung für eine bestimmte Schnittstelle („Out“, „In“, „Two-Way“) zuweisen. Wenn die dem Socket zugeordnete Schnittstelle als unidirektionale Schnittstelle eingerichtet ist, muss der Benutzer eine andere Schnittstelle als zusätzliche Schnittstelle festlegen. Die Kombination aller vier Schnittstellen bestimmt den gesamten Verbindungsprozess.


DETCP-Statusdiagramm (über eine zusätzliche Verbindung links zum Senden von Paketen rechts - die Hauptverbindung zum Senden von Paketen)

Am Ende des vorherigen Absatzes wird über die Verwendung einer bestimmten TCP-Option gesprochen. Diese Option ist CPT_ADDR und wurde speziell erstellt, um den korrekten Datenübertragungsprozess sicherzustellen.

Jedes übertragene Paket besteht aus:

  • SYN (Client zu Server) - zusätzliche IP-Adresse des Clients;
  • SYN / ACK (Server zu Client) - die zusätzliche IP-Adresse des Servers.


Das Prinzip der Trennung funktioniert in allen Phasen der Datenübertragung (Einleitung des Öffnens einer Verbindung, Datenübertragung und Einleiten des Schließens einer Verbindung).


Initiieren einer Verbindungsöffnung:

  • SYN (Client zu Server) - die Hauptverbindung;
  • SYN / ACK (Server zu Client) - zusätzliche Verbindung;
  • ACK (Client zu Server) ist die Hauptverbindung.

Datenübertragung:

  • Pakete vom Client zum Server - die Hauptverbindung;
  • Pakete vom Server zum Client - zusätzliche Verbindung.


Verbindungsabschluss:

  • FIN (Client zu Server) - die Hauptverbindung;
  • ACK (Server zu Client) - zusätzliche Verbindung;
  • FIN (Server zu Client) - zusätzliche Verbindung;
  • ACK (Client zu Server) ist die Hauptverbindung.


Experimentelle Prüfung und Auswertung der Ergebnisse


Das Erscheinungsbild der Implementierung des Hybridsystems

Für die DETCP- und MP-DETCP-Protokolltests wurden sie im Linux-Kernel implementiert. Das Hybridsystem bestand aus einem VLC (als Downlink, 20 m) und einer Ethernet-Verbindung (als Uplink, 100 m). Die Bandbreite aller an den Router und das VLC-System angeschlossenen Kanäle wurde auf 100 Mbit / s eingestellt.


DETCP-Netzwerktopologie: Oben befindet sich ein zusätzlicher Uplink, unten ein VLC-Downlink.


MP-DETCP-Netzwerktopologie:
  • Verbindungen A und D - Downlink VLC;
  • Die Verbindungen B und E sind zusätzliche Verbindungen;
  • Die Verbindungen C und F sind Ethernet-Subflows.


Verfügbarkeitstest

Zunächst musste geprüft werden, ob DETCP das verfügbare Band in einer Hybridsystemumgebung effektiv nutzen kann. Um die DETCP-Stabilität gegen die schlechte Leistung zusätzlicher Verbindungen zu testen, wurde der Client-Uplink so konfiguriert, dass einige Datenpakete verloren gingen. Dies ist eine Art Stresstest.



Die obige Grafik zeigt die hohe Leistung und Effizienz von DETCP in einem Hybridsystem. Die Kanalkapazität wurde zu 95% verwendet, während kein Paketverlust festgestellt wurde. Wenn der Prozentsatz des Paketverlusts 0,5 bis 2,0 betrug, verringerte sich der Nutzungsgrad des Kanals auf 92%. DETCP war jedoch weiterhin stabil und effizient. Erst mit einem Anstieg des Paketverlustprozentsatzes auf 5 begann die DETCP-Leistung dramatisch zu sinken.

Die Schlussfolgerung des Tests ist, dass die Verwendung von DETCP in Hybridsystemen effektiv ist und zusätzliche Verbindungen, obwohl sie das Gesamtbild der Leistung beeinflussen, sehr gering sind. Mit einer weiteren Verbesserung des Systems können diese negativen Auswirkungen auf ein Minimum reduziert werden.

Leistungsfaktoren

Um das System und DETCP zu testen, muss zunächst ermittelt werden, welche Faktoren die Leistung beeinflussen. Anhand dieser Faktoren können Sie sehen, wie sich die Produktivität ändert.

Faktor 1: Paketverlust

Die Schnittstelle wurde so konfiguriert, dass 0% bis 4% der Datenpakete zufällig verloren gingen.



Wie aus der obigen Grafik ersichtlich ist, nimmt der Durchsatz linear mit zunehmendem Prozentsatz verlorener Pakete ab. Es wurde auch gezeigt, dass bei einer großen Paketverlustrate der Grad der Diskrepanz bei den Messwerten wiederholter Messungen zunimmt und die durchschnittliche Übertragungsrate instabil wird.

Faktor 2: Datenübertragungsverzögerung

Um die Auswirkung dieses Faktors zu überprüfen, wurde die Verzögerung von 0 auf 100 ms eingestellt.



Die obige Grafik zeigt die Beziehung zwischen Bandbreite und Datenübertragungsverzögerung. Wenn letzteres weniger als 20 ms beträgt, ist die Bandbreite stabil und die Bandbreite ist voll ausgelastet. Wenn die Verzögerung 50 ms erreicht, wird der durchschnittliche Durchsatz erheblich reduziert. Mit einer Verzögerung von 100 ms sinkt der Durchsatz um bis zu 35% und die Paketübertragung wird instabil.

Faktor 3: Neuordnung von Paketen

Der letzte Überprüfungsfaktor ist die Neuordnung von Paketen: Einige der Pakete werden verzögert, andere sozusagen rechtzeitig.



Das obige Diagramm zeigt die explizite Beziehung zwischen Bandbreite und Paketumordnung. Alle Tests zeigten eine signifikante Reduzierung des Durchsatzes. Mit zunehmender Verzögerung trat die Abnahme jedoch nicht linear auf. Mit einer Verzögerung von 10 ms und einem Prozentsatz neu geordneter Pakete von 5% tritt die Verringerung des Durchsatzes allmählich und unbedeutend auf. Bei 10% oder 20% brachen die Indikatoren jedoch einfach zusammen.

Durchsatzraten bei 5% neu geordneter Pakete mit einer Verzögerung von 10 ms entsprechen ungefähr Indikatoren bei 10% und einer Verzögerung von 5 ms oder 20% und einer Verzögerung von 2 ms.

Für einen stabilen und effizienten Betrieb des Systems muss daher sowohl die Anzahl der neu geordneten Pakete als auch die Verzögerungszeit gesteuert werden.

Wenn sich die Leistung des VLC-Downlinks in einem System verschlechtert, in dem der Uplink als bidirektionale Verbindung dargestellt wird, z. B. Wholesale oder Wi-Fi, sollte die Möglichkeit in Betracht gezogen werden, zur Verwendung von unidirektionalem Standard-TCP zurückzukehren, das auf dem Uplink ausgeführt wird. Dies kann ein effektiver Weg sein, um die Systemzuverlässigkeit zu verbessern, wenn die Downlink-VLC-Leistung stark reduziert wird.

Leistungsvergleich

Eine der Hauptaufgaben des Multithreading besteht darin, den Durchsatz zu erhöhen. Dieser Test testet MP-DETCP und DETCP unter den gleichen Verbindungsbedingungen. Die Ergebnisse werden aufgezeichnet, wenn die Datenverlustrate zwischen 0% und 4% liegt.



Das obige Diagramm zeigt, dass MP-DETCP zwar eine schlechtere VLC-Leistung als DETCP aufweist, jedoch immer noch eine hohe Bandauslastungsrate aufweist. Wenn Daten ohne Paketverlust übertragen werden, wird eine Rate von 115 Mbit / s erreicht, was die Fähigkeit von MP-DETCP bestätigt, eine effiziente und effiziente Verbindung bereitzustellen. Mit zunehmender Paketverlustrate wird der VLC-Durchsatz stark reduziert. Zu diesem Zeitpunkt fällt auch die gleiche Ethernet-Verbindung leicht ab. Der Gesamtdurchsatz blieb jedoch auf einem relativ hohen Niveau. Dies bedeutet, dass die Datenübertragung auf einer anderen Verbindung abgeschlossen wird, wenn die VLC-Verbindung beschädigt und blockiert ist.

Ergebnisse der Forscher

Um das Problem der Datenübertragung im VLC-System zu lösen, schlugen die Forscher vor, das DETCP-Protokoll zu verwenden, um die bidirektionale Übertragung zu trennen. Auf dieser Grundlage kann gesagt werden, dass die Verwendung von MP-DETCP die Leistung des Hybrid-VLC-Systems verbessern wird. DETCP MP-DETCP , .

. .





Jede Technologie muss „poliert“ werden, bevor sie als effektiv bezeichnet werden kann. Bei den neuen Protokollen DETCP und MP-DETCP ist noch viel Arbeit. Die experimentellen Ergebnisse können jedoch bereits als beeindruckend bezeichnet werden. Das VLC-System ist mittlerweile bei Forschern äußerst beliebt, nicht jedoch bei Anwendern. Diese Reihenfolge kann sich in den kommenden Jahren ändern. Und dann bedeutet eine durchgebrannte Glühbirne nicht nur den Mangel an Beleuchtung, sondern auch das Internet.

Vielen Dank für Ihren Aufenthalt bei uns. Gefällt dir unser Artikel? Möchten Sie weitere interessante Materialien sehen? Unterstützen Sie uns, indem Sie eine Bestellung aufgeben oder Ihren Freunden empfehlen, einen Rabatt von 30% für Habr-Benutzer auf ein einzigartiges Analogon von Einstiegsservern, das wir für Sie erfunden haben: Die ganze Wahrheit über VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbit / s von $ 20 oder wie teilt man den Server? (Optionen sind mit RAID1 und RAID10, bis zu 24 Kernen und bis zu 40 GB DDR4 verfügbar).

Dell R730xd 2 mal günstiger? Nur wir haben 2 x Intel Dodeca-Core Xeon E5-2650v4 128 GB DDR4 6 x 480 GB SSD 1 Gbit / s 100 TV von 249 US-Dollar in den Niederlanden und den USA! Lesen Sie mehr über den Aufbau eines Infrastrukturgebäudes. Klasse mit Dell R730xd E5-2650 v4 Servern für 9.000 Euro für einen Cent?

Source: https://habr.com/ru/post/de411907/


All Articles