Entwurf und Implementierung eines web-basierten Centralized Network Controller (CNC) für Time-Sensitive Networking (TSN)
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Time-Sensitive Networking (TSN) ist eine Netzwerktechnologie, die deterministische Echtzeitkommunikation in Ethernet-Netzwerken ermöglicht. Diese Technologie findet insbesondere in Netzwerken, deren zuverlässige Kommunikation für sicherheitskritische Aufgaben notwendig ist, Anwendung. Die manuelle Konfiguration von TSN-Netzwerken ist jedoch häufig ein aufwändiger Prozess, der die separate Konfiguration der einzelnen Netzwerkswitches mithilfe unterschiedlicher Konfigurationswerkzeuge beinhaltet. Diese Arbeit widmet sich der Aufgabe, diesen manuellen Konfigurationsprozess zu vereinfachen. Eine Möglichkeit, um die Switches eines TSN-Netzwerks zu konfigurieren, ist der Einsatz eines sogenannten Centralized Network Controller (CNC). Um die manuelle Konfiguration von TSN-Netzwerken zu vereinfachen, wird in dieser Arbeit ein web-basierter CNC entworfen und implementiert. Die in dieser Arbeit entworfene Web-based Centralized Network Controller (WebCNC)-Architektur legt besonderen Wert auf die Erweiterbarkeit des CNC, um eine Ausstattung des WebCNC mit weiteren Funktionalitäten bei geringem Aufwand zu ermöglichen. Dies wird durch eine modulare, komponentenbasierte Architektur des CNC erreicht, deren Struktur sich an einer Drei-Schichten-Architektur mit Präsentationsschicht, Anwendungsschicht und Datenschicht orientiert. Da es sich um einen web-basierten CNC handelt, teilen sich diese Schichten auf Frontend und Backend auf. Die Präsentationsschicht zur Interaktion mit dem Nutzer ist in einem Frontend verortet und kommuniziert zur Realisierung von Nutzeranfragen mit dem Backend über eine HTTP-Schnittstelle. Das Backend beinhaltet die Anwendungs- und Datenschicht des WebCNC und dient als Brücke zwischen dem Frontend und den Netzwerkswitches. Ein weiterer Kernaspekt der WebCNC-Architektur ist die Portabilität. So basiert der WebCNC auf Standards, die herstellerübergreifend genutzt werden, um Kompatibilität mit Geräten verschiedener Hersteller zu erreichen. Der WebCNC selbst wird mithilfe von Standard-Technologien realisiert, die eine Ausführung des WebCNC auf beliebigen gängigen Systemen ermöglichen sollen. Außerdem ist die Benutzerfreundlichkeit ein relevanter Faktor für die getroffenen Entwurfsentscheidungen. Als Web-Anwendung soll es Nutzern möglich sein, den WebCNC ohne eine lokale Installation von spezieller Software zu nutzen. Um mit dem WebCNC zu interagieren, sollen Benutzer lediglich einen Webbrowser benötigen. Neben der WebCNC-Architektur wird auch ein Software-Prototyp als Proof-of-Concept vorgestellt, der diese Architektur in der Praxis umsetzt und zur Validierung der Architekturziele genutzt wird. Um die Erweiterbarkeit der entwickelten Architektur zu evaluieren, werden in dieser Arbeit einige denkbare Erweiterungen für den WebCNC vorgestellt. Es wird betrachtet, wie verschiedene Klassen von Erweiterungen in den bestehenden WebCNC-Prototypen integriert werden können. Die gewünschte Portabilität erreicht der Prototyp im Frontend durch den Einsatz einer generischen Webanwendung, die von einem beliebigen Webserver an Clients ausgeliefert werden kann. Das Backend wird als Java-Anwendung realisiert, um eine Ausführung des Backends auf allen Systemen, für die eine Java-Laufzeitumgebung existiert, zu ermöglichen. Die Benutzerfreundlichkeit wird erreicht, indem eine graphische Nutzeroberfläche als Frontend entwickelt wird. Diese Oberfläche wird in mehrere Ansichten unterteilt, die verschiedene Aufgaben erfüllen. Der in dieser Arbeit entworfene, klar definierte Navigationsfluss zwischen den Ansichten soll eine intuitive Nutzung des WebCNC ermöglichen.