Frage:
Gibt es eine Möglichkeit, serielle Daten ohne Kapselung über die physische Ethernet-Schicht zu senden?
Uğur Gümüşhan
2012-01-05 05:06:10 UTC
view on stackexchange narkive permalink

Ich frage mich, ob ich die physische Ethernet-Schicht wie eine serielle Schnittstelle verwenden kann. Ist es möglich? Der Fall wäre das Lesen von Signalen mit einem elektronischen Gerät, ohne sich mit Netzwerk-Headern zu befassen.

Meine ruckartige Antwort ist, Ihnen zu sagen, dass Sie ein OpenGear verwenden sollen. Aber ich würde das auch Kapselung nennen. Obwohl ich mich frage, ob das, was ich als Kapselung betrachte, nicht wirklich das ist, was du damit meinst ...?
Sechs antworten:
user3624
2012-01-05 10:08:53 UTC
view on stackexchange narkive permalink

Ja, absolut können Sie die Netzwerkprotokollschichten verlassen und Daten "direkt" senden. Aber wahrscheinlich möchten Sie das nicht.

Sie verwenden Standard-Ethernet-Phys, -Magnetics und -Anschlüsse. Anstatt einen Ethernet-MAC (Media Access Controller) zu verwenden, verwenden Sie ein FPGA, um Daten ohne Netzwerk-Overhead zu senden / empfangen. Dies wurde für mehrere "nicht ganz Ethernet-kompatible" Schnittstellen wie Ethersound und andere Industrieprotokolle durchgeführt.

Eine Sache, die Sie nicht loswerden können, ist die Paketnatur. Sie müssen weiterhin Daten in Paketen von 64 bis etwa 1500 Byte übertragen (einige Phys erlauben Pakete mit bis zu 8192 Byte). Sie können keine Pakete übertragen, die kleiner als 64 Byte oder größer als 1500 sind. Außerdem müssen Sie die richtige "Lücke" zwischen Paketen berücksichtigen. Sie haben jedoch die vollständige Kontrolle darüber, was in den Paketen enthalten ist, und über alle Header (falls vorhanden).

Ich beschönige jedoch viele Details. Es ist eigentlich gar nicht so einfach und die Anforderungen sind unterschiedlich, je nachdem, welchen Ethernet-Standard Sie verwenden möchten (10/100/1000 Mbit / s). In einigen Fällen müssen Probleme mit der Signalcodierung behoben werden.

Ich würde empfehlen, dies nicht mit Ethernet zu tun. Das Entwerfen der FPGA-Logik erfordert viel Geschick - Fähigkeiten, über die die meisten Menschen nicht verfügen. Und die Vorteile davon sind minimal. Es ist viel einfacher, einfach die Standard-Ethernet-Controller und die zugehörigen Protokollstapel zu verwenden, als sich ein eigenes Ding auszudenken.

Die Anforderungen an die Paketlänge werden auferlegt, um eine zuverlässige Kollisionserfassung und -wiederherstellung sicherzustellen. Wenn man ein privates Netzwerk mit einer anderen maximalen Kabellänge und Wiederholungszeiten betreibt, könnte man kürzere oder längere Pakete zulassen. Die im Ethernet verwendete Codierung auf Byte-Ebene erfordert jedoch, dass Datenbytes nacheinander ohne Pausen gesendet werden, im Gegensatz zu asynchronen seriellen Daten, die beliebige Zeitmengen zwischen Bytes aufnehmen und beibehalten können.
@supercat Das ist nicht ganz richtig, zumindest nicht in diesem Zusammenhang. Kürzere Pakete sind möglicherweise in Ordnung, längere jedoch nicht (sofern im Phy-Datenblatt nichts anderes angegeben ist). Der Phy macht etwas namens "Baseline Wander Correction". Normalerweise verwendet der Phy die Lücke zwischen den Paketen, um die Basislinie neu zu kalibrieren. Wenn dies nicht häufig genug gemacht wird, geht es aus dem Ruder und Sie erhalten Datenfehler. Moderne Physiker mit besserer BWC ermöglichen längere Paketlängen (a.k.a. Jumbo-Pakete). Die Kollisionserkennung spielt eine Rolle, aber das ist nicht die ganze Geschichte.
RedGrittyBrick
2012-01-05 05:23:49 UTC
view on stackexchange narkive permalink

Sie können RS232 tatsächlich über ein Cat5-Ethernet-Kabel betreiben. Router und ähnliche Geräte verfügen manchmal über serielle "Konsolen" -Anschlüsse mit modularen 8P8C-Buchsen (RJ45-Buchsen).

