Реализовать кабель Ethernet только для отправки (односторонний)

Я хочу построить однонаправленное общение. На транспортном уровне этого устройства ему требуется односторонний носитель для отправки данных со стороны A на сторону B.

Все коммерческие продукты используют SFP . Я протестировал несколько SFP-устройств, но у них есть согласование между двумя сторонами, и обрезка RX-волокна невозможна.
Можно ли реализовать одностороннее соединение кабелем CAT5?

Сторона A { tx --> rx } Сторона B

Даже если ваше устройство только отправляет данные, что плохого в том, чтобы по-прежнему подключать пару RX от коммутатора Ethernet к этому устройству для целей согласования?
Вы, безусловно, можете сделать это с кабелем категории 5/6, хотя вам нужно будет настроить оба конца, чтобы отключить автоматическое согласование. Может быть ограничено до 100 Мбит.
Ну, вы на самом деле не определяете, что такое диод данных. Вы не можете придумать термин и предположить, что мы его поймем. В любом случае, похоже, вам нужно устройство, которое обеспечивает только одностороннюю связь по Ethernet и отбрасывает все пакеты, идущие в неправильном направлении. Это, вероятно, нельзя сделать на физическом уровне, так как это испортит импульсы обнаружения канала и автосогласование. Один из способов спроектировать это, вероятно, состоит в том, чтобы соединить две микросхемы PHY вплотную друг к другу (создав простой приемопередатчик Ethernet) и, с одной стороны, подключить все контакты интерфейса MAC, связанные с TX, к земле.
И я думаю, что просто отключить автосогласование будет недостаточно, так как импульсы обнаружения соединения не смогут проходить в обоих направлениях. Таким образом, проверка целостности ссылки не будет выполнена.
Какой протокол вы собираетесь использовать? Если TCP/IP, то вам нужен обратный путь для ACK/NACK, без них протокол работать не будет. Я видел опубликованные документы о разработке протокола для «диодов данных» для соединения защищенных систем с незащищенными, и они потратили большую часть времени на доказательство того, что скорость утечки данных в «другом» направлении, предполагая, что в худшем случае скомпрометированная система не может превышает некоторый установленный системой предел, в этом случае для их протокола это было <= 0,1 бод в обратном направлении на основе подтверждения 10-секундных пакетов прямых данных, что в то время считалось достаточно низким для использования правительством США.
Легко реализовать одностороннее соединение по CAT5. Используйте RS232 и подключайте только провода передачи и заземления. Поскольку вы не указываете требуемый протокол или скорость передачи данных, укажите только физический кабель, отвечающий всем требованиям, указанным в вашем вопросе. Если вы хотите использовать какую-либо форму Ethernet, вам почти наверняка придется выполнять фильтрацию на более высоком уровне в программном обеспечении.
@Neil_UK Я почти уверен, что он не собирается использовать TCP, поскольку односторонняя связь и гарантированная доставка по определению являются взаимоисключающими.
@Neil_UK Единственный протокол, который можно использовать в Data Diode между двумя сторонами, — это UDP.
@Razavi Если вы хотите, чтобы данные передавались только в одном направлении, зачем вообще использовать Ethernet? Я имею в виду, это сетевой протокол...
@MarcusMüller Одной из причин может быть повторное использование существующего программного обеспечения стека связи вместо того, чтобы тратить сотни человеко-часов на написание и отладку собственного.
@MarcusMüller Можно использовать UART, USART, I2C, ... но для реализации каждого из них требуется гораздо больше времени, а скорость передачи данных важна.
Желание навязать одностороннее общение — необычная вещь. Я знаю лишь несколько случаев, когда это было бы желательно. В каждом из этих случаев есть некоторый внешний набор требований, которые вам даются относительно того, что означает «односторонняя связь» для объекта, предъявляющего вам эти требования. Например, если они принимают модель OSI, они могут указать, на каком уровне должно быть одностороннее поведение. С какими требованиями вы должны работать?
@Razavi спасибо за подтверждение. Да, будет сложно реализовать высокоскоростную однонаправленную связь самостоятельно, особенно когда она в любом случае предназначена для использования в качестве транспорта для сетевых данных.
В частности, укажите характер передаваемых данных, требуемую скорость передачи данных и любое требуемое декодирование Rx. Это можно сделать довольно просто, но здесь возникает много запутанных мыслей, поэтому, @Razavi, проясните все это и конкретно укажите, что вам нужно, чтобы можно было дать ответ вместо мнений и мыслей. Если вы не можете предоставить дополнительную информацию, объясните, почему. Мне кажется, что вы хотите систему отправки данных точка-точка.

Ответы (6)

Односторонние кабели Ethernet не будут работать с сетевым оборудованием Gigabit и более поздних версий, поскольку без обратного пути последовательность автосогласования никогда не будет завершена. Вы увидите сообщение «Сетевой кабель отключен» или аналогичное сообщение на обоих устройствах, если попытаетесь использовать такой кабель.

Старые устройства Ethernet также не будут работать с простыми односторонними кабелями, но их можно обмануть. На этом веб-сайте есть практические инструкции по сборке подходящих кабелей. По сути, вам нужно будет сделать что-то вроде этого:

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
| | | |         | | | |             | |
| +-/ |         | | | \-------------/ |
| |   |    OR   | | \-----------------/
+-|---/         | |             
| |             | |
| |             | |
| |             | |
6 3 2 1         6 3 2 1
r r x x         r r x x
-------         -------
SideB           SideB

Дополнительный порт концентратора необходим для подачи напряжения на пару RX SideA, чтобы обмануть его, заставив поверить, что на другом конце есть передатчик.

Если ничего из вышеперечисленного не работает или вы не можете отключить автосогласование, лучше всего реализовать два устройства с поддержкой Ethernet с односторонним путем передачи данных между ними. Например, пара PIC Ethernet с однонаправленным UART между ними должна сработать.

Прежде чем продолжить, вы должны спросить себя, действительно ли вам нужен информационный диод. Вот что говорят эксперты :

Большинству организаций не нужны новые технологии защиты, такие как информационные диоды. [...] Предполагая, что правила [брандмауэра] разрешают только внутреннюю связь на основе UDP, и в брандмауэре нет неправильной конфигурации, я не могу вспомнить эксплойт брандмауэра, который позволил бы внешнему злоумышленнику получить доступ к периметр ОСА.

Я проверил эту схему вчера, но не работает.
@Razavi Как именно это не сработало? Включено ли автоматическое согласование на ваших сетевых картах?
@Razavi Я также добавил второй вариант схемы, но, во всяком случае, он еще менее уверен в работе (хотя и проще в изготовлении). Можно попробовать, но я предлагаю отладить оригинальный 3-жильный кабель.

Если вы хотите "одностороннее направление данных", вы должны сделать это на более высоком уровне. Различные вещи предполагают двунаправленную связь на нижних уровнях, даже если данные на уровне приложения передаются только в одном направлении.

Например, даже если вы отправляете данные только в одном направлении по TCP-соединению, все равно будут пакеты, идущие туда и обратно в обоих направлениях. Вы можете обойтись односторонними пакетами данных, используя UDP, но в зависимости от того, что вы делаете, для установки соединения может потребоваться двунаправленная связь.

Вы можете подумать, что просто будете придерживаться UDP, но многие протоколы основаны на TCP, что абсолютно требует отправки пакетов в обоих направлениях. Примеры включают HTTP (просмотр веб-страниц) и SMTP (электронная почта).

Ethernet также предполагает некоторую двустороннюю связь между двумя конечными точками, даже если данные более высокого уровня передаются только в одном направлении. Имеются импульсы связи и, возможно, автосогласование низкоуровневых параметров связи.

Чтобы получить то, что вы хотите, вам в основном нужно сделать свой собственный маршрутизатор (хотя он может быть гораздо более урезанным, чем произвольный «маршрутизатор»). Вашему устройству по-прежнему необходимо отправлять и получать пакеты в/из сети. Он интерпретирует некоторые из этих пакетов и передает данные только в одном направлении через другой порт. Обратите внимание, что для этого, скорее всего, потребуется двунаправленная связь на нижних уровнях снова на другой стороне маршрутизатора, даже если данные уровня приложения передаются только в одном направлении.

Если в настройках есть двунаправленные кабели, можно просто установить брандмауэр на стороне B, который отклоняет все исходящие пакеты, кроме подтверждений TCP.
@Dmitry: Я не уверен, что это так просто, но да, это то, что я имел в виду, создавая свой собственный маршрутизатор. На этом уровне требуется логика для реализации односторонних данных, при этом получая и отправляя необходимые пакеты низкого уровня.
Смысл диода данных состоит в том, чтобы абсолютно гарантировать , что данные не идут в одном направлении... когда вы начинаете разрешать подтверждения, тогда нет смысла называть его диодом, это просто брандмауэр.
@immi: Ни в вопросе, ни в ответе ничего не говорится о «диоде данных».

Это возможно на 10BASE-T и 100BASE-TX, но не на 1000BASE-T, потому что последняя использует двунаправленную передачу по каждой паре.

Чтобы включить такой режим, вам нужен доступ MDIO/MDC (управление) к PHY, по крайней мере, на стороне TX односторонней связи, чтобы настроить его следующим образом:

  • отключить АВТОНЕГ
  • форсировать 100BASE-TX (или 10BASE-T, но не 1000BASE-T)
  • принудительно полный дуплекс
  • отключить сигнализацию FAR END FAULT

Настройка RX PHY не является обязательной, но может помочь в зависимости от особенностей оборудования. Если используется, конфигурация RX PHY такая же, как и TX PHY.

Это зависит от оборудования, но многие управляемые коммутаторы (с SFP или без них) предоставляют пользователю возможность вручную настраивать порты Ethernet через веб-интерфейс и/или консоль. Вам необходимо сначала изучить технические характеристики вашего оборудования, а затем протестировать его.

Что касается других ответов, левая схема @Dmitry может не сработать, потому что ни 100BASE-TX, ни 10BASE-T не предназначены для использования на одной паре из коробки, а его правая схема ближе к тому, что вам нужно, но где мы могли бы получить настоящий хаб (не переключаться) сегодня? а также, хаб работает только с 10BASE-T.

Тем временем @Olin говорит о чем-то (более высоком уровне) еще, но не о (физическом, ограниченном по среде) диоде данных, о котором вы спрашиваете.

Работает только на 10/100 Мбит/с. Если вы зафиксируете скорость порта на уровне 100 Мбит/с. Замкните Tx+ на Rx+ (и, возможно, Tx- на Rx-) на отправителе и параллельно подключите Tx+ и Tx- передатчика к Rx + и Rx- приемника. Я заметил, что Rx должен получить напряжение, чтобы порт считался включенным. Хотя это не проблема с получателем, поскольку rx получателя подключен к TX отправителя. У передатчика, с другой стороны, приемные ноги свободны. Можно ли сюда подключить аккумулятор??!. Но более простым решением является петля от собственного tx.

Широковещательная передача UDP является хорошим вариантом ... если вы передаете вслепую ... и, очевидно, не можете видеть что-либо на другом конце провода, отвечающего из-за односторонней настройки. Множественная передача одних и тех же пакетов может помочь в случае потери пакета ??? Это для вас, чтобы понять

Решение есть, и оно было разработано для приложений с информационными диодами. Это неуправляемый медиаконвертер, модифицированный для использования в паре и поддерживающий односторонний трафик от B+B SmartWorx. 856-10730-RX и 856-10730-TX

Вы сравнивали стоимость этих методов буксировки???
Вы должны сравнить затраты - это ваши средства или бюджет, а не наш или ее.... @Razavi

Во-первых, для тех, кто не знает, что такое информационный диод или как его использовать, вам следует начать здесь. Есть много ОЧЕНЬ веских причин для реализации этого типа решения.

https://en.wikipedia.org/wiki/Унинаправленная_сеть

Что касается того, как справиться с этим, у вас есть несколько вариантов. Вы можете приобрести готовое решение. Некоторые из этих решений очень дороги и имеют сертификацию NSA. Другие, более простые решения стоят дешевле и удовлетворят ваши потребности, но вам придется поискать. Вот пример более дешевого решения.

https://www.canarycom.com/index5.html

Если вы немного разбираетесь в медных сетевых кабелях, вы можете попробовать трюк, на который указывает Дмитрий. Или, если вы хотите попробовать использовать оптоволокно, вы можете попробовать аналогичный трюк, соединив вместе два устройства «нижней стороны» (Tx к Rx), чтобы Tx второго устройства оставался активным. Я видел, как это делается с двумя конвертерами CAT-to-FO, и все работало отлично. Я не пробовал это на компьютерной сетевой карте.

Кроме того, для тех, кто размышляет о протоколах передачи, для этого и нужен UDP. Творит чудеса, когда вы не нуждаетесь или не ожидаете ответа.