Internet DRAFT - draft-shah-armd-arp-reduction
draft-shah-armd-arp-reduction
Working Group: ARMD Himanshu Shah
Intended Status: Informational Ciena Corp
Internet Draft
Anoop Ghanwani
Expiration Date: April 27, 2012 Brocade
Nabil Bitar
Verizon
October 28, 2011
ARP Broadcast Reduction for Large Data Centers
draft-shah-armd-arp-reduction-02.txt
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This Internet-Draft will expire on April 27, 2012
Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved.
Shah, et al. Expires April 2012 1
Internet Draft draft-shah-arp-reduction-02.txt
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with
respect to this document. Code Components extracted from this
document must include Simplified BSD License text as described in
Section 4.e of the Trust Legal Provisions and are provided without
warranty as described in the Simplified BSD License.
Abstract
With advent of server virtualization technologies, a host is able to
support multiple Virtual Machines (VMs) in a single physical
machine. Data Centers can leverage these capabilities to instantiate
on the order of 10s to 100s of VMs in a single server with current
technology. It is conceivable that this number can be much higher
in the future. Each VM operates as an independent IP host with a set
of Virtual Network Interface Cards (vNICs), each having its own MAC
address and mapping to a physical Ethernet interface. These physical
servers are typically installed in a rack with their Ethernet
interfaces connected to a top-of-the-rack (ToR) switch. The ToR
switches are interconnected through End-of-the-Row (EoR) or
aggregation switches which are in turn connected to core switches.
As discussed in [ARP-Problem] the host VMs use ARP broadcasts to
find other host VMs and use periodic (broadcast) Gratuitous ARPs to
refresh their IP to MAC address binding in other VM hosts. Such
broadcasts in a large data center with potentially thousands of VM
hosts in a Layer 2 based topology can overwhelm the network.
This memo proposes mechanisms to reduce the number of broadcasts
that are sent throughout the network. This is done by having the
ToRs intelligently process ARP and frames, rather than simply
broadcasting them throughout the broadcast domain.
While this document addresses ARP, the Neighbor Discovery mechanisms
used by the IPv6 hosts that make use of multicast rather than
broadcast also pose similar issues in the Data Center. The solutions
defined herein should be equally applicable to hosts running IPv6.
The details will be specified in a subsequent revision.
Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC 2119].
Shah, et al. Expires April 2012 2
Internet Draft draft-shah-arp-reduction-02.txt
Table of Contents
Copyright Notice ........................................... 1
Abstract .................................................... 2
1.0 Overview ................................................ 3
1.1 Terminology ............................................ 5
2.0 Configuration ........................................... 6
3.0 Building the ARP tables ................................. 6
3.1 ARP Requests ........................................... 6
3.2 ARP Reply .............................................. 7
3.3 Gratuitous ARP ......................................... 7
3.4 Host movement .......................................... 8
4.0 Conclusion .............................................. 9
5.0 Security Considerations ................................. 10
6.0 Acknowledgments ......................................... 10
7.0 References .............................................. 10
7.1 Normative References.................................... 10
7.2 Informative References ................................. 10
8.0 Author's Address ........................................ 11
1.0 Overview
The traditional topology in a data center consists of racks of
servers connected to top-of-rack (ToR) switches, which connect to
aggregation switches, which in turn connect to core switches. The
network architecture typically combines Layer 2 and Layer 3. In
some architectures, Layer 2 is terminated at the ToR, with Layer 3
being run in the aggregation and core devices. In other
architectures, Layer 2 may be extended all the way to the
aggregation switch. The primary concerns that have influenced
network architectures in the data center have been keeping broadcast
domains manageable and spanning tree domains contained.
Moving forward, these traditional network architectures are being
challenged due to emerging technologies such as server
virtualization.
Shah, et al. Expires April 2012 3
Internet Draft draft-shah-arp-reduction-02.txt
The effect of server virtualization in the data center brings some
challenges. Because of virtualization, the number of hosts that the
network sees increases dramatically - 10 to 100 times the number of
physical servers. These virtual hosts are referred to as Virtual
machines (VMs). VMs offer server mobility wherein a VM can be
relocated to run on a different physical server. In order for the
mobility to be non-disruptive to other hosts that have communication
in progress with the VM being moved, the VM must retain its MAC
address and IP address. Because of the requirement to retain the
MAC and IP address, it is desirable to develop network architectures
that would offer the least restrictions in terms of server mobility.
As an example, in a network architecture where TOR switches
terminate the L2 domain, the range of mobility would be restricted
to a single ToR switch. It would be more preferable to allow the
flexibility of moving the VM anywhere within the data center, or
perhaps even a different data center.
Technologies such as TRILL [TRILL] overcome some of the issues of
spanning trees because which traditional Layer 2 topologies have
been constrained. However, because of virtualization there are 2
specific problems that are introduced with respect to broadcast
traffic.
1. A larger number of hosts. A single physical server now hosts
multiple virtual machines taking the scale factor to a
different level. If each VM has the same number of broadcasts
as a physical server, the amount of broadcast traffic has
increased 10 to greater than 100 times.
2. If the Layer 2 domains are extended to go across data centers,
then broadcast traffic will now go across the backbone. If
Layer 2 was terminated at the ToR switch, the increase in
broadcast traffic would be been restricted to a single ToR
switch, but as discussed earlier, this restriction is not
desirable.
The broadcast as such in Layer 2 networks has far reaching impacts;
i.e. wastage in network bandwidth as well as CPU resources used by
all the VMs while processing superfluous ARP broadcasts (IPv6 gets
rid of the latter by running ND as a multicast service rather than a
broadcast service).
The solution presented here attempts to minimize negative effects of
ARP broadcasts. The solution requires the first hop Ethernet
switches, typically ToR, to maintain an ARP table learned from the
ARP PDUs received by the switch and selectively propagates the ARP
to, or proxy-responds on behalf of, the remote peer. These types of
ARP processing principles are well known and used/described in L2VPN
Working Group documents such as [ARP-Mediation] and [IPLS]. The ARP
proxy response differs from that described in [RFC1027] as the ARP
response contains MAC address of the destination and not that of the
switch as is suggested in [RFC 1027].
Shah, et al. Expires April 2012 4
Internet Draft draft-shah-arp-reduction-02.txt
The following sections describe the details of ARP snooping,
learning and maintaining ARP tables, using the learned information
to limit broadcast propagation and proxy (the response) on behalf of
the remote peers.
1.1 Terminology
ToR switch Top-of-Rack switch. An Ethernet switch installed
at the top of a rack of servers which provides
network connectivity to those servers.
Downlink The Ethernet link between the ToR switch and a
directly connected host/server in the rack.
Uplink The network-facing Ethernet connection in the
ToR switch. Typically, the uplinks from ToRs
connect to end-of-row or aggregation switches.
EoR switch End-of-Row switch. An Ethernet switch which
aggregates traffic from multiple racks. Also
commonly referred to as an aggregation switch.
Uplinks from the ToR connects to EoR switches
and uplinks from EoR switches in turn connect
to core switches.
Host/Server A host or server running the IP protocol. This
could be a physical entity or a logical entity
(such as a Virtual Machine) in a physical host.
The term server refers to its role in data
center. Both terms are used interchangeably
and refer to an IP end station.
Local hosts Used in the context of a ToR switch to denote
the VM hosts connected to a ToR switch on the
downlink, i.e. directly connected hosts.
Remote hosts Used in the context of a ToR switch to denote
the hosts that are accessible via the uplink of
the ToR switch.
VM Virtual Machine. This is a logical instance of
a host that operates independently in a
physical host and has its own IP and MAC
addresses. The VM architecture allows efficient
use of physical host resources (such as
multiple CPU cores).
Shah, et al. Expires April 2012 5
Internet Draft draft-shah-arp-reduction-02.txt
2.0 Configuration
It is assumed that ARP reduction methodologies that are defined in
this document will be limited to ToR switches. The maximum benefit
of restraining ARP broadcasts in the network is achieved by the
first hop switches (the ones directly connected to the hosts)
without placing additional burden on second or third tier switches.
First, the ToR switches would need to be configured in order to
enable the ARP reduction feature. Every Ethernet interface needs to
be identified as either a downlink or uplink within the context of
this feature. The ARP reduction feature treats ARP frames received
from downlink or uplink differently as described in the following
sections.
In additional the operator may optionally configure various ARP
reduction related parameters such as:
. ARP aging timer,
. size of the ARP table,
. static entries of IP to MAC address, etc.
3.0 Building the ARP tables
When ARP reduction is enabled, the ToR switch will monitor all ARP
traffic transiting the switch (regardless of uplink port or downlink
port) and will process any ARP PDUs in the following manner:
. ARP Request PDUs must be redirected to control plane CPU.
. Gratuitous ARP PDUs (ARP Reply PDU with a broadcast MAC DA)
must be redirected to control plane CPU.
. Other ARP Reply PDUs (ARP Reply PDU with a unicast MAC DA)
should be bi-casted; one copy sent to control plane CPU and
other copy forwarded out normally.
3.1 ARP Requests
The ToR examines the source IP and the source hardware address (MAC
address) in the ARP Request . The source IP and MAC address
association is learned, or is updated/refreshed if already learned.
The destination IP address is searched in the ARP table. If an entry
exists, the associated MAC address from the table is used to prepare
a unicast ARP Reply PDU. The same MAC address is used as the source
MAC address in the MAC header, as well as for the target hardware
address,in the unicast ARP Reply PDU.
If the destination IP address in the request is not present in the
ARP table, then the original ARP request PDU is broadcast to all the
switch ports that are member of the same VLAN except the source port
that the Request was received from. However, if the requested
Shah, et al. Expires April 2012 6
Internet Draft draft-shah-arp-reduction-02.txt
(destination) IP address is present in the ARP table, a unicast ARP
Reply PDU is prepared as described above and sent to the switch port
from which the ARP Request was received and original ARP request PDU
is dropped.
The intent is to prevent propagation of ARP Request PDU broadcasts
as much as possible using the information present in the ARP table.
The following observations can be made from such behavior.
. Most of the ARP requests from the local hosts of a ToR switch
for the local hosts of the ToR switch can be prevented.
. Most of the ARP requests from the remote hosts of a ToR switch
for the local hosts of the ToR switch can be prevented from
getting forwarded on downlinks or other uplinks of the ToR
switch.
. Many of the ARP requests from the local hosts of a ToR switch
for the remote hosts of the ToR switch can be prevented from
being forwarded on uplinks if the remote host IP to MAC
association is known to the ToR switch.
3.2 ARP Reply
The unicast ARP Reply is examined to learn/update the ARP table for
source and destination IP/MAC address association, but is also
forwarded out as a normal frame.
3.3 Gratuitous ARP
Gratuitous ARP is a broadcast ARP Reply PDU with destination IP
address set to the IP address of the sender and target hardware
address set to the MAC address of the sender. It is typically used
by the IP hosts (including VMs) to keep its association fresh in
peer's ARP cache.
The ToR switch should process Gratuitous ARP in the following
manner.
. Learn/update/refresh the ARP table entry.
. If the IP address is new, or exists but with a different
hardware address, then the Gratuitous ARP PDU is forwarded
out; otherwise the PDU is discarded.
The goal for handling of the Gratuitous ARP PDU received from the
downlinks (i.e. local hosts) is to avoid propagating it into the
'network' (i.e. to uplinks), unless there is a new association.
By suppressing the propagation of Gratuitous ARP PDUs, the peer IP
hosts will end up aging out the corresponding ARP table entries.
This will result in generation of the broadcast ARP Requests by
those IP hosts if they need to continue to communicate with the IP
host whose Gratuitous ARPs were obstructed. The handling of the ARP
Request, as described above, by the first hop ToR switch will be
able to respond to this request based on the ARP cache maintained in
the ToR switch. In essence, presence of large ARP tables with longer
age out times compensates for the smaller ARP table present in the
Shah, et al. Expires April 2012 7
Internet Draft draft-shah-arp-reduction-02.txt
IP hosts and eliminates the need for periodic use of Gratuitous ARPs
in order to refresh the ARP table in the IP hosts.
3.4 Host movement
As mentioned earlier, server virtualization technology allows
movement of VMs to different physical servers. The flexibility to
move VMs is one of the key benefits of server virtualization. The
VM movement could be manual (operator initiated) or may be done
automatically in reaction to demands placed by the application
users. The important point is that in either case, VM movement is
not transparent and is made known to the network.
There is ongoing work in IEEE 802.1 standards organization (IEEE
802.1Qbg) to coordinate/communicate the presence and capabilities of
the VMs to the directly connected network switch.
VMs typically retain their MAC and IP address, and as such, there
would be little impact to the ARP table maintained by the ARP
reduction mechanism described herein. However, the ARP reduction
mechanism would benefit from knowing if a VM is completely
decommissioned so that the ToR can removed the ARP entry it has for
that VM in a timely fashion, rather than waiting for it to timeout.
3.5 Applicability to environments with overlay transport
Recently, there have been multiple proposals for using overlay
transport technologies such as VXLAN [VXLAN] and NVGRE [NVGRE].
These proposals allow the network operator to build the network
using L2 or L3 technologies while building an L2-overlay on top of
that. As such, while they address the issue of network design, they
do not eliminate the need for a mechanism to reduce the amount of
broadcast traffic that may have to traverse the core, if there are
VMs of the same tenant on servers attached to different ToR
switches.
One of the ways for the overlay transport proposals to address this
issue would be to implement the mechanism discussed in this document
at the point where the overlay encapsulation and decapsulation is
performed (i.e. in the virtual switch).
3.6 Scaling Considerations
Depending on the number of hosts in the networks, the ARP table can
be quite large. Although it is possible to implement some of the
mechanisms for ARP reduction as described in this document in
hardware in the forwarding plane, the number of ARP entries may
favor maintaining the ARP table in the control plane memory.
Shah, et al. Expires April 2012 8
Internet Draft draft-shah-arp-reduction-02.txt
3.7 Miscellaneous Issues
Because of the distributed nature of the mechanisms described
herein, there are a few additional issues that warrant consideration
from the network operator.
Earlier in the document, we had mentioned the configuration of a
timer for ARP entries. A longer timer for holding on to ARP entries
helps with reduction of broadcasts. However, the risk of having a
"too large timer" can cause problems in certain situations.
Consider the following scenario. Host A is attached to ToR switch
#1, and host B is attached to ToR switch #2. If host B issues an
ARP request for host A, if the entry is available at switch #2, then
switch #2 would send the ARP Reply on behalf of host A. It is
possible that host A is no longer available, but there is no way for
switch #2 to know this, and it would continue to respond on behalf
of host A, until its entry for host A has timed out. In this case,
it is easy to see that a smaller timer would be beneficial.
Additionally, since host B has an ARP age timer, it means that host
B would find out about host A's unavailability only after its entry
has aged, which would be after it has aged out of switch #2.
Another issue that can be somewhat problematic could be the
inconsistency of tables in switches. Once again, consider a
scenario similar to the one described above with 2 hosts each
connected to its respect ToR switch. Let the ARP entries at both A
and B be learned by both switches. Now assume that the IP address
on host A changes. This change is signaled to switch #1 which in
turn broadcasts the message on its uplink. Now, if this message is
discarded due to network congestion or signal integrity issues, then
switch #2 will not learn about the change and will continue to
respond to host B's ARP Requests for host A's old IP address with
stale information. This lasts until the ARP entry for A times out
at Switch #2.
4.0 Conclusion
Based on the procedures described in this document, it is possible
for ToR switches in the data center to contain ARP broadcasts
significantly. The solution is based on well known, non-intrusive
procedures and strives to curtail broadcasts that are increasingly
becoming a cause for concern in the data centers. In essence, ToR
switches facilitate the offloading of the extended ARP table
management from the IP hosts to itself. The ARP table timeout can be
tuned higher by the operator based on the available switch resources
and network traffic behavior. The larger capacity of the ARP table
directly translates to more effective subduing of the ARP
broadcasts.
Shah, et al. Expires April 2012 9
Internet Draft draft-shah-arp-reduction-02.txt
5.0 Security Considerations
The details of the security aspects will be addressed in future
revision.
6.0 Acknowledgments
This document resulted from discussions with Linda Durbar (Huawei),
Sue Hares (Huawei), and T Sridhar (VMware). We would like to
acknowledge their contribution to this work.
7.0 References
7.1 Normative References
[ARP] D. Plummer, "An Ethernet Address Resolution Protocol: Or
Converting Network Protocol Addresses to 48.bit Ethernet
Addresses for Transmission on Ethernet Hardware," RFC 826, STD
37.
[ARP-Problem] T. Narten, "Problem Statement for ARMD,"
work in progress, <draft-ietf-armd-problem-statement>.
7.2 Informative References
[ARP-Mediation] H. Shah et al., "ARP Mediation for IP interworking
in Layer 2 VPN," work in progress, <draft-ietf-l2vpn-arp-
mediation>.
[IPLS] H.Shah et al., "IP-only LAN service," work in progress,
<draft-ietf-l2vpn-ipls>.
[PROXY-ARP] J. Postel, "Multi-LAN Address Resolution," RFC 925.
[RFC1027] Smoot et al., "Using ARP to Implement Transparent Subnet
Gateways".
[VXLAN] M. Mahalingam et al., "VXLAN: A Framework for Overlaying
Virtualized Layer 2 Networks over Layer 3 Networks"," work in
progress, <draft-mahalingam-dutt-dcops-vxlan>.
[NVGRE] M. Sridharan et al., " NVGRE: Network Virtualization using
Generic Routing Encapsulation", work in progress, <draft-
sridharan-virtualization-nvgre>.
Shah, et al. Expires April 2012 10
Internet Draft draft-shah-arp-reduction-02.txt
8.0 Author's Address
Himanshu Shah
Ciena Corp
Email: hshah@ciena.com
Anoop Ghanwani
Brocade
Email: anoop@alumni.duke.edu
Nabil Bitar
Verizon
Email: nabil.n.bitar@verizon.com
Shah, et al. Expires April 2012 11