# Cisco’s Access Control Lists (ACL)

An access list is a sequential collection of **permit** and **denies** conditions.

Software tests packet against the conditions in an access list one by one.

The first match determines whether the software accepts or rejects the packet.

* Because the software stops testing conditions after the first match, the order of the conditions is critical.

If no conditions match, the software rejects the packet.

Can be applied to inbound or outbound traffic.

## Types

### Standard

* Control traffic by the analysis of the source address of the IP packets.
* Numbered from 1 to 99.
  * Example: access-list 1 permit 10.1.1.0 0.0.0.255

### Extended

* Control traffic by the analysis of the source and destination addresses and protocol of the IP packets.
* Numbered from 100 to 199.
  * Example: access-list 101 permit ip any 10.1.1.0 0.0.0.255

### Named

Allow standard and extended ACLs to be given names instead of numbers Intuitively identify an ACL using an alphanumeric name.

Eliminate the number limits that exist on standard and extended ACLs.

Named ACLs to provide the ability to modify ACLs without deleting and then reconfiguring them.

* Example: ip access-list {extended | standard} name

### Reflexive

Allow IP packets to be filtered based on upper-layer session information.

Communication in one direction opens doors in the opposite direction.

Generally used to allow outbound traffic and to limit inbound traffic in response to sessions that originate inside the network.

### Context-Based Access Control (CBAC)

Inspects traffic to discover and manage state information for TCP and UDP sessions.

This state information is used to create temporary openings in the firewall access lists.
