A bejövő ACL-folyamat

Az 1. ábrán egy bejövő irányú ACL feldolgozási folyamata látható. Ha a csomag fejlécében lévő információ megegyezik egy ACL-bejegyzéssel, akkor a fennmaradó ACE-k nem kerülnek kiértékelésre, és a csomag engedélyezésre vagy tiltásra kerül a bejegyzésben foglaltak szerint. Ha a csomag fejléce nem egyezik az ACL-bejegyzéssel, akkor a csomag a lista következő elemével kerül összevetésre. Az összehasonlítási folyamat a lista végéig tart.

Itt minden esetben egy implicit "deny any" utasítás található, amely nem jelenik meg a parancskimenetben, de minden olyan csomagra érvényes, amelyre a korábbi feltételek összehasonlítása hamis eredménnyel végződött. Tehát a végső feltételvizsgálat minden fennmaradó csomag esetén egyezést talál és tiltást fog végrehajtani. A forgalomirányító nem továbbítja az interfészen ki- vagy befelé irányban ezeket a csomagokat, hanem eldobja őket. Ezt az utolsó utasítást gyakran "implicit deny any" utasításnak vagy "deny all traffic" utasításnak is nevezik. Mindezek miatt egy ACL-ben lennie kell legalább egy engedélyező bejegyzésnek, különben a hozzáférési lista blokkolni fog minden forgalmat.

A kimenő ACL-folyamat

A 2. ábrán egy kimenő irányú ACL feldolgozási folyamata látható. Mielőtt egy csomag a kimenő interfészhez kerül, a forgalomirányító megvizsgálja az útválasztó táblát, hogy a csomag irányítható-e. Ha nem, akkor eldobja azt, így a listabejegyzésekkel (ACE) sem kerül összehasonlításra. Ha a csomag irányítható, akkor a forgalomirányító megvizsgálja, hogy a kimenő interfészhez tartozik-e ACL. Ha nem, akkor a csomagot a kimenő pufferbe helyezi. A kimenő ACL-műveletek a következők lehetnek:

A kimenő irányú listák esetében a "permit" azt jelenti, hogy a csomag a kimeneti pufferbe továbbítódik, a "deny" pedig azt, hogy eldobásra kerül.