Тут такая кривая проблема всплыла.
Компу (Win) по Ethernet отправляют UDP сообщения c широковещательным адресом ИСТОЧНИКА. Широковещание локальное для подсети (типа 192,168,0,255).
Адрес назначения обычный локальный, прочее — все нормально.
Приемный порт на машине забинден (сервер типа).
Дык вот, Винсок почему то блокирует данные сообщения. Я понимаю что существование подобных мессаг в сети есть неправильно, но очень хочется их принять. Любым способом, могу даже поменять сетевые параметры на машине.
Пробовал поменять маску подсети так чтобы адрес (192,168,0,255) выпал из группы широковещательных (т.е. ставлю, например, маску 255,255,0,0) — не помогает.
Кто нибудь подскажет решение?
Re: Надо принять пакет с широковещательным IP адресом ИСТОЧН
Здравствуйте, DDD123456, Вы писали:
DDD>Тут такая кривая проблема всплыла.
DDD>Пробовал поменять маску подсети так чтобы адрес (192,168,0,255) выпал из группы широковещательных (т.е. ставлю, например, маску 255,255,0,0) — не помогает.
Вообще то броадкаст адресс строится по следующему правилу... К номеру сети добавляются единички пока не получится 4 байта (IPv4). То бишь при маске подсети 255.255.0.0 и номере сети 10.1.0.0 броадкаст адресс будет иметь следующий вид: 10.1.255.255.
Не знаю насколько можно использовать указанную Вами маску подсети к адресу класса С... Там ведь 3 байта отводится под номер сети...
Я бы порекомендовал сделать следующее...
Выбрать номер сети, например 192.168.52.0, после чего присвоить каждому компьютеру адрес 192.168.52.1-192.168.52.254, после чего на каждом из них поставить маску подсети 255.255.255.0, броадкаст адресс при этом: 192.168.52.255. Или использовать другой класс сети ...
Любая задача имеет решение, даже когда решения не существует
Re[2]: Надо принять пакет с широковещательным IP адресом ИСТ
[]
> Не знаю насколько можно использовать указанную Вами маску подсети к > адресу класса С... Там ведь 3 байта отводится под номер сети... > Я бы порекомендовал сделать следующее...
DDD123456 wrote:
> Тут такая кривая проблема всплыла. > Компу (Win) по Ethernet отправляют UDP сообщения c широковещательным > адресом ИСТОЧНИКА. Широковещание локальное для подсети (типа 192,168,0,255). > Адрес назначения обычный локальный, прочее — все нормально.
Это девайс какой-то такие пакеты шлет?
> Приемный порт на машине забинден (сервер типа). > > Дык вот, Винсок почему то блокирует данные сообщения. Я понимаю что > существование подобных мессаг в сети есть неправильно, но очень хочется > их принять. Любым способом, могу даже поменять сетевые параметры на машине.
Попробуй raw ip сокет. Но, вообще-то, странно, что не принимает если
пакет адресован этой машине.
-- Maxim Yegorushkin
Posted via RSDN NNTP Server 2.0
Re[2]: Надо немного пояснить, похоже не поняли задачи.
B>Выбрать номер сети, например 192.168.52.0, после чего присвоить каждому компьютеру адрес 192.168.52.1-192.168.52.254, после чего на каждом из них поставить маску подсети 255.255.255.0, броадкаст адресс при этом: 192.168.52.255. Или использовать другой класс сети ...
В оригинале сетка нормальная — т.е. маска у нее 255.255.255.0. И с IP адресами все в порядке, за исключением одного девайса которому НЕЛЬЗЯ поменять IP адрес. Вот этот девайс и имеет этот самый IP 192.168.52.255. И отсылает другим компам мессаги с указанием такого адреса источника. Вот они то и игнорируются ВинСоком!
Эксперименты показали что виноват именно такой адрес источника. Будь он даже 192.168.52.254 — все резко становится хорошо.
Первое что мне пришло в голову — изменить параметры подсети на компе-адресате так чтобы маска подсети была другой и этот адрес перестал быть широковещательным. Нифига! ВинСок, похоже, очень хорошо знает классы сетей и все равно игнорирует этот адрес.
Вот такая вот проблема. Советы поменять IP адрес на источнике на "правильный" не годятся, я не могу этого сделать.
Re[2]: Надо принять пакет с широковещательным IP адресом ИСТ
Здравствуйте, DDD123456, Вы писали:
DDD>Вот такая вот проблема. Советы поменять IP адрес на источнике на "правильный" не годятся, я не могу этого сделать.
Насколько я знаю, адреса в которых номер компьютера состоит изо всех единичек или ноликов не может быть назначен конечному узлу...
Любая задача имеет решение, даже когда решения не существует
Re[4]: Надо немного пояснить, похоже не поняли задачи.
B>>Насколько я знаю, адреса в которых номер компьютера состоит изо всех единичек или ноликов не может быть назначен конечному узлу...
DDD>Это я тоже знаю, но мне от этого не легче )))
Тогда постарайтесь обьяснить как так получилось что конечному узлу присвоен броадкаст адресс??? Я этого никак не могу понять
Любая задача имеет решение, даже когда решения не существует
Re[6]: Надо немного пояснить, похоже не поняли задачи.
B>>>Насколько я знаю, адреса в которых номер компьютера состоит изо всех единичек или ноликов не может быть назначен конечному узлу...
DDD>>Это я тоже знаю, но мне от этого не легче )))
B>Тогда постарайтесь обьяснить как так получилось что конечному узлу присвоен броадкаст адресс??? Я этого никак не могу понять
Ну какая разница??? Хотите у себя воспроизвести? Не получится — это специальное железо делает такие фокусы.
Re[7]: Надо немного пояснить, похоже не поняли задачи.
Здравствуйте, DDD123456, Вы писали:
DDD>Ну какая разница??? Хотите у себя воспроизвести? Не получится — это специальное железо делает такие фокусы.
Я хочу понять как так случилось что производители железа отошли от стандарта TCP/IP и начали назначать броадкаст адресс конечному узлу. Не понимаю я этого .
Любая задача имеет решение, даже когда решения не существует
Re[3]: Надо принять пакет с широковещательным IP адресом ИСТ
Здравствуйте, DDD123456, Вы писали:
DDD>Здравствуйте, TarasCo, Вы писали:
TC>>А фаервол отключен?
DDD>Да. Кроме того, во избежание "местных" эффектов пробовали на кучке других компов.
Ну тогда это я думаю это особенность реализации надежной реализации IP стека — неправильные датаграммы просто игнорируются
Да пребудет с тобою сила
Re[3]: Надо немного пояснить, похоже не поняли задачи.
От:
Аноним
Дата:
22.06.06 08:15
Оценка:
DDD>В оригинале сетка нормальная — т.е. маска у нее 255.255.255.0. И с IP адресами все в порядке, за исключением одного девайса которому НЕЛЬЗЯ поменять IP адрес. Вот этот девайс и имеет этот самый IP 192.168.52.255. И отсылает другим компам мессаги с указанием такого адреса источника. Вот они то и игнорируются ВинСоком!
А если маску сделать 255.255.254.0? Тогда 192.168.52.255 вполне валидным будет.
Re[4]: Надо немного пояснить, похоже не поняли задачи.
Здравствуйте, Аноним, Вы писали:
DDD>>В оригинале сетка нормальная — т.е. маска у нее 255.255.255.0. И с IP адресами все в порядке, за исключением одного девайса которому НЕЛЬЗЯ поменять IP адрес. Вот этот девайс и имеет этот самый IP 192.168.52.255. И отсылает другим компам мессаги с указанием такого адреса источника. Вот они то и игнорируются ВинСоком! А>А если маску сделать 255.255.254.0? Тогда 192.168.52.255 вполне валидным будет.
В том то и проблема что не становится. В Винсокете похоже очень прочно сидит понятие о классах сетей. Обмануть не получаецца.