Кузьмич А.В. 0 11 августа, 2005 Опубликовано 11 августа, 2005 · Жалоба Может быть тему я некорректно написал, попробую объяснить. Есть такая железка (в планах ATMEGA128+RTL8019AS), включается между хабом и компьютером. Вообщем на вход к железки подключается кабель от хаба, а с выхода кабель идет в сетвуху компа. Я буду анализировать пакеты и в зависимость от фильтров буду передовать в комп. С тем как получить пакет и обработать с этим пока проблем нет, но как мне передать их дальше в комп, я так понимаю мне нужно две м/с RTL (одна на входе, одна на выходе). Я вообще чего-то не догоняю, может быть кто-нибуть натолкнет на мысль? Буду рад :cheers: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость MALLOY2 11 августа, 2005 Опубликовано 11 августа, 2005 · Жалоба Все это хорошо только вот на меги скорость будет не какая, это первое, второе просто так это не заработает, точнее комп перестанет видеть хаб. тут есть 2 варианта легкий(который навернека криво работать будет) и тяжелый, начнем с легкого: 1) на тот конец который подключается к хабу нужно настроить параметры тачки (MAC адресс, IP, маску сети и т.д.) 1.1) соответственно на конце тачки толжны быть параметры хаба ну а дальше тупо на уровне MAC все пересылаеш из одного порта в другой. Второй вариант это самый правельный и надежный тоьлко зделать его не просто а смысл заключается в создании полно функционального роутера с 2 портами. Но мега его не потянет нормально, да и впервом случае скорость будет никакая. По поводу роутера там есть свои протоколы и куча другой фигни, так что копай в ту сторону. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
id_gene 0 11 августа, 2005 Опубликовано 11 августа, 2005 (изменено) · Жалоба Вам точно понадобится два PHY приемопередатчика. А на МАС-уровне - одного контроллера хватит . Изменено 11 августа, 2005 пользователем id_gene Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Кузьмич А.В. 0 11 августа, 2005 Опубликовано 11 августа, 2005 · Жалоба Ладно, я понял что пошел не потому пути. Но вот возникла еще одна идея: Если вход и выход моей платы будут соеденены, а вся аппаратура бедет как бы перехватывать пакеты. Как вам такая идея? Buffer простой пропускной, т.е. никакие функции не выполняет кроме запрета вывода. И еще если Атмега не справится то какой контроллер лучше взять? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Кузьмич А.В. 0 11 августа, 2005 Опубликовано 11 августа, 2005 · Жалоба Прошу прощения комп барахлил. Так вот идея: scema.bmp Buffer, если ОЕ установлена, то он просто пропускает сигналы, в противном случае просто закрывает выход. Далее моя сборка работает как нивидимка для компа, т.е. она просто берет пакет анализирует его и в зависимости от результатов закрывает/открывает буффер. Но есть вопрос как быть с буффером во время обработки пакета? Да и вообще как вам моя идея ? :) Буду рад любым насмешкам, руганям и прочим высказываниям Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maksim 0 11 августа, 2005 Опубликовано 11 августа, 2005 · Жалоба Прошу прощения комп барахлил. Так вот идея: scema.bmp Buffer, если ОЕ установлена, то он просто пропускает сигналы, в противном случае просто закрывает выход. Далее моя сборка работает как нивидимка для компа, т.е. она просто берет пакет анализирует его и в зависимости от результатов закрывает/открывает буффер. Но есть вопрос как быть с буффером во время обработки пакета? Да и вообще как вам моя идея ? :) Буду рад любым насмешкам, руганям и прочим высказываниям <{POST_SNAPBACK}> микроконтроллером не успеете, смотри в сторону ПЛИС Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость MALLOY2 12 августа, 2005 Опубликовано 12 августа, 2005 · Жалоба Ладно, я понял что пошел не потому пути. Но вот возникла еще одна идея: Если вход и выход моей платы будут соеденены, а вся аппаратура бедет как бы перехватывать пакеты. Как вам такая идея? Buffer простой пропускной, т.е. никакие функции не выполняет кроме запрета вывода. И еще если Атмега не справится то какой контроллер лучше взять? <{POST_SNAPBACK}> Нет так тоже не выйдет, так как каждый порт имеет уникальный MAC адресс. И этот адресс испульзуется многими протоколами, такими как ARP, возникнет такая ситуация что пакет даже до вуас не долитит так как свитч посмотрит что у него на этом порту нет такого MACа и не будет слать, но если будет стоять ХАБ (он тупой в отличии от свитча, но помоему таких уже не делают) то может и будет жить как то. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Кузьмич А.В. 0 12 августа, 2005 Опубликовано 12 августа, 2005 · Жалоба Все это хорошо только вот на меги скорость будет не какая, это первое, второе просто так это не заработает, точнее комп перестанет видеть хаб. тут есть 2 варианта легкий(который навернека криво работать будет) и тяжелый, начнем с легкого: 1) на тот конец который подключается к хабу нужно настроить параметры тачки (MAC адресс, IP, маску сети и т.д.) 1.1) соответственно на конце тачки толжны быть параметры хаба ну а дальше тупо на уровне MAC все пересылаеш из одного порта в другой. Ну а вообще меня этот вариант устраивает (т.к. я хочу сделать это устройство скорее для успокоения своей души, да и вообще на нее никто не претендует :) ), скорость мне не важна, хотя лучше 100М. Но опять же вопрос: какой контроллер лучше взять (ПЛИС не подходит по личной неприязни к онным). И в чем будет кривизна работы? Ведь насколько я это понимаю хаб (или что-то подобное) будет воспринимать меня как комп, а комп как хаб. Соответственно никаких проблем не должно быть. B) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
id_gene 0 12 августа, 2005 Опубликовано 12 августа, 2005 · Жалоба Вы получаете кадр Ethernet со вложенным TCP пакетом. Начинаете его читать со входа и писать в выход, прямо со всеми заголовками, попутно отслеживая нужные поля. Если фильтр срабатывает - вы пишете в выход заведомую чушь (все единицы или пятерки или что-то) - тогда комп получает ошибку контрольной суммы и выбрасывает кадр. Если фильтр не срабатывает - кадр проходит насквозь. Возможно, в некоторых контроллерах можно отменить передачу пакета и убить пакет на входе - тогда можно чушь не писать. Вы прозрачны. Дешево и сердито. Похоже на ваш ключ, только на логическом уровне. Уровень сложнее - сначала анализируете пакет, который где-то в буфере хранится, а потом либо пересылаете - либо нет. Если вы начнете пакты разбирать, вырезать заголовки - то из на выходе нужно будет обратно вставлять. Тут зависит от настроек МАС-контроллера - что он вырежет, и что сможет назад сам прилепить. Обычно он контрольные суммы и преамбулы канального уровня сам умеет вставлять. Канал односторонний, конечно. От хаба к компу. В обратную сторону вам же не надо фильтровать? Насчет скоростей микроконтроллера не знаю - считайте. Об уникальных адресах каждого порта - для хабов и коммутаторов в обычном режиме работы они не используются. И вам, наверное, тоже не надо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость MALLOY2 12 августа, 2005 Опубликовано 12 августа, 2005 · Жалоба Да кривизна будет в том что нельзя так просто все зделать. Вот не большой принцип работы сети. Что происходит в сети, при приеме хабом пакета он в пакете смотрит MAC клиента и IP клиента, далее просматривает ARP таблицу и если есть связь мака с IP он передает на тот порт пакет, если нету посылает широковещательный MAC запрос по всем портам если таковой МАК нашелся посылается ARP запрос на этот МАК так определяется на каком порту весит нужный клиент. Ну а если не нашелся но скажет что такового не существует, так вот вся беда втом что MAC запрос обрабатывается PHY аппаратно и этогт пакет ты не передаш на тачку, следовательно о существовании твоей машины кроме твоего порта никто не узнает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Кузьмич А.В. 0 12 августа, 2005 Опубликовано 12 августа, 2005 · Жалоба А если сделать автоопределение мак адреса, т.е. при подключении устройство выясняет мас и айпи адрес компа, прописывает их в себя со стороны хаба, и работает от имени компа. Т.е. никаких настроек вручную делать не придется. А хаб тоже имеет свой айпи и мак? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
id_gene 0 12 августа, 2005 Опубликовано 12 августа, 2005 (изменено) · Жалоба 2 MALLOY2: всем этим занимается комп, насколько я понимаю - АРП разрешениями и соотвествием IP & MAC -адресов. И все арп таблицы вы можете посмотреть у себя командой arp -a Хаб вообще ничего не делает, только соединяет каналы. Логически заменяет коаксиал, в который втыкаются все. Свитч - коммутирует по МАС-адресам (новые версии, конечно, коммутируют на 3м уровне, но мало). Подключитесь к управляемому свитчу и посмотрите - там только МАС-адреса. А в устройстве - если канал от компа будет насковзь в свитч проходитть - то у последенго в таблицах будет запись на нужном порту. Фильтровать нужно только в одну сторону. Изменено 12 августа, 2005 пользователем id_gene Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость MALLOY2 12 августа, 2005 Опубликовано 12 августа, 2005 · Жалоба 2 MALLOY2: всем этим занимается комп, насколько я понимаю - АРП разрешениями и соотвествием IP & MAC -адресов. И все арп таблицы вы можете посмотреть у себя командой arp -a Хаб вообще ничего не делает, только соединяет каналы. Логически заменяет коаксиал, в который втыкаются все. Свитч - коммутирует по МАС-адресам (новые версии, конечно, коммутируют на 3м уровне, но мало). Подключитесь к управляемому свитчу и посмотрите - там только МАС-адреса. А в устройстве - если канал от компа будет насковзь в свитч проходитть - то у последенго в таблицах будет запись на нужном порту. Фильтровать нужно только в одну сторону. <{POST_SNAPBACK}> Имеено я ж про это и говорю что комутация по мак адрессам, и он не сможет скомутировать на комп. Одним словом нужно делать свитч 2 портовый и разбирать как он работает. об этом я всамом начале говорил. Вобщем про все можно почитать здесь http://www.unix.org.ua/tcpip/ tcpbook.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Кузьмич А.В. 0 12 августа, 2005 Опубликовано 12 августа, 2005 · Жалоба Я кстати тоже где-то слышал что ARP пакеты обрабатывает компьютер. Но во всяком случе в даташите должно быть описано про ARP пакеты, однако я там это-го не нашел. Хотя я может коряво смотрел :smile3046: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость MALLOY2 12 августа, 2005 Опубликовано 12 августа, 2005 · Жалоба Я кстати тоже где-то слышал что ARP пакеты обрабатывает компьютер. Но во всяком случе в даташите должно быть описано про ARP пакеты, однако я там это-го не нашел. Хотя я может коряво смотрел :smile3046: <{POST_SNAPBACK}> ARP пакеты обрабатывает компьютер, но его нужно доставить по MAC - уровню. Вот здесь собака роется, здесь и вступает в силу алгоритм работы свитчей роутеров хабов и другой комутационной аппаратуры. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться