idnits 2.17.1 draft-gross-leap-second-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 : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) == The 'Updates: ' line in the draft header should list only the _numbers_ of the RFCs which will be updated by this document (if approved); it should not include the word 'RFC' in the list. -- The abstract seems to indicate that this document updates RFC3550, but the header doesn't have an 'Updates:' line to match this. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHOULD not' in this paragraph: RTP Senders working to a leap-second-bearing reference SHOULD not generate sender reports containing an originating NTP timestamp in the vicinity of a leap second. Receivers SHOULD ignore timestamps in any such reports inadvertently generated. -- The document date (May 22, 2012) is 4329 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) == Unused Reference: 'RFC5905' is defined on line 201, but no explicit reference was found in the text -- Possible downref: Non-RFC (?) normative reference: ref. 'CircularT' -- Possible downref: Non-RFC (?) normative reference: ref. 'IEEE1588-2008' -- Possible downref: Non-RFC (?) normative reference: ref. 'IS-GPS-200F' Summary: 1 error (**), 0 flaws (~~), 4 warnings (==), 5 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 AVTCore K. Gross 3 Internet-Draft AVA Networks 4 Updates: RFC3550 (if approved) R. van Brandenburg 5 Intended status: Standards Track TNO 6 Expires: November 23, 2012 May 22, 2012 8 RTP and Leap Seconds 9 draft-gross-leap-second-01 11 Abstract 13 This document discusses issues that arise when RTP sessions span 14 (UTC) leap seconds. It updates RFC 3550 to describe how RTP senders 15 and receivers should behave in the presence of leap seconds. 17 Status of this Memo 19 This Internet-Draft is submitted in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF). Note that other groups may also distribute 24 working documents as Internet-Drafts. The list of current Internet- 25 Drafts is at http://datatracker.ietf.org/drafts/current/. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 This Internet-Draft will expire on November 23, 2012. 34 Copyright Notice 36 Copyright (c) 2012 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents 41 (http://trustee.ietf.org/license-info) in effect on the date of 42 publication of this document. Please review these documents 43 carefully, as they describe your rights and restrictions with respect 44 to this document. Code Components extracted from this document must 45 include Simplified BSD License text as described in Section 4.e of 46 the Trust Legal Provisions and are provided without warranty as 47 described in the Simplified BSD License. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 52 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3 53 3. Leap seconds . . . . . . . . . . . . . . . . . . . . . . . . . 3 54 3.1. UTC behavior during leap second . . . . . . . . . . . . . . 3 55 3.2. NTP behavior during leap second . . . . . . . . . . . . . . 4 56 3.3. POSIX behavior during leap second . . . . . . . . . . . . . 4 57 4. Recommendations . . . . . . . . . . . . . . . . . . . . . . . . 4 58 4.1. RTP Sender Reports and Receiver Reports . . . . . . . . . . 5 59 4.2. RTP Packet Playout . . . . . . . . . . . . . . . . . . . . 5 60 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 61 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5 62 7. Normative References . . . . . . . . . . . . . . . . . . . . . 5 63 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6 65 1. Introduction 67 In some applications, RTP streams are referenced to a walllock time 68 (absolute date and time). This is typically accomplished through use 69 of the NTP timestamp field in the RTCP sender report (SR) to create a 70 mapping between RTP timestamps and the wallclock. When a wallclock 71 reference is used, the playout time for RTP packets is referenced to 72 the wallclock. Smooth and continuous media playout requires a smooth 73 and continuous timebase. The timebase used by the wallclock may 74 include leap seconds which, in many cases, are not rendered smoothly. 76 This document provides recommendations for smoothly rendering 77 streamed media referenced to common wallclocks which may not have 78 smooth or continuous behavior in the presence of leap seconds. 80 2. Terminology 82 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 83 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 84 document are to be interpreted as described in [RFC2119] and indicate 85 requirement levels for compliant implementations. 87 3. Leap seconds 89 Leap seconds are intended to keep UTC time [TF.460-6] synchronized 90 with the rotation of the earth. Leap seconds are scheduled by the 91 International Earth Rotation and Reference Systems Service. When 92 they occur, leap seconds are scheduled at the end of the last day of 93 December and/or June each year. Because earth's rotation is 94 unpredictable, it is not possible to schedule leap seconds more than 95 six months in advance. Leap seconds can be scheduled to either add 96 or remove a second from the day. All leap second events thus far 97 have added seconds and this is a situation that is expected but not 98 guaranteed to continue. 100 NOTE- The ITU is studying a proposal which could eventually eliminate 101 leap seconds from UTC. As of January 2012, this proposal is expected 102 to be decided no earlier than 2015. 104 3.1. UTC behavior during leap second 106 UTC clocks insert a 61st second at the end of the day when a leap 107 second is scheduled. The leap second is designated "23:59:60". 109 3.2. NTP behavior during leap second 111 Under NTP Section 3.2 a leap second is inserted at the beginning of 112 the last second of the day. This results in the clock freezing or 113 slowing for one second immediately prior to the last second of the 114 affected day. This results in the last second of the day having a 115 real-time duration of two seconds. 117 3.3. POSIX behavior during leap second 119 Most POSIX systems insert the leap second at the end of the last 120 second of the day. This results in repetition of the last second. A 121 timestamp within the last second of the day is therefore ambiguous in 122 that it can refer to either of the last two seconds of a day 123 containing a leap second. 125 4. Recommendations 127 Senders and receivers which are not referenced to a wallclock are not 128 affected by issues associated with leap seconds and no special 129 accommodation is required. 131 RTP implementation using a wallclock reference is simplified by using 132 a clock with a timescale which does not include leap seconds. IEEE 133 1588[IEEE1588-2008], GPS[IS-GPS-200F] and other TAI (International 134 Atomic Time, [CircularT]) references do not include leap seconds. 135 NTP time, operating system clocks and other UTC (Coordinated 136 Universal Time) references include leap seconds. 138 All participants working to a leap-second-bearing reference SHOULD 139 recognize leap seconds and have a working communications channel to 140 receive notification of leap second scheduling. Without prior 141 knowledge of leap second schedule, NTP servers and clients may become 142 offset by exactly one second with respect to their UTC reference. 143 This potential discrepancy begins when a leap second occurs and ends 144 when all participants receive a time update from a server or peer. 145 Depending on the system implementation, the offset can last anywhere 146 from a few seconds to a few days. A long-lived discrepancy can be 147 particularly disruptive to RTP operation. 149 Because of the ambiguity leap seconds can introduce and the 150 inconsistent manner in which different systems accommodate leap 151 seconds, generating or using NTP timestamps during the entire last 152 second of a day on which a leap second has been scheduled SHOULD be 153 avoided. Note that the period to be avoided has a real-time duration 154 of two seconds. 156 4.1. RTP Sender Reports and Receiver Reports 158 RTP Senders working to a leap-second-bearing reference SHOULD not 159 generate sender reports containing an originating NTP timestamp in 160 the vicinity of a leap second. Receivers SHOULD ignore timestamps in 161 any such reports inadvertently generated. 163 4.2. RTP Packet Playout 165 Receivers working to a leap-second-bearing reference SHOULD take leap 166 seconds in their reference into account in determining playout time 167 from RTP timestamps for data in RTP packets. 169 5. Security Considerations 171 It is believed that the recommendations herein introduce no new 172 security considerations beyond those already discussed in [RFC3550]. 174 6. Acknowledgements 176 The authors would like to thank Steve Allen for his valuable comments 177 in helping to improve this document. 179 7. Normative References 181 [CircularT] 182 BIPM, "Circular T", May 2012. 184 [IEEE1588-2008] 185 IEEE, "IEEE Standard for a Precision Clock Synchronization 186 Protocol for Networked Measurement and Control Systems", 187 July 2008. 189 [IS-GPS-200F] 190 Global Positioning Systems Directorate, "Navstar GPS Space 191 Segment/Navigation User Segment Interfaces", 192 September 2011. 194 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 195 Requirement Levels", March 1997. 197 [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. 198 Jacobson, "RTP: A Transport Protocol for Real-Time 199 Applications, RFC3550", July 2003. 201 [RFC5905] Mills, D., Delaware, U., Martin, J., Ed., Burbank, J., and 202 W. Kasch, "Network Time Protocol Version 4: Protocol and 203 Algorithms Specification", June 2010. 205 [TF.460-6] 206 ITU-R, "Standard-frequency and time-signal emissions", 207 February 2002. 209 Authors' Addresses 211 Kevin Gross 212 AVA Networks 213 Boulder, CO 214 US 216 Email: kevin.gross@avanw.com 218 Ray van Brandenburg 219 TNO 220 Brassersplein 2 221 Delft 2612CT 222 the Netherlands 224 Phone: +31-88-866-7000 225 Email: ray.vanbrandenburg@tno.nl