The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Не проходит мультикаст на сетевой интерфейс, !*! Sergetv, 14-Фев-23, 15:19  [смотреть все]
Здравствуйте.
Есть сетевой интерефейс
enp3s1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.3  netmask 255.255.255.0  broadcast 192.168.0.255
        ether 00:19:5b:87:17:8c  txqueuelen 1000  (Ethernet)
        RX packets 3946935  bytes 5374039533 (5.3 GB)
        RX errors 0  dropped 1  overruns 0  frame 0
        TX packets 318  bytes 16956 (16.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
на него прописан маршрут
225.0.0.0       0.0.0.0         255.255.255.0   U     0      0        0 enp3s1

На этом интерфейсе по очереди присутствует мультикаст на адрес 225.0.0.1:11111 от двух разных источников с одинаковым IP (192.168.0.2)

Задача записать его на комп с помощью ffmpeg.

Прблелема такая - от одного источника пишется нормально, а от второго ffmpeg не видит потока.
TCPDUMP видит пакеты с обеих источников-

Этот пишется-
14:17:12.988202 IP (tos 0x0, ttl 16, id 23824, offset 0, flags [DF], proto UDP (17), length 1344)
    192.168.0.2.47383 > 225.0.0.1.11111: [udp sum ok] UDP, length 1316
14:17:12.990436 IP (tos 0x0, ttl 16, id 23825, offset 0, flags [DF], proto UDP (17), length 1344)
    192.168.0.2.47383 > 225.0.0.1.11111: [udp sum ok] UDP, length 1316
14:17:12.992664 IP (tos 0x0, ttl 16, id 23826, offset 0, flags [DF], proto UDP (17), length 1344)
    192.168.0.2.47383 > 225.0.0.1.11111: [udp sum ok] UDP, length 1316

Этот не видится-
14:10:40.519952 IP (tos 0x0, ttl 32, id 2546, offset 0, flags [DF], proto UDP (17), length 1344)
    192.168.0.2.54752 > 225.0.0.1.11111: [udp sum ok] UDP, length 1316
14:10:40.519957 IP (tos 0x0, ttl 32, id 2547, offset 0, flags [DF], proto UDP (17), length 1344)
    192.168.0.2.54752 > 225.0.0.1.11111: [udp sum ok] UDP, length 1316
14:10:40.519960 IP (tos 0x0, ttl 32, id 2548, offset 0, flags [DF], proto UDP (17), length 1344)
    192.168.0.2.54752 > 225.0.0.1.11111: [udp sum ok] UDP, length 1316

На виндовой машине видятся оба потока.

Куда копать, подскажите, кто в курсе тонкостей...
Спасибо

  • Не проходит мультикаст на сетевой интерфейс, !*! Sergetv, 11:57 , 16-Фев-23 (1)
    Разобрался частично.
    Проблема  была в том, что поток, который не виделся, был в VLAN.
    Возник вопрос - как сделать так, чтоб сетевой интерфейс пропускал внутрь потоки вне зависимости от VLAN (как это работает на виндовой машине) ?

    • Не проходит мультикаст на сетевой интерфейс, !*! anonymous, 13:45 , 16-Фев-23 (2)
      > Разобрался частично.
      > Проблема  была в том, что поток, который не виделся, был в
      > VLAN.
      > Возник вопрос - как сделать так, чтоб сетевой интерфейс пропускал внутрь потоки
      > вне зависимости от VLAN (как это работает на виндовой машине) ?

      Вариант решения - добавить влан и объединить в бридж? Или указать на свиче, чтобы снимал тэги.

      • Не проходит мультикаст на сетевой интерфейс, !*! Sergetv, 10:34 , 20-Фев-23 (3)
        > Вариант решения - добавить влан и объединить в бридж? Или указать на
        > свиче, чтобы снимал тэги.

        А проще никак нельзя? Например, просто отключить теггирование на интерфейсе?

        • Не проходит мультикаст на сетевой интерфейс, !*! anonymous, 15:15 , 20-Фев-23 (4)
          >> Вариант решения - добавить влан и объединить в бридж? Или указать на
          >> свиче, чтобы снимал тэги.
          > А проще никак нельзя?

          Дык, куда уж проще - поснимать лишние тэги на порту свича?

          > Например, просто отключить теггирование на интерфейсе?

          Тэгирование - это расширение стандарта ethernet. И простой драйвер сетевой карты такие пакеты не понимает. tcpdump или wireshark расшифровывает ethernet самостоятельно. А для системы есть драйвер vlan, который в большинстве unix/linux систем включается в ядро отдельно и отбирает предназначенные для указанного в настройках системы влан-a пакеты, "за/расшифровывает" их и передаёт получателю.

          Если вы обратите внимание - в *nix системах vlan выглядит как отдельный интерфейс (сетевая карта). И вся его работа с данными заключается в том, что "наш" тэг добавляется в пакет или удаляется из пакета. Всё. И пакет отправляется на передачу в линию или в сетевой стек ядра для последующей отработки.

          Так что вам на месте надо решать, что проще - заводить ещё один интерфейс в системе и городить бриджи или указать на свиче снимать тэги на данном порту.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру