Перейти к содержанию
    

Может быть тему я некорректно написал, попробую объяснить.

Есть такая железка (в планах ATMEGA128+RTL8019AS), включается между хабом и компьютером. Вообщем на вход к железки подключается кабель от хаба, а с выхода кабель идет в сетвуху компа. Я буду анализировать пакеты и в зависимость от фильтров буду передовать в комп. С тем как получить пакет и обработать с этим пока проблем нет, но как мне передать их дальше в комп, я так понимаю мне нужно две м/с RTL (одна на входе, одна на выходе). Я вообще чего-то не догоняю, может быть кто-нибуть натолкнет на мысль? Буду рад :cheers:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость MALLOY2

Все это хорошо только вот на меги скорость будет не какая, это первое, второе просто так это не заработает, точнее комп перестанет видеть хаб. тут есть 2 варианта легкий(который навернека криво работать будет) и тяжелый, начнем с легкого:

 

1) на тот конец который подключается к хабу нужно настроить параметры тачки (MAC адресс, IP, маску сети и т.д.)

 

1.1) соответственно на конце тачки толжны быть параметры хаба

ну а дальше тупо на уровне MAC все пересылаеш из одного порта в другой.

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вам точно понадобится два PHY приемопередатчика.

А на МАС-уровне - одного контроллера хватит .

Изменено пользователем id_gene

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ладно, я понял что пошел не потому пути. Но вот возникла еще одна идея:

Если вход и выход моей платы будут соеденены, а вся аппаратура бедет как бы перехватывать пакеты.

Как вам такая идея? Buffer простой пропускной, т.е. никакие функции не выполняет кроме запрета вывода.

И еще если Атмега не справится то какой контроллер лучше взять?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прошу прощения комп барахлил.

Так вот идея:

scema.bmp

Buffer, если ОЕ установлена, то он просто пропускает сигналы, в противном случае просто закрывает выход.

Далее моя сборка работает как нивидимка для компа, т.е. она просто берет пакет анализирует его и в зависимости от результатов закрывает/открывает буффер. Но есть вопрос как быть с буффером во время обработки пакета? Да и вообще как вам моя идея ? :) Буду рад любым насмешкам, руганям и прочим высказываниям :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прошу прощения комп барахлил.

Так вот идея:

scema.bmp

Buffer, если ОЕ установлена, то он просто пропускает сигналы, в противном случае просто закрывает выход.

Далее моя сборка работает как нивидимка для компа, т.е. она просто берет пакет анализирует его и в зависимости от результатов закрывает/открывает буффер. Но есть вопрос как быть с буффером во время обработки пакета? Да и вообще как вам моя идея ? :)  Буду рад любым насмешкам, руганям и прочим высказываниям  :biggrin:

микроконтроллером не успеете, смотри в сторону ПЛИС

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость MALLOY2
Ладно, я понял что пошел не потому пути. Но вот возникла еще одна идея:

Если вход и выход моей платы будут соеденены, а вся аппаратура бедет как бы перехватывать пакеты.

Как вам такая идея? Buffer простой пропускной, т.е. никакие функции не выполняет кроме запрета вывода.

И еще если Атмега не справится то какой контроллер лучше взять?

 

Нет так тоже не выйдет, так как каждый порт имеет уникальный MAC адресс. И этот адресс испульзуется многими протоколами, такими как ARP, возникнет такая ситуация что пакет даже до вуас не долитит так как свитч посмотрит что у него на этом порту нет такого MACа и не будет слать, но если будет стоять ХАБ (он тупой в отличии от свитча, но помоему таких уже не делают) то может и будет жить как то.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все это хорошо только вот на меги скорость будет не какая, это первое, второе просто так это не заработает, точнее комп перестанет видеть хаб. тут есть 2 варианта легкий(который навернека криво работать будет) и тяжелый, начнем с легкого:

 

1) на тот конец который подключается к хабу нужно настроить параметры тачки (MAC адресс, IP, маску сети и т.д.)

 

1.1) соответственно на конце тачки толжны быть параметры хаба

ну а дальше тупо на уровне MAC все пересылаеш из одного порта в другой.

 

Ну а вообще меня этот вариант устраивает (т.к. я хочу сделать это устройство скорее для успокоения своей души, да и вообще на нее никто не претендует :) ), скорость мне не важна, хотя лучше 100М.

Но опять же вопрос: какой контроллер лучше взять (ПЛИС не подходит по личной неприязни к онным). И в чем будет кривизна работы?

Ведь насколько я это понимаю хаб (или что-то подобное) будет воспринимать меня как комп, а комп как хаб. Соответственно никаких проблем не должно быть. B)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы получаете кадр Ethernet со вложенным TCP пакетом.

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

Возможно, в некоторых контроллерах можно отменить передачу пакета и убить пакет на входе - тогда можно чушь не писать.

Вы прозрачны. Дешево и сердито.

Похоже на ваш ключ, только на логическом уровне.

 

Уровень сложнее - сначала анализируете пакет, который где-то в буфере хранится, а потом либо пересылаете - либо нет.

 

Если вы начнете пакты разбирать, вырезать заголовки - то из на выходе нужно будет обратно вставлять. Тут зависит от настроек МАС-контроллера - что он вырежет, и что сможет назад сам прилепить. Обычно он контрольные суммы и преамбулы канального уровня сам умеет вставлять.

 

Канал односторонний, конечно. От хаба к компу. В обратную сторону вам же не надо фильтровать?

Насчет скоростей микроконтроллера не знаю - считайте.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость MALLOY2

Да кривизна будет в том что нельзя так просто все зделать. Вот не большой принцип работы сети.

 

Что происходит в сети, при приеме хабом пакета он в пакете смотрит MAC клиента и IP клиента, далее просматривает ARP таблицу и если есть связь мака с IP он передает на тот порт пакет, если нету посылает широковещательный MAC запрос по всем портам если таковой МАК нашелся посылается ARP запрос на этот МАК так определяется на каком порту весит нужный клиент. Ну а если не нашелся но скажет что такового не существует, так вот вся беда втом что MAC запрос обрабатывается PHY аппаратно и этогт пакет ты не передаш на тачку, следовательно о существовании твоей машины кроме твоего порта никто не узнает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если сделать автоопределение мак адреса, т.е. при подключении устройство выясняет мас и айпи адрес компа, прописывает их в себя со стороны хаба, и работает от имени компа. Т.е. никаких настроек вручную делать не придется. А хаб тоже имеет свой айпи и мак?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 MALLOY2:

всем этим занимается комп, насколько я понимаю - АРП разрешениями и соотвествием IP & MAC -адресов. И все арп таблицы вы можете посмотреть у себя командой arp -a

 

Хаб вообще ничего не делает, только соединяет каналы. Логически заменяет коаксиал, в который втыкаются все.

Свитч - коммутирует по МАС-адресам (новые версии, конечно, коммутируют на 3м уровне, но мало). Подключитесь к управляемому свитчу и посмотрите - там только МАС-адреса.

 

А в устройстве - если канал от компа будет насковзь в свитч проходитть - то у последенго в таблицах будет запись на нужном порту. Фильтровать нужно только в одну сторону.

Изменено пользователем id_gene

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость MALLOY2
2 MALLOY2:

всем этим занимается комп, насколько я понимаю - АРП разрешениями и соотвествием IP & MAC -адресов. И все арп таблицы вы можете посмотреть у себя командой arp -a

 

Хаб вообще ничего не делает, только соединяет каналы. Логически заменяет коаксиал, в который втыкаются все.

Свитч - коммутирует по МАС-адресам (новые версии, конечно, коммутируют на 3м уровне, но мало). Подключитесь к управляемому свитчу и посмотрите - там только МАС-адреса.

 

А в устройстве - если канал от компа будет насковзь в свитч проходитть - то у последенго в таблицах будет запись на нужном порту. Фильтровать нужно только в одну сторону.

 

Имеено я ж про это и говорю что комутация по мак адрессам, и он не сможет скомутировать на комп. Одним словом нужно делать свитч 2 портовый и разбирать как он работает. об этом я всамом начале говорил.

 

Вобщем про все можно почитать здесь http://www.unix.org.ua/tcpip/

tcpbook.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я кстати тоже где-то слышал что ARP пакеты обрабатывает компьютер. Но во всяком случе в даташите должно быть описано про ARP пакеты, однако я там это-го не нашел. Хотя я может коряво смотрел :smile3046:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость MALLOY2
Я кстати тоже где-то слышал что ARP пакеты обрабатывает компьютер. Но во всяком случе в даташите должно быть описано про ARP пакеты, однако я там это-го не нашел. Хотя я может коряво смотрел :smile3046:

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...