Design and implementation of an extensible centralized network controller (CNC) for Time-Sensitive Networking (TSN)

Thumbnail Image

Date

2024

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

Die zunehmenden Anforderungen nach deterministischer Echtzeit-Kommunikation in sicherheitskritischen Systemen haben die Entwicklung von Time-Sensitive Networking (TSN) vorangetrieben. Die Anforderungen und die Umsetzung von TSN sind in den IEEE 802.1Q Standards spezifiziert. Diese Standards umfassen unter anderem die grundlegende Architektur von TSN-Netzwerken, die Spezifikationen der benötigten Kommuntikations-Schnittstellen. Das verbreitete zentralisierte TSN-Architektur-Modell umfasst neben den eigentlichen TSN-Switches auch eine zentrale Komponente, der Central Network Controller (CNC) und die Centralized User Configuration (CUC). Diese Komponenten sind gemeinsam für die Verwaltung und Konfiguration der Switches zuständig. Inzwischen nimmt die Anzahl der verfügbaren TSN-Switches zu, jedoch gibt es kaum Angebote an den Controllern. Außer der OpenCNC existieren keine wirklichen Open-Source-Alternativen einer CNC. Durch den Umfang der in den Standards spezifizierten Funktionalitäten sind auch die Implementierungen wie der OpenCNC sehr umfangreich und komplex. Da diese Komplexität die Anpassung und auch die initiale Inbetriebnahme erschwert, ist die Verwendung nur mit großem Aufwand möglich. Hier kommt diese Arbeit mit der Idee, eine einfache und kompakten CNC zu entwerfen. Ziel ist es, statt allen Funktionalitäten nur die nötigsten zu implementieren und stattdessen die Erweiterung um zusätzliche Funktionen zu ermöglichen. Dies erleichtert vor allem die Inbetriebnahme einer einfachen Konfiguration und ermöglicht die Anpassung an spezifische Anforderungen. Gerade da es viele verschiedene Scheduling-Algorithmen oder verwendbare Remote Network Management Protocols (RNMPs) gibt, ist die Flexibilität der Implementierung ein wichtiger Aspekt. Diese werden in den Standards nur konzeptionell beschrieben und sind nicht genau spezifiziert. Daher ist die Verwendung und Unterstützung mehrerer Alternativen ein wichtiger Aspekt der Erweiterbarkeit dieses Entwurfs. Der entwickelte Entwurf beschreibt die Architektur für eine zentralen CNC. Die zusätzlich verwendete CUC kommuniziert mittels dem spezifizierten User/Network Interface (UNI). Dies ermöglicht eine unabhängige Entwicklung der beiden Komponenten. Zum Abschluss der Arbeit wird eine Proof-of-Concept-Implementierung des Entwurfes in Rust bereitgestellt, die Netconf als RNMP implementiert. Diese kann mittels eines gewünschten Scheduling-Algorithmus und TSN-Switches verwendet werden. Die Funktionalität und Erweiterbarkeit der CNC werden mittels passender Testfälle und Erläuterungen zu beispielhaften Erweiterungen belegt.

Description

Keywords

Citation

Endorsement

Review

Supplemented By

Referenced By