реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> подключение устройства к ethernet
AlexY
сообщение Dec 10 2007, 09:14
Сообщение #1


Участник
*

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



Всем добрый день,

В данный момент имеется устройство сбора информации, которое для ввода информации в PC использует плату PCI или ISA (не ругайте smile.gif устройство старое).
Хотелось бы подключить все это хозяйство к ethernet дабы избавиться от необходимости что-то вставлять в компьютер у пользователя.
Устройство - это крейт с набором измерительных модулей. Соответственно, исходящий поток единицы Мбит, входящий на 1-2 порядока меньше.

Нужен совет или некий обзор по существующим решениям для подключения к ethernet.
Основной критерий - стоимость подключения.
Для начала хотелось бы понять самый простой с точки зрения реализации вариант.
Возможно ли обойтись без реализации TCP IP?

Заранее спасибо.
Go to the top of the page
 
+Quote Post
Bird2
сообщение Dec 10 2007, 19:07
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 80
Регистрация: 19-12-06
Пользователь №: 23 672



Использовать ARM7 или 9 с поддержкой Ethernet. Если необходимо куда-то вставлять (для совместимости) плату PCI или ISA, то видимо, понадобится еще и ПЛИС. Должно быть недорого.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 10 2007, 19:27
Сообщение #3


Гуру
******

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



Цитата(AlexY @ Dec 10 2007, 11:14) *
Возможно ли обойтись без реализации TCP IP?

Разумеется да - на RAW Socket можете творить что угодно, ну или почти все, что угодно, если этим интерфейсом будет еще кто-то пользоваться.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Aprox
сообщение Dec 11 2007, 11:55
Сообщение #4


Местный
***

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



Цитата(zltigo @ Dec 10 2007, 22:27) *
Разумеется да - на RAW Socket можете творить что угодно, ну или почти все, что угодно, если этим интерфейсом будет еще кто-то пользоваться.


Подскажите, где берут программную поддержку для RAW Socket-ов на стороне компьютера. В составе WinSock я ничего похожего не нашел.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 11 2007, 12:31
Сообщение #5


Гуру
******

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



Цитата(Aprox @ Dec 11 2007, 13:55) *
Подскажите, где берут программную поддержку для RAW Socket-ов на стороне компьютера.

Для Linux - нигде не берут smile.gif
Цитата
В составе WinSock я ничего похожего не нашел.

http://msdn2.microsoft.com/en-us/library/ms740548.aspx
WinSock 2.2 уже что-то было а вообще смотрите как ставят сниферы:
http://komsoft.ru/pma/sniffer.htm


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Aprox
сообщение Dec 12 2007, 14:23
Сообщение #6


Местный
***

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



Спасибо за ссылки. Вникаю. Меня интересует возможность создать в Windows XP сокет, который работал бы с периферийными устройствами на канальном уровне, простейшими Ethernet фреймами по физическим МАС адресам и увеличенным размером пакета, без IP протокольных наворотов. Возможно такое в Windows? Если возможно, то куда посоветуете смотреть?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 12 2007, 15:27
Сообщение #7


Гуру
******

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



Цитата(Aprox @ Dec 12 2007, 16:23) *
создать в Windows XP сокет, который работал бы с периферийными устройствами на канальном уровне, простейшими Ethernet фреймами по физическим МАС адресам

Да.
Цитата
и увеличенным размером пакета,

А вот про это лучше забудьте.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
ishergin
сообщение Dec 12 2007, 19:00
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 130
Регистрация: 16-06-05
Из: Оренбург
Пользователь №: 6 039



Цитата(Aprox @ Dec 12 2007, 19:23) *
Спасибо за ссылки. Вникаю. Меня интересует возможность создать в Windows XP сокет, который работал бы с периферийными устройствами на канальном уровне, простейшими Ethernet фреймами по физическим МАС адресам и увеличенным размером пакета, без IP протокольных наворотов. Возможно такое в Windows? Если возможно, то куда посоветуете смотреть?


Для Windows есть WinPcap . Через него работает сниффер Ethereal (сейчас уже подругому называется)


--------------------
Программа выполнила невыполнимое и допустила недопустимое
Go to the top of the page
 
+Quote Post
Aprox
сообщение Dec 13 2007, 08:31
Сообщение #9


Местный
***

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



Цитата
Цитата

создать в Windows XP сокет, который работал бы с периферийными устройствами на канальном уровне, простейшими Ethernet фреймами по физическим МАС адресам

Да.


Интересно, как будут себя вести "умные" свичи в составе сети, если послать не IP пакет, а пакет только с физическими адресами в заголовке? Умные- это которые запоминают распределение IP адресов девайсов на своих портах. Ведь, в рассматриваемых "сырых" пакетах нет IP хидера. Мне кажется, совсем "сырые" пакеты разумно использовать только в соединениях точка-точка.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 13 2007, 10:09
Сообщение #10


Гуру
******

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



Цитата(Aprox @ Dec 13 2007, 10:31) *
Интересно, как будут себя вести "умные" свичи в составе сети

Свитчи, естественно, работают по MAC адресам. IP им без надобности smile.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Aprox
сообщение Dec 13 2007, 11:50
Сообщение #11


Местный
***

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



Цитата(zltigo @ Dec 13 2007, 13:09) *
Свитчи, естественно, работают по MAC адресам. IP им без надобности smile.gif.

Да, это я ступил. Прошу прощения.

Цитата(ishergin @ Dec 12 2007, 22:00) *
Для Windows есть WinPcap . Через него работает сниффер Ethereal (сейчас уже подругому называется)

О! WinPcap у меня оказывается уже стоит, его пользует сниффер WireShark. Спасибо, пошел вникать в документацию.
Go to the top of the page
 
+Quote Post
Aprox
сообщение Dec 17 2007, 11:40
Сообщение #12


Местный
***

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



Цитата(zltigo @ Dec 13 2007, 13:09) *
Свитчи, естественно, работают по MAC адресам. IP им без надобности smile.gif.


На каком этапе свитчи формируют у себя в памяти таблицу соответствия "порт - MAC адрес"? Сомневаюсь, ведь устройство, работающее на raw пакетах без IP, не будет отвечать на стандартные ARP запросы. Как же свитч поймет, что к данному порту подключено устройство с таким-то MAC адресом? 05.gif
Go to the top of the page
 
+Quote Post
Rst7
сообщение Dec 17 2007, 11:50
Сообщение #13


Йа моск ;)
******

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



Цитата(Aprox @ Dec 17 2007, 13:40) *
На каком этапе свитчи формируют у себя в памяти таблицу соответствия "порт - MAC адрес"? Сомневаюсь, ведь устройство, работающее на raw пакетах без IP, не будет отвечать на стандартные ARP запросы. Как же свитч поймет, что к данному порту подключено устройство с таким-то MAC адресом? 05.gif


На самом деле ему пофиг wink.gif

Цитата
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


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Aprox
сообщение Dec 17 2007, 12:28
Сообщение #14


Местный
***

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



Цитата(Rst7 @ Dec 17 2007, 14:50) *
Как видите, он смотрит на ВСЕ пакеты, а не только на ARP

Спасибо. Насколько я понял, на первом этапе, когда еще нет MAC таблица еще сформирована, или не соответсвует действительности, свитч рассылает поступившие пакеты во все порты. Далее, по мере прихода пакетов с других портов, по их source адресам заполняет таблицу "MAC-порт". Я правильно понял текст?
Go to the top of the page
 
+Quote Post
Rst7
сообщение Dec 17 2007, 12:55
Сообщение #15


Йа моск ;)
******

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



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


Безусловно. Допустим, у нас безмозглая железка генерирует RAW-пакеты с правильными MAC-адресами (заранее задаными). В результате, первый же пакет от железки установит соответствие MAC<->PORT для железки, хотя, если не нужно принимать пакеты, это не особо и надо. А куда же отроутится пакет? Полетит он скорее всего в нужный порт, к которому подключен комп, т.к. стек сетевых протоколов на компе тоже проявляет некоторую активность (особенно виндозный, всякие девайсы PnP в сети ищет). В крайнем случае на компе можно просто пинг запустить хоть и не в существующий девайс.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 8th July 2025 - 16:57
Рейтинг@Mail.ru


Страница сгенерированна за 0.01485 секунд с 7
ELECTRONIX ©2004-2016