Hallo in die Runde, Bevor ich mein Problem beschreibe, möchte ich meinen aktuellen Aufbau skizzieren: Ein 5-Port Ethernet Switch auf Basis des IC KSZ8895 verbindet ein µC Board mittels dem xPico von Lantronix, ein RPi Compute Modul (mit Touch-Display) mit dem LAN9514 IC, sowie ein weiteres ethernetfähiges Gerät miteinander. Ein weiterer Port des KSZ8895 steht für ein externes Netzwerk bereit. Das Compute Modul mit dem Display ist optional (abnehmbar, verbunden via PoE, ein Port vom KSZ8895 hat einen PoE Injektor) und dient der Steuerung und Visualisierung. Die Visualisierung wird hierbei durch eine Weboberfläche realisiert, sodass man auch den µC von einem anderen PC im Netzwerk aus einfach via der Webseite steuern kann. Nun ist es so, dass das Ganze zu einem Gerät verschmelzen soll, mit der Anforderung, dass das Gerät insgesamt nach außen hin nur eine IP-Adresse besitzen soll. Meiner Meinung nach benötige ich jetzt hier eine NAT (NAT-PMP) Lösung, die das externe Netzwerk mit meinem kleinen "internen" Netzwerk zusammenführt. Die Applikationen bzw. Datenschnittstellen aller eingangs erläuterten Komponenten arbeiten auf jeweils anderen Ports, sodass NAT-PMP hier ein richtiger Ansatz sein sollte? Die Frage ist nun aber weiterhin, wie bringe ich ein Peripherie hinein, die NAT unterstützt bzw. welche Gerätschaft kommt hier in Frage? Die Lösung sollte in Richtung embedded gehen und idealerweise Platz auf der aktuellen µC Platine finden. Ich hatte die Hoffnung, nach dem Vorbild des xPicos ein Modul zu finden. Dem ist jedoch nicht so. Hat hier jemand vielleicht einen Tipp? Das Ganze sollte industrietauglich sein. Zum anderen war meine Überlegung, das bereits verwendete Compute Module umzusetzen und als NAT Gateway zwischen externen Ethernet-Port und dem KSZ8895 einzusetzen. Das Dispaly soll natürlich optional und abnehmbar bleiben, daher stellt sich mir die Frage, ob man die Datenleitungen des DSI Ports über Kabel laufen lassen kann (Kabelänge ca. 1,5 Meter), sodass es natürlich noch funktioniert. Soweit erstmal. Ich freue mich über Ratschläge oder alternative Ansätze :)
Mach VLANs nach 802.1q auf. Dein Switch kann das. Dein Microcontroller und das externe Gerät kommen in VLAN 1, untagged Der externe Port kommt in VLAN 2, untagged Das Compute Module kommt in VLAN 1 und 2, und diese Switch Port muss tagged Pakete (also mit 802.1p/q Tag) senden und empfangen. Das Compute Modul natürlich auch. Das spielt dann Router bzw Proxy. Damit ist der zusätzliche Hardwareaufwand gleich 0. DSI müsste begrenzt verlängerbar sein, wenn Du geeignete Kabel und Stecker verwendest. Das ist übelste Hochfrequenztechnik. Probiere mal DisplayPort Kabel aus, ansonsten SAS-Kabel. Das müsste zumindest von der Bandbreite her einigermaßen passen. fchk
Frank K. schrieb: > Mach VLANs nach 802.1q auf. Dein Switch kann das. > > Dein Microcontroller und das externe Gerät kommen in VLAN 1, untagged > Der externe Port kommt in VLAN 2, untagged > Das Compute Module kommt in VLAN 1 und 2, und diese Switch Port muss > tagged Pakete (also mit 802.1p/q Tag) senden und empfangen. Das Compute > Modul natürlich auch. Das spielt dann Router bzw Proxy Hallo Frank, vielen Dank für dein Feedback! Ich möchte zunächst noch hinzufügen, dass der µC mit xPico ebenfalls aus den externen Netzwerk gesteuert werden soll. Sprich, aus dem externen Netzwerk und gleichermaßen das CM reden mit einem eigenen Protokoll mit dem xPico und damit mit dem µC. Die Geschichte mit den VLANs hatte ich auch schon mehrmals mir durch den Kopf gehen lassen, jedoch fehlt mir hier das Fachwissen wie das Ganze genau funktioniert. Konkret meine ich damit, wie ich mit einer IP-Adresse von extern die unterschiedlichen Geräte via VLANs jeweils erreiche. Meine Vorstellung sieht so aus: - xPico hat IP A - RPi CM hat IP B - Gerät X hat IP C -> "universelle" xPico IP durch die alle Komponenten von extern angesprochen werden können -> Anfrage an IP A Port 80 weiter zu CM -> Anfrage an IP A Port xx weiter zu xPico / seriell zum µC -> Anfrage an IP A Port yy weiter zu Gerät X Ich werde mich mal in die VLAN-geschichte tiefer einarbeiten. hast du hier ein Link zu einem Beispiel? EDIT: Das Ganze funktioniert auch dann, wenn das CM nicht am Switch angeschlossen ist.
:
Bearbeitet durch User
VLAN ist sicherlich der eleganteste Weg. Dabei hat dein RaspberryPi so viele logische Ethernet-Schnittstellen, wie du VLANs konfiguriert hat. Auf dem RPi ein NAT zwischen 2 Schnittstellen zu schalten ist die leichteste Übung. Entspricht eigentlich genau dem im Eingangspost geforderten Scenario, nur eben ohne zusätzliche Hardware.
Frank K. schrieb: > Mach VLANs nach 802.1q auf. Dein Switch kann das. > > Dein Microcontroller und das externe Gerät kommen in VLAN 1, untagged > Der externe Port kommt in VLAN 2, untagged > Das Compute Module kommt in VLAN 1 und 2, und diese Switch Port muss > tagged Pakete (also mit 802.1p/q Tag) senden und empfangen. Das Compute > Modul natürlich auch. Das spielt dann Router bzw Proxy. Ich nochmal dazu. Hatte gerade einen kleinen Denkfehler und hatte deinen Vorschlag nochmal richtig gelesen: Nach deinem Vorschlag bedeutet das aber, dass das CM hier das Routing (NAT) macht. Sprich in meinem jetzigen Aufbau ist das nicht möglich (alleine nur mit VLANs vom KSZ8895) dies zu realisieren, da das CM mit Display nur optional ist. Möglich wäre es wieder dann, wenn das CM fester Bestandteil des Hardwareaufbaus ist und das Display lediglich optional ist, jedoch aber nicht das CM selbst. Harry L. schrieb: > VLAN ist sicherlich der eleganteste Weg. > Dabei hat dein RaspberryPi so viele logische Ethernet-Schnittstellen, > wie du VLANs konfiguriert hat. > Auf dem RPi ein NAT zwischen 2 Schnittstellen zu schalten ist die > leichteste Übung. > > Entspricht eigentlich genau dem im Eingangspost geforderten Scenario, > nur eben ohne zusätzliche Hardware. Hallo Harry, auch dir vielen Dank für deine Rückmeldung. Wie ich hier gerade in diesem Post bezüglich Franks Aussage nochmal berichtigt habe, ist also das CM mindestend notwendig, da nur mit VLANs durch den KSZ8895 und ohne das CM die Geschichte mit einer IP für alles nicht möglich ist, entsprechend: Tony S. schrieb: > Meine Vorstellung sieht so aus: > > - xPico hat IP A > - RPi CM hat IP B > - Gerät X hat IP C > > -> "universelle" xPico IP durch die alle Komponenten von extern > angesprochen werden können > -> Anfrage an IP A Port 80 weiter zu CM > -> Anfrage an IP A Port xx weiter zu xPico / seriell zum µC > -> Anfrage an IP A Port yy weiter zu Gerät X Also unterm Strich muss das CM fester Bestandteil der Anordnung werden und nur das Display am CM wird optional. Bedeutet weiterhin das ein Umbau so hier sinnvoll ist: Externes Ethernet <-> ETH A CM // ETH B CM <-> KSZ8895 <-> µC, GerätX,.. Im CM dann die entsprechenden NAT Regel aufstellen und fertig. Da wäre dann ja eigentlich auch kein VLAN Setup im KSZ8895 nötig, wenn das CM das Routet(?). Geht ihr so mit?
Tony S. schrieb: > Frank K. schrieb: >> Mach VLANs nach 802.1q auf. Dein Switch kann das. >> >> Dein Microcontroller und das externe Gerät kommen in VLAN 1, untagged >> Der externe Port kommt in VLAN 2, untagged >> Das Compute Module kommt in VLAN 1 und 2, und diese Switch Port muss >> tagged Pakete (also mit 802.1p/q Tag) senden und empfangen. Das Compute >> Modul natürlich auch. Das spielt dann Router bzw Proxy. > > Ich nochmal dazu. Hatte gerade einen kleinen Denkfehler und hatte deinen > Vorschlag nochmal richtig gelesen: > > Nach deinem Vorschlag bedeutet das aber, dass das CM hier das Routing > (NAT) macht. Sprich in meinem jetzigen Aufbau ist das nicht möglich > (alleine nur mit VLANs vom KSZ8895) dies zu realisieren, da das CM mit > Display nur optional ist. Möglich wäre es wieder dann, wenn das CM > fester Bestandteil des Hardwareaufbaus ist und das Display lediglich > optional ist, jedoch aber nicht das CM selbst. Genau so ist es. Alles andere wäre aber mehr Aufwand. > Externes Ethernet <-> ETH A CM // ETH B CM <-> KSZ8895 <-> µC, GerätX,.. > > Im CM dann die entsprechenden NAT Regel aufstellen und fertig. Da wäre > dann ja eigentlich auch kein VLAN Setup im KSZ8895 nötig, wenn das CM > das Routet(?). > > Geht ihr so mit? Das CM hat kein Ethernet eingebaut. Wie realisierst Du das, und wieviele Ethernet-Interfaces hast Du? Wenn Du zwei unabhängige Ethernet-Interfaces hast, brauchst Du kein VLAN. Nur wenn Du nur ein physikalisches Ethernet am CM hast, brauchst Du VLAN, damit die anderen Geräte unter allen Umständen nur und ausschließlich über das CM und dessen IP-Adresse erreichbar ist. Du musst damit nur ein Gerät gegen Angriffe von außen sichern. fchk
Frank K. schrieb: > Das CM hat kein Ethernet eingebaut. Wie realisierst Du das, und wieviele > Ethernet-Interfaces hast Du? > > Wenn Du zwei unabhängige Ethernet-Interfaces hast, brauchst Du kein > VLAN. Nur wenn Du nur ein physikalisches Ethernet am CM hast, brauchst > Du VLAN, damit die anderen Geräte unter allen Umständen nur und > ausschließlich über das CM und dessen IP-Adresse erreichbar ist. Du > musst damit nur ein Gerät gegen Angriffe von außen sichern. Vielen Dank, jetzt bin ich im Bilde :) Jetzt habe ich einen LAN9514 am RPi CM, sodass der Pi dadruch an Netz kommt, sowie PoE für den Saft. Kurz gesagt, das CM mit PoE / LAN und Display ist eine Einheit für sich. Jetzt würde ich das CM mit auf die µC Platine verlagern. Ob ich den RPi mit einem Netzwerkinterface und dann entsprechenden VLANs betreibe oder mit zwei Netzwerkinterfaces, würde ich mal abhängig vom größeren Aufwand machen, sowie dem Platz auf der Platine (ist stark begrenzt). Aktuell tendiere ich zu zwei ETH-Ports am CM durch zwei LAN9514 Chips. Hier müsste der eine LAN9514 an den USB des anderen LAN9514 nehme ich an? Sollte der Kernel vom Pi ja problemlos mit umgehen können? In ein paar Tagen ist mein Prototypen-Board mit dem KSZ8895 und einem Atmega328 daneben da, sowie diversen Jumpern für die Standalone-Variante. Da versuch ich mal mittels SPI dort die entsprechenden Einstellungen zu setzen für die VLAN Geschichte. Vielen Dank für eure Hilfe!
Kleiner Nachtrag: So, ich habe testweise den normalen Raspberry Pi 3 mal als WLAN Router eingerichtet und mit NAT regeln einen dahinterliegenden Webserver angesprochen. Funktioniert wunderbar! Also kommen an mein CM 2 Ethernet-Schnittstellen dran.
Tony S. schrieb: > Also kommen an mein CM 2 Ethernet-Schnittstellen dran. Hättest du VLAN verstanden, (oder versucht, das zu verstehen) wäre das vollkommen unnötig.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.