Getting ARP tables in the classic deployment model
This article walks you through the steps for getting the Address Resolution Protocol (ARP) tables for your Azure ExpressRoute circuit.
Important
This document is intended to help you diagnose and fix simple issues. It is not intended to be a replacement for Microsoft support. If you can't solve the problem by using the following guidance, open a support request with Microsoft Azure Help+support.
Address Resolution Protocol (ARP) and ARP tables
ARP is a Layer 2 protocol that's defined in RFC 826. ARP is used to map an Ethernet address (MAC address) to an IP address.
An ARP table provides a mapping of the IPv4 address and MAC address for a particular peering. The ARP table for an ExpressRoute circuit peering provides the following information for each interface (primary and secondary):
- Mapping of an on-premises router interface IP address to a MAC address
- Mapping of an ExpressRoute router interface IP address to a MAC address
- The age of the mapping
ARP tables can help with validating Layer 2 configuration and with troubleshooting basic Layer 2 connectivity issues.
Following is an example of an ARP table:
Age InterfaceProperty IpAddress MacAddress
--- ----------------- --------- ----------
10 On-Prem 10.0.0.1 ffff.eeee.dddd
0 Microsoft 10.0.0.2 aaaa.bbbb.cccc
The following section provides information about how to view the ARP tables that are seen by the ExpressRoute edge routers.
Prerequisites for using ARP tables
Ensure that you have the following before you continue:
- A valid ExpressRoute circuit that's configured with at least one peering. The circuit must be fully configured by the connectivity provider. You (or your connectivity provider) must configure at least one of the peerings (Azure private or Microsoft) on this circuit.
- IP address ranges that are used for configuring the peerings (Azure private and Microsoft). Review the IP address assignment examples in the ExpressRoute routing requirements page to get an understanding of how IP addresses are mapped to interfaces on your side and on the ExpressRoute side. You can get information about the peering configuration by reviewing the ExpressRoute peering configuration page.
- Information from your networking team or connectivity provider about the MAC addresses of the interfaces that are used with these IP addresses.
- The latest Windows PowerShell module for Azure (version 1.50 or later).
ARP tables for your ExpressRoute circuit
This section provides instructions about how to view the ARP tables for each type of peering by using PowerShell. Before you continue, either you or your connectivity provider needs to configure the peering. Each circuit has two paths (primary and secondary). You can check the ARP table for each path independently.
ARP tables for Azure private peering
The following cmdlet provides the ARP tables for Azure private peering:
# Required variables
$ckt = "<your Service Key here>"
# ARP table for Azure private peering--primary path
Get-AzureDedicatedCircuitPeeringArpInfo -ServiceKey $ckt -AccessType Private -Path Primary
# ARP table for Azure private peering--secondary path
Get-AzureDedicatedCircuitPeeringArpInfo -ServiceKey $ckt -AccessType Private -Path Secondary
Following is sample output for one of the paths:
Age InterfaceProperty IpAddress MacAddress
--- ----------------- --------- ----------
10 On-Prem 10.0.0.1 ffff.eeee.dddd
0 Microsoft 10.0.0.2 aaaa.bbbb.cccc
ARP tables for Microsoft peering
The following cmdlet provides the ARP tables for Microsoft peering:
# ARP table for Microsoft peering--primary path
Get-AzureDedicatedCircuitPeeringArpInfo -ServiceKey $ckt -AccessType Microsoft -Path Primary
# ARP table for Microsoft peering--secondary path
Get-AzureDedicatedCircuitPeeringArpInfo -ServiceKey $ckt -AccessType Microsoft -Path Secondary
Sample output is shown below for one of the paths:
Age InterfaceProperty IpAddress MacAddress
--- ----------------- --------- ----------
10 On-Prem 65.0.0.1 ffff.eeee.dddd
0 Microsoft 65.0.0.2 aaaa.bbbb.cccc
How to use this information
The ARP table of a peering can be used to validate Layer 2 configuration and connectivity. This section provides an overview of how ARP tables look in different scenarios.
ARP table when a circuit is in an operational (expected) state
- The ARP table has an entry for the on-premises side with a valid IP and MAC address, and a similar entry for the Microsoft side.
- The last octet of the on-premises IP address is always an odd number.
- The last octet of the Microsoft IP address is always an even number.
- The same MAC address appears on the Microsoft side for the peerings (Azure private and Microsoft).
Age InterfaceProperty IpAddress MacAddress
--- ----------------- --------- ----------
10 On-Prem 65.0.0.1 ffff.eeee.dddd
0 Microsoft 65.0.0.2 aaaa.bbbb.cccc
ARP table when it's on-premises or when the connectivity-provider side has problems
Only one entry appears in the ARP table. It shows the mapping between the MAC address and the IP address that's used on the Microsoft side.
Age InterfaceProperty IpAddress MacAddress
--- ----------------- --------- ----------
0 Microsoft 65.0.0.2 aaaa.bbbb.cccc
Note
If you experience an issue like this, open a support request with your connectivity provider to resolve it.
ARP table when the Microsoft side has problems
- You will not see an ARP table shown for a peering if there are issues on the Microsoft side.
- Open a support request with Microsoft Azure Help+support. Specify that you have an issue with Layer 2 connectivity.
Next steps
- Validate Layer 3 configurations for your ExpressRoute circuit:
- Get a route summary to determine the state of BGP sessions.
- Get a route table to determine which prefixes are advertised across ExpressRoute.
- Validate data transfer by reviewing bytes in and out.
- Open a support request with Microsoft Azure Help+support if you are still experiencing issues.