Frage:
Implementieren Sie ein Nur-Sende-Ethernet-Kabel
M-Razavi
2017-01-09 14:21:35 UTC
view on stackexchange narkive permalink

Ich möchte eine unidirektionale Kommunikation aufbauen.In der Transportschicht dieses Geräts benötigt es ein Einwegmedium, um Daten von Seite A nach Seite B zu senden.

Alle kommerziellen Produkte verwenden SFP.Ich habe einige SFP-Geräte getestet, aber sie haben Verhandlungen zwischen den beiden Seiten und das Schneiden von RX-Fasern ist nicht möglich.
Ist es möglich, eine Einwegverbindung mit einem CAT5-Kabel zu implementieren?

SideA {tx -> rx} SideB

Selbst wenn Ihr Gerät nur Daten sendet, welchen Schaden kann es anrichten, wenn das Empfangspaar vom Ethernet-Switch zu Verhandlungszwecken mit diesem Gerät verbunden wird?
Sie können dies sicherlich mit einem Cat5 / 6-Kabel tun, obwohl Sie beide Enden konfigurieren müssen, um die automatische Aushandlung zu deaktivieren.Kann auf 100 MBit begrenzt sein.
Nun, Sie definieren nicht wirklich, was eine Datendiode ist.Sie können sich keinen Begriff ausdenken und davon ausgehen, dass wir ihn verstehen.Wie auch immer, es scheint, dass Sie ein Gerät benötigen, das nur eine Einweg-Ethernet-Kommunikation zulässt und alle Pakete in die falsche Richtung verwirft.Dies ist auf der physischen Ebene wahrscheinlich nicht möglich, da es die Verbindungserkennungsimpulse und die Autonegotiation durcheinander bringt.Eine Möglichkeit, dies zu entwerfen, besteht wahrscheinlich darin, zwei PHY-Chips hintereinander zu verbinden (was einen einfachen Ethernet-Transceiver ergibt) und auf einer Seite alle TX-bezogenen Pins der MAC-Schnittstelle an Masse zu ziehen.
Und ich denke, dass es nicht ausreicht, nur die Autonegotiation zu deaktivieren, da die Verbindungserkennungsimpulse nicht in beide Richtungen wandern dürfen.Der Verbindungsintegritätstest schlägt also fehl.
Welches Protokoll werden Sie verwenden?Wenn TCP / IP, dann ** benötigen ** Sie den Rückweg für ACK / NACK, das Protokoll funktioniert ohne diese nicht.Ich habe Artikel über den Entwurf eines Protokolls für "Datendioden" zum Verbinden sicherer Systeme mit unsicheren Systemen gesehen, und sie haben die meiste Zeit damit verbracht, zu beweisen, dass die Datenleckrate in die "andere" Richtung unter der Annahme eines im schlimmsten Fall kompromittierten Systems nicht möglich istÜberschreiten eines vom System festgelegten Grenzwerts, in diesem Fall war es für ihr Protokoll <= 0,1 Baud-Rückwärts, basierend auf der Bestätigung von 10s-Paketen von Vorwärtsdaten, was zu diesem Zeitpunkt als niedrig genug für die Verwendung durch die US-Regierung angesehen wurde.
Es ist einfach, eine Einwegverbindung über CAT5 zu implementieren.Verwenden Sie RS232 und verbinden Sie nur die Sende- und Erdungskabel.Da Sie kein erforderliches Protokoll oder keine Datenrate angeben, nur ein physisches Kabel, das alle in Ihrer Frage angegebenen Anforderungen erfüllt.Wenn Sie eine Form von Ethernet verwenden möchten, müssen Sie mit ziemlicher Sicherheit die Filterung auf einer höheren Ebene in der Software durchführen.
@Neil_UK Ich bin mir ziemlich sicher, dass er TCP nicht verwenden wird, da sich Einwegkommunikation und garantierte Zustellung per Definition gegenseitig ausschließen.
@Neil_UK Das einzige Protokoll, das in der Datendiode zwischen zwei Seiten verwendet werden kann, ist UDP.
@Razavi Wenn Sie möchten, dass Daten nur in eine Richtung fließen, warum sollten Sie dann überhaupt Ethernet verwenden?Ich meine, es ist ein ** Netzwerk ** Protokoll ...
@MarcusMüller Ein Grund wäre, vorhandene Kommunikations-Stack-Software wiederzuverwenden, anstatt Hunderte von Arbeitsstunden in das Schreiben und Debuggen Ihrer eigenen zu investieren.
@MarcusMüller Es ist möglich, UART, USART, I2C, ... zu verwenden, aber die Implementierung jedes einzelnen erfordert viel mehr Zeit und Datenratengeschwindigkeit ist wichtig.
Es ist ungewöhnlich, eine einseitige Kommunikation erzwingen zu wollen.Ich kenne nur wenige Fälle, in denen dies wünschenswert wäre.In jedem dieser Fälle gibt es einige extern bereitgestellte Anforderungen, die Ihnen gestellt werden, was "Einwegkommunikation" für das Unternehmen bedeutet, das Ihnen diese Anforderungen stellt.Wenn sie beispielsweise das OSI-Modell akzeptieren, können sie angeben, auf welcher Ebene sich das Einwegverhalten befinden muss.An welchen Anforderungen müssen Sie arbeiten?
@Razavi danke für die Bestätigung.Ja, es wird schwierig sein, eine unidirektionale Hochgeschwindigkeitsverbindung selbst zu implementieren, insbesondere wenn sie ohnehin als Transport für Netzwerkdaten verwendet werden soll.
Geben Sie insbesondere die Art der Sendedaten, die erforderliche Datenrate und die erforderliche Rx-Decodierung an.Dies kann ganz einfach gemacht werden, aber es gibt viele verwirrende Gedanken, also klärt @Razavi, all dies auf und gibt genau an, was Sie benötigen, damit anstelle von Meinungen und Gedanken eine Antwort gegeben werden kann.Wenn Sie keine weiteren Informationen bereitstellen können, erklären Sie bitte, warum.Mir scheint, Sie möchten ein Punkt-zu-Punkt-Datenübertragungssystem.
Fünf antworten:
Dmitry Grigoryev
2017-01-09 17:55:23 UTC
view on stackexchange narkive permalink

