URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4881
[ Назад ]

Исходное сообщение
"отделить multicast от broadcast'a"

Отправлено gribnik , 28-Ноя-05 08:39 
Приветствую.

Как отделить мультикастные фреймы от широковещательных. Поясню что мне нужно: в своей программе сырой сокет слушает интерфейс и далее передает принятый кадр функции, проверяющей MAC-адреса в заголовке. Эта функция должна отсеить broadcast от multicast'a. Согласно документации, multicast можно определить по первому биту (он должен быть 1) первого байта МАК-адреса, но под это правило попадает и broadcast адрес.

Порекомендуйте, как лучше поступить, я еще только учусь :)
Спасибо.


Содержание

Сообщения в этом обсуждении
"отделить multicast от broadcast'a"
Отправлено enot , 28-Ноя-05 11:48 
>Приветствую.
>
>Как отделить мультикастные фреймы от широковещательных. Поясню что мне нужно: в своей
>программе сырой сокет слушает интерфейс и далее передает принятый кадр функции,
>проверяющей MAC-адреса в заголовке. Эта функция должна отсеить broadcast от multicast'a.

Мона сокет настроить на прием только мультикаста (что-то типа IFF_MULTICAST)

>Согласно документации, multicast можно определить по первому биту (он должен быть
>1) первого байта МАК-адреса, но под это правило попадает и broadcast
>адрес.
>

Согласно доки - 1 бит это _broadcast_, а мультикаст подмножество broadcast, в RFC описаны значение МАС-адреса (первые три байта) обозначающие что это мультикаст..


"отделить multicast от broadcast'a"
Отправлено gribnik , 29-Ноя-05 03:32 
>Мона сокет настроить на прием только мультикаста (что-то типа IFF_MULTICAST)
>
мне нужно принимать любые пакеты

>>Согласно документации, multicast можно определить по первому биту (он должен быть
>>1) первого байта МАК-адреса, но под это правило попадает и broadcast
>>адрес.
>>
>
>Согласно доки - 1 бит это _broadcast_, а мультикаст подмножество broadcast, в
>RFC описаны значение МАС-адреса (первые три байта) обозначающие что это мультикаст..
>
В каком rfc это описано, номер вспомнишь? :)