Logică ACL internă

Figura 1 arată logica pentru ACL-ul de intrare Dacă informația din antetul pachetului și declarația ACL se potrivesc , restul declarațiilor din listă sunt omise și pachetul este permis sau blocat , așa cum este specificat de declarația potrivită. Dacă antetul pachetului nu se potrivește cu o declarație ACL , pachetul este testat în comparație cu următoarea declarație în listă. Acest proces de potrivire continuă până când se ajunge la capătul listei.

La capătul fiecărui ACL există o declarație de restricționare implicită. Această declarație nu este prezentată în afișaj. Această ultimă declarație implicită aplicată tuturor pachetelor pentru care condițiile nu au fost adevărate. Ultimul condiție a testului potrivește toate celelalte pachete și rezultă într-o acțiune de "restricționare". În loc de a proceda în sau afara unei interfețe, router-ul abandonează toate pachetele rămase. Această declarație finală este adesea menționată ca "declarație de restricționare implicită" sau "blocat tot traficul". Din cauza aceste declarații , ACL-ul trebuie să aibe cel puțin o declarație de permisiune în el ; altfel , ACL-ul blochează tot traficul.

Logică ACL Externă

Figura 2 arată logica pentru ACL-ul extern. Înainte ca un pachet să fie transmis pe interfața de ieșire , router-ul verifică în tabela de rutare pentru a vedea dacă pachetul este rutabil. Dacă un pachet nu este rutabil , este abandonat și nu este testat în comparație cu ACE-urile. Apoi , router-ul verifică să vadă dacă o interfață de ieșire este grupată la un ACL. Dacă interfața de ieșire nu este grupată la un ACL , pachetul poate fi trimis în buffer-ul de ieșire. Exemple de operație de ACL de ieșire sunt următoarele:

Pentru listele de ieșire , "permis" înseamnă că trimite pachetul către buffer-ul de ieșire iar "interzis" înseamnă că trebuie să abandoneze pachetul.