2009-09-21 5 views
0

리눅스 커널에서 멀티 캐스팅에 대한 의문점이 있습니다. 멀티 캐스트 데이터가 도착하면 리눅스 커널이 MFC를 검사하고 일치하는 항목이 발견되지 않으면 커널은 사용자 공간에 conrol message cache miss와 header를 제공합니다. 제 질문은 데이터 패킷에 어떤 일이 발생합니까? 일부러 의도적으로 MFC 안에 항목을 유지하고 싶지 않을 수도 있지만 전달하는 정보를 가지고 있고 그 중 하나를 사용하고 싶은데 다른 테이블이있을 수 있습니다.멀티 캐스팅 + 리눅스 커널

감사합니다. Bhavin.

답변

0

일치하는 MFC 항목이없는 데이터 패킷이 도착하면 데이터 패킷이 대기열에 저장됩니다. 그 패킷에 일치하는 MFC 엔트리가 추가되는지, 타임 아웃이 끝날 때까지 (10 초), 어느 쪽이든 먼저 발생한다. 큐 자체의 한계는 10 개이며 제한에 도달하면 더 이상 패킷이 큐에 저장되지 않습니다. 이 경우 미해결 패킷이 삭제됩니다.

리눅스가 다중 MFC 테이블을 지원한다고 생각하지 않습니다.하지만 잘못된 것일 수 있습니다. 또는 멀티 캐스트 패킷을 원시 소켓에서 수신 한 다음 원하는 인터페이스로 전달하여 사용자 공간에서 이러한 멀티 캐스트 패킷을 라우팅 할 수 있습니다. 실제로 많은 IPv6 멀티 캐스트 라우팅 데몬은 Linux에서 IPv6 멀티 캐스트 지원이 성숙되기 전에 이와 같은 방법을 사용했습니다.

-1

당신이 관련된 경우 커널

grep -i "multicast" /boot/config-2.6.32-358.6.1.el6.x86_64 


/UE 
아래 명령을 사용하여 멀티 캐스트 지원을 컴파일 있음을 확인할 수 있습니다