Livello di filtro

Un livello di filtro è un punto nello stack di rete TCP/IP in cui i dati di rete vengono passati al motore di filtro per la corrispondenza rispetto al set corrente di filtri. Ogni livello di filtro nello stack di rete viene identificato da un identificatore di livello di filtro univoco.

Quando un filtro viene aggiunto al motore di filtro, viene aggiunto a un livello di filtro designato in cui filtra i dati di rete. I campi dati specifici vengono resi disponibili in ogni livello di filtro per l'elaborazione dai filtri aggiunti al motore di filtro a tale livello. Se il motore di filtro passa i dati di rete a un callout per un'elaborazione aggiuntiva, include questi campi dati e tutti i metadati disponibili a tale livello di filtro.

Gli identificatori di livello di filtro in fase di esecuzione (FWPS_XXX) vengono usati dai driver di callout in modalità kernel. Gli identificatori livello di filtro di gestione (FWPM_XXX) vengono usati dalle funzioni FwpmXxx che interagiscono con il motore di filtro di base (BFE) dalla modalità utente o dalla modalità kernel (ad esempio FwpmFilterAdd0).

I tipi di dati FWPS sono più piccoli rispetto alle controparti FWPM: gli identificatori del livello di filtro FWPM sono GUID (128 bit), mentre gli identificatori del livello di filtro FWPS sono GLID(64 bit). Le dimensioni più piccole per i tipi di dati FWPS migliorano le prestazioni del sistema perché i confronti interi sono più veloci rispetto ai confronti GUID per il traffico in tempo reale e la memoria del kernel gestisce i tipi FWPS in modo più efficiente.