idnits 2.17.1 draft-song-ippm-segment-ioam-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (April 17, 2018) is 2201 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-03) exists of draft-brockners-inband-oam-requirements-02 == Outdated reference: A later version (-17) exists of draft-ietf-ippm-ioam-data-00 Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 ippm H. Song, Ed. 3 Internet-Draft T. Zhou 4 Intended status: Standards Track Huawei 5 Expires: October 19, 2018 April 17, 2018 7 Control In-situ OAM Overhead with Segment IOAM 8 draft-song-ippm-segment-ioam-01 10 Abstract 12 This document describes a proposal which partitions an in-situ OAM 13 (iOAM) domain into multiple segments in order to control the iOAM 14 data overhead, adapt to the path MTU limitations, and enable new 15 applications. We discuss several use cases to motivate our proposal 16 and base the necessary modifications on the current in-situ OAM 17 header format specification. 19 Status of This Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at https://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 This Internet-Draft will expire on October 19, 2018. 36 Copyright Notice 38 Copyright (c) 2018 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents 43 (https://trustee.ietf.org/license-info) in effect on the date of 44 publication of this document. Please review these documents 45 carefully, as they describe your rights and restrictions with respect 46 to this document. Code Components extracted from this document must 47 include Simplified BSD License text as described in Section 4.e of 48 the Trust Legal Provisions and are provided without warranty as 49 described in the Simplified BSD License. 51 Table of Contents 53 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 54 2. Segment In-situ OAM . . . . . . . . . . . . . . . . . . . . . 3 55 2.1. Segment and Hops . . . . . . . . . . . . . . . . . . . . 3 56 2.2. Considerations for Data Handling . . . . . . . . . . . . 4 57 2.3. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . 4 58 3. Security Considerations . . . . . . . . . . . . . . . . . . . 4 59 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 60 5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 5 61 6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 5 62 7. Informative References . . . . . . . . . . . . . . . . . . . 5 63 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 5 65 1. Introduction 67 In-situ OAM (iOAM) [I-D.brockners-inband-oam-requirements] records 68 OAM information within user packets while the packets traverse a 69 network. The data types and data formats for in-situ OAM data 70 records have been defined in [I-D.ietf-ippm-ioam-data]. 72 iOAM may incur significant overhead on user packets. The overhead 73 includes the iOAM header and the node data list for each network 74 element. 76 The total size of data is limited by the MTU. When the number of 77 required data types is large and the forwarding path length is long, 78 it is possible that there is not enough space in the user packets to 79 hold the iOAM header and data. The current proposal is to label the 80 overflow status and stop adding new node data to the packet, leading 81 to the loss of information. 83 Even if the header has enough space to hold the iOAM data, the 84 overhead may be too large and consumes too much bandwidth. For 85 example, if we assume moderate 20 bytes of data per node, a path with 86 length of 10 will need 200 bytes to hold the data. This will inflate 87 small 64-byte packets by more than four times. Even for the largest 88 packet size (e.g., 1500 bytes), the overhead (>10%) is not 89 negligible. Therefore, we need to limit the iOAM data overhead 90 without sacrificing the data collection capability. 92 Here we have another interesting related issue. Packets can be 93 dropped anywhere in a network for various reasons. If we can only 94 collect iOAM data at the path end, we lose all data from the dropped 95 packets and have no idea where the packets are dropped. This defies 96 the purpose of iOAM and makes those iOAM-enabled nodes work in vain. 98 2. Segment In-situ OAM 100 Based on the observation in Section 1, we propose a method to limit 101 the size of the node data list. 103 2.1. Segment and Hops 105 A hop is a node on a flow's forwarding path which is capable of 106 processing iOAM data. A segment is a fixed number hops on a flow's 107 forwarding path. While working in the "per hop" trace mode, the 108 segment size (SSize) and the remaining hops (RHop), is added to the 109 iOAM header at the edge. Initially, RHop is equal to SSize. At each 110 hop, if RH is not zero, the node data is added to the node data list 111 at the corresponding location and then RH is decremented by 1. If RH 112 is equal to 0 when receiving the packet, the node needs to remove (in 113 incremental trace option) or clear (in pre-allocated trace option) 114 the iOAM node data list and reset RHop to SSize. Then the node will 115 add its data to the node data list as if it is the edge node. 117 The stripped iOAM data at the segement edge can be immediately 118 exported to a collector. 120 Figure 1 shows the proposed in-situ OAM header format. The bit 23 in 121 the Flags field is used to indicate the current header is a segment 122 iOAM header. In this context, the last octet in the iOAM header is 123 partitioned into two 4-bit nibbles. The first nibble (SSize) is used 124 to save the segment size and the second nibble (RHop) is used to save 125 the remaining hops. This limits the maximum segment size to 15. 127 0 1 2 3 128 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 129 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 130 | Base OAM Trace Type |NodeLen|Flags|1| SSize | RHop | 131 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 132 | | 133 | Node Data List [] | 134 | | 135 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 137 Figure 1: Segment iOAM Header Format 139 In the special case when SSize is set to 0, no data will be recorded 140 in the node data list. The requested data listed in the OAM Trace 141 Type will be immediately exported to the collector. This way the 142 iOAM overhead is minimized. 144 2.2. Considerations for Data Handling 146 At any hop when RHop is equal to 0, the node data list is copied from 147 the iOAM header. The data can be encapsulated and reported to the 148 controller or the edge node as configured. The encapsulation and 149 report method is beyond the scope of this draft but should be comply 150 with the method used by the iOAM edge node. 152 The actual size of the last segment may not be equal to SSize but 153 this is not a problem. 155 2.3. Use Cases 157 Segment iOAM is necessary in the following example scenarios: 159 o Segment iOAM can be used to detect at which segment the flow 160 packet is dropped. If the SSize is set to 1, then the exact drop 161 node can be identified. The iOAM data before the dropping point 162 is also retained. 164 o The path MTU allows to add at most k node data in the list to 165 avoid fragmentation. Therefore SSize is set to k and at each hop 166 where RHop is 0, the node data list is retrieved and sent in a 167 standalone packet. 169 o A flow contains mainly short packets and travels a long path. It 170 would be inefficient to keep a large node data list in the packet 171 so the network bandwidth utilization rate is low. In this case, 172 segment iOAM can be used to limit the ratio of the iOAM data to 173 the flow packet payload. 175 o The network allows at most n bytes budget for the iOAM data. 176 There is a tradeoff between the number of data types that can be 177 collected and the number of hops for data collecting. The segment 178 size is therefore necessary to meet the application's data 179 requirement (i.e., SSize * Node Data Size < n). 181 3. Security Considerations 183 There is no extra security considerations beyond those have been 184 identified by in-situ OAM protocol. 186 4. IANA Considerations 188 This memo includes no request to IANA. 190 5. Acknowledgments 192 We would like to thank Frank Brockners, Carlos Pignataro, and Shwetha 193 Bhandari for helpful comments and suggestions. 195 6. Contributors 197 The document is inspired by numerous discussions with James N. 198 Guichard. He also provided significant comments and suggestions to 199 help improve this document. 201 7. Informative References 203 [I-D.brockners-inband-oam-requirements] 204 Brockners, F., Bhandari, S., Dara, S., Pignataro, C., 205 Gredler, H., Leddy, J., Youell, S., Mozes, D., Mizrahi, 206 T., <>, P., and r. remy@barefootnetworks.com, 207 "Requirements for In-situ OAM", draft-brockners-inband- 208 oam-requirements-02 (work in progress), October 2016. 210 [I-D.ietf-ippm-ioam-data] 211 Brockners, F., Bhandari, S., Pignataro, C., Gredler, H., 212 Leddy, J., Youell, S., Mizrahi, T., Mozes, D., Lapukhov, 213 P., Chang, R., and d. daniel.bernier@bell.ca, "Data Fields 214 for In-situ OAM", draft-ietf-ippm-ioam-data-00 (work in 215 progress), September 2017. 217 Authors' Addresses 219 Haoyu Song (editor) 220 Huawei 221 2330 Central Expressway 222 Santa Clara, 95050 223 USA 225 Email: haoyu.song@huawei.com 226 Tianran Zhou 227 Huawei 228 156 Beiqing Road 229 Beijing, 100095 230 P.R. China 232 Email: zhoutianran@huawei.com