Question:
Mettre en œuvre un câble Ethernet d'envoi uniquement (unidirectionnel)
M-Razavi
2017-01-09 14:21:35 UTC
view on stackexchange narkive permalink

Je veux construire une communication unidirectionnelle.Dans la couche de transport de cet appareil, il a besoin d'un support unidirectionnel pour envoyer des données du côté A au côté B.

Tous les produits commerciaux utilisent SFP.J'ai testé certains appareils SFP mais ils ont des négociations entre les deux côtés et couper la fibre RX n'est pas possible.
Est-il possible de mettre en œuvre une connexion unidirectionnelle avec un câble CAT5?

CôtéA {tx -> rx} CôtéB

Même si votre appareil envoie uniquement des données, quel mal cela fait-il de toujours connecter la paire RX du commutateur Ethernet à cet appareil à des fins de négociation?
Vous pouvez certainement le faire avec un câble cat5 / 6, bien que vous deviez configurer les deux extrémités pour désactiver la négociation automatique.Peut être limité à 100 Mbits.
Eh bien, vous ne définissez pas réellement ce qu'est une diode de données.Vous ne pouvez pas inventer un terme et supposer que nous le comprendrons.Anway, il semble que vous ayez besoin d'un périphérique qui n'autorise qu'une communication Ethernet unidirectionnelle et qui laisse tomber tous les paquets dans la mauvaise direction.Cela ne peut probablement pas être fait au niveau de la couche physique, car cela gâchera les impulsions de détection de liaison et l'autonégociation.Une façon de concevoir cela serait probablement de connecter deux puces PHY dos à dos (en faisant un simple émetteur-récepteur Ethernet), et, d'un côté, de tirer toutes les broches liées à TX de l'interface MAC à la terre.
Et je pense que la désactivation de l'autonégociation ne suffira pas, car les impulsions de détection de lien ne seront pas autorisées à voyager dans les deux sens.Le test d'intégrité des liens échouera donc.
Quel protocole allez-vous utiliser?Si TCP / IP, alors vous avez ** besoin ** du chemin de retour pour ACK / NACK, le protocole ne fonctionnera pas sans eux.J'ai vu des articles publiés sur la conception d'un protocole pour les `` diodes de données '' pour connecter des systèmes sécurisés à des systèmes non sécurisés, et ils ont passé la plupart du temps à prouver que le taux de fuite de données dans `` l'autre '' direction en supposant qu'un système compromis dans le pire des cas ne pourrait pasdépasser une certaine limite spécifiée par le système, dans ce cas, pour leur protocole, il était <= 0,1 baud inverse basé sur l'accusé de réception de paquets de 10 s de données en avant, ce qui était jugé suffisamment bas pour une utilisation par le gouvernement américain à l'époque.
Il est facile d'implémenter une connexion unidirectionnelle sur CAT5.Utilisez RS232 et connectez uniquement les fils de transmission et de masse.Étant donné que vous n'indiquez pas de protocole ou de débit de données requis, seul un câble physique répondant à toutes les exigences données dans votre question.Si vous souhaitez utiliser une certaine forme d'Ethernet, vous devrez certainement effectuer le filtrage à un niveau supérieur dans le logiciel.
@Neil_UK Je suis presque sûr qu'il n'utilisera pas TCP, car la communication à sens unique et la livraison garantie s'excluent mutuellement par définition.
@Neil_UK le seul protocole qui peut être utilisé dans la diode de données entre deux côtés est UDP.
@Razavi Si vous voulez que les données ne circulent que dans un seul sens, pourquoi utiliser Ethernet?Je veux dire, c'est un protocole ** réseau ** ...
@MarcusMüller Une des raisons serait de réutiliser le logiciel de pile de communication existant, au lieu d'investir des centaines d'heures-homme dans l'écriture et le débogage du vôtre.
@MarcusMüller Il est possible d'utiliser UART, USART, I2C, ... mais la mise en œuvre de chacun d'eux nécessite beaucoup plus de temps et la vitesse du débit de données est importante.
Vouloir forcer une communication à sens unique est une chose inhabituelle à faire.Je ne connais que quelques cas où cela serait souhaitable.Dans chacun de ces cas, il y a un ensemble d'exigences fournies de l'extérieur qui vous sont données quant à ce que signifie «communication à sens unique» pour l'entité qui vous donne ces exigences.Par exemple, s'ils acceptent le modèle OSI, ils peuvent spécifier à quelle couche le comportement unidirectionnel doit se trouver.À quelles exigences devez-vous travailler?
Merci @Razavi pour la confirmation.Oui, il sera difficile de mettre en œuvre une liaison unidirectionnelle à haut débit par vous-même, en particulier lorsqu'elle est destinée à être utilisée comme transport pour les données réseau, de toute façon.
Précisez la nature des données tx, le débit de données requis et tout décodage Rx requis.Cela peut être fait très simplement, mais il y a beaucoup de pensées déroutantes ici, alors @Razavi, clarifie tout cela et énonce spécifiquement ce dont vous avez besoin pour qu'une réponse puisse être donnée au lieu d'opinions et de pensées.Si vous ne pouvez pas fournir plus d'informations, veuillez expliquer pourquoi.Il me semble que vous voulez un système d'envoi de données point à point.
Cinq réponses:
#1
+6
Dmitry Grigoryev
2017-01-09 17:55:23 UTC
view on stackexchange narkive permalink

Les câbles Ethernet unidirectionnels ne fonctionneront pas avec les équipements réseau Gigabit et les versions ultérieures, car sans chemin de retour, la séquence d'autonégociation ne sera jamais terminée. Vous verrez un message «Câble réseau débranché» ou un message équivalent sur les deux appareils si vous essayez d'utiliser un tel câble.

Les appareils Ethernet plus anciens ne fonctionneront pas non plus avec de simples câbles unidirectionnels, mais ils peuvent être dupés. Ce site Web contient des instructions pratiques pour la construction de câbles appropriés. En gros, vous devrez faire quelque chose comme ceci:

  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
| | | | | | | | | |
| + - / | | | | \ ------------- / |
| | | OU | | \ ----------------- /
+ - | --- / | |
| | | |
| | | |
| | | |
6 3 2 1 6 3 2 1
r r x x r r x x
------- -------
CôtéB CôtéB
 

Le port Hub supplémentaire est nécessaire pour fournir une tension sur la paire RX de SideA, pour le tromper en lui faisant croire qu'il y a un émetteur à l'autre extrémité.

Si aucune des solutions ci-dessus ne fonctionne ou si vous ne pouvez pas désactiver la négociation automatique, la meilleure chose à faire est d'implémenter deux périphériques compatibles Ethernet avec un chemin de données à sens unique entre eux. Par exemple, quelques PIC Ethernet avec un UART unidirectionnel entre les deux devraient pouvoir faire l'affaire.

Une chose que vous devriez vous demander avant de continuer est de savoir si vous really avez besoin d'une diode de données. Voici ce que les experts disent:

La plupart des entreprises n’ont pas besoin d’une nouvelle technologie de protection telle que les diodes de données. [...] En supposant que les règles du [pare-feu] n'autorisent que la communication à l'envers, basée sur UDP, et qu'il n'y ait pas de mauvaise configuration dans le pare-feu, je ne me souviens pas d'un exploit de pare-feu qui permettrait à un attaquant externe d'accéder au Périmètre CCA.

J'ai vérifié ce circuit hier, mais cela n'a pas fonctionné.
@Razavi Comment exactement cela n'a-t-il pas fonctionné?La négociation automatique est-elle activée sur vos cartes réseau?
@Razavi J'ai également ajouté une deuxième variante de circuit, mais si quoi que ce soit, il est encore moins sûr de fonctionner (bien que plus simple à faire).Vous pouvez l'essayer, mais je suggère de déboguer le câble original à 3 têtes.
https://electronics.stackexchange.com/q/131192/72179
#2
+5
Olin Lathrop
2017-01-09 18:05:15 UTC
view on stackexchange narkive permalink

Si vous voulez une "direction des données à sens unique", vous devez le faire à un niveau supérieur. Diverses choses supposent une communication bidirectionnelle aux bas niveaux, même si les données au niveau de l'application ne circulent que dans un seul sens.

Par exemple, même si vous envoyez des données dans un seul sens via une connexion TCP, il y aura toujours des paquets qui vont et viennent dans les deux sens. Vous pouvez vous en tirer avec des paquets à sens unique pour les données en utilisant UDP, mais en fonction de ce que vous faites, une communication bidirectionnelle peut être nécessaire pour établir une connexion.

Vous pensez peut-être que vous vous en tiendrez à UDP, mais de nombreux protocoles reposent sur TCP, ce qui nécessite absolument l'envoi de paquets dans les deux sens. Les exemples incluent HTTP (navigation Web) et SMTP (e-mail).

Ethernet suppose également une communication bidirectionnelle entre les deux terminaux, même si les données de niveau supérieur ne sont transportées que dans un seul sens. Il y a des impulsions de liaison, et éventuellement une négociation automatique des paramètres de communication de bas niveau.

