IPTables는 멀티코어 프로세서를 활용합니까?

IPTables는 멀티코어 프로세서를 활용합니까?

각 패킷이 다른 코어에 의해 처리됩니까? 아니면 단일 스레드 프로세스인가요?

답변1

Iptables는 실제로 netfilter인 Linux 방화벽의 사용자 공간 프런트 엔드입니다. Netfilter는 실제로 패킷 처리와 관련된 커널의 후크 시스템입니다. 각 패킷은 인터럽트를 트리거하여 커널에 의해 처리됩니다. 커널이 여러 CPU에 걸쳐 인터럽트 균형을 유지하는지 여부는 CPU의 수명에 따라 다릅니다. 이에 대해서는 StackOverflow의 이 스레드를 참조하세요.https://stackoverflow.com/questions/7467688/netfilter-hooks-on-multi-core-system

Nils가 언급했듯이 이러한 인터럽트는 패킷별로 균형을 이루지 않습니다. IRQ(인터페이스별로)별로 균형을 맞추거나 CPU 사용량이 너무 많으면 완전히 다른 CPU로 이동할 수도 있습니다.

관련 정보