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

 
 
4 страниц V  « < 2 3 4  
Reply to this topicStart new topic
> Как быстро передавать данные через Ethernet, Поток данных порядка 100+ мбайт/сек
blackfin
сообщение Nov 5 2015, 17:44
Сообщение #46


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(jur @ Nov 5 2015, 20:26) *
Просто под рукой кросс-кабеля не нашлось :-) Но я его или найду, или сделаю сам.

Вообще-то, современные сетевые карты умеют менять функции каналов приема/передачи автоматически. Так что можете попробовать соединить компьютеры обычным патч-кордом.

Цитата(jur @ Nov 5 2015, 20:26) *
Ведь, насколько я понял, клиенту MAC-адрес вынь да положь?

MAC-адрес обычно аппаратно прописан в каждой сетевой карте.

Цитата(jur @ Nov 5 2015, 20:26) *
А как насчет ARP-пакетов? Они ведь останутся?

ARP-пакеты в сети закончатся, как только оба клиента узнают MAC-адрес своего партнера.
Go to the top of the page
 
+Quote Post
jur
сообщение Nov 5 2015, 17:45
Сообщение #47


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704




Цитата(blackfin @ Nov 5 2015, 19:40) *
Вообще-то, современные сетевые карты умеют менять функции каналов приема/передачи автоматически. Так что можете попробовать соединить компьютеры обычным патч-кордом.

У меня плата не "молодая", не поддерживает, пробовал.

Цитата(blackfin @ Nov 5 2015, 19:40) *
MAC-адрес обычно аппаратно прописан в каждой сетевой карте.

Да, источника - прописан, но ведь сетевому уровню для Ethernet-фрейма нужен и адрес приемника? Насколько я понял, именно для этого и применяются отдельные запросы.

Цитата(blackfin @ Nov 5 2015, 19:44) *
ARP-пакеты в сети закончатся, как только оба клиента узнают MAC-адрес своего партнера.

Они постоянно валят, заразы...

А как вообще организовать связь двух изолированных компьютеров? Нет DHCP, нет роутера - вообще никого больше.


--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post
blackfin
сообщение Nov 5 2015, 18:02
Сообщение #48


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(jur @ Nov 5 2015, 20:45) *
А как вообще организовать связь двух изолированных компьютеров? Нет DHCP, нет роутера - вообще никого больше.

Может, для начала почитать какой-нить букварь по TCP/IP?

А то, эти ваши вопросы.. "они постоянно валят, заразы..." biggrin.gif
Go to the top of the page
 
+Quote Post
jur
сообщение Nov 5 2015, 18:18
Сообщение #49


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704




Цитата(blackfin @ Nov 5 2015, 20:02) *
Может, для начала почитать какой-нить букварь по TCP/IP?

Да читал я... В "букварях" не описываются тонкости взаимодействия интерфейсов. К тому же, я хотел бы использовать UDP протокол. Он намного "легче" TCP. И я совсем не встречал ситуации соединения двух компьютеров без всей остальной тяжеловесной инфраструктуры. Меня как раз и интересует, как по-проще это сделать. Т.е. без Интернета, без всего остального громоздкого и сложного для понимания. Просто компьютер-компьютер и все.


--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Nov 5 2015, 19:21
Сообщение #50


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Цитата(jur @ Nov 5 2015, 19:26) *
Да, я именно об этом и подумал. В общем-то мне именно это и нужно. Просто под рукой кросс-кабеля не нашлось :-) Но я его или найду, или сделаю сам.

А как насчет ARP-пакетов? Они ведь останутся? Ведь, насколько я понял, клиенту MAC-адрес вынь да положь? Спускаться на уровень Ethernet-фреймов или как-то иначе?

Для начала смотрите команды с ничего не значащими именами sm.gif - route и arp.

При точка-точка паразитного трафика в канале будет немного - изредка ARP - иногда ICMP это если Вы вдруг не туда что-то слать начнете - в общем - мешать не должно.

Успехов! Rob.
Go to the top of the page
 
+Quote Post
doom13
сообщение Nov 5 2015, 20:13
Сообщение #51


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(jur @ Nov 5 2015, 20:26) *
А как насчет ARP-пакетов? Они ведь останутся? Ведь, насколько я понял, клиенту MAC-адрес вынь да положь? Спускаться на уровень Ethernet-фреймов или как-то иначе?

Реализуйте в устройстве поддержку ARP и ICMP и оно будет нормально определятся в сети. На основании ARP система заполняет ARP-таблицу, где IP-адресу ставится в соответствие MAC-адрес, т.е. для передачи сообщений система должна знать какой MAC-адрес соответствует IP-адресу. Даже если посылается UDP пакет с правильными полями MAC и IP, система будет отправлять вашему устройству (и остальным) ARP запрос пока не получит соответствующий ARP ответ, чтобы заполнить ARP-таблицу.

Цитата(jur @ Nov 5 2015, 20:45) *
Они постоянно валят, заразы...

После ARP-ответа такого не будет, реализуйте поддержку ARP!

Выше советовали пример от альтера с железным udp_offloader, если его используете, то там ещё должна быть софтварная поддержка минимального IP-стека (ARP, ICMP) на Nios II.
Go to the top of the page
 
+Quote Post
dxp
сообщение Nov 6 2015, 06:25
Сообщение #52


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



QUOTE (jur @ Nov 6 2015, 00:18) *
Да читал я... В "букварях" не описываются тонкости взаимодействия интерфейсов. К тому же, я хотел бы использовать UDP протокол.

Как уже советовали, используйте для соединения со своим устройством отдельную карту. Запретите на этом интерфейсе всё, кроме IPv4. Если нету (пока) поддержки ARP в дивайсе, то можно руками прописать МАС адрес в таблицу (команда arp). Всё это здорово убавит "шум" в интерфейсе. Ну, и в шарке же можно легко настроить фильтр, чтобы показывал только пакеты от коннекта с вашим дивайсом.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
jur
сообщение Nov 9 2015, 16:06
Сообщение #53


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704




Продолжаю продираться через препоны к назначенной цели :-)

Сначала столкнулся с проблемой, что при включении моего отдельного сегмента вырубается основная сеть. В смысле, сеть есть, а связи с Интернетом нет. Потом допетрил ("Семен Семеныч!" (С)) и сделал этот отдельный сегмент другой подсетью (основная 192.168.1.1, отдельная - 192.168.147.1(2)). Все стало работать нормально: Кесарю - кесарево, слесарю - слесарево.

Спасибо, друзья, за подсказку! Позадавал и там, и там IP<->MAC с помощью команды arp. Запускаю мою пару клиент-сервер. Работает, передает, но все-равно остаются паузы между посылкой данных клиентом и их приемом сервером. Почитал еще раз про winsock и узнал, что данные командой sendto() не передаются, а буферируются системой. То же относится и к recvfrom(). Это убедило меня в необходимости дальнейшего углубления в winsock. Не знаю, поможет ли команда select(), но подозреваю, что должна быть возможность задать немедленную посылку данных. Что-то вроде флага "send immediately".

В общем, продолжаю погружение...

P.S. Для этих двух Ethernet-карт позапрещал все, кроме TCP/IP. Думал, что можно доустановить протокол UDP/IP, но система сказала: "Давай диск". Отказался...



--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post
krux
сообщение Nov 9 2015, 16:25
Сообщение #54


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



гуглите функцию setsockopt и опции сокетов, например SO_SNDBUF, SO_SNDLOWAT, SO_SNDTIMEO и т.д.


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
jur
сообщение Nov 10 2015, 08:33
Сообщение #55


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704




Цитата(krux @ Nov 9 2015, 18:25) *
гуглите функцию setsockopt и опции сокетов, например SO_SNDBUF, SO_SNDLOWAT, SO_SNDTIMEO и т.д.

Спасибо за подсказку! Мне как раз всякие дополнительные моменты понадобятся, т.к. я приступаю к разработке тестовой пары передатчик-приемник. Тут мне понадобятся всякие прибамбасы с ивентами и т.п.

А паузы я поборол! :-) Спасибо за помощь! "Собака порылась" в очень простой вещи: в NetBIOS-се. Я эту штуку на карте отдельного сегмента сети вырубил, а на основной карте она осталась. И получалось, что после приема пакета от клиента Wireshark показывал еще 5-6 пакетов NBNS от основной карты, и только потом отправляемый обратно мой пакет.

P.S. Еще небольшая непонятка. Основной интерфейс (192.168.1.50) каждые ~35 секунд посылает широковещательный пакет. Это выглядит так:

Код
No.     Time           Source                Destination           Protocol Length Info
    111 896.507917000  192.168.1.50          255.255.255.255       UDP      82     Source port: 1025  Destination port: 1947
    112 930.686786000  192.168.1.50          255.255.255.255       UDP      82     Source port: 1025  Destination port: 1947
    113 965.080060000  192.168.1.50          255.255.255.255       UDP      82     Source port: 1025  Destination port: 1947

Если я что-то передаю по тестовому сегменту, то широковещательные пакеты все равно вклиниваются:

Код
No.     Time           Source                Destination           Protocol Length Info
    266 1275.393877000 192.168.147.2         192.168.147.1         UDP      142    Source port: 1666  Destination port: 1666    <- От клиента
    267 1275.394245000 192.168.147.1         192.168.147.2         UDP      142    Source port: 1666  Destination port: 1666    -> Эхо клиенту
    268 1275.489097000 192.168.1.50          255.255.255.255       UDP      82     Source port: 1025  Destination port: 1947
    269 1275.719379000 192.168.147.2         192.168.147.1         UDP      142    Source port: 1666  Destination port: 1666
    270 1275.719754000 192.168.147.1         192.168.147.2         UDP      142    Source port: 1666  Destination port: 1666

Погуглил насчет порта UDP/1025 - какой-то WIN-RPC (Windows RPC) (к чему он тут?), про порт UDP/1947 - вообще что-то невразумительное ("1947/TCP HASP SRM Работа и с сетевым, и с локальным ключами HASP происходит через локальный демон или службу по TCP/1947", но я-то вижу пакет UDP).

Как это понимать? Наплевать и забыть?



--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post
a123-flex
сообщение Sep 20 2016, 20:14
Сообщение #56


Профессионал
*****

Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884



Цитата(jur @ Nov 9 2015, 19:06) *
Продолжаю продираться через препоны к назначенной цели :-)

Парень. Главная препона в том, что о поставленной задаче ты не знаешь абсолютно ничего, а она довольно велика...
В твоей теме сидят уже 2 или 3 человека, которые имеют готовые решения, и терпеливо терпят всю твою пионерскую чушь, в надежде что ты все-таки поймешь в итоге, что нужно правильное делать.

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

При этом ты все равно будешь главным, не сорвешь все сроки, прослывешь очень большим техническим экспертом, и опытным руководителем, и получишь потом целую гору шоколада от руководства.

Альтернатива в твоем состоянии - потратить на все ето дело год-другой, и завалить дело целиком.


--------------------
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.
Go to the top of the page
 
+Quote Post

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

 


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


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