Wenn Sie jedoch serielle Daten über eine Ethernet-Netzwerkkarte senden möchten, ohne dass tatsächlich Ethernet-Pakete auf dem Kabel angezeigt werden, sind Sie dies Pech.

Andererseits verkaufen viele Hersteller Seriell-Ethernet-Konverter, die paarweise verwendet werden können, um serielle Geräte über die Ethernet-Infrastruktur transparent zu verbinden. Suche nach "Ethernet Serial"

Example from gridconnect.com

Manchmal wird diese mit "ComPort Redirector Software" geliefert, die einen virtuellen Com-Port auf einem Computer erstellt. Diese funktionieren wahrscheinlich mit den meisten Anwendungen, die eine echte serielle Schnittstelle erwarten. Sie funktionieren möglicherweise nicht, wenn Sie Bit-Twiddling auf niedriger Ebene ausführen.

enter image description here

Wenn sich dazwischen ein Schalter befindet, wird dies * sehr * verwirrt.
Scott Chamberlain
2012-01-05 05:32:11 UTC
view on stackexchange narkive permalink

Aufgrund Ihrer Frage denke ich, dass ich weiß, was Sie wollen, aber ich möchte zuerst einige Dinge klären.

  • Ethernet (oder als Standard IEEE 802.3) befindet sich auf Schicht 2 ( Datenverbindungsschicht) des OSI-Modells.
  • Der Draht (das Cat5 / 6-Kabel und die RJ45 -Anschlüsse) ist tatsächlich in Schicht 1 ( Physikalische Schicht) definiert. Möglicherweise haben Sie von der gehört Der Begriff 100BASE-T definiert zuvor die physische Schicht.
  • Ethernet muss nicht über 100BASE-T ausgeführt werden, und 100BASE-T muss kein Ethernet übertragen. li>

Nun zu Ihrer Frage:

Sie können Geräte kaufen, die seriell über 100BASE-T übertragen, aber keine Kapselung durchführen. Diese Geräte funktionieren nicht mit Ihrem Heimnetzwerk, da Ihr Switch / Hub / Router erwartet, dass IEEE 802.3-Pakete über das Kabel kommen und keine seriellen Pakete.

Sie können auch Geräte erwerben, die seriell über IP arbeiten, jedoch kein 100BASE-T-Kabel (oder Ethernet) verwenden müssen.

Shane Madden
2012-01-05 05:11:46 UTC
view on stackexchange narkive permalink

Ja und Nein; Kupfer ist Kupfer und RJ45-Kupfer eignet sich hervorragend für serielle Verbindungen. Verwechseln Sie es jedoch nicht mit Ethernet, es sei denn, es handelt sich um das Ethernet-Protokoll. Switches und andere Ethernet-Geräte werden nicht genehmigt.

Cisco gefällt diese Idee auf jeden Fall. zum Beispiel; Das standardmäßige serielle Cisco-Konsolenkabel besteht aus RJ45-Kupfer auf der Geräteseite. enter image description here

Dabei wird nicht die [physikalische Ethernet-Schicht] (http://en.wikipedia.org/wiki/Ethernet_physical_layer) verwendet, sondern nur Ethernet-Kabel. Die physikalische Schicht umfasst das Signalisierungsverfahren, die Spannungspegel, die Pinbelegung usw.
@DavidSchwartz "ohne sich mit Netzwerk-Headern zu befassen" nimmt einen direkt aus dem Bereich des Ethernet. Angesichts dessen vermutete ich, dass er CAT5 für eine serielle Verbindung verwenden möchte. Uğur, ist das der Fall?
Netzwerk-Header sind nicht Teil der physischen Ethernet-Schicht. Sie nehmen an, dass er mit dem Fachbegriff "[Physikalische Ethernet-Schicht] (http://en.wikipedia.org/wiki/Ethernet_physical_layer)" etwas Nicht-Standardisiertes gemeint hat. Man könnte meinen, er hätte "Ethernet-Kabel" oder etwas ähnlich Informelles gesagt.
@DavidSchwartz Sie haben absolut Recht, aber es gibt auch eine potenzielle Sprachbarriere. Die Formulierung der Frage ließ mich denken, dass Ethernet nicht der Begriff war, nach dem er suchte. Ich werde diese Antwort löschen, wenn sich herausstellt, dass dies nicht der Fall ist - und ich habe Ihre Antwort für die Beantwortung der eigentlichen Frage anstelle der vorgestellten Frage positiv bewertet.
Die einzige Ausnahme, die ich mir vorstellen kann, ist IMPI / Seriell über LAN oder IAMT / SOL, von dem ich vermute, dass es noch eine Kapselung erfordert (ich habe nie Datenverkehr mit der Absicht, dies zu überprüfen, beschnüffelt) - in Übereinstimmung mit David Schartz, Bitte geben Sie weitere Informationen an, damit wir Ihnen helfen können.
+1 Ich denke, dies beantwortet das, was das OP ursprünglich im Sinn hatte.
Olin Lathrop
2012-01-05 21:15:47 UTC
view on stackexchange narkive permalink

Nein, nicht mit dem, was normalerweise als "physikalische Schicht" des Ethernet verstanden wird. Dies schließt das Kabel, die Magnete und das PHY ein (steht für "physikalisch"). Selbst auf der physischen Ebene senden Sie nicht nur beliebige 0- und 1-Ebenen an das andere Ende.

Es gibt auch mehrere Dinge, die als "Ethernet" bezeichnet werden und sich auf der physischen Ebene unterscheiden. Es gibt das Original, 10base-2, 10base-T, 100base-T usw. Die älteren, langsameren verwendeten die Manchester-Codierung, wenn ich mich recht erinnere. Bei 100 Mbit / s wurden die Dinge geändert, um die höhere Geschwindigkeit zu erreichen. Selbst wenn Sie sich auf die alten 10-Mbit / s-Manchester-codierten Versionen beschränken würden, wäre die Antwort immer noch nein. Daten werden von Natur aus in Paketen gesendet. Diese haben eine private Präambel für die Phy-Schicht, die teilweise zur Kollisionserkennung (in einigen Varianten), zur Taktsynchronisation und zum Start der Paketidentifikation verwendet wird. Dann gibt es einige Signalpakete außerhalb des Pakets, wie beispielsweise Verbindungsimpulse, die in der physikalischen Schicht verarbeitet werden. Da das Ethernet transformatorgekoppelt ist, muss alles mit einer Mindestfrequenz geschehen, da der Gleichstrompegel von einem Ende zum anderen verloren geht. Dies ist ein Grund für die Manchester-Codierung.

Sie können ein privates Ethernet mit nur einem Phy an jedem Ende einrichten und einzelne Pakete senden. Technisch gesehen benötigen Sie keine MAC-Schicht, wenn Sie nur Pakete mit Rohbits von einem Ende zum anderen erhalten möchten. In der Praxis ist es wahrscheinlich auch einfacher, an jedem Ende eine MAC-Schicht zu verwenden, selbst wenn Sie nur Bitpakete von einem Ende zum anderen möchten. Phy-Chips sind normalerweise so konzipiert, dass sie nur von bestimmten MAC-Chips angetrieben werden. Manchmal werden PHY und MAC in einem Chip integriert, der als MAC / PHY bezeichnet wird. Sie können weiterhin Pakete mit Rohdaten auf MAC-Ebene senden, indem Sie einige der Wrapper-Inhalte ignorieren.

David Schwartz
2012-01-05 05:12:19 UTC
view on stackexchange narkive permalink

Dazu müssen Sie die physische Schicht PHYceiver von einer Ethernet-Karte nehmen und an eine serielle Schnittstelle anstatt an einen Ethernet-Controller anschließen.

Beachten Sie dies Sie können diesen Punkt-zu-Punkt nur verwenden. Sie konnten keine Hubs oder Switches verwenden. Einige Hubs funktionieren möglicherweise durch Glück, Switches jedoch definitiv nicht.

Was ist das äußere Problem? Es gibt wahrscheinlich viel bessere Möglichkeiten, um die Arbeit zu erledigen.

Machen Sie Ihren letzten Absatz zu einem Kommentar. Idealerweise sollten Sie vor der Beantwortung alle relevanten Fragen stellen.
Nein, Sie können einen Phy nicht "einfach" nehmen und an eine serielle Schnittstelle anschließen. Für die Standard-MII / GMII / Etc-Schnittstellen zu Phy's müssen bestimmte Symbole übertragen werden, die mit einer einfachen seriellen Verbindung nicht möglich sind.
@DavidKessner Du hast recht. Sie müssten getaktet und codiert werden, was der PHY tolerieren könnte. Die Idee ist im Grunde ein Nichtstarter.
@Kellenjb Ich muss das nicht wissen, um seine Frage zu beantworten. Ich schlage nur vor, dass er die falsche Frage stellt.


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...