Pour obtenir ce que vous voulez, vous devez en gros créer votre propre routeur (bien qu'il puisse être beaucoup plus dépouillé qu'un "routeur" arbitraire). Votre appareil doit toujours envoyer et recevoir des paquets vers / depuis le réseau. Il interprète certains de ces paquets et transmet les données dans une seule direction sur l'autre port. Notez que cela nécessite très probablement une communication bidirectionnelle aux niveaux bas de l'autre côté du routeur, même avec des données au niveau de l'application ne circulant que dans un seul sens.

Si l'on garde des câbles bidirectionnels dans la configuration, on pourrait simplement installer un pare-feu sur SideB qui rejette tous les paquets sortants sauf les accusés de réception TCP.
@Dmitry: Je ne suis pas sûr que ce soit exactement aussi simple, mais oui, c'est ce que je voulais dire en fabriquant votre propre routeur.Il faut une logique à ce niveau pour implémenter des données unidirectionnelles, tout en continuant à recevoir et à envoyer les paquets de bas niveau nécessaires.
Le but d'une diode de données est de * garantir absolument * qu'aucune donnée ne va dans une seule direction ... lorsque vous commencez à autoriser les accusés de réception, alors il ne sert à rien de l'appeler une diode, c'est juste un pare-feu.
@immi: Ni la question ni la réponse ne disent quoi que ce soit sur une "diode de données".
#3
+3
asndre
2017-02-05 15:23:38 UTC
view on stackexchange narkive permalink

C'est possible sur 10BASE-T et 100BASE-TX, mais pas sur 1000BASE-T car ce dernier utilise une transmission bidirectionnelle sur chaque paire.

Pour activer un tel mode, vous avez besoin d'un accès MDIO / MDC (gestion) au PHY au moins du côté TX de la liaison unidirectionnelle, pour le configurer comme suit:

  • désactiver AUTONEG
  • force 100BASE-TX (ou 10BASE-T, mais pas 1000BASE-T)
  • forcer le duplex intégral
  • désactiver la signalisation FAR END FAULT

La configuration du RX PHY est facultative mais peut aider selon les spécificités du matériel. S'il est utilisé, la configuration du RX PHY est la même que celle du TX PHY.

Il s'agit d'un équipement spécifique, mais de nombreux commutateurs gérés (avec SFP ou non) permettent à l'utilisateur de configurer manuellement les ports Ethernet via l'interface Web et / ou la console. Vous devez d'abord examiner les fiches techniques de votre équipement, puis l'essayer.

Qu'en est-il des autres réponses, le schéma de gauche de @ Dmitry peut échouer car ni 100BASE-TX ni 10BASE-T ne sont destinés à être utilisés sur une seule paire de la boîte, tandis que son schéma de droite est plus proche de ce dont vous avez besoin mais où nous pourrions obtenir un vrai hub (pas un switch) aujourd'hui? et aussi, un hub ne fonctionne qu'avec 10BASE-T.

Pendant ce temps, @Olin parle d'autre chose (de niveau supérieur) mais pas de la diode de données (physique, restreinte au milieu) sur laquelle vous posez la question.

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

Fonctionne uniquement à 10 / 100mbps.Si vous fixez la vitesse du port à 100 Mbps.Revenez en boucle Tx + à Rx + (et éventuellement Tx- à Rx-) sur l'émetteur et connectez en parallèle Tx + et Tx- de l'émetteur à Rx + et Rx- du récepteur.J'ai observé que Rx devrait recevoir une tension pour que le port soit considéré comme activé.Bien que ce ne soit pas un problème avec le récepteur car le rx du récepteur est connecté au TX de l'expéditeur.L'émetteur par contre a ses jambes de réception libres.Vous pouvez éventuellement connecter une batterie ici ??!.Mais une solution plus simple consiste à effectuer un bouclage à partir de son propre tx.

La diffusion UDP est une bonne option ... en supposant que vous transmettez à l'aveugle ... et que vous ne pouvez évidemment rien voir à l'autre extrémité du câble qui répond en raison d'une configuration à sens unique. La transmission multiple des mêmes paquets peut aider en cas de perte de paquets???C'est à vous de comprendre

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

Il existe une solution et elle a été conçue pour les applications de diodes de données.Il s'agit du convertisseur de média non géré, modifié pour être utilisé par paires et prendre en charge le trafic unidirectionnel de B + B SmartWorx.856-10730-RX et 856-10730-TX

Avez-vous comparé le coût de ces coûts de méthode de remorquage ???
Vous devriez comparer les coûts - ce sont vos fonds ou votre budget, pas les nôtres ou les siens .... @Razavi


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...