|
подключение устройства к ethernet |
|
|
|
Dec 10 2007, 09:14
|
Участник

Группа: Свой
Сообщений: 43
Регистрация: 15-09-06
Пользователь №: 20 407

|
Всем добрый день, В данный момент имеется устройство сбора информации, которое для ввода информации в PC использует плату PCI или ISA (не ругайте  устройство старое). Хотелось бы подключить все это хозяйство к ethernet дабы избавиться от необходимости что-то вставлять в компьютер у пользователя. Устройство - это крейт с набором измерительных модулей. Соответственно, исходящий поток единицы Мбит, входящий на 1-2 порядока меньше. Нужен совет или некий обзор по существующим решениям для подключения к ethernet. Основной критерий - стоимость подключения. Для начала хотелось бы понять самый простой с точки зрения реализации вариант. Возможно ли обойтись без реализации TCP IP? Заранее спасибо.
|
|
|
|
|
 |
Ответов
|
Dec 11 2007, 12:31
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Aprox @ Dec 11 2007, 13:55)  Подскажите, где берут программную поддержку для RAW Socket-ов на стороне компьютера. Для Linux - нигде не берут  Цитата В составе WinSock я ничего похожего не нашел. http://msdn2.microsoft.com/en-us/library/ms740548.aspxWinSock 2.2 уже что-то было а вообще смотрите как ставят сниферы: http://komsoft.ru/pma/sniffer.htm
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Dec 12 2007, 15:27
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Aprox @ Dec 12 2007, 16:23)  создать в Windows XP сокет, который работал бы с периферийными устройствами на канальном уровне, простейшими Ethernet фреймами по физическим МАС адресам Да. Цитата и увеличенным размером пакета, А вот про это лучше забудьте.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Dec 13 2007, 08:31
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Цитата Цитата создать в Windows XP сокет, который работал бы с периферийными устройствами на канальном уровне, простейшими Ethernet фреймами по физическим МАС адресам
Да. Интересно, как будут себя вести "умные" свичи в составе сети, если послать не IP пакет, а пакет только с физическими адресами в заголовке? Умные- это которые запоминают распределение IP адресов девайсов на своих портах. Ведь, в рассматриваемых "сырых" пакетах нет IP хидера. Мне кажется, совсем "сырые" пакеты разумно использовать только в соединениях точка-точка.
|
|
|
|
|
Dec 17 2007, 11:50
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата(Aprox @ Dec 17 2007, 13:40)  На каком этапе свитчи формируют у себя в памяти таблицу соответствия "порт - MAC адрес"? Сомневаюсь, ведь устройство, работающее на raw пакетах без IP, не будет отвечать на стандартные ARP запросы. Как же свитч поймет, что к данному порту подключено устройство с таким-то MAC адресом?  На самом деле ему пофиг  Цитата 8.2. Switch Core Functional Overview 8.2.1. Address Search, Learning, and Aging When a packet is received, the RTL8309SB uses the least 10 bits of the destination MAC address to index the 1024-entry lookup table, and at the same time compares the destination MAC address with the contents of the 16-entry CAM. If the indexed entry is valid or the CAM comparison is matched, the received packet will be forwarded to the corresponding destination port. Otherwise, the RTL8309SB will broadcast the packet. This is the ‘Address Search’. The RTL8309SB then extracts the least 10 bits of the source MAC address to index the 1024-entry look-up table. If the entry is not already in the table it will record the source MAC address and add switching information. If this is an occupied entry, it will update the entry with new information. This is called ‘Learning’. If the indexed location has been occupied by a different MAC address (hash collision), the new source MAC address will be recorded into the 16-entry CAM. The 16-entry CAM reduces address hash collisions and improves switching performance. Address aging is used to keep the contents of the address table correct in a dynamic network topology. The look-up engine will update the time stamp information of an entry whenever the corresponding source MAC address appears. An entry will be invalid (aged out) if it’s time stamp information is not refreshed by the address learning process during the aging time period. The aging time of the RTL8309SB is around 300 seconds. Как видите, он смотрит на ВСЕ пакеты, а не только на ARP
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Dec 17 2007, 12:28
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Цитата(Rst7 @ Dec 17 2007, 14:50)  Как видите, он смотрит на ВСЕ пакеты, а не только на ARP Спасибо. Насколько я понял, на первом этапе, когда еще нет MAC таблица еще сформирована, или не соответсвует действительности, свитч рассылает поступившие пакеты во все порты. Далее, по мере прихода пакетов с других портов, по их source адресам заполняет таблицу "MAC-порт". Я правильно понял текст?
|
|
|
|
|
Dec 17 2007, 12:55
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата(Aprox @ Dec 17 2007, 14:28)  Спасибо. Насколько я понял, на первом этапе, когда еще нет MAC таблица еще сформирована, или не соответсвует действительности, свитч рассылает поступившие пакеты во все порты. Далее, по мере прихода пакетов с других портов, по их source адресам заполняет таблицу "MAC-порт". Я правильно понял текст? Безусловно. Допустим, у нас безмозглая железка генерирует RAW-пакеты с правильными MAC-адресами (заранее задаными). В результате, первый же пакет от железки установит соответствие MAC<->PORT для железки, хотя, если не нужно принимать пакеты, это не особо и надо. А куда же отроутится пакет? Полетит он скорее всего в нужный порт, к которому подключен комп, т.к. стек сетевых протоколов на компе тоже проявляет некоторую активность (особенно виндозный, всякие девайсы PnP в сети ищет). В крайнем случае на компе можно просто пинг запустить хоть и не в существующий девайс.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Dec 18 2007, 15:40
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Цитата(Rst7 @ Dec 17 2007, 15:55)  Безусловно. Допустим, у нас безмозглая железка генерирует RAW-пакеты с правильными MAC-адресами (заранее задаными). В результате, первый же пакет от железки установит соответствие MAC<->PORT для железки, хотя, если не нужно принимать пакеты, это не особо и надо. А куда же отроутится пакет? Полетит он скорее всего в нужный порт, к которому подключен комп, т.к. стек сетевых протоколов на компе тоже проявляет некоторую активность (особенно виндозный, всякие девайсы PnP в сети ищет). В крайнем случае на компе можно просто пинг запустить хоть и не в существующий девайс. Каверза возникла. Если безмозглая железка не генерирует RAW пакеты, а наоборот - только принимает пакеты молча, то свитч никогда ее обнаружить на порту не сможет и будет рассылать широковещательно. Получается, read only режим неэффективен в случае применения свитча и RAW пакетов.
|
|
|
|
|
Dec 19 2007, 09:48
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Rst7 @ Dec 19 2007, 12:36)  В принципе, особо никакой сложности не вижу. И зря боитесь, будет все работать. Насколько я помню, когда я отлаживал МАС в ПЛИС, то как раз и гонял пакеты, в которых были только МАС адреса и CRC. Так вот сниффер их тоже принимал и благополучно обрабатывал, как пакеты с ошибками и складывал в счетчик "непринятых данных", поэтому и до приема данных дело не доходило. Так что на уровне РС, где стандартно все настроено на прием данных, которые имеют структуру IP, могут быть проблемы. Мало того, пакеты могут и не прийти вовсе. И кто будет делать перезапрос?
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Dec 20 2007, 13:39
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Цитата(iosifk @ Dec 19 2007, 12:48)  Насколько я помню, когда я отлаживал МАС в ПЛИС, то как раз и гонял пакеты, в которых были только МАС адреса и CRC. Так вот сниффер их тоже принимал и благополучно обрабатывал, как пакеты с ошибками и складывал в счетчик "непринятых данных", поэтому и до приема данных дело не доходило. Так что на уровне РС, где стандартно все настроено на прием данных, которые имеют структуру IP, могут быть проблемы. Эти проблемы, как я понял, в виндах решается применением WinPCap. Под линуксом , говорят, проблем с RAW пакетами нет в вообще. Другие OS в расчет можно не брать. Цитата Мало того, пакеты могут и не прийти вовсе. И кто будет делать перезапрос? А вот это серьезно. Я поэтому и интересуюсь работой свитчей, ищу возможные причины, по которым могут пропадать RAW пакеты в корпоративной сети. Цитата(zltigo @ Dec 19 2007, 13:55)  Шаманства и попыток "избегать" не надо. Надо просто со знанием дела выбрать, например, фрейм IEEE 802.3 (не массово используемый DIX/Ethernet II ) и индивидуальный 16bit FRAMEID из официально не занятых. И можете спать спокойно. Подскажите пожалуйста список официально занятых FrameID. Хочу выбрать незанятый.
|
|
|
|
|
Dec 20 2007, 14:33
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Aprox @ Dec 20 2007, 15:39)  Я поэтому и интересуюсь работой свитчей, ищу возможные причины, по которым могут пропадать RAW пакеты в корпоративной сети. По причине кривости железа. Цена железа падает, качество обработки ошибок никого не волнует, нехай все потом будут разруливать протоколы верхнего уровня... Типичная проблема - пакет влетел в hub/switch, на _выходе_ из hub/switch коллизия. Старое доброе железо, как и положено отражало эту проблему на вход, я на сетевой карте фиксировал проблему и перепередавал. Все работало как часики. Ну а потом призводители начали все упрощать  Самый первый раз столкнулся лет десять на Realtek - оборудование абсолютно с таким-же названиеми и номером для заказа. Две разницы - пластмассовый корпус и другой чип  . В общем, в нагруженной сети с произвольным сетевым оборудованием пакеты изредка теряться будут. Цитата Подскажите пожалуйста список официально занятых FrameID. Хочу выбрать незанятый. Поищите в интернете, или возьмите 0x69 0x7B - это следующий после моего
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Сообщений в этой теме
AlexY подключение устройства к ethernet Dec 10 2007, 09:14 Bird2 Использовать ARM7 или 9 с поддержкой Ethernet. Есл... Dec 10 2007, 19:07       Aprox Цитата(zltigo @ Dec 13 2007, 13:09) Свитч... Dec 13 2007, 11:50           Aprox Цитата(Rst7 @ Dec 17 2007, 15:55) Безусло... Dec 17 2007, 13:07                   Aprox Цитата(zltigo @ Dec 20 2007, 17:33) По пр... Dec 20 2007, 17:27               zltigo Цитата(Aprox @ Dec 19 2007, 10:01) Попытк... Dec 19 2007, 10:55                Rst7 Цитата(zltigo @ Dec 19 2007, 12:55) Шаман... Dec 19 2007, 11:15                 zltigo Цитата(Rst7 @ Dec 19 2007, 13:15) Я думаю... Dec 19 2007, 12:14                  Rst7 Цитата(zltigo @ Dec 19 2007, 14:14) Долго... Dec 19 2007, 12:32    ishergin Цитата(Aprox @ Dec 12 2007, 19:23) Спасиб... Dec 12 2007, 19:00
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|