2014-11-05 5 views
1

시나리오 :리눅스 소켓 및 IP_ADD_SOURCE_MEMBERSHIP

프로세스 1 소켓을 생성하고 IP_ADD_SOURCE_MEMBERSHIP 옵션을 사용하여 멀티 캐스트 그룹에 가입 [그룹 : 224.0.0.30 출처 : 192.168.0.1 장치 : eth0를]. 소켓을 224.0.0.30:5555에 바인드합니다.

프로세스 2는 소켓을 만들고 IP_ADD_MEMBERSHIP 옵션 [그룹 : 224.0.0.30 Device : eth0]을 사용하여 멀티 캐스트 그룹에 가입합니다. 소켓을 224.0.0.30:5555에 바인드합니다.

두 프로세스가 동일한 상자에서 동시에 실행됩니다.

IP가 172.10.1.1 인 소스는 멀티 캐스트 대상이 224.0.0.30:5555 인 패킷을 보냅니다.

프로세스 1이 멀티 캐스트 패킷을 수신합니까? 아니면 커널에 의해 걸러 낼 것인가?

감사합니다. man 7 ip에서

답변

1

는 :

IP_ADD_SOURCE_MEMBERSHIP (since Linux 2.4.22/2.5.68) Join a multicast group and allow receiving data only from a specified source. ,,,

이 귀하의 첫 번째 과정은 소스 172.10.1.1에서 보낸 패킷을 수신되지 않습니다. 그러나 추가로 읽기 :

...이 옵션을 여러 번 사용하여 둘 이상의 출처에서 데이터를 수신 할 수 있습니다.

이 정보는 유용 할 수 있습니다.