Einweg-Ethernet-Kabel funktionieren nicht mit Gigabit-Netzwerkgeräten und später, da ohne einen Rückweg die Autonegotiation -Sequenz niemals abgeschlossen wird. Wenn Sie versuchen, ein solches Kabel zu verwenden, wird auf beiden Geräten ein "Netzwerkkabel abgezogen" oder eine entsprechende Meldung angezeigt.

Ältere Ethernet-Geräte funktionieren auch nicht mit einfachen Einwegkabeln, können aber dazu getäuscht werden. Diese Website enthält praktische Anweisungen zum Bau geeigneter Kabel. Im Wesentlichen müssen Sie Folgendes tun:

  SideA SideA HUB PORT
------- ------- -------
x x r r x x r r r r x x
6 3 1 2 6 3 2 1 1 2 3 6
| | | | | | | | | |
| + - / | | | | \ ------------- / |
| | | ODER | | \ ----------------- /
+ - | --- / | |
| | | |
| | | |
| | | |
6 3 2 1 6 3 2 1
r r x x r r x x
------- -------
SideB SideB
 

Der zusätzliche Hub-Port wird benötigt, um Spannung über das RX-Paar von SideA bereitzustellen, um zu glauben, dass sich am anderen Ende ein Sender befindet.

Wenn keines der oben genannten Verfahren funktioniert oder Sie die automatische Aushandlung nicht deaktivieren können, ist es am besten, zwei Ethernet-fähige Geräte mit einem Einweg-Datenpfad zwischen ihnen zu implementieren. Zum Beispiel sollten einige Ethernet-PICs mit einem unidirektionalen UART dazwischen in der Lage sein, den Trick auszuführen.

Eine Sache, die Sie sich fragen sollten, bevor Sie fortfahren, ist, ob Sie really eine Datendiode benötigen. Das sagen die Experten :

Die meisten Unternehmen benötigen keine neue Schutztechnologie wie Datendioden. [...] Angenommen, die [Firewall] -Regeln erlauben nur eine UDP-basierte Kommunikation von innen nach außen, und es gibt keine Fehlkonfiguration in der Firewall. Ich kann mich nicht an einen Firewall-Exploit erinnern, der es einem externen Angreifer ermöglichen würde, Zugriff auf die zu erhalten CCA-Umfang.

Ich habe diese Schaltung gestern überprüft, aber nicht funktioniert.
@Razavi Wie genau hat es nicht funktioniert?Haben Sie die automatische Aushandlung auf Ihren Netzwerkkarten aktiviert?
@Razavi Ich habe auch eine zweite Schaltungsvariante hinzugefügt, aber wenn überhaupt, ist es noch weniger sicher zu funktionieren (wenn auch einfacher zu machen).Sie können es ausprobieren, aber ich empfehle, das ursprüngliche 3-adrige Kabel zu debuggen.
https://electronics.stackexchange.com/q/131192/72179
Olin Lathrop
2017-01-09 18:05:15 UTC
view on stackexchange narkive permalink

Wenn Sie eine "Einweg-Datenrichtung" wünschen, müssen Sie dies auf einer höheren Ebene tun. Verschiedene Dinge setzen eine bidirektionale Kommunikation auf niedrigen Ebenen voraus, selbst wenn Daten auf App-Ebene nur in eine Richtung fließen.

Selbst wenn Sie beispielsweise Daten über eine TCP-Verbindung nur in eine Richtung senden, werden weiterhin Pakete in beide Richtungen hin und her gesendet. Mit UDP können Sie mit Einwegpaketen für Daten davonkommen. Je nachdem, was Sie tun, ist möglicherweise eine bidirektionale Kommunikation erforderlich, um eine Verbindung herzustellen.

Sie denken vielleicht, Sie bleiben nur bei UDP, aber viele Protokolle sind auf TCP geschichtet, was unbedingt das Senden von Paketen in beide Richtungen erfordert. Beispiele hierfür sind HTTP (Surfen im Internet) und SMTP (E-Mail).

Ethernet setzt auch eine bidirektionale Kommunikation zwischen den beiden Endpunkten voraus, selbst wenn Daten auf höherer Ebene nur in eine Richtung übertragen werden. Es gibt Verbindungsimpulse und möglicherweise eine automatische Aushandlung von Kommunikationsparametern auf niedriger Ebene.

Um das zu bekommen, was Sie wollen, müssen Sie im Grunde Ihren eigenen Router erstellen (obwohl dieser viel einfacher sein kann als ein beliebiger "Router"). Ihr Gerät muss weiterhin Pakete zum / vom Netzwerk senden und empfangen. Es interpretiert einige dieser Pakete und leitet Daten nur in eine Richtung über den anderen Port. Beachten Sie, dass dies höchstwahrscheinlich wieder eine bidirektionale Kommunikation auf den niedrigen Ebenen auf der anderen Seite des Routers erfordert, selbst wenn Daten auf Anwendungsebene nur in eine Richtung fließen.

Wenn man bidirektionale Kabel im Setup behält, kann man einfach eine Firewall auf SideB installieren, die alle ausgehenden Pakete mit Ausnahme von TCP-Bestätigungen ablehnt.
@Dmitry: Ich bin mir nicht sicher, ob es genau so einfach ist, aber ja, das habe ich damit gemeint, einen eigenen Router zu bauen.Auf dieser Ebene ist Logik erforderlich, um Einwegdaten zu implementieren, während weiterhin die erforderlichen Pakete auf niedriger Ebene empfangen und gesendet werden.
Der Sinn einer Datendiode besteht darin, * absolut zu garantieren *, dass keine Daten in eine Richtung gehen ... Wenn Sie anfangen, Bestätigungen zurückzulassen, ist es sinnlos, sie als Diode zu bezeichnen, sondern nur als Firewall.
@immi: Weder die Frage noch die Antwort sagen etwas über eine "Datendiode" aus.
asndre
2017-02-05 15:23:38 UTC
view on stackexchange narkive permalink

Dies ist bei 10BASE-T und 100BASE-TX möglich, jedoch nicht bei 1000BASE-T, da letzteres für jedes Paar eine bidirektionale Übertragung verwendet.

Um einen solchen Modus zu aktivieren, benötigen Sie mindestens auf der TX-Seite der Einwegverbindung einen MDIO / MDC-Zugriff (Verwaltungszugriff) auf das PHY, um es wie folgt zu konfigurieren:

  • AUTONEG deaktivieren
  • 100BASE-TX (oder 10BASE-T, aber nicht 1000BASE-T) erzwingen
  • Vollduplex erzwingen
  • Deaktivieren Sie die FAR END FAULT-Signalisierung

Die Konfiguration des RX PHY ist optional, kann jedoch abhängig von den Hardwarespezifikationen hilfreich sein. Bei Verwendung entspricht die RX PHY-Konfiguration der TX PHY-Konfiguration.

Es ist gerätespezifisch, aber viele verwaltete Switches (mit oder ohne SFPs) bieten dem Benutzer die Möglichkeit, die Ethernet-Ports manuell über die Webschnittstelle und / oder die Konsole zu konfigurieren. Sie müssen zuerst die Datenblätter auf Ihrem Gerät untersuchen und dann testen.

Was ist mit anderen Antworten? Das linke Schema von @ Dmitry schlägt möglicherweise fehl, da weder 100BASE-TX noch 10BASE-T für ein einzelnes Paar aus der Box verwendet werden sollen, während sein rechtes Schema näher an dem liegt, was Sie benötigen, aber wo wir es bekommen könnten ein echter Hub (kein Switch) heute? Außerdem funktioniert ein Hub nur mit 10BASE-T.

Währenddessen spricht @Olin über etwas anderes (höheres Niveau), aber nicht über die (physikalische, mittelbeschränkte) Datendiode, nach der Sie fragen.

Kiran
2017-07-17 18:41:16 UTC
view on stackexchange narkive permalink

Funktioniert nur mit 10 / 100mbps.Wenn Sie die Portgeschwindigkeit auf 100 MBit / s festlegen.Schleifen Sie Tx + zu Rx + (und optional Tx- zu Rx-) am Sender zurück und verbinden Sie parallel Tx + und Tx- des Senders mit Rx + und Rx- des Empfängers.Ich habe beobachtet, dass Rx eine Spannung empfangen sollte, damit der Port als aktiviert betrachtet wird.Dies ist zwar kein Problem mit dem Empfänger, da der Empfängerempfang mit dem TX des Senders verbunden ist.Der Sender hingegen hat seine Empfangsbeine frei.Sie können hier möglicherweise eine Batterie anschließen ??!.Eine einfachere Lösung ist jedoch das Loopback von seinem eigenen TX.

UDP-Broadcast ist eine gute Option. Angenommen, Sie senden blind. Und am anderen Ende des Kabels können Sie offensichtlich nichts sehen, was auf eine Einwegkonfiguration reagiert. Eine mehrfache Übertragung derselben Pakete kann bei Paketverlust hilfreich sein.??Das müssen Sie herausfinden

susan stanley
2017-10-13 23:15:03 UTC
view on stackexchange narkive permalink

Es gibt eine Lösung, die für Datendiodenanwendungen entwickelt wurde.Es handelt sich um den nicht verwalteten Medienkonverter, der für die paarweise Verwendung modifiziert wurde und Einwegverkehr von B + B SmartWorx unterstützt.856-10730-RX und 856-10730-TX

Haben Sie die Kosten für diese Abschleppmethode verglichen?
Sie sollten die Kosten vergleichen - es sind Ihre Mittel oder Ihr Budget, nicht unsere oder ihre ... @Razavi


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...