Internet DRAFT - draft-ksubram-lmap-router-buffer-sizes
draft-ksubram-lmap-router-buffer-sizes
Internet Engineering Task Force K. Subramaniam, Ed.
Internet-Draft D. Loher
Intended status: Informational Microsoft
Expires: January 8, 2016 July 7, 2015
Router Buffer Sizes In The WAN
draft-ksubram-lmap-router-buffer-sizes-01
Abstract
This draft identifies the set of data that needs to be collected, and
analyzed to quantify router buffer sizes used in routers in the Wide
Area Network (WAN). The scope of this draft is limited to WAN links
that have link latencies of 40 to 150 milliseconds.
Reducing router buffer sizes has many advantages, the most important
being cost. However, there is not much data available today to
effectively calculate this. This draft details use cases for the
study, and lists data that needs to be taken into consideration to be
able to quantify the size of router buffers. The details of the
individual measurement metrics are beyond the scope of this document.
Neither does the draft identify methods to gather the data. What it
identifies is a need to be able to collect, and report this empirical
data in a readable fashion thus providing the ability to study and
compare data in a more standardized method.
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). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on January 8, 2016.
Subramaniam & Loher Expires January 8, 2016 [Page 1]
Internet-Draft Router Buffer Sizes in the WAN July 2015
Copyright Notice
Copyright (c) 2015 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.
This document may not be modified, and derivative works of it may not
be created, except to format it for publication as an RFC or to
translate it into languages other than English.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Use Case . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Discards with small buffer sizes . . . . . . . . . . . . 4
3.2. Discards with large buffer sizes . . . . . . . . . . . . 4
4. List of required data for study of router buffer sizes . . . 4
4.1. Number of concurrent flows, N . . . . . . . . . . . . . . 5
4.2. Length of a flow, L . . . . . . . . . . . . . . . . . . . 6
4.3. Packet Discards, D . . . . . . . . . . . . . . . . . . . 6
4.4. Reason for Packet Discards, R . . . . . . . . . . . . . . 6
4.5. Resolution of time interval, T . . . . . . . . . . . . . 6
4.6. 5 Tuple Flow Identity, I . . . . . . . . . . . . . . . . 7
5. XML Representation of an Information Model for Calculating
Router Buffer Sizes . . . . . . . . . . . . . . . . . . . . . 7
6. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 8
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
9. Security Considerations . . . . . . . . . . . . . . . . . . . 9
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
10.1. Normative References . . . . . . . . . . . . . . . . . . 9
10.2. Informative References . . . . . . . . . . . . . . . . . 9
Appendix A. Additional Stuff . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10
Subramaniam & Loher Expires January 8, 2016 [Page 2]
Internet-Draft Router Buffer Sizes in the WAN July 2015
1. Introduction
"How much buffering do core links need?" is a question that has been
under study for a while. The question boils down to quantify buffer
sizes and yet achieve 100% utilization on links with maximum
throughput at a feasible cost.
Buffer design could substantially increase costs. While over-
buffering seems intuitive it can complicate the design of high speed
routers, lead to higher power consumption, more board space, and
lower density. It can actually increase end-to-end delay in the
presence of congestion. This can make congestion more persistent.
Additionally, there is always a tradeoff between buffer sizes and the
capacity of a router.
On the other hand, under-buffering while doing away from the above
cons of over-buffering could lead us away from our primary goal of
100 percent link utilization. This could happen in a scenario using
a simple Additive Increase Multiplicative Decrease (AIMD) for TCP
flows when the sender has packets to send but the window size
advertised is less and as a result the receiver consumes far less
that it could.
The rule of thumb for router buffers has been defined as [Villamizar]
: B = RTT*C. Where B, was the buffer size, RTT the Round Trip Time,
and C the capacity of the bottleneck link. [RFC3429] also talks
about the buffer size being at least one TCP window size.
However later studies [Appenzeller], show that the rule of thumb
works either for a single flow or a perfectly synchronized large
number of flows. Further they postulate that the buffer size is
actually (2RTT * C)/sqrt(n), where n is the number of flows. This
indicates a significant reduction in the buffer chip promoting lower
costs.
As seen, there have been proponents for large buffers and small.
However, most of these studies are based on theoretical models and
simulations. Today, there is no model or protocol to mine big data
from a providers network to be able to answer this question
efficiently. The nature of WAN traffic can be uncertain and varying.
Furthermore the traffic could vastly vary between individual ISPs.
This document implored the need for a model of mining empirical big
data in a providers network to be able to build a network that drives
down the $/GB and at the same time maximizing link utilization.
This document outlines use cases for the study of router buffer sizes
in the WAN and identifies the data that needs to be collected and
Subramaniam & Loher Expires January 8, 2016 [Page 3]
Internet-Draft Router Buffer Sizes in the WAN July 2015
analyzed. It could be further extended to the edge and datacenters,
but it is outside the scope of this draft.
2. Terminology
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 [RFC2119].
3. Use Case
From an operator's perspective it is imperative to monitor discards
and link utilization over WAN links to be able to study the router
buffer sizes. But these alone will be unable to provide an operator
with enough information as to why the discards happened. The two use
cases outlined here argue that more data needs to be collected,
reported, and analyzed.
3.1. Discards with small buffer sizes
Trans-pacific and trans-atlantic links of latencies in the range of
150 ms and 90 ms respectively, with low link utilization of 30
percent, and small buffers have seen dropped packets. The most
intuitive method has been to increase the buffer sizes for these
links on noticing packet discards. While this might alleviate the
issue temporarily, unless the right problem has been identified this
could readily lead to buffer bloat which has many issues on its own.
3.2. Discards with large buffer sizes
Operators have also observed dropped packets on WAN links within
North America with as large buffers as 125 MB per port with link
utilizations of 60%. If this happens even if the router has not been
specifically configured to drop certain type of packets, or there are
no routing misconfigurations, then clearly the issue here is not the
size of the router buffer.
4. List of required data for study of router buffer sizes
This section talks about the absolute minimum requirements of the
type of data that needs to be collected to be able to effectively
quantify router buffer size.
Subramaniam & Loher Expires January 8, 2016 [Page 4]
Internet-Draft Router Buffer Sizes in the WAN July 2015
+---+-------------------------+-------------------------------------+
| | Data | Details |
+---+-------------------------+-------------------------------------+
| 1 | Number of concurrent | For aggregate traffic |
| | flows, N | |
| 2 | Length of the flow, L | [Flow start time - flow end time] |
| 3 | Packet Discards, P | Per Interface |
| 4 | Reason for Packet | Buffer overflow, configuration, |
| | Discards, R | etc. |
| 5 | Resolution of Time | [Flow start time - flow end time] |
| | Interval, T | |
| 6 | 5 tuple flow identity, | Src IP, Dest IP, Src port, Dest |
| | I | Port, Protocol. |
+---+-------------------------+-------------------------------------+
Table 1: List of required data for Router Buffer Sizes
A service provider needs to take into consideration several
attributes to determine the right buffer size for its WAN routers.
This section enlists the details as to why the five above have been
identified as the minimum essential data needed to aid the study of
router buffer sizes.
4.1. Number of concurrent flows, N
Studies [Feldmann] and [Stevens] show that 95% of flows in the
internet today are attributed to TCP [Postel] flows. The nature of
these flows can vary significantly not only with various time
periods, but also between providers. Flows that spend most of their
time in slow-start require significantly less buffering than flows
that live mostly in congestion avoidance. Due to this it is
important to identify the type of concurrent flows that can live on a
WAN link.
Short (non-persistent) flows are those that live for less than one
RTT, and large (persistent) flows are those whose lifetime is larger
that one RTT with congestion overhead. Internet measurements [Avra]
show that while a smaller number of large flows contribute to maximum
packet transfer, short flows dominate most TCP sessions and large
flows are known to have a larger effect on buffer sizes. These
combination flows could in turn have an effect on Round Trip Time
(RTT), loss probability and flow lengths. The ability to detect
large flows is necessary because while the flows can be constant in
steady state, the aggregate traffic can keep changing due to various
arrival and departure rates. There needs to be a way for the number
of concurrent flows to be collected and analyzed with the granularity
of the lifetime of short flows, as low as one millisecond.
Subramaniam & Loher Expires January 8, 2016 [Page 5]
Internet-Draft Router Buffer Sizes in the WAN July 2015
4.2. Length of a flow, L
Length of a flow can be defined as its duration: [flow stop time -
flow start time], or the number of packets/bytes sent in this time
duration. Identifying the length of flow in a provider's network
will give information of the mix of short and large flows that are
present in the WAN. This will lead to modeling implications in TCP
flow control.
4.3. Packet Discards, D
Number of packet discards per interface is probably the most
important metric. Of this the number of outward (WAN) facing
interface discards would be more intuitive to the study of buffer
sizes. Interface discards can be referred to in [RFC2893]
4.4. Reason for Packet Discards, R
There can be several reasons for packet discards especially when it
is observed on less utilized links. Some of them could be due to
routing misconfigurations, or designed to drop certain packets due to
configurations. Clearly stating a reason as insufficient buffer will
help narrow down the data required. This is especially true in the
case of smart buffer allocations when some ports run out of buffers
but not others. We could observe that a port has been allocated
only, say, 30 percent of the available total buffer space but is
experiencing the highest utilization and as a result of that is
seeing packet drops pointing to the fact that dynamic buffers' smart
allocations scheme is not adaptive and predictive to the nature of
the WAN traffic.
4.5. Resolution of time interval, T
The time interval should be granular such that it captures not only
the number of concurrent flows in steady state but also the aggregate
traffic over the lifetime of a short flow. It should also be able to
correlate the discards per interface to the number of concurrent
flows.
Today via IPFIX we can calculate the number of concurrent flows. Via
Sflow counters or flows, we can calculate the discards. Using
counters requires upto two times the granularity set for any changes
to be visible due to Nyquist rate. Reducing the counter export
interval would increase the responsiveness, but at the cost of
increased overhead and reduced scalability. On the other hand,
packet sampling automatically allocates monitoring resources to busy
links, providing a highly scaleable way to quickly detect traffic
Subramaniam & Loher Expires January 8, 2016 [Page 6]
Internet-Draft Router Buffer Sizes in the WAN July 2015
flows wherever they occur in the network. Responsiveness is
important for a more stable control.
4.6. 5 Tuple Flow Identity, I
5 tuple flows have a source IP, destination IP, source port,
destination port, and protocol to identify endpoints for
unidirectional flows. Having this functionality gives the network
operator a way to identify the offending flows, legitimate elephant
flows, and high priority flows which may happen at certain periods
during the day. Being able to separate traffic using the 5 tuple,
further increases the strength of the sample set of empirical data
available for the study of router buffer sizes.
5. XML Representation of an Information Model for Calculating Router
Buffer Sizes
The below is an example information model representing the data that
needs to be measured in order to make buffer size estimations easier.
The methods/algorithms to determine this date is out of the scope of
draft.
<?xml version="1.0" encoding="utf-8" ?>
<Router_Buffer_Schema>
<Router>
<!-- READ_ONLY -->
<IPV4Address></IPV4Address>
<Interface>
<InterfaceID></InterfaceID>
<InterfaceDirection></InterfaceDirection>
<Capacity></Capacity>
<FlowInformation>
<NumConFlows></NumConFlows>
<LengthOfFlow></LengthOfFlow>
<SamplingRate></SamplingRate>
<FiveTupleFlowInfo>
<IPProtocol></IPProtocol>
<SrcIPAddress></SrcIPAddress>
<DestIPAddress></DestIPAddress>
<SrcPort></SrcPort>
<DestPort></DestPort>
</FiveTupleFlowInfo>
<FlowEndReason>
<IdleTimeout></IdleTimeout>
<ForcedTimeout></ForcedTimeout>
<LackOfResources></LackOfResources>
<ForcedEnd></ForcedEnd>
Subramaniam & Loher Expires January 8, 2016 [Page 7]
Internet-Draft Router Buffer Sizes in the WAN July 2015
<EndOfFlowDetected></EndOfFlowDetected>
</FlowEndReason>
</FlowInformation>
<PacketDiscards>
<EgressIfDiscard></EgressIfDiscard>
<IngressIfDiscard></IngressIfDiscard>
<ReasonPacketDiscards>
<BufferOverrun></BufferOverrun>
<RouterMisConfig></RouterMisConfig>
<NetworkCongestion></NetworkCongestion>
</ReasonPacketDiscards>
<SamplPcktDiscRate></SamplPcktDiscRate>
<PktDiscardHistogram></PktDiscardHistogram>
</PacketDiscards>
<LinkUtil></LinkUtil>
<RoundTripTime></RoundTripTime>
<!-- READ_WRITE -->
<EnableRtrBuffCal></EnableRtrBuffCal>
<BufferSize>
<Percentage></Percentage>
<Latency></Latency>
<SizeInBytes>
<BytesTotal></BytesTotal>
<BytesUsed></BytesUsed>
<BytesAvail></BytesAvail>
</SizeInBytes>
<HistogramSamplingRate></HistogramSamplingRate>
<BufferSizeHistogram></BufferSizeHistogram>
</BufferSize>
</Interface>
</Router>
</Router_Buffer_Schema>
6. Conclusion
We see that there are numerous issues at different layers that have
an effect (directly or indirectly) on the sizing of router buffers.
We also notice that there is no study that takes empirical data into
consideration. Ideally, what would be required is an all knowing
oracle that sees the traffic flow on an end-to-end network across all
layers. Due to a lack of the resource, the first step to the study
of router buffer sizes is to effectively mine the big data repository
of a provider for the data identified in this draft.
Subramaniam & Loher Expires January 8, 2016 [Page 8]
Internet-Draft Router Buffer Sizes in the WAN July 2015
7. Acknowledgements
8. IANA Considerations
This memo includes no request to IANA.
All drafts are required to have an IANA considerations section (see
the update of RFC 2434 [I-D.narten-iana-considerations-rfc2434bis]
for a guide). If the draft does not require IANA to do anything, the
section contains an explicit statement that this is the case (as
above). If there are no requirements for IANA, the section will be
removed during conversion into an RFC by the RFC Editor.
9. Security Considerations
This document does not introduce new security issues.
10. References
10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
10.2. Informative References
[Appenzeller]
G. Appenzeller, I. Klesassy, and N. McKeown, "Some
Internet Architectural Guidelines and Philosophy", 2004,
<SIGCOMM '04 Proceedings of the 2004 conference on
Applications, technologies, architectures, and protocols
for computer communications>.
[Avra] Konstantin Avrachenkov, INRIA Sophia Antipolis,
"Differentiation Between Short and Long TCP Flows:
Predictability of the Response Time", 2004, <IEEE
INFOCOMM>.
[Feldmann]
A. Feldmann, J. Rexford, and R. Caceres, "Efficient
policies for carrying Web traffic over flow-switched
networks", Dec. 1998, <IEEE/ACM Trans. Networking, vol. 6,
pp. 673-685>.
Subramaniam & Loher Expires January 8, 2016 [Page 9]
Internet-Draft Router Buffer Sizes in the WAN July 2015
[I-D.narten-iana-considerations-rfc2434bis]
Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", draft-narten-iana-
considerations-rfc2434bis-09 (work in progress), March
2008.
[Postel] J. Postel, "Transmission Control Protocol", Sep. 1981,
<RFC 793>.
[RFC2893] K. McCloghrie, F. Kastenholz, "The Interfaces Group MIB",
Jun. 2000, <RFC 2893>.
[RFC3429] R. Bush and D. Meyer, "Some Internet Architectural
Guidelines and Philosophy", Dec. 2002, <RFC 3429>.
[Stevens] W. R. Stevens, "Transmission Control Protocol", 1994,
<TCP/IP Illustrated. Reading, MA: Addison-Wesley, vol. 1>.
[Villamizar]
C. Villamizar and C. Song, "High performance tcp in
ansnet", 1994, <ACM Computer Communications Review,
24(5):45-60>.
Appendix A. Additional Stuff
This becomes an Appendix.
Authors' Addresses
Kamala Subramaniam (editor)
Microsoft
Mountain View, CA 94043
US
Email: kasubra@microsoft.com
Darren Loher
Microsoft
Redmond, WA 98052
US
Subramaniam & Loher Expires January 8, 2016 [Page 10]