tl; dr: Cisco alterna o envio de solicitações ARP para hosts em outras sub-redes, sendo que o roteador Cisco possui proxy ARP ativado por padrão.
Eu sei que estou atrasado para a festa, mas recentemente me deparei com esse problema, fiz algumas pesquisas e encontrei essa pergunta no processo. A primeira resposta está correta. Infelizmente não tenho reputação suficiente para adicionar um comentário, então tenho que adicionar minha própria resposta.
Eu usei um switch Cisco WS-C2960G-8TC-L executando o IOS 12.2 (35r) SE2 e um roteador Cisco 1812W executando o IOS 12.4 (15) T6 para reproduzir e investigar o problema.
A parte relevante da configuração do roteador é (a configuração restante é padrão):
interface FastEthernet0
ip address 10.1.1.2 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet1
ip address 10.1.2.2 255.255.255.0
duplex auto
speed auto
Fa0 está conectado ao switch Fa1 a um computador. Ambos os dispositivos são configurados com outros endereços IP na respectiva sub-rede. O computador possui uma entrada na tabela de roteamento para a rede Fa0 através do roteador (10.1.1.0/24 via 10.1.2.2 dev eth1). A parte relevante da configuração do switch é:
interface Vlan1
ip address 10.1.1.1 255.255.255.0
no ip route-cache
A configuração restante é padrão, ou seja, todas as portas na VLAN 1 e nenhum gateway padrão. Além disso:
Switch#sh ip default-gateway
0.0.0.0
Agora, tento fazer o ping no computador pelo switch:
Switch#ping 10.1.2.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.2.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/8 ms
Switch#sh ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.1.2.1 25 0021.d8c8.6b36 ARPA Vlan1
Internet 10.1.1.2 33 0021.d8c8.6b36 ARPA Vlan1
Internet 10.1.1.1 - 0022.0cea.1540 ARPA Vlan1
Usando o Wireshark, confirmei que o switch está realmente enviando uma solicitação ARP para o endereço IP do computador, mesmo que ele esteja em outra sub-rede. Em seguida, recebe uma resposta ARP para o endereço IP do roteador e, assim, envia todos os pacotes destinados ao endereço IP do computador para o roteador, que encaminha o pacote.
Isso funciona porque os roteadores Cisco têm proxy ARP ativado por padrão:
The interface of the Cisco must be configured to accept and respond to proxy ARP. This is enabled by default.
( link )
Além disso:
Router#sh ip int fa0
FastEthernet0 is up, line protocol is up
Internet address is 10.1.1.2/24
[...]
Proxy ARP is enabled
[...]