A Cisco IOS egy belső algoritmust alkalmaz a normál ACL-ek esetében. Ahogy korábban már szóba került, ez a logikai eljárás meggátolja, hogy a címtartományra vonatkozó utasítások mögé állomásra vonatkozók kerüljenek, amennyiben azok részei a tartománynak (lásd 1. ábra).

A belső algoritmus másik része a bejegyzések (ACE) sorszámozása. A 2. ábrán egy normál hozzáférési lista konfigurálása látható, amelyben először a hálózatokat tiltó három utasítás került bevitelre, majd az állomásokra vonatkozó öt következett. Az állomás utasítások helyesek, mivel egyik IP-cím sem része az előzőekben szereplő tartományoknak.

A show running-config paranccsal ellenőrizhető az ACL-konfiguráció. Figyeljük meg, hogy az utasítások sorrendje nem egyezik meg bevitelük sorrendjével! Használjuk a show access-lists parancsot a belső logika értelmezéséhez az alábbiak szerint.

Amint a 3. ábra is mutatja, a show access-lists parancs kilistázza az ACE-ket a sorszámukkal együtt. Azt várnánk, hogy az utasítások bevitelük sorrendjében jelenjenek meg. Azonban a show access-lists parancskimenetében ez nem így van.

A normál ACE-k olyan sorrendben jelennek meg, ahogy az IOS a listát feldolgozza. Figyeljük meg, ahogy az utasítások két csoportba rendeződnek, elöl találhatók az állomásokra vonatkozók, majd a tartományra vonatkozók következnek. Az utasítások sorszámai nem a feldolgozásuk, hanem bevitelük sorrendjét mutatják.

Az elöl található állomásutasítások listája sem egyezik meg szükségszerűen begépelésük sorrendjével. Az IOS egy speciális hash eljárás alapján rendezi őket úgy, hogy optimális legyen az ACL-bejegyzések közötti keresési eljárás.

Ezután következnek a tartományokra vonatkozó utasítások, amelyek begépelésük sorrendjében láthatók.

Emlékezzünk vissza, hogy a számozott normál ACL-ek a bejegyzések sorszámai segítségével szerkeszthetők. A show access-lists parancskimenetében lévő sorszám használatával törölhető egy adott utasítás a listából. Egy új ACL-utasítás beillesztésekor a sorszám csak a tartományra vonatkozó bejegyzés esetén határozza meg annak helyét a listában. Az állomásutasítások mindig a hash eljárás által kijelölt sorrendben kerülnek elhelyezésre.

Folytassuk a példát, ahol az aktív konfiguráció mentése után újraindítjuk a forgalomirányítót. A 3. ábrán látható, hogy a show access-lists parancskimenetében az ACL-bejegyzések sorrendje változatlan, de az utasítások új sorszámot kaptak, immár növekvő rendben következnek.

MEGJEGYZÉS: A hash eljárás csak a normál hozzáférési lista állomásbejegyzéseire érvényes, az IPv4 kiterjesztett és az IPv6 ACL-ek nem használják ezt az algoritmust. Ennek oka az, hogy a kiterjesztett és az IPv6 ACL-ekben a szűrés nem csak a forráscím alapján történik. A hash eljárás részletei túlmutatnak ennek a kurzusnak a keretein.