system is a multilayer network device, and as such, needs to perform routing functions. To do this, the BIG-IP system must be able to find destination MAC addresses on the network, based on known IP addresses. The way that the BIG-IP system does this is by supporting Address Resolution Protocol (ARP), an industry-standard Layer 3 protocol.
is a protocol that sends a broadcast request to other devices on the network, asking for a destination Layer 2 address. Such a request consists of special packets commonly known as who-has packets.Who-has
packets are packets that the BIG-IP system broadcasts to all devices on a network (or VLAN), to determine the owner of a specific IP address. The device owning that IP address typically responds with an ARP packet that contains both its IP address and its MAC address. After receiving an ARP response, the BIG-IP system then stores that devices MAC address in its ARP cache for later use. The ARP cache
is a repository of IP address/MAC address pairs for hosts on a network.
| || |Static
entry is an IP address/MAC address pair that you explicitly add to the ARP cache because you already know the MAC address of a given IP address.
| || |Dynamic
entry is an IP address/MAC address pair that the BIG-IP system adds to the ARP cache automatically after receiving a response from an ARP broadcast request.
You can use the Configuration utility to manage static and dynamic entries
in the ARP cache of the BIG-IP system. When you manage the entries in the ARP cache, you maximize the chance that the BIG-IP system can forward packets to destination hosts successfully and efficiently.
Managing dynamic entries primarily refers to configuring a set of global
options that affect the way that the BIG-IP system treats dynamic entries. For example, with the Dynamic Timeout
option, you can specify the length of time that dynamic entries remain in the ARP cache. With the Request Retries
option, you can specify the maximum number of times that the BIG-IP system can send the same ARP request before declaring a destination host to be unreachable. You can view or delete dynamic entries, but you cannot add or modify them.
When the BIG-IP system needs to forward packets to a destination host or
next-hop router, the system starts by searching its ARP cache for the destination IP address and its corresponding MAC address.
If an entry for the IP address/MAC address pair exists in the ARP cache, the
system determines the correct BIG-IP system interface to use, and then forwards the packets to that MAC address. If no entry for the IP address/MAC address pair exists in its ARP cache, the system broadcasts an ARP request to hosts on the network and then behaves in the following way:
| || |If no host sends an ARP response after two seconds have passed, the
BIG-IP system repeatedly broadcasts the ARP request until a host sends a response, or until the maximum number of allowed requests is reached. (The maximum number of requests to the same host that the BIG-IP system can make is a setting that you configure.) If the system sends the maximum number of ARP requests and does not receive a response, the host is declared to be unreachable, and the system sets the state of the entry to DOWN
. For more information on the DOWN
state, see Understanding ARP entry states
| || |If the BIG-IP system receives a second packet targeted for the same
destination within two seconds of making an ARP request, the system discards the original packet and replaces it with the second packet, and then sends another ARP request.
If the BIG-IP system needs to send more packets to that same host later, and the ARP cache entry pertaining to that host has not timed out yet, the BIG-IP system can send the packets to the host without sending another ARP request first.
Each entry in the ARP cache has a state associated with it. When you use the
Configuration utility to view the entries in the ARP cache, you can view the state of each entry. The possible states for an entry are RESOLVED
, and DOWN
The BIG-IP system marks an ARP cache entry as RESOLVED
when the system has successfully received an ARP response (a MAC address) for the requested IP address within two seconds of initiating the request. An entry in a RESOLVED
state remains in the ARP cache until the timeout period has expired.
The BIG-IP system marks an ARP cache entry as INCOMPLETE
when the system has made one or more ARP requests within the maximum number of requests allowed, but has not yet received a response.
The BIG-IP system marks an ARP cache entry as DOWN
when the system has made the maximum number of requests allowed, and still receives no response. In this case, the system discards the packet, and sends an ICMP host unreachable
message to the sender. An entry with a DOWN
state remains in the ARP cache until the first of these events occurs:
By default, the BIG-IP system does not respond to certain types of ARP
requests. More specifically, the system does not respond to ARP requests sent from any firewall that uses a multicast IP address as its source address.
Static entries in the ARP cache do not have a timeout value, and therefore
remain in the ARP cache until you explicitly delete them. By adding static entries to the ARP cache, you reduce the number of ARP requests that the BIG-IP system must make to determine destination MAC addresses.
Using the Configuration utility, you can add entries to the ARP cache of the
BIG-IP system. You can also view, modify, and delete any existing static entries.
Adding a static entry for a destination server to the ARP cache saves the
BIG-IP system from having to send an ARP broadcast request for that destination server. This can be useful, for example, for specifying a multicast or other special MAC address for servers or gateways.
You can explicitly add entries to the ARP cache on the BIG-IP system.
Because static entries do not have a timeout value, they remain in the ARP cache until you explicitly delete them. When you add static entries to the ARP cache, the BIG-IP system can determine the MAC address for an IP address without having to broadcast an ARP request. This can be useful when you want the system to forward packets to a special MAC address, such as a shared MAC address, or you want to ensure that the MAC address never changes for a given IP address.
Adding static entries to the ARP cache is simple. You merely specify an IP
address and its corresponding MAC address. Then, when the BIG-IP system must forward packets to that IP address, the system checks the ARP cache to find the MAC address. The system can then check the VLANs Layer 2 forwarding table to determine the appropriate outgoing interface. (For more information about the Layer 2 forwarding table, see Chapter Maintaining the L2 forwarding table
The primary functions of ARP are to automatically broadcast requests for
MAC addresses, and to dynamically store those responses in the ARP cache. You do not explicitly add dynamic entries to the ARP cache, because ARP adds those entries for you. Also, you do not modify dynamic entries. You can, however, view and delete dynamic entries from the ARP cache. For more information, see Dynamic entries in the ARP cache
, and Deleting dynamic entries
When dynamically updating the ARP cache, the BIG-IP system includes not
only entries resulting from responses to ARP requests, but also entries resulting from gratuitous ARPs.
Gratuitous ARPs are not fully trusted. Consequently, if there is no existing
entry in the cache for the IP address/MAC pair, and the BIG-IP system cannot verify the validity of the gratuitous ARP entry within a short period of time, the entry is deleted.
Configuring dynamic entries is simple. You merely specify a set of values
that apply globally to all dynamic entries. Configuring these global options affects the way that ARP treats dynamic entries in the ARP cache.
With the Dynamic Timeout
option, you can specify the maximum number of seconds that a dynamic entry can remain in the ARP cache before the BIG-IP system automatically removes it. The default value is 300
Once you have configured this value and the system dynamically adds an
entry to the ARP cache, the seconds begin to count down toward 0
for that entry. When the value reaches 0
, the BIG-IP system automatically deletes the entry from the cache. If the entry is actively being used as the time approaches 0
, ARP attempts to refresh the entry by sending an ARP request.
You can configure the Maximum Dynamic Entries
option to limit the number of dynamic entries that the BIG-IP system can hold in the ARP cache at any given time. The default value is 2048
This setting relates to dynamic entries only and has no effect on the number
of static entries that the ARP cache can hold. Therefore, if the number of dynamic entries in the cache reaches the limit that you specified, you can still add static entries to the cache. This is possible because the system can remove an older dynamic entry prematurely to make space for a new static entry that you add.
Note: The value of the Maximum Dynamic Entries
option should be large enough to maintain entries for all directly-connected hosts with which the BIG-IP system must communicate. If you have more than 2000 hosts that are directly connected to the BIG-IP system, you should specify a value that exceeds the default value of 2048
When the BIG-IP system needs a MAC address for a given IP address and
does not have the information in its ARP cache, the system must broadcast an ARP request to the hosts on the network (or VLAN). Sometimes, the BIG-IP system receives no response to this request and so resends the request. The Request Retries
option specifies the number of times that the BIG-IP system can resend an ARP request before finally marking the host as unreachable. The default value is 6
The information stored in the ARP cache is typically the IP addresses and
MAC addresses that the BIG-IP system receives in response to its own ARP requests. However, when you enable the Reciprocal Update
option, the BIG-IP system can also store information that it learns as a result of other hosts on the network sending ARP broadcast requests (that is, who-has packets) to the BIG-IP system. By default, the Reciprocal Update
option is enabled.
| || |Enabled
When you enable the Reciprocal Update
option, the BIG-IP system creates an entry in the ARP cache whenever the system receives who-has packets from another host on the network. Enabling this option slightly enhances performance by eliminating the need for the BIG-IP system to perform an additional ARP exchange later.
| || |Disabled
When you disable the Reciprocal Update
option, the BIG-IP system does not add an entry to the ARP cache in response to receiving who-has packets from a host. Instead, the system creates an ARP cache entry for a host only when the system needs to send non-ARP traffic to that host. If the BIG-IP system never needs to send non-ARP traffic to the host, then the system never dynamically adds an entry for that host.
Disabling this option provides a security benefit, by preventing a malicious action known as ARP poisoning. ARP poisoning
occurs when a host is intentionally altered to send an ARP response containing a false MAC address. By disabling the Reciprocal Update
option, the BIG-IP system cannot add that false information to its ARP cache.
Using the Configuration utility, you can view a list of the dynamic entries
that ARP has added to the ARP cache. When you display the list of dynamic entries in the ARP cache, each entry shows this information:
At any time, you can remove a dynamic entry from the ARP cache. A
common reason for deleting an ARP cache entry is when you move a host from one VLAN to another, or you change the MAC address associated with that host. By removing a dynamic entry, you ensure that ARP learns the new information before the timeout value for the entry expires.