@axelite43
Ну что то вроде сис.админа

Как реализовать полностью собственную сеть на Ethernet из двух устройств?

Я хочу реализовать полностью собственную сеть между двумя собранными устройствами. Как я себе это представляю:
1. Реализовать 1 устройство (допустим это будет передатчик)
2. Реализовать 2 устройство (допустим это будет приемник)
3. Запрограммировать (каким то раком?) микроконтроллеры на этих двух устройствах на I/O данных
4. Соединить RJ45 кабелем (UTP)
5. *Надеется что это все взлетит(надеюсь не на небеса)*

А вот и вопросы:
1. Насколько это гиблое дело?
2. Как все таки это реализовать? (Знаю как устроен Ethernet протокол, в принципе можно почитать RFC)

Суть вообще в том, чтобы сделать велосипед, но со своим блэкджеком и микроконтроллерами. То есть, хочется взять купить какие нибудь микроконтроллеры, запаять это все дело, реализовать Ethernet протокол(на данном этапе я вспомнил что еще у устройства должен быть MAC адрес *сюкаааа*) и соединить витой парой. Куды глядеть чтобы это можно сконструировать.
Если есть варики, то можно предложить более упрощенную модель, просто хочется как то реализовать в дальнейшем протоколы и TCP/IP и т.д.

P.S. чутка знаю как кодируется информация.
А еще не хочется готовых модулей, хочется именно реализовать данные модули
  • Вопрос задан
  • 492 просмотра
Решения вопроса 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
2 phu и они сами все согласуют.
Ответ написан
@ApBond
Для начала необходимо решить, начиная с какого уровня сетевой модели (OSI) хотите все реализовывать, в зависимости от этого есть несколько, отличающихся по сложности путей:
1. Начать с канального уровня. Понадобится микросхема LAN8720 (реализует физический уровень взаимодействия с сетью) и МК, поддерживающий интерфейс MII (например stm32F407). В данном случае необходимо будет полностью реализовать физическую адресацию устройств (MAC), фильтрацию адресов и процесс отправки/приема ethernet фреймов.
2.Отдать канальный уровень под контроль "железа". В данном случае ethernet контроллер (например enc28j60) поддерживает аппаратно все то, что было описано в п1. Реализовывать же придется уже протоколы более высокого уровня (ARP, ICMP,IP, TCP, и тд). МК можно выбрать практически любой (stm32f103 за 180р), тк ethernet контроллер подключается по spi интерфейсу.
3. Понять, что если увязнуть в протоколах низкого уровня, то до реализации своего уникального домашнего сервера еще далеко и взять более продвинутый ethernet контроллер (например W5500). Тут уже имеется аппаратная поддержка транспортных протоколов (TCP, UDP, даже имеется поддержка сокетов) и соответственно протоколов более низкого уровня, с помощью такого контроллера организовать обмен по сети не составит труда.
PS: стоит помнить, что сетевые протоколы достаточно тяжелые, требуют много ОЗУ для хранения пакетов и использовать какой-нибудь attiny не получится.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
ZXY000
@ZXY000
Engineer DevOps https://www.beeptoolkit.com/
Если у Вас эти 2 прибора поддерживают обмен, нужно проверить пингом на адрес устройства, далее как вариант, если Вы владеете LabVIEW + VISA TCP/IP
Ответ написан
Комментировать
@semen-pro
Можно на любом сетевом уровне связь организовывать, MAC уровня может быть вполне достаточно, да и проще для мк.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы