Quando configuramos uma ACL convencional e a aplicamos na interface VLAN, ela irá analisar os pacotes que entram e saem da VLAN passando pela MSFC. Quando um pacote passa de um host a outro dentro da mesma VLAN, como não precisa passar pelo gateway, ele não será analisado.
Com isso foi criada a VACL, um recurso para proteção dentro de uma mesma VLAN.
Vou usar o exemplo do site da Cisco para explicar.
Primeiro vamos criar duas ACLs convencionais, chamadas net_10 e any_host:
Router# show ip access-lists net_10
Extended IP access list net_10
permit ip 10.0.0.0 0.255.255.255 any
Router# show ip access-lists any_host
Standard IP access list any_host
permit any
Agora vamos criar a VACL chamada ganymede e associar as duas ACLs configuradas:
Router(config)# vlan access-map ganymede 10
Router(config-access-map)# match ip address net_10
Router(config-access-map)# action drop log
Router(config-access-map)# exit
Router(config)# vlan access-map ganymede 20
Router(config-access-map)# match ip address any_host
Router(config-access-map)# action forward
Router(config-access-map)# exit
Agora vamos aplicar esta VACL em um pool de vlans (ela pode ser aplicada em apenas uma ou em várias vlans ao mesmo tempo):
Router(config)# vlan filter ganymede vlan-list 7-9
Esta VACL opera como se fosse aplicada a todas as portas pertencentes a estas VLANs, analisando o pacote mesmo que não passe pela MSFC.
Na referencia abaixo tem uma explicação mais detalhada.
http://www.cisco.com/en/US/docs/switches/lan/catalyst6500/ios/12.2SXF/native/configuration/guide/vacl.html