Camada de filtragem
Uma camada de filtragem é um ponto na pilha de rede TCP/IP em que os dados de rede são passados para o mecanismo de filtro para correspondência com o conjunto atual de filtros. Cada camada de filtragem na pilha de rede é identificada por um identificador de camada de filtragem exclusivo.
Quando um filtro é adicionado ao mecanismo de filtro, ele é adicionado em uma camada de filtragem designada em que filtrará os dados de rede. Campos de dados específicos são disponibilizados em cada camada de filtragem para processamento pelos filtros que foram adicionados ao mecanismo de filtro nessa camada. Se o mecanismo de filtro passar os dados de rede para um texto explicativo para processamento adicional, ele incluirá esses campos de dados e todos os metadados disponíveis nessa camada de filtragem.
Identificadores de camada de filtragem em tempo de execução (FWPS_XXX) são usados por drivers de texto explicativo no modo kernel. Identificadores de camada de filtragem de gerenciamento (FWPM_XXX) são usados por funções FwpmXxx que interagem com o BFE (Mecanismo de Filtragem Base) do modo de usuário ou do kernel (por exemplo, FwpmFilterAdd0).
Os tipos de dados FWPS são menores que seus equivalentes FWPM: os identificadores da camada de filtragem FWPM são GUIDs (128 bits), enquanto os identificadores da camada de filtragem FWPS são LUIDs (64 bits). O tamanho menor para tipos de dados FWPS melhora o desempenho do sistema porque as comparações de inteiros são mais rápidas do que as comparações de GUID para tráfego em tempo real e a memória do kernel lida com tipos FWPS com mais eficiência.