draft-ietf-ippm-reordering-10.txt   draft-ietf-ippm-reordering-11.txt 
Network Working Group A.Morton Network Working Group A.Morton
Internet Draft L.Ciavattone Internet Draft L.Ciavattone
Document: <draft-ietf-ippm-reordering-10.txt> G.Ramachandran Document: <draft-ietf-ippm-reordering-11.txt> G.Ramachandran
Category: Standards Track AT&T Labs Category: Standards Track AT&T Labs
S.Shalunov S.Shalunov
Internet2 Internet2
J.Perser J.Perser
Consultant Consultant
Packet Reordering Metric for IPPM Packet Reordering Metric for IPPM
Status of this Memo Status of this Memo
skipping to change at line 54 skipping to change at line 54
This memo defines metrics to evaluate if a network has maintained This memo defines metrics to evaluate if a network has maintained
packet order on a packet-by-packet basis. It provides motivations packet order on a packet-by-packet basis. It provides motivations
for the new metrics and discusses the measurement issues, including for the new metrics and discusses the measurement issues, including
the context information required for all metrics. The memo first the context information required for all metrics. The memo first
defines a reordered singleton, and then uses it as the basis for defines a reordered singleton, and then uses it as the basis for
sample metrics to quantify the extent of reordering in several sample metrics to quantify the extent of reordering in several
useful dimensions for network characterization or receiver design. useful dimensions for network characterization or receiver design.
Additional metrics quantify the frequency of reordering and the Additional metrics quantify the frequency of reordering and the
distance between separate occurrences. We then define a metric distance between separate occurrences. We then define a metric
oriented toward reordering affects on TCP. Several examples of oriented toward assessing reordering affects on TCP. Several
evaluation using the various sample metrics are included. An examples of evaluation using the various sample metrics are
Appendix gives extended definitions for evaluating order with packet included. An Appendix gives extended definitions for evaluating
fragmentation. order with packet fragmentation.
Contents Contents
Status of this Memo................................................1 Status of this Memo................................................1
Copyright Notice...................................................1 Copyright Notice...................................................1
Abstract...........................................................1 Abstract...........................................................1
1. Conventions used in this document...............................3 1. Conventions used in this document...............................3
2. Introduction....................................................3 2. Introduction....................................................4
2.1 Motivation.....................................................4 2.1 Motivation.....................................................4
2.2 Goals and Objectives...........................................5 2.2 Goals and Objectives...........................................5
2.3 Required Context for All Reordering Metrics....................6
3. A Reordered Packet Singleton Metric.............................6 3. A Reordered Packet Singleton Metric.............................6
3.1 Metric Name:...................................................7 3.1 Metric Name:...................................................7
3.2 Metric Parameters:.............................................7 3.2 Metric Parameters:.............................................7
3.3 Definition:....................................................7 3.3 Definition:....................................................7
3.4 Sequence Discontinuity Definition..............................8 3.4 Sequence Discontinuity Definition..............................8
3.5 Evaluation of Reordering in Dimensions of Time or Bytes........9 3.5 Evaluation of Reordering in Dimensions of Time or Bytes........9
3.6 Discussion.....................................................9 3.6 Discussion.....................................................9
4. Sample Metrics.................................................10 4. Sample Metrics.................................................10
4.1 Reordered Packet Ratio........................................10 4.1 Reordered Packet Ratio........................................10
4.1.1 Metric Name:................................................10 4.1.1 Metric Name:................................................10
4.1.2 Metric Parameters:..........................................10 4.1.2 Metric Parameters:..........................................10
4.1.3 Definition:.................................................10 4.1.3 Definition:.................................................10
4.1.4 Discussion..................................................11 4.1.4 Discussion..................................................11
4.2 Reordering Extent.............................................11 4.2 Reordering Extent.............................................11
4.2.1 Metric Name:................................................11 4.2.1 Metric Name:................................................11
4.2.2 Parameter Notation:.........................................11 4.2.2 Notation and Metric Parameters:.............................11
4.2.3 Definition:.................................................12 4.2.3 Definition:.................................................12
4.2.4 Discussion:.................................................12 4.2.4 Discussion:.................................................12
4.3 Reordering Late Time Offset...................................13 4.3 Reordering Late Time Offset...................................13
4.3.1 Metric Name:................................................13 4.3.1 Metric Name:................................................13
4.3.2 Metric Parameters:..........................................13 4.3.2 Metric Parameters:..........................................13
4.3.3 Definition:.................................................13 4.3.3 Definition:.................................................13
4.3.4 Discussion..................................................13 4.3.4 Discussion..................................................13
4.4 Reordering Byte Offset........................................14 4.4 Reordering Byte Offset........................................14
4.4.1 Metric Name:................................................14 4.4.1 Metric Name:................................................14
4.4.2 Metric Parameters:..........................................14 4.4.2 Metric Parameters:..........................................14
skipping to change at line 106 skipping to change at line 107
4.5 Gaps between multiple Reordering Discontinuities..............15 4.5 Gaps between multiple Reordering Discontinuities..............15
4.5.1 Metric Name:................................................15 4.5.1 Metric Name:................................................15
4.5.2 Parameters:.................................................15 4.5.2 Parameters:.................................................15
4.5.3 Definition of Reordering Discontinuity:.....................16 4.5.3 Definition of Reordering Discontinuity:.....................16
4.5.4 Definition of Reordering Gap:...............................16 4.5.4 Definition of Reordering Gap:...............................16
4.5.5 Discussion..................................................16 4.5.5 Discussion..................................................16
4.6 Reordering-free Runs..........................................17 4.6 Reordering-free Runs..........................................17
4.6.1 Metric Name:................................................17 4.6.1 Metric Name:................................................17
4.6.2 Parameters:.................................................17 4.6.2 Parameters:.................................................17
4.6.3 Definition:.................................................17 4.6.3 Definition:.................................................17
4.6.4 Discussion:.................................................18 4.6.4 Discussion and Illustration:................................18
5. Metrics Focused on Receiver Assessment: A TCP-Relevant Metric..19 5. Metrics Focused on Receiver Assessment: A TCP-Relevant Metric..19
5.1 Metric Name:..................................................19 5.1 Metric Name:..................................................19
5.2 Parameter Notation:...........................................19 5.2 Parameter Notation:...........................................19
5.3 Definitions...................................................19 5.3 Definitions...................................................19
5.4 Discussion:...................................................20 5.4 Discussion:...................................................20
6. Measurement and Implementation Issues..........................21 6. Measurement and Implementation Issues..........................21
7. Examples of Arrival Order Evaluation...........................24 7. Examples of Arrival Order Evaluation...........................24
7.1 Example with a single packet reordered........................24 7.1 Example with a single packet reordered........................24
7.2 Example with two packets reordered............................25 7.2 Example with two packets reordered............................25
7.3 Example with three packets reordered..........................27 7.3 Example with three packets reordered..........................27
skipping to change at line 130 skipping to change at line 131
8.2 User data confidentiality.....................................29 8.2 User data confidentiality.....................................29
8.3 Interference with the metric..................................29 8.3 Interference with the metric..................................29
9. IANA Considerations............................................29 9. IANA Considerations............................................29
10. Normative References..........................................29 10. Normative References..........................................29
11. Informative References........................................30 11. Informative References........................................30
12. Acknowledgments...............................................31 12. Acknowledgments...............................................31
13. Appendix A Example Implementations in C (Informative).........31 13. Appendix A Example Implementations in C (Informative).........31
14. Appendix B Fragment Order Evaluation (Informative)............34 14. Appendix B Fragment Order Evaluation (Informative)............34
14.1 Metric Name:.................................................34 14.1 Metric Name:.................................................34
14.2 Additional Metric Parameters:................................34 14.2 Additional Metric Parameters:................................34
14.3 Definition:..................................................34 14.3 Definition:..................................................35
14.4 Discussion: Notes on Sample Metrics when evaluating Fragments36 14.4 Discussion: Notes on Sample Metrics when evaluating Fragments36
15. Author's Addresses............................................36 15. Author's Addresses............................................36
Full Copyright Statement..........................................37 Full Copyright Statement..........................................37
Intellectual Property.............................................37 Intellectual Property.............................................37
Acknowledgement...................................................38 Acknowledgement...................................................38
1. Conventions used in this document 1. Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
skipping to change at line 1517 skipping to change at line 1517
[RFC2581] Allman, M., Paxson, V., and Stevens, W., "TCP Congestion [RFC2581] Allman, M., Paxson, V., and Stevens, W., "TCP Congestion
Control", RFC 2581, April 1999. Control", RFC 2581, April 1999.
[RFC2960] Stewart, R., et al., "Stream Control Transmission [RFC2960] Stewart, R., et al., "Stream Control Transmission
Protocol", RFC 2960, October 2000. Protocol", RFC 2960, October 2000.
[RFC3393] Demichelis, C., and Chimento, P., "IP Packet Delay [RFC3393] Demichelis, C., and Chimento, P., "IP Packet Delay
Variation Metric for IP Performance Metrics (IPPM)", RFC Variation Metric for IP Performance Metrics (IPPM)", RFC
3393, November 2002. 3393, November 2002.
[TBABAJ02] T. Banka, A. A. Bare, A. P. Jayasumana, "Metrics for
Degree of Reordering in Packet Sequences", Proc. 27th
IEEE Conference on Local Computer Networks, Tampa, FL,
Nov. 2002.
[Y.1540] ITU-T Recommendation Y.1540, "Internet protocol data [Y.1540] ITU-T Recommendation Y.1540, "Internet protocol data
communication service - IP packet transfer and communication service - IP packet transfer and
availability performance parameters", December 2002. availability performance parameters", December 2002.
12. Acknowledgments 12. Acknowledgments
The authors would like to acknowledge many helpful discussions with The authors would like to acknowledge many helpful discussions with
Matt Zekauskas, Jon Bennett (who authored the sections on Matt Zekauskas, Jon Bennett (who authored the sections on
Reordering-Free Runs), and Matt Mathis. We thank David Newman, Henk Reordering-Free Runs), and Matt Mathis. We thank David Newman, Henk
Uijterwaal, Mark Allman, Vern Paxson, and Phil Chimento for their Uijterwaal, Mark Allman, Vern Paxson, and Phil Chimento for their
reviews and suggestions, and Michal Przybylski for sharing reviews and suggestions, and Michal Przybylski for sharing
implementation experiences with us on the ippm-list. Anura implementation experiences with us on the ippm-list. Anura
Jayasumana and Nischal Piratla brought in recent work-in-progress. Jayasumana and Nischal Piratla brought in recent work-in-progress
We gratefully acknowledge the foundation laid by the authors of the [TBABAJ02]. We gratefully acknowledge the foundation laid by the
IP performance Framework [RFC2330]. authors of the IP performance Framework [RFC2330].
13. Appendix A Example Implementations in C (Informative) 13. Appendix A Example Implementations in C (Informative)
Two example c-code implementations of reordering definitions follow: Two example c-code implementations of reordering definitions follow:
Example 1 n-reordering ============================================ Example 1 n-reordering ============================================
#include <stdio.h> #include <stdio.h>
#define MAXN 100 #define MAXN 100
skipping to change at line 1721 skipping to change at line 1728
The value of Type-P-Reordered is defined as True (the packet is The value of Type-P-Reordered is defined as True (the packet is
reordered) under the conditions below. In these cases, the NextExp reordered) under the conditions below. In these cases, the NextExp
value does not change. value does not change.
Case 1: if s < NextExp Case 1: if s < NextExp
Case 2: if s < FragSeq# Case 2: if s < FragSeq#
Case 3: if s>= NextExp AND s = FragSeq# AND FragOffset < NextExpFrag Case 3: if s>= NextExp AND s = FragSeq# AND FragOffset < NextExpFrag
This definition can also be illustrated in pseudo-code. A draft This definition can also be illustrated in pseudo-code. A version of
version of the code follows, and some simplification may be the code follows, and some simplification may be possible. A
possible. A challenging aspect surrounds the housekeeping for the challenging aspect surrounds the housekeeping for the new
new parameters. parameters.
NextExp=0; NextExp=0;
NextExpFrag=0; NextExpFrag=0;
FragSeq#=0; FragSeq#=0;
while(packets arrive with s, MoreFrag, FragOffset) while(packets arrive with s, MoreFrag, FragOffset)
{ {
if (s>=NextExp AND MoreFrag==0 AND s>=FragSeq#){ if (s>=NextExp AND MoreFrag==0 AND s>=FragSeq#){
/* a normal packet or last frag of an in-order packet arrived /* a normal packet or last frag of an in-order packet arrived
*/ */
skipping to change at line 1793 skipping to change at line 1800
Al Morton Al Morton
AT&T Labs AT&T Labs
Room D3 - 3C06 Room D3 - 3C06
200 Laurel Ave. South 200 Laurel Ave. South
Middletown, NJ 07748 USA Middletown, NJ 07748 USA
Phone +1 732 420 1571 Phone +1 732 420 1571
EMail: <acmorton@att.com> EMail: <acmorton@att.com>
Len Ciavattone Len Ciavattone
AT&T Labs AT&T Labs
Room C2 - 3D02 Room A2 - 4G06
200 Laurel Ave. South 200 Laurel Ave. South
Middletown, NJ 07748 USA Middletown, NJ 07748 USA
Phone +1 732 420 1239 Phone +1 732 420 1239
EMail: <lencia@att.com> EMail: <lencia@att.com>
Gomathi Ramachandran Gomathi Ramachandran
AT&T Labs AT&T Labs
Room C4 - 3D22 Room C4 - 3D22
200 Laurel Ave. South 200 Laurel Ave. South
Middletown, NJ 07748 USA Middletown, NJ 07748 USA
Phone +1 732 420 2353 Phone +1 732 420 2353
EMail: <gomathi@att.com> EMail: <gomathi@att.com>
Stanislav Shalunov Stanislav Shalunov
Internet2 Internet2
200 Business Park Drive, Suite 307 1000 Oakbrook DR STE 300
Armonk, NY 10504 Ann Arbor, MI 48104
Phone: + 1 914 765 1182 +1 734 995 7060
EMail: <shalunov@internet2.edu> EMail: <shalunov@internet2.edu>
Jerry Perser Jerry Perser
Consultant Consultant
Calabasas, CA 91302 USA Calabasas, CA 91302 USA
Phone: + 1 Phone: + 1
EMail: <jerry@perser.org> EMail: <jerry@perser.org>
Full Copyright Statement Full Copyright Statement
 End of changes. 12 change blocks. 
20 lines changed or deleted 27 lines changed or added

This html diff was produced by rfcdiff 1.27, available from http://www.levkowetz.com/ietf/tools/rfcdiff/