Using the IPv6 Flow Label for Load Balancing in Server Farms
RFC 7098
Internet Engineering Task Force (IETF) B. Carpenter
Request for Comments: 7098 Univ. of Auckland
Category: Informational S. Jiang
ISSN: 2070-1721 Huawei Technologies Co., Ltd
W. Tarreau
HAProxy Technologies, Inc.
January 2014
Using the IPv6 Flow Label for Load Balancing in Server Farms
Abstract
This document describes how the currently specified IPv6 flow label
can be used to enhance layer 3/4 (L3/4) load distribution and
balancing for large server farms.
Status of This Memo
This document is not an Internet Standards Track specification; it is
published for informational purposes.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Not all documents
approved by the IESG are a candidate for any level of Internet
Standard; see Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc7098.
Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved.
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.
Carpenter, et al. Informational [Page 1]
RFC 7098 Flow Label for Server Load Balancing January 2014
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Summary of Flow Label Specification . . . . . . . . . . . . . 2
3. Summary of Server Farm Load-Balancing Techniques . . . . . . 4
4. Applying the Flow Label to Layer 3/4 Load Balancing . . . . . 8
5. Security Considerations . . . . . . . . . . . . . . . . . . . 10
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 12
7.1. Normative References . . . . . . . . . . . . . . . . . . 12
7.2. Informative References . . . . . . . . . . . . . . . . . 12
1. Introduction
The IPv6 flow label has been redefined [RFC6437] and is now a
recommended IPv6 node requirement [RFC6434]. Its use for load
sharing in multipath routing has been specified [RFC6438]. Another
scenario in which the flow label could be used is in load
distribution for large server farms. Load distribution is a slightly
more general term than load balancing, but the latter is more
commonly used. In the context of a server farm, both terms refer to
mechanisms that distribute the workload of a server farm among
different servers in order to optimize performance. Server load
balancing commonly applies to HTTP traffic, but most of the
techniques described would apply to other upper-layer applications as
well. This document starts with brief introductions to the flow
label and to server load-balancing techniques, and then describes how
the flow label can be used to enhance load balancers operating on IP
packets and TCP sessions, commonly known as layer 3/4 load balancers.
The motivation for this approach is to improve the performance of
most types of layer 3/4 load balancers, especially for traffic
including multiple IPv6 extension headers and in particular for
fragmented packets. Fragmented packets, often the result of
customers reaching the load balancer via a VPN with a limited MTU,
are a common performance problem.
2. Summary of Flow Label Specification
The IPv6 flow label [RFC6437] is a 20-bit field included in every
IPv6 header [RFC2460]. It is recommended to be supported in all IPv6
nodes by [RFC6434]. There is additional background material in
[RFC6436] and [RFC6294]. According to its definition, the flow label
should be set to a constant value for a given traffic flow (such as
an HTTP connection), and that value will belong to a uniform
statistical distribution, making it potentially valuable for load-
balancing purposes.
Carpenter, et al. Informational [Page 2]
Show full document text