Может ли сокет прослушивания многоадресной рассылки UDP получать одноадресный пакет ИЛИ может ли сокет одноадресной рассылки UDP принимать многоадресный пакет в стеке Linux IPv4?

Почти верно; вы должны использовать номер прохода 2 (, поскольку это не корневая файловая система ), и это действительно должно быть шестое поле, поэтому

UUID=6f8debb3-aac9-4dfb-877f-463f5132d055 /grid/sdb ext4 defaults,noatime 0 2
UUID=203c24b2-8c07-4a9a-b4e0-1848ac5570d6 /grid/sdc ext4 defaults,noatime 0 2
UUID=941546ac-2168-4130-b51f-f5a255a4e43c /grid/sdd ext4 defaults,noatime 0 2

|<-------------- field 1 -------------->| |<- 2 ->| |<>| |<- field 4 -->| ^ ^
                                                     ^                    | |
                                            field 3 -+           field 5 -+ |
                                                                   field 6 -+
0
18.05.2020, 05:27
1 ответ

Обратите внимание, что udp _is _mcast _sock ()вернет false, если локальный адрес не многоадресный (см. ip _mc _sf _разрешить).

По обоим вопросам этот пост может помочь.:Что значит привязать многоадресный сокет (UDP )?

Для случая 1.

  • многоадресный пакет отправлен группе адрес MULTICAST _IP _A с номером порта ПОРТ _B НЕ БУДЕТ доставляться на сокет B

Для случая 2.

  • Одноадресный пакет, отправленный на IP _ADDR :ПОРТ _A БУДЕТ доставлен в сокет A. Многоадресный сокет UDP будет привязан к 0.0.0.0, вот почему. Вы можете запустить сервер и запустить netstat -aun, чтобы увидеть это, хотя у вас уже может быть сервер на порту 5353 (avahi/mdns ).

Вы можете проверить эту и другие ситуации с многоадресными клиент-серверными программами Python в этом посте . Для имитации одноадресного поведения клиента/сервера вы можете использоватьnc(netcat ).

1
28.04.2021, 23:13

Теги

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