fadade
BIOS-Overclocker(in)
Netzwerktopologie und -konfiguration für Forschungsprojekt - Raspberry Pi technisch und softwareseitig verbinden
Servus,
in meiner bisherigen Laufbahn hatte ich noch nie mit Details der Netzwerkkonfiguration zu tun, deshalb hoffe ich, dass mir hier vielleicht jemand weiterhelfen kann. Ggf. sind die Formulierung an einigen Stellen unklar/undeutlich, da es doch sehr spezifisch ist - verzeiht mir das bitte
Ich arbeite zur Zeit an einem Projekt bei dem mehrere Raspberry Pis gemeinsame Aufgaben erledigen sollen, indem sie über Ethernet kommunizieren, wobei sich die Netzwerktopologie verändern kann (bzw. möglichst können sollte ...). Die folgende Abbildung zeigt das mal schematisch.
Zur Zeit besitzen die Raspberrys eine eindeutige statische IP und benachbarte Boards werden durch eine statische Datei mit dem Netzwerkaufbau identifiziert (irgendwie funktioniert das - haben die Vorgänger eingerichtet). Die entwickelten Java-Anwendungen kommunizieren dann per TCP miteinander.
Softwareseitig ist nun gewünscht die benachbarten Boards dynamisch zu erkennen bzw. mit ihnen kommunizieren zu können. Am liebsten würde ich jedes Board und das Gerät drumherum mit einem 5-Port-Switch ausstatten (Geld ist eher Nebensache), an dem einmal das lokale Board und die vier möglichen Nachbarn (vorne, hinten, links, rechts) hängen. In der Software würde ich dann gerne einfach ein mapping von IP-Adressen auf die Ports am Switch haben, also 192.168.1.1 ist die Verbindung nach "vorne", 192.168.1.2 nach "hinten" usw. --> unabhängig davon, ob ein benachbartes Gerät angeschlossen ist und was es für eine IP besitzt. Wichtig ist hier eigentlich nur die jeweilige Verbindung zwischen benachbarten Boards (ohne auf globales DHCP angewiesen zu sein).
Ideal wäre, wenn ich die IP aller Boards statisch auf denselben Wert (z.B. 192.168.1.1) festlege und Datenverkehr an die vier benachbarten Boards ebenfalls über feste IPs erledigen kann, sodass die Kommunikation mit dem "vorderen Nachbarn" vielleicht wie folgt aussieht (vgl. schematische Idee in obiger Abbildung):
------------- Gerät-A-------------------------Verkabelung---------------------------------Gerät-B--------
---Lokal-A-------Ziel-Adresse-------OS-Konfig/Kabel/unklar---------Quell-Adresse------Lokal-B-
192.168.1.1 ----> 192.168.1.2 ----> Port/Interface/Kabel XY ----> 192.168.1.4 ---->192.168.1.1
Damit soll erreicht werden, dass A das Gerät "vorne" über 192.168.1.2 erreichen kann und der eingehende Verkehr aus B's Sicht bspw. von "links" per 192.168.1.4 kommen kann. Mir ist unklar, ob man dafür einen Managed Switch o.ä. einsetzen und konfigurieren kann, oder ob ich den Rasbperry auch um Ethernet-Anschlüsse (Boards, USB-Adapter) erweitern könnte und dieses IP-Interface-Mapping dann irgendwie in einer Konfigurationsdatei festlegen kann (mit hosts etc. hatte ich mich bisher nie beschäftigen müssen).
Hat hier vielleicht jemand eine Idee dazu?
Schöne Grüße
Servus,
in meiner bisherigen Laufbahn hatte ich noch nie mit Details der Netzwerkkonfiguration zu tun, deshalb hoffe ich, dass mir hier vielleicht jemand weiterhelfen kann. Ggf. sind die Formulierung an einigen Stellen unklar/undeutlich, da es doch sehr spezifisch ist - verzeiht mir das bitte
Ich arbeite zur Zeit an einem Projekt bei dem mehrere Raspberry Pis gemeinsame Aufgaben erledigen sollen, indem sie über Ethernet kommunizieren, wobei sich die Netzwerktopologie verändern kann (bzw. möglichst können sollte ...). Die folgende Abbildung zeigt das mal schematisch.
Zur Zeit besitzen die Raspberrys eine eindeutige statische IP und benachbarte Boards werden durch eine statische Datei mit dem Netzwerkaufbau identifiziert (irgendwie funktioniert das - haben die Vorgänger eingerichtet). Die entwickelten Java-Anwendungen kommunizieren dann per TCP miteinander.
Softwareseitig ist nun gewünscht die benachbarten Boards dynamisch zu erkennen bzw. mit ihnen kommunizieren zu können. Am liebsten würde ich jedes Board und das Gerät drumherum mit einem 5-Port-Switch ausstatten (Geld ist eher Nebensache), an dem einmal das lokale Board und die vier möglichen Nachbarn (vorne, hinten, links, rechts) hängen. In der Software würde ich dann gerne einfach ein mapping von IP-Adressen auf die Ports am Switch haben, also 192.168.1.1 ist die Verbindung nach "vorne", 192.168.1.2 nach "hinten" usw. --> unabhängig davon, ob ein benachbartes Gerät angeschlossen ist und was es für eine IP besitzt. Wichtig ist hier eigentlich nur die jeweilige Verbindung zwischen benachbarten Boards (ohne auf globales DHCP angewiesen zu sein).
Ideal wäre, wenn ich die IP aller Boards statisch auf denselben Wert (z.B. 192.168.1.1) festlege und Datenverkehr an die vier benachbarten Boards ebenfalls über feste IPs erledigen kann, sodass die Kommunikation mit dem "vorderen Nachbarn" vielleicht wie folgt aussieht (vgl. schematische Idee in obiger Abbildung):
------------- Gerät-A-------------------------Verkabelung---------------------------------Gerät-B--------
---Lokal-A-------Ziel-Adresse-------OS-Konfig/Kabel/unklar---------Quell-Adresse------Lokal-B-
192.168.1.1 ----> 192.168.1.2 ----> Port/Interface/Kabel XY ----> 192.168.1.4 ---->192.168.1.1
Damit soll erreicht werden, dass A das Gerät "vorne" über 192.168.1.2 erreichen kann und der eingehende Verkehr aus B's Sicht bspw. von "links" per 192.168.1.4 kommen kann. Mir ist unklar, ob man dafür einen Managed Switch o.ä. einsetzen und konfigurieren kann, oder ob ich den Rasbperry auch um Ethernet-Anschlüsse (Boards, USB-Adapter) erweitern könnte und dieses IP-Interface-Mapping dann irgendwie in einer Konfigurationsdatei festlegen kann (mit hosts etc. hatte ich mich bisher nie beschäftigen müssen).
Hat hier vielleicht jemand eine Idee dazu?
Schöne Grüße