blackfin 27 5 ноября, 2015 Опубликовано 5 ноября, 2015 · Жалоба Просто под рукой кросс-кабеля не нашлось :-) Но я его или найду, или сделаю сам. Вообще-то, современные сетевые карты умеют менять функции каналов приема/передачи автоматически. Так что можете попробовать соединить компьютеры обычным патч-кордом. Ведь, насколько я понял, клиенту MAC-адрес вынь да положь? MAC-адрес обычно аппаратно прописан в каждой сетевой карте. А как насчет ARP-пакетов? Они ведь останутся? ARP-пакеты в сети закончатся, как только оба клиента узнают MAC-адрес своего партнера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jur 0 5 ноября, 2015 Опубликовано 5 ноября, 2015 · Жалоба Вообще-то, современные сетевые карты умеют менять функции каналов приема/передачи автоматически. Так что можете попробовать соединить компьютеры обычным патч-кордом. У меня плата не "молодая", не поддерживает, пробовал. MAC-адрес обычно аппаратно прописан в каждой сетевой карте. Да, источника - прописан, но ведь сетевому уровню для Ethernet-фрейма нужен и адрес приемника? Насколько я понял, именно для этого и применяются отдельные запросы. ARP-пакеты в сети закончатся, как только оба клиента узнают MAC-адрес своего партнера. Они постоянно валят, заразы... А как вообще организовать связь двух изолированных компьютеров? Нет DHCP, нет роутера - вообще никого больше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 27 5 ноября, 2015 Опубликовано 5 ноября, 2015 · Жалоба А как вообще организовать связь двух изолированных компьютеров? Нет DHCP, нет роутера - вообще никого больше. Может, для начала почитать какой-нить букварь по TCP/IP? А то, эти ваши вопросы.. "они постоянно валят, заразы..." Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jur 0 5 ноября, 2015 Опубликовано 5 ноября, 2015 · Жалоба Может, для начала почитать какой-нить букварь по TCP/IP? Да читал я... В "букварях" не описываются тонкости взаимодействия интерфейсов. К тому же, я хотел бы использовать UDP протокол. Он намного "легче" TCP. И я совсем не встречал ситуации соединения двух компьютеров без всей остальной тяжеловесной инфраструктуры. Меня как раз и интересует, как по-проще это сделать. Т.е. без Интернета, без всего остального громоздкого и сложного для понимания. Просто компьютер-компьютер и все. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 34 5 ноября, 2015 Опубликовано 5 ноября, 2015 · Жалоба Приветствую! Да, я именно об этом и подумал. В общем-то мне именно это и нужно. Просто под рукой кросс-кабеля не нашлось :-) Но я его или найду, или сделаю сам. А как насчет ARP-пакетов? Они ведь останутся? Ведь, насколько я понял, клиенту MAC-адрес вынь да положь? Спускаться на уровень Ethernet-фреймов или как-то иначе? Для начала смотрите команды с ничего не значащими именами :) - route и arp. При точка-точка паразитного трафика в канале будет немного - изредка ARP - иногда ICMP это если Вы вдруг не туда что-то слать начнете - в общем - мешать не должно. Успехов! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 5 ноября, 2015 Опубликовано 5 ноября, 2015 · Жалоба А как насчет ARP-пакетов? Они ведь останутся? Ведь, насколько я понял, клиенту MAC-адрес вынь да положь? Спускаться на уровень Ethernet-фреймов или как-то иначе? Реализуйте в устройстве поддержку ARP и ICMP и оно будет нормально определятся в сети. На основании ARP система заполняет ARP-таблицу, где IP-адресу ставится в соответствие MAC-адрес, т.е. для передачи сообщений система должна знать какой MAC-адрес соответствует IP-адресу. Даже если посылается UDP пакет с правильными полями MAC и IP, система будет отправлять вашему устройству (и остальным) ARP запрос пока не получит соответствующий ARP ответ, чтобы заполнить ARP-таблицу. Они постоянно валят, заразы... После ARP-ответа такого не будет, реализуйте поддержку ARP! Выше советовали пример от альтера с железным udp_offloader, если его используете, то там ещё должна быть софтварная поддержка минимального IP-стека (ARP, ICMP) на Nios II. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 65 6 ноября, 2015 Опубликовано 6 ноября, 2015 · Жалоба Да читал я... В "букварях" не описываются тонкости взаимодействия интерфейсов. К тому же, я хотел бы использовать UDP протокол. Как уже советовали, используйте для соединения со своим устройством отдельную карту. Запретите на этом интерфейсе всё, кроме IPv4. Если нету (пока) поддержки ARP в дивайсе, то можно руками прописать МАС адрес в таблицу (команда arp). Всё это здорово убавит "шум" в интерфейсе. Ну, и в шарке же можно легко настроить фильтр, чтобы показывал только пакеты от коннекта с вашим дивайсом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jur 0 9 ноября, 2015 Опубликовано 9 ноября, 2015 · Жалоба Продолжаю продираться через препоны к назначенной цели :-) Сначала столкнулся с проблемой, что при включении моего отдельного сегмента вырубается основная сеть. В смысле, сеть есть, а связи с Интернетом нет. Потом допетрил ("Семен Семеныч!" (С)) и сделал этот отдельный сегмент другой подсетью (основная 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, но система сказала: "Давай диск". Отказался... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 9 ноября, 2015 Опубликовано 9 ноября, 2015 · Жалоба гуглите функцию setsockopt и опции сокетов, например SO_SNDBUF, SO_SNDLOWAT, SO_SNDTIMEO и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jur 0 10 ноября, 2015 Опубликовано 10 ноября, 2015 · Жалоба гуглите функцию 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). Как это понимать? Наплевать и забыть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
a123-flex 0 20 сентября, 2016 Опубликовано 20 сентября, 2016 · Жалоба Продолжаю продираться через препоны к назначенной цели :-) Парень. Главная препона в том, что о поставленной задаче ты не знаешь абсолютно ничего, а она довольно велика... В твоей теме сидят уже 2 или 3 человека, которые имеют готовые решения, и терпеливо терпят всю твою пионерскую чушь, в надежде что ты все-таки поймешь в итоге, что нужно правильное делать. Тебе уже даже намекнули, что надо на самом деле сделать: банка варенья и коробка печенья. Как показывает опыт, в электрониксе полно отзывчивых людей, которые всего-лишь за одну-две сотни тысяч деревянных печенек (а иногда и гораздо дешевле) решат твою задачу в лучшем виде и очень быстро. При этом ты все равно будешь главным, не сорвешь все сроки, прослывешь очень большим техническим экспертом, и опытным руководителем, и получишь потом целую гору шоколада от руководства. Альтернатива в твоем состоянии - потратить на все ето дело год-другой, и завалить дело целиком. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться