Internet DRAFT - draft-duchene-mptcp-mib
draft-duchene-mptcp-mib
MPTCP Working Group F. Duchene
Internet-Draft UCLouvain
Expires: April 21, 2016 C. Paasch
Apple
O. Bonaventure
UCLouvain
October 19, 2015
Multipath TCP MIB
draft-duchene-mptcp-mib-00
Abstract
This memo proposes a simple Management Information Base (MIB) that
gathers statistics and counters about the operation of a Multipath
TCP implementation.
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 April 21, 2016.
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
Duchene, et al. Expires April 21, 2016 [Page 1]
Internet-Draft MPTCP MIB October 2015
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. The MPTCP Group . . . . . . . . . . . . . . . . . . . . . . . 2
3. IANA considerations . . . . . . . . . . . . . . . . . . . . . 8
4. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 9
5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9
6. Normative References . . . . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction
Multipath TCP is an extension to TCP [RFC0793] that was specified in
[RFC6824]. Multipath TCP allows hosts to use multiple paths to send
and receive the data belonging to one connection. For this, a
Multipath TCP is composed of several TCP connections that are called
subflows.
This memo proposes a simple Management Information Base (MIB) that
gathers statistics and counters about the operation of a Multipath
TCP implementation. They are designed to give a better understanding
of Multipath TCP operations. In particular, the MIB covers the
different failure conditions that might occur and would trigger a
fallback to regular TCP of the MPTCP connection or the failure of a
subflow. These failures have important operational implications.
Further, several counters are defined to track the transmission and
reception of data at the MPTCP-layer. These counters might help to
understand the performance of MPTCP.
2. The MPTCP Group
mptcp OBJECT IDENTIFIER ::= { mib-2 TBD } - TBD
mptcpPassiveConn OBJECT-TYPE
Duchene, et al. Expires April 21, 2016 [Page 2]
Internet-Draft MPTCP MIB October 2015
SYNTAX Counter
UNITS "connections"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of MPTCP connections that made a direct
transition to the ESTABLISHED state from the
SYN-RECEIVED + MP_CAPABLE state. In this MIB,
an MPTCP connection
is defined as a TCP connection where both the
SYN and the SYN + ACK segments
contained the MP_CAPABLE options."
::= { mptcp 1 }
mptcpActiveConn OBJECT-TYPE
SYNTAX Counter
UNITS "connections"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of MPTCP connections that made a direct
transition to the ESTABLISHED state from the
SYN-SENT + MP_CAPABLE state."
::= { mptcp 2 }
mptcpPassiveCsumEnabled OBJECT-TYPE
SYNTAX Counter
UNITS "connections"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of MPTCP connections that made a direct
transition to the ESTABLISHED state from the
SYN-RECEIVED + MP_CAPABLE state with the DSS CHECKSUM
enabled."
::= { mptcp 3 }
mptcpActiveCsumEnabled OBJECT-TYPE
Duchene, et al. Expires April 21, 2016 [Page 3]
Internet-Draft MPTCP MIB October 2015
SYNTAX Counter
UNITS "connections"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of MPTCP connections that made a direct
transition to the ESTABLISHED state from the
SYN-SENT + MP_CAPABLE state with the DSS CHECKSUM
enabled."
::= { mptcp 4 }
mptcpPassiveRemovedSubflows OBJECT-TYPE
SYNTAX Counter
UNITS "connections"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of MPTCP subflows that made a transition to the
CLOSED state from the ESTABLISHED state upon reception of
a segment containing REM_ADDR or RST."
::= { mptcp 5 }
mptcpActiveRemovedSubflows OBJECT-TYPE
SYNTAX Counter
UNITS "connections"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of MPTCP subflows that made a transition to the
CLOSED state from the ESTABLISHED state upon emission of
a segment containing REM_ADDR or RST."
::= { mptcp 6 }
mptcpPassiveAddedSubflows OBJECT-TYPE
SYNTAX Counter
UNITS "connections"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of MPTCP subflows that made a direct
transition to the ESTABLISHED state from the
SYN-RECEIVED + MP_JOIN state."
::= { mptcp 7 }
mptcpActiveAddedSubflows OBJECT-TYPE
Duchene, et al. Expires April 21, 2016 [Page 4]
Internet-Draft MPTCP MIB October 2015
SYNTAX Counter
UNITS "connections"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of MPTCP subflows that made a
transition to the ESTABLISHED state from the
SYN-SENT + MP_JOIN state through the
PRE_ESTABLISHED state."
::= { mptcp 8 }
mptcpFailedToEstablishInitialSubflows OBJECT-TYPE
SYNTAX Counter
UNITS "connections"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of initial MPTCP subflows (i.e. the initial SYN
segment contained the MP_CAPABLE option) that could not
transition to the ESTABLISHED state from the SYN-RECEIVED
or SYN-SENT states. The reason being one of:
- the SYN+ACK didn't contain a MP_CAPABLE
- the first ACK didn't contain a DATA_ACK or the first
data-segment did not contain a DSS mapping
- 4-way handshake didn't complete (SYN+ACK or ACK not received)
Given these reasons, a connection could not get established or fell
back to regular TCP. They are most likely due to middleboxes
interfering with the connection."
::= { mptcp 9 }
mptcpFailedToEstablishSubflows OBJECT-TYPE
Duchene, et al. Expires April 21, 2016 [Page 5]
Internet-Draft MPTCP MIB October 2015
SYNTAX Counter
UNITS "connections"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of non-initial MPTCP subflows (i.e. subflows
started with a SYN containing the MP_JOIN option)
that could not transition to the ESTABLISHED state
from the SYN-RECEIVED or SYN-SENT states. The reason being:
- the SYN+ACK didn't contain a MP_JOIN
- the first ACK didn't contain a DATA_ACK or the first
data-segment did not contain a DSS mapping
- The connection had already falled back to TCP
- the 4-way handshake didn't complete (SYN+ACK or ACK
not received)
Given, these reasons a subflow could not get established.
They are most likely due to middleboxes interfence."
::= { mptcp 10 }
mptcpFallbackEstablishedConnections OBJECT-TYPE
SYNTAX Counter
UNITS "connections"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of MPTCP connections that fell back to regular TCP
while being already ESTABLISHED. The reason being one of:
- Reception of more than a window worth of data without DSS
- Reception of a segment with an incorrect DSS checksum
This happens when a middlebox is interfering with the data
flow after the connection has been successfully established."
::= { mptcp 11 }
mptcpOtherFailures OBJECT-TYPE
SYNTAX Counter
UNITS "connections"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of MPTCP connections were an invalid segment was
received
- Bad DSS-mapping (aka, the specified DSS-mapping does not map the
TCP sequence numbers)
- All other possible failures"
::= { mptcp 12 }
Duchene, et al. Expires April 21, 2016 [Page 6]
Internet-Draft MPTCP MIB October 2015
mptcpInvalidJoinReceived OBJECT-TYPE
SYNTAX Counter
UNITS "segments"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of SYN+MP_JOIN segments that were received but
discarded due to :
- Error in the HMAC
- Token not found"
::= { mptcp 13 }
mptcpFailRX OBJECT-TYPE
SYNTAX Counter
UNITS "connections"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of MPTCP connections where the remote host
initiated a fallback. This counter is triggered by the
reception of a MP_FAIL."
::= { mptcp 14 }
mptcpRetrans OBJECT-TYPE
SYNTAX Counter
UNITS "segments"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of segments that where retransmitted
at the MPTCP (meta) level, including all the types
of reinjections."
::= { mptcp 15 }
mptcpFastCloseRX OBJECT-TYPE
SYNTAX Counter
UNITS "segments"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of MP_FASTCLOSE received."
::= { mptcp 16 }
mptcpFastCloseTX OBJECT-TYPE
Duchene, et al. Expires April 21, 2016 [Page 7]
Internet-Draft MPTCP MIB October 2015
SYNTAX Counter
UNITS "segments"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of MP_FASTCLOSE emitted."
::= { mptcp 17 }
mptcpReceivedInOrder OBJECT-TYPE
SYNTAX Counter
UNITS "segments"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of segments that were received in order at the
MPTCP (meta) level."
::= { mptcp 18 }
mptcpReceivedOutOfOrder OBJECT-TYPE
SYNTAX Counter
UNITS "segments"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of segments that were received out of order at the
MPTCP (meta) level."
::= { mptcp 19 }
mptcpSentSegments OBJECT-TYPE
SYNTAX Counter
UNITS "segments"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of segments that were emitted at the
MPTCP (meta) level."
::= { mptcp 20 }
END
3. IANA considerations
The MIB module in this document uses the following IANA-assigned
OBJECT IDENTIFIER values recorded in the SMI Numbers registry:
Duchene, et al. Expires April 21, 2016 [Page 8]
Internet-Draft MPTCP MIB October 2015
Descriptor OBJECT IDENTIFIER value
------------ -----------------------
mptcp { mib-2 TBD}
RFC Editor: The IANA is requested to assign a value for "TBD" under
the 'mib-2' subtree and to record the assignment in the SMI Numbers
registry. When the assignment has been made, the RFC Editor is asked
to replace "TBD" (here and in the MIB module) with the assigned value
and to remove this note.
4. Conclusion
This document has proposed a simple Management Information Base (MIB)
to manage Multipath TCP.
5. Acknowledgements
This work was partially supported by the FP7 Trilogy-2 project funded
by the EC.
6. Normative References
[RFC0793] Postel, J., "Transmission Control Protocol", STD 7, RFC
793, DOI 10.17487/RFC0793, September 1981,
<http://www.rfc-editor.org/info/rfc793>.
[RFC6824] Ford, A., Raiciu, C., Handley, M., and O. Bonaventure,
"TCP Extensions for Multipath Operation with Multiple
Addresses", RFC 6824, DOI 10.17487/RFC6824, January 2013,
<http://www.rfc-editor.org/info/rfc6824>.
Authors' Addresses
Fabien Duchene
UCLouvain
Email: fabien.duchene@uclouvain.be
Christoph Paasch
Apple
Email: cpaasch@apple.com
Duchene, et al. Expires April 21, 2016 [Page 9]
Internet-Draft MPTCP MIB October 2015
Olivier Bonaventure
UCLouvain
Email: Olivier.Bonaventure@uclouvain.be
Duchene, et al. Expires April 21, 2016 [Page 10]