Enhance your Career in Networking With IPinBits!!!​

Significance of Proxy Arp

As we studied about arp and its types in the article: –
ARP Types ARP and its Header in detail

Today we are going to learn about how proxy arp helps routers to communicate. As you know proxy arp is used for fake arp reply. Let’s do some labbing and gets our queries resolved: –

LAB Details: –

Here our PC1 has 11.0.1.1/16 IP and PC2 has 11.0.0.1/24 IP. Why do we use this IP scheme:- Because PC1 would thing that PC2 is in same network and do not look for the gateway (configured or dhcp). What if we use PC1 IP as 10.0.0.1 without any f=gateway configuration:-

PC1> ip 10.0.0.1/24
Checking for duplicate address...
PC1 : 10.0.0.1 255.255.255.0
PC1> ping 11.0.0.1 -c 10000
No gateway found

As you can see PC1 directly tells that there is no gateway. How about configuring gateway and then pinging the PC2

PC1> ip 10.0.0.1/24 10.0.0.100
Checking for duplicate address...
PC1 : 10.0.0.1 255.255.255.0 gateway 10.0.0.100
PC1> ping 11.0.0.1
84 bytes from 11.0.0.1 icmp_seq=1 ttl=62 time=28.230 ms
84 bytes from 11.0.0.1 icmp_seq=2 ttl=62 time=4.655 ms
84 bytes from 11.0.0.1 icmp_seq=3 ttl=62 time=4.106 ms
84 bytes from 11.0.0.1 icmp_seq=4 ttl=62 time=4.787 ms
^C

In this case PC1 will be able to ping PC2. SO why did we take 11.0.1.1/16 and 11.0.0.1/24 Ips then, because if we configure the PC1 and PC2 in 10 and 11 networks with gateway configuration, there is no effect of proxy arp disable/enabled because PC1 will directly send the traffic to default gateway.

So, lets try to ping PC2 from PC1 with default configurations at the routers (routers has OSPF enabled for routing).

PC1> ping 11.0.0.1 -c 10000
84 bytes from 11.0.0.1 icmp_seq=1 ttl=62 time=6.289 ms
84 bytes from 11.0.0.1 icmp_seq=2 ttl=62 time=5.553 ms
84 bytes from 11.0.0.1 icmp_seq=3 ttl=62 time=4.032 ms
84 bytes from 11.0.0.1 icmp_seq=4 ttl=62 time=10.672 ms
84 bytes from 11.0.0.1 icmp_seq=5 ttl=62 time=4.199 ms
84 bytes from 11.0.0.1 icmp_seq=6 ttl=62 time=4.300 ms
84 bytes from 11.0.0.1 icmp_seq=7 ttl=62 time=3.957 ms
84 bytes from 11.0.0.1 icmp_seq=8 ttl=62 time=3.150 ms
84 bytes from 11.0.0.1 icmp_seq=9 ttl=62 time=6.450 ms
84 bytes from 11.0.0.1 icmp_seq=10 ttl=62 time=4.072 ms
84 bytes from 11.0.0.1 icmp_seq=11 ttl=62 time=3.327 ms

We can ping the PC2 from PC1. Now let’s make it interesting :

  1. Disable proxy arp on router 2
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#int gi 0/0
Router(config-if)#no ip proxy-arp

Since proxy arp is disabled now PC1 should not be able to ping PC2 right!! WRONGG

PC1>  ping 11.0.0.1 -c 10000
11.0.0.1 icmp_seq=1 timeout
11.0.0.1 icmp_seq=2 timeout
84 bytes from 11.0.0.1 icmp_seq=3 ttl=62 time=3.185 ms
84 bytes from 11.0.0.1 icmp_seq=4 ttl=62 time=3.860 ms
84 bytes from 11.0.0.1 icmp_seq=5 ttl=62 time=7.415 ms
84 bytes from 11.0.0.1 icmp_seq=6 ttl=62 time=3.483 ms
^C
PC1>

How did it happened, the answer to this question is that because we recently pinged the PC2 and PC1 has arp entry in its cam table.

PC1> arp
0c:ac:0f:2b:32:00  11.0.0.1 expires in 109 seconds – This is the result of proxy arp, lets see which interface has this HW address
Router#sh arp
Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  11.0.1.1                0   0050.7966.6800  ARPA   GigabitEthernet0/0
Internet  11.0.1.100              -   0cac.0f2b.3200  ARPA   GigabitEthernet0/0

As you can see the gi0/0 has HW add(0cac.0f2b.3200  ). This all happened due to proxy arp. We can see in below snap that router replied on behalf of 11.0.0.1(PC2 IP)

Let’s clear the arp and then check :-

PC1> arp
arp table is empty
PC1>  ping 11.0.0.1 -c 10000
host (11.0.0.1) not reachable

So voila, we break our network. This comes to an interesting question?

What will happen if we disable the proxy arp on our routers with thousands of customers ?

Answers to this is some customer will continue to be reachable while some will gets disconnected while some others who will sit idle for some time (so that their MAC entry gets flushed) will disconnected after some time.

Related blog posts