Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
Эксперт С++
1931 / 1043 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
1

Реализация IGMP протокола

10.01.2012, 22:24. Просмотров 2717. Ответов 11
Метки нет (Все метки)

Доброе время суток! подскажите пожалуйста, требуется ли ручками реализовывать IGMP протокол при передаче данных по мультикасту (предполагается использование библиотеки life555). Ещё читал, что IGMP должен кидать клиент свичу\маршрутизатору и т.п. оборудованию с разъяснениями кого он(клиент) хочет слушать. А возможна ли ситуация когда клиент не знает ничего о том, кого он хочет слушать (например слушает 0.0.0.0) а некий сервер\источник данных знает о том, кто из клиентов должен его слушать и уже сервер говорит оборудованию как организовать передачу данных?
благодарю за попытки понять этот огород)))

Не по теме:

так же понимаю, а причем здесь Qt - реализация сервера планируется на Qt. Посему прошу сильно тапками не кидать и в случае необходимости перенести в соответственный раздел.

0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.01.2012, 22:24
Ответы с готовыми решениями:

Реализация простейшего почтового сервера и протокола взаимодействия с ним (ошибка в коде)
Задание: Реализовать простейший почтовый сервер и протокол взаимодействия с ним. Предусмотреть...

Реализация протокола MS CHAP
Есть задача. Реализовать алгоритм шифрования MS CHAP. почитал что это вообще такое подробно...

Знание протокола TCP под Linux, передача данных между клиентом и FTP сервером реализация на С++
Вопрос собственно такой. Есть программа, реализующая передачу данных с ftp сервера на клиент в...

Реализация протокола RIP
Всем привет. Очень нужна помощь. Требуется реализовать маршрутизацию сети по протоколу RIP, но в...

11
44 / 44 / 2
Регистрация: 26.10.2009
Сообщений: 298
11.01.2012, 09:37 2
В qt 4.8 что-то добавили для мультикаста.

Добавлен IP Multicast API, существенно расширен API для обеспечения локализации.
http://www.opennet.ru/opennews/art.shtml?num=32571

Как разберешься, скажи сюда, интересно.
1
Эксперт С++
1931 / 1043 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
11.01.2012, 10:17  [ТС] 3
это я уже видел, спс...
ну а если быть честным, то не я, а коллега с команды, говорит, что мультикаст кидать можно, но RTP наворачивать не получится, посему - отказались от дальнейшего изучения
0
44 / 44 / 2
Регистрация: 26.10.2009
Сообщений: 298
11.01.2012, 10:32 4
У меня знакомый довольно плотно с Qt для сети использовал. Создавал клиент серверные распределенные приложения с чтением данных с приборов.
Это не аргумент конечно, а так, мысль что может не все так плохо в Qt с сетью.
1
Эксперт С++
1931 / 1043 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
11.01.2012, 10:40  [ТС] 5
В Qt с сетью - всё не так уж и плохо, я сам в какой-то степени сетевик, т.к. мы пишем в основном клиент-серверные приложения. но к сожалению с IGMP Qt сдружить не получилось, по крайней мере у нашей команды...
0
44 / 44 / 2
Регистрация: 26.10.2009
Сообщений: 298
11.01.2012, 10:51 6
Цитата Сообщение от l_a_m Посмотреть сообщение
В Qt с сетью - всё не так уж и плохо, я сам в какой-то степени сетевик, т.к. мы пишем в основном клиент-серверные приложения. но к сожалению с IGMP Qt сдружить не получилось, по крайней мере у нашей команды...
А, понял, я думал задача стоит в организации распределенного клиент серверного приложения, а не конкретно в использовании IGMP.
0
Эксперт С++
1931 / 1043 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
11.01.2012, 11:16  [ТС] 7
задача стоит в передачи звука по протоколу rtp (rtsp в частности), через технологию multicast, т.е. есть ковырнадцать источников и ещё больше приемников, всё это гадится в одну локальную сеть, дальше нужно это как-то разруливать, что бы каждый приемник знал о каждом источнике - бред, посему приходится наворачивать сервер который должен это разруливать, есть оооочень большое желание сделать, что бы сервер на аппаратном уровне (через IGMP пакеты) разруливал соединения, а клиенты слушали 0.0.0.0 адрес. Но как удалось нугуглить - такое сделать нельзя т.к. IGMP кидает клиент, т.е. клиент знает об источнике, а меня это не устраивает у меня ситуация как раз на оборот. посему, есть мысл сделать что называется "хак" и подменять IGMP пакеты в сети, что бы сервер выдавал себя за клиентов и кидал оборудованию от имени клиентов IGMP пакеты. ВОТ!
0
44 / 44 / 2
Регистрация: 26.10.2009
Сообщений: 298
11.01.2012, 11:28 8
Я думаю не в qt эту тему надо.
0
Эксперт С++
1931 / 1043 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
11.01.2012, 12:33  [ТС] 9
я уже то же об этом подумываю...
to Moderators: не могли бы Вы перенести тему в какую нибудь сетевую ветку, где народ по адекватней? (не в том смысле, что тут народ не адекватный, а в том смысле, что бы там (в сетевой ветке) народ по компетентней был заранее спс
0
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
28012 / 15738 / 971
Регистрация: 15.09.2009
Сообщений: 67,812
Записей в блоге: 78
12.01.2012, 00:36 10
l_a_m, если Вам надо это на Qt то более чем здесь - вряд ли.
если просто сетевые технологи - к сожалению в разделе С/С++ нет отдельного подраздела по сетевым технологиям.
0
Эксперт С++
7171 / 3229 / 77
Регистрация: 17.06.2009
Сообщений: 14,166
12.01.2012, 11:30 11
Но как удалось нугуглить - такое сделать нельзя т.к. IGMP кидает клиент, т.е. клиент знает об источнике, а меня это не устраивает
Клиент шлет пакет что он хочет подключиться и прослушивать такую-то группу multicast
Эта информация используется switch-ами и роутерами чтобы доставлять пакеты multicast до данной подсети из другой подсети
Если клиент не хочет слушать группу multicast - он не шлет ничего
А возможна ли ситуация когда клиент не знает ничего о том, кого он хочет слушать (например слушает 0.0.0.0) а некий сервер\источник данных знает о том, кто из клиентов должен его слушать и уже сервер говорит оборудованию как организовать передачу данных?
Это не multicast

т.е. есть ковырнадцать источников и ещё больше приемников, всё это гадится в одну локальную сеть, дальше нужно это как-то разруливать
Мне не очень понятно зачем это нужно
И какая цель в итоге должна быть достигнута
Сразу видны косяки в предложенной схеме (или не все озвучено)

Например клиентский компьютер отключился от сети
Как сервер узнает об этом ?

Пришел новый клиентский компьютер
Как сервер узнает об этом ?

Зачем вообще нужно чтобы сервер управлял кому посылать ?
0
Эксперт С++
1931 / 1043 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
14.01.2012, 18:58  [ТС] 12
прошу прощения, за задержки - временно перекинули на реализацию других "фич"...

Суть такова: есть источник, который вещает в сеть некий поток аудио\видео\и т.д. данных, есть к примеру 10 приемников, о существовании которых знает источник вещания, и ему (источнику) требуется воспроизводить только на какие-то определённые приёмники. собственно из-за этого была идея сгородить вот описанный выше огород.

Добавлено через 6 минут
зы: источников может быть несколько, а приемник совершенно тупой (например VLC плеер на компе)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.01.2012, 18:58

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Реализация протокола МЭК61107 в МК
Добрый День! У некоторого оборудования через оптопорт можно подать команду, например SOH R1 STX...

Реализация IMAP протокола
Добрый день. Не знаю с чего начать. Хочу попробовать самому реализовать imap протокол на C#....

Реализация протокола IPX
Здравствуйте! Возможно меня назовут старомодной, протокол мало где используется в силу своей...

Реализация протокола DMX на Verilog
Помогите разобраться с алгоритмом работы DMX Как на Verilog запрограммировать необходимые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.