Как я могу знать, включен ли Многоадресный IP-пакет

Несколько лет назад я использовал клавиатуру компьютера с Mac OS мультиначальной загрузки Macintosh 9, Mac OS X и Linux. Ключ окон генерировал тот же код клавиши как Командная клавиша Apple и обнаружился в Linux как 'meta' или что-то. Попробуйте ответ geekosaur за отображение ключа окон здесь.

Даже если это - неправильный код клавиши, что-то очень похожее должно сделать для Вас.

Править: Пример xorg.conf разделяет для отображения Функции управления на ключи Windows согласно инструкциям geekosaur.

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver    "keyboard"
    Option    "XkbLayout" "us"
    Option    "XkbOptions" "altwin:ctrl_win"
EndSection

19
01.12.2011, 15:02
3 ответа

Это кажется большинством ядер (отправьте v1), действительно поддерживайте многоадресную передачу по умолчанию или имейте CONFIG_IP_MULTICAST, включенный при компиляции. Чтобы проверить, подписывается ли скомпилированное и рабочее ядро на какую-либо группу многоадресной передачи, я использовал бы netstat -g.

Это кажется большинством ядер (отправьте v1), действительно поддерживайте многоадресную передачу по умолчанию.

[root@centos module]# grep CONFIG_IP_MULTICAST /usr/src/kernels/2.6.18-274.7.1.el5-i686/.config 
CONFIG_IP_MULTICAST=y
[root@centos module]# netstat -g
IPv6/IPv4 Group Memberships
Interface       RefCnt Group
--------------- ------ ---------------------
lo              1      all-systems.mcast.net
eth0            1      224.0.0.251
eth0            1      all-systems.mcast.net

Я вижу, что интерфейс eth0 на моем хосте думает свои подписанные 224.0.0.251 основных mcast группы. Также альтернативно, если я проверяю с помощью ping-запросов группу или сеть, и затем включенные сети узла всей известной многоадресной передачи возвращаются мне, я сказал бы, что многоадресная передача работает над хостом. Можно ли попробовать netstat -g или cat /proc/net/igmp и посмотрите, возвращает ли это какие-либо группы на Вашем хосте?

18
27.01.2020, 19:44
  • 1
    Но как Вы определяете, если маршрутизатор, что поле подключено к многоадресной передаче поддержек? –  Nils 01.12.2011, 22:26
  • 2
    При Многоадресной передаче - отправитель отправляет единственную датаграмму от своего индивидуального адреса до адреса многоадресной группы, и промежуточные маршрутизаторы заботятся о создании копий и отправке их ко всем получателям, которые присоединились к соответствующей группе многоадресной передачи. –  Nikhil Mulley 02.12.2011, 06:31
  • 3
    Если Да, маршрутизатор должен поддерживать многоадресную передачу затем. Однако для отправителей/получателей это работает над IGMP и для маршрутизаторов, его Независимой от протокола многоадресной передачи (PIM). Маршрутизатор, который поддерживает PIM, обычно включал, и группа многоадресной передачи - 224.0.0.0/4. Попытайтесь поднять другой ПК, слушающий в группе в другом конце, и отправьте данные в группу многоадресной передачи и проверку, если получатель в otherend получает данные. Ify, сеть маршрутизатора действительно поддерживает многоадресную передачу. Немного инструментов онлайн: imj.ucsb.edu/mcast_detective (окна) –  Nikhil Mulley 02.12.2011, 06:31

На Вашем поле Linux: ip maddr show дает:

@4Gtest ~]$ ip maddr show
1:      lo
        inet  224.0.0.1
        inet6 ff02::1
2:      p3p1
        link  01:00:5e:00:00:01
        link  33:33:00:00:00:01
        link  33:33:ff:bd:7e:0f
        link  01:00:5e:00:00:fb
        link  01:00:5e:7f:ff:05
        inet  224.127.255.5
        inet  224.0.0.251
        inet  224.0.0.1
        inet6 ff02::1:ffbd:7e0f
        inet6 ff02::1
20
27.01.2020, 19:44
  • 1
    Как добавить muticast группу к интерфейсу? огромное спасибо –  A R 31.10.2017, 00:36
# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:F1:FF:EA  
inet addr:78.46.74.27  Bcast:78.46.74.31  Mask:255.255.255.224
inet6 addr: fe80::20c:29ff:fef1:ffea/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1
RX packets:5339836 errors:0 dropped:0 overruns:0 frame:0
TX packets:5486444 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:820300389 (782.2 MiB)  TX bytes:1929979381 (1.7 GiB)
Base address:0x1400 Memory:e8820000-e8840000

Отключите многоадресную передачу:

ifconfig eth0 -multicast

результат:

# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:F1:FF:EA  
inet addr:78.46.74.27  Bcast:78.46.74.31  Mask:255.255.255.224
inet6 addr: fe80::20c:29ff:fef1:ffea/64 Scope:Link
UP BROADCAST MTU:1500  Metric:1
RX packets:5339836 errors:0 dropped:0 overruns:0 frame:0
TX packets:5486444 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:820300389 (782.2 MiB)  TX bytes:1929979381 (1.7 GiB)
Base address:0x1400 Memory:e8820000-e8840000

Никакая Многоадресная передача, существующая в интерфейсе

Включите многоадресную передачу:

ifconfig eth0 multicast
8
27.01.2020, 19:44
  • 1
    Это должно быть упомянуто это ifconfig теперь удерживается от использования в Linux... мы должны использовать iproute2 утилиты. –  Mike Pennington 23.12.2012, 13:46
  • 2
    Это были 2 года, и мы все еще используем ifconfig –  Askar 30.01.2015, 08:47
  • 3
    @oscar, но это не означает, что хорошо сделать так как ip и другие утилиты от iproute2 отражают недавние изменения в сетевом коде ядра Linux (в отличие от этого, ifconfig). –  pevik 11.11.2016, 20:42

Теги

Похожие вопросы