Arp Caching in Windows Server – Reachable Time

Arp Caching in windows server follow easy rules. If a neighbor is not used for a time period (called Reachable Time), his entry in arp cache is cleared.

I dealt with this stuff due to a random comunication problem that I had between one window server used for monitoring and one other equipment (monitored).

Reachable Time

After a lot of time spent reading logs and sniffing traffic, I found out a strange behaviour in the arp requests and so after some googling I found out “Reachable Time” parameter and I tried to increase his value.

Reachable Time is strictly connected to the arp caching, his value can’t be changed but it is automatically calculated anytime the interface comes up. This value is related to BaseReachable Time in this way:

Reachable Time = BaseReachable Time X Random Value (MIN_RANDOM_FACTOR 0.5 and MAX_RANDOM_FACTOR 1,5). BaseReachable Time is editable, so if you need to increase Reachable Time, you have to increase BaseReachable Time.

To change BaseReachable Time you have to follow this steps. First of all open windows command line (start, digit “cmd” and press enter)

Identify your interface:

C:\Windows\System32>netsh interface ipv4 show interfaces

Idx     Met         MTU          State                Name
---  ----------  ----------  ------------  ---------------------------
  1          50  4294967295  connected     Loopback Pseudo-Interface 1
 16          10        1500  connected     Local Area Connection 3


C:\Windows\System32>

My interface is Idx 16, so now let’s check interface parameters

C:\Windows\System32>netsh interface ipv4 show interface 16

Interface Local Area Connection 3 Parameters
----------------------------------------------
IfLuid                             : ethernet_3
IfIndex                            : 16
State                              : connected
Metric                             : 10
Link MTU                           : 1500 bytes
Reachable Time                     : 36000 ms
Base Reachable Time                : 30000 ms
Retransmission Interval            : 1000 ms
DAD Transmits                      : 3
Site Prefix Length                 : 64
Site Id                            : 1
Forwarding                         : disabled
Advertising                        : disabled
Neighbor Discovery                 : enabled
Neighbor Unreachability Detection  : enabled
Router Discovery                   : dhcp
Managed Address Configuration      : enabled
Other Stateful Configuration       : enabled
Weak Host Sends                    : disabled
Weak Host Receives                 : disabled
Use Automatic Metric               : enabled
Ignore Default Routes              : disabled
Advertised Router Lifetime         : 1800 seconds
Advertise Default Route            : disabled
Current Hop Limit                  : 0
Force ARPND Wake up patterns       : disabled
Directed MAC Wake up patterns      : disabled

Reachable time is 36000 ms and Base Reachable Time is 30000. Now I change Base Reachable Time and check if also Reachable Time is changed.

C:\Windows\system32>netsh interface ipv4 set interface 16 basereachable=60000
Ok.

C:\Windows\System32>netsh interface ipv4 show interface 16

Interface Local Area Connection 3 Parameters
----------------------------------------------
IfLuid                             : ethernet_3
IfIndex                            : 16
State                              : connected
Metric                             : 10
Link MTU                           : 1500 bytes
Reachable Time                     : 75000 ms
Base Reachable Time                : 60000 ms
Retransmission Interval            : 1000 ms
DAD Transmits                      : 3
Site Prefix Length                 : 64
Site Id                            : 1
Forwarding                         : disabled
Advertising                        : disabled
Neighbor Discovery                 : enabled
Neighbor Unreachability Detection  : enabled
Router Discovery                   : dhcp
Managed Address Configuration      : enabled
Other Stateful Configuration       : enabled
Weak Host Sends                    : disabled
Weak Host Receives                 : disabled
Use Automatic Metric               : enabled
Ignore Default Routes              : disabled
Advertised Router Lifetime         : 1800 seconds
Advertise Default Route            : disabled
Current Hop Limit                  : 0
Force ARPND Wake up patterns       : disabled
Directed MAC Wake up patterns      : disabled


C:\Windows\System32>

After changing Base Reachable Time even Reachable Time is changed and now it is 75000ms.

That’s exactly what I did to resolve the communication problem in my windows server used for monitoring. Anytime my server reboot, I need to check if these parameters have still wished values.

For more info: https://support.microsoft.com/en-en/kb/949589

windows logo

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.