draft-ietf-avtcore-leap-second-08.txt   rfc7164.txt 
AVTCore K. Gross Internet Engineering Task Force (IETF) K. Gross
Internet-Draft AVA Networks Request for Comments: 7164 AVA Networks
Updates: 3550 (if approved) R. van Brandenburg Updates: 3550 R. van Brandenburg
Intended status: Standards Track TNO Category: Standards Track TNO
Expires: July 16, 2014 January 12, 2014 ISSN: 2070-1721 March 2014
RTP and Leap Seconds RTP and Leap Seconds
draft-ietf-avtcore-leap-second-08
Abstract Abstract
This document discusses issues that arise when RTP sessions span This document discusses issues that arise when RTP sessions span
Coordinated Universal Time (UTC) leap seconds. It updates RFC 3550 Coordinated Universal Time (UTC) leap seconds. It updates RFC 3550
to describe how RTP senders and receivers should behave in the by describing how RTP senders and receivers should behave in the
presence of leap seconds. presence of leap seconds.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
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 This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 5741.
This Internet-Draft will expire on July 16, 2014. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc7164.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2
3. Leap seconds . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Leap Seconds . . . . . . . . . . . . . . . . . . . . . . . . 2
3.1. UTC behavior during positive leap second . . . . . . . . 3 3.1. UTC Behavior during a Positive Leap Second . . . . . . . 3
3.2. NTP behavior during positive leap second . . . . . . . . 3 3.2. NTP Behavior during a Positive Leap Second . . . . . . . 3
3.3. POSIX behavior during positive leap second . . . . . . . 3 3.3. POSIX Behavior during a Positive Leap Second . . . . . . 3
3.4. Example of leap-second behaviors . . . . . . . . . . . . 4 3.4. Example of Leap-Second Behaviors . . . . . . . . . . . . 4
4. Receiver behavior during leap second . . . . . . . . . . . . 5 4. Receiver Behavior during a Leap Second . . . . . . . . . . . 5
5. Recommendations . . . . . . . . . . . . . . . . . . . . . . . 5 5. Recommendations . . . . . . . . . . . . . . . . . . . . . . . 5
5.1. Sender Reports . . . . . . . . . . . . . . . . . . . . . 6 5.1. Sender Reports . . . . . . . . . . . . . . . . . . . . . 6
5.2. RTP Packet Playout . . . . . . . . . . . . . . . . . . . 7 5.2. RTP Packet Playout . . . . . . . . . . . . . . . . . . . 7
6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 6. Security Considerations . . . . . . . . . . . . . . . . . . . 7
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 8.1. Normative References . . . . . . . . . . . . . . . . . . 8
9.1. Normative References . . . . . . . . . . . . . . . . . . 8 8.2. Informative References . . . . . . . . . . . . . . . . . 8
9.2. Informative References . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction 1. Introduction
In some media networking applications, RTP streams are referenced to In some media networking applications, RTP streams are referenced to
a wall-clock time (absolute date and time). This is accomplished a wall-clock time (absolute date and time). This is accomplished
through use of the NTP timestamp field in the sender report (SR) to through use of the NTP timestamp field in the sender report (SR) to
create a mapping between RTP timestamps and the wall clock. When a create a mapping between RTP timestamps and the wall clock. When a
wall-clock reference is used, the playout time for RTP packets is wall-clock reference is used, the playout time for RTP packets is
referenced to the wall clock. Smooth and continuous media playout referenced to the wall clock. Smooth and continuous media playout
requires a smooth and continuous time base. The time base used by requires a smooth and continuous time base. The time base used by
the wall clock may include leap seconds which are not rendered the wall clock may include leap seconds that are not rendered
smoothly. smoothly.
This document updates RFC 3550 [1] providing recommendations for This document updates RFC 3550 [1] by providing recommendations for
smoothly rendering streamed media referenced to common wall clocks smoothly rendering streamed media referenced to common wall clocks
which do not have smooth or continuous behavior in the presence of that do not have smooth or continuous behavior in the presence of
leap seconds. leap seconds.
2. Terminology 2. Terminology
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
document are to be interpreted as described in RFC 2119 [2] and document are to be interpreted as described in RFC 2119 [2] and
indicate requirement levels for compliant implementations. indicate requirement levels for compliant implementations.
3. Leap seconds 3. Leap Seconds
The world scientific time standard is International Atomic Time (TAI) The world's scientific time standard is International Atomic Time
which is based on vibrations of cesium atoms in an atomic clock. The (TAI), which is based on vibrations of cesium atoms in an atomic
world civil time is based on the rotation of the Earth. In 1972 the clock. The world's civil time is based on the rotation of the Earth.
civil time standard, Coordinated Universal Time (UTC), was redefined
in terms of TAI and the concept of leap seconds was introduced to In 1972, the civil time standard, Coordinated Universal Time (UTC),
allow UTC to remain synchronized with the rotation of the Earth. was redefined in terms of TAI and the concept of leap seconds was
introduced to allow UTC to remain synchronized with the rotation of
the Earth.
Leap seconds are scheduled by the International Earth Rotation and Leap seconds are scheduled by the International Earth Rotation and
Reference Systems Service. Leap seconds may be scheduled at the last Reference Systems Service. Leap seconds may be scheduled at the last
day of any month but are preferentially scheduled for December and day of any month but are preferentially scheduled for December and
June and secondarily March and September.[6] Because Earth's rotation June and secondarily March and September [6]. Because Earth's
is unpredictable, leap seconds are typically not scheduled more than rotation is unpredictable, leap seconds are typically not scheduled
six months in advance. more than six months in advance.
Leap seconds do not respect local time and always occur at the end of Leap seconds do not respect local time and always occur at the end of
the UTC day. Leap seconds can be scheduled to either add or remove a the UTC day. Leap seconds can be scheduled to either add or remove a
second from the day. A leap second that adds an extra second is second from the day. A leap second that adds an extra second is
known as a positive leap second. A leap second that skips a second known as a positive leap second. A leap second that skips a second
is known as a negative leap second. All leap seconds since their is known as a negative leap second.
introduction in 1972 have been scheduled in June or December and all
have been positive.
NOTE- The ITU is studying a proposal which could eventually eliminate Since their introduction in 1972, all leap seconds have been
scheduled in June or December, and they have all been positive.
NOTE: The ITU is studying a proposal that could eventually eliminate
leap seconds from UTC. As of January 2012, this proposal is expected leap seconds from UTC. As of January 2012, this proposal is expected
to be decided no earlier than 2015.[7] to be decided no earlier than 2015 [7].
3.1. UTC behavior during positive leap second 3.1. UTC Behavior during a Positive Leap Second
UTC clocks feature a 61st second at the end of the day when a UTC clocks feature a 61st second at the end of the day when a
positive leap second is scheduled. The leap second is designated positive leap second is scheduled. The leap second is designated
"23h 59m 60s". "23h 59m 60s".
3.2. NTP behavior during positive leap second 3.2. NTP Behavior during a Positive Leap Second
Under NTP[8] a leap second is inserted at the beginning of the last Under NTP [8], a leap second is inserted at the beginning of the last
second of the day. This results in the clock freezing or slowing for second of the day. This results in the clock freezing or slowing for
one second immediately prior to the last second of the affected day. one second immediately prior to the last second of the affected day.
This results in the last second of the day having a real-time This results in the last second of the day having a real-time
duration of two seconds. Timestamp accuracy is compromised during duration of two seconds. Timestamp accuracy is compromised during
this period because the clock's rate is not well defined. this period because the clock's rate is not well defined.
3.3. POSIX behavior during positive leap second 3.3. POSIX Behavior during a Positive Leap Second
The POSIX standard [3] requires that leap seconds be omitted from
reported time. All days are defined as having 86,400 seconds but the
timebase is defined to be UTC, a leap-second-bearing reference .
Implementors of POSIX systems are offered considerable latitude by The POSIX (Portable Operating System Interface) standard [3] requires
the standard as to how to map POSIX time to UTC. that leap seconds be omitted from reported time. All days are
defined as having 86,400 seconds, but the timebase is defined to be
UTC, a leap-second-bearing reference. Implementors of POSIX systems
are offered considerable latitude by the standard as to how to map
POSIX time to UTC.
In many systems leap seconds are accommodated by repeating the last In many systems, leap seconds are accommodated by repeating the last
second of the day. A timestamp within the last second of the day is second of the day. A timestamp within the last second of the day is
therefore ambiguous in that it can refer to a moment in time in therefore ambiguous in that it can refer to a moment in time in
either of the last two seconds of a day containing a leap second. either of the last two seconds of a day containing a leap second.
Other systems use the same technique used by NTP, freezing or slowing Other systems use the same technique used by NTP, freezing or slowing
for one second immediately prior to the last second of the affected for one second immediately prior to the last second of the affected
day. day.
In some cases [5] [4] leap seconds are accommodated by warping time, In some cases, leap seconds are accommodated by warping time [5] [4];
slightly altering the length of the second in the vicinity of a leap that is, the length of the second in the vicinity of a leap second is
second. slightly altered.
3.4. Example of leap-second behaviors 3.4. Example of Leap-Second Behaviors
Table 1 illustrates the positive leap second that occurred June 30, Table 1 illustrates the positive leap second that occurred June 30,
2012 when the offset between International Atomic time (TAI) and UTC 2012 when the offset between TAI and UTC changed from 34 to 35
changed from 34 to 35 seconds. The first column shows RTP timestamps seconds. The first column shows RTP timestamps for an 8 kHz audio
for an 8 kHz audio stream. The second column shows the TAI stream. The second column shows the TAI reference. The following
reference. Following columns show behavior for the leap-second- columns show behavior for the leap-second-bearing wall clocks
bearing wall clocks described above. Time values are shown at half- described above. Time values are shown at half-second intervals.
second intervals.
+-------+--------------+--------------+--------------+--------------+ +-------+--------------+--------------+--------------+--------------+
| RTP | TAI | UTC | POSIX | NTP | | RTP | TAI | UTC | POSIX | NTP |
+-------+--------------+--------------+--------------+--------------+ +-------+--------------+--------------+--------------+--------------+
| 8000 | 00:00:32.500 | 23:59:58.500 | 23:59:58.500 | 23:59:58.500 | | 8000 | 00:00:32.500 | 23:59:58.500 | 23:59:58.500 | 23:59:58.500 |
| 12000 | 00:00:33.000 | 23:59:59.000 | 23:59:59.000 | 23:59:59.000 | | 12000 | 00:00:33.000 | 23:59:59.000 | 23:59:59.000 | 23:59:59.000 |
| 16000 | 00:00:33.500 | 23:59:59.500 | 23:59:59.500 | 23:59:59.500 | | 16000 | 00:00:33.500 | 23:59:59.500 | 23:59:59.500 | 23:59:59.500 |
| 20000 | 00:00:34.000 | 23:59:60.000 | 23:59:59.000 | 00:00:00.000 | | 20000 | 00:00:34.000 | 23:59:60.000 | 23:59:59.000 | 00:00:00.000 |
| 24000 | 00:00:34.500 | 23:59:60.500 | 23:59:59.500 | 00:00:00.000 | | 24000 | 00:00:34.500 | 23:59:60.500 | 23:59:59.500 | 00:00:00.000 |
| 28000 | 00:00:35.000 | 00:00:00.000 | 00:00:00.000 | 00:00:00.000 | | 28000 | 00:00:35.000 | 00:00:00.000 | 00:00:00.000 | 00:00:00.000 |
| 32000 | 00:00:35.500 | 00:00:00.500 | 00:00:00.500 | 00:00:00.500 | | 32000 | 00:00:35.500 | 00:00:00.500 | 00:00:00.500 | 00:00:00.500 |
+-------+--------------+--------------+--------------+--------------+ +-------+--------------+--------------+--------------+--------------+
Table 1: Positive leap second behavior Table 1: Positive Leap-Second Behavior
NOTE- Some NTP implementations do not entirely freeze the clock while NOTE: Some NTP implementations do not entirely freeze the clock while
the leap second is inserted. Successive calls to retrieve system the leap second is inserted. Successive calls to retrieve system
time return infinitesimally larger (e.g. 1 microsecond or 1 time return infinitesimally larger (e.g., 1 microsecond or 1
nanosecond larger) time values. This behavior is designed to satisfy nanosecond larger) time values. This behavior is designed to satisfy
assumptions applications may make that time increases monotonically. assumptions applications may make that time increases monotonically.
This behavior occurs in the least-significant bits of the time value This behavior occurs in the least-significant bits of the time value
and so is not typically visible in the human-readable format shown in and so is not typically visible in the human-readable format shown in
the table. the table.
NOTE- POSIX implementations vary. The implementation shown here NOTE: POSIX implementations vary. The implementation shown here
repeats the last second of the affected day. Other implementations repeats the last second of the affected day. Other implementations
mirror NTP behavior or alter the length of a second in the vicinity mirror NTP behavior or alter the length of a second in the vicinity
of the leap second. of the leap second.
4. Receiver behavior during leap second 4. Receiver Behavior during a Leap Second
Timestamps generated during a leap second may be ambiguous or Timestamps generated during a leap second may be ambiguous or
interpreted differently by sender and receiver or interpreted interpreted differently by a sender and receiver or interpreted
differently by different receivers. differently by different receivers.
Without prior knowledge of leap-second schedule, NTP servers and Without prior knowledge of the leap-second schedule, NTP servers and
clients may become offset by exactly one second with respect to their clients may become offset by exactly one second with respect to their
UTC reference. This potential discrepancy begins when a leap second UTC reference. This potential discrepancy begins when a leap second
occurs and ends when all participants receive a time update from a occurs and ends when all participants receive a time update from a
server or peer. Depending on the system implementation, the offset server or peer. Depending on the system implementation, the offset
can last anywhere from a few seconds to a few days. A long-lived can last anywhere from a few seconds to a few days. A long-lived
discrepancy can be particularly disruptive to RTP operation. discrepancy can be particularly disruptive to operation of NTP-
referenced RTP streams.
These discrepancies, depending on direction, may cause receivers to These discrepancies, depending on direction, may cause receivers to
think they are receiving RTP packets after they should be played or think they are receiving RTP packets after they should be played or
to attempt to buffer received data an additional second before to attempt to buffer received data an additional second before
playing it. Either situation can cause an interruption in playback. playing it. Either situation can cause an interruption in playback.
Some receivers may automatically recognize an unexpected offset and Some receivers may automatically recognize an unexpected offset and
resynchronize to the stream to accommodate it. Once the offset is resynchronize to the stream to accommodate it. Once the offset is
resolved, such receivers may need to resynchronize again. resolved, such receivers may need to resynchronize again.
5. Recommendations 5. Recommendations
Senders and receivers which are not referenced to a wall clock are Senders and receivers that are not referenced to a wall clock are not
not affected by issues associated with leap seconds and no special affected by issues associated with leap seconds, and no special
accommodation is required. accommodation is required.
RTP implementation using a wall-clock reference is simplified by RTP implementation using a wall-clock reference is simplified by
using a clock with a timescale which does not include leap seconds. using a clock with a timescale that does not include leap seconds.
IEEE 1588,[9] GPS [10] and other systems that use a TAI [11] IEEE 1588 [9], GPS [10], and other systems that use a TAI [11]
reference do not include leap seconds. NTP time, operating system reference do not include leap seconds. NTP time, operating system
clocks and other systems using a UTC reference include leap seconds. clocks, and other systems using a UTC reference include leap seconds.
Note that some TAI-based systems such as IEEE 1588 and GPS, in Note that some TAI-based systems such as IEEE 1588 and GPS, in
addition to the TAI reference clock, deliver TAI to UTC mapping addition to the TAI reference clock, deliver TAI to UTC mapping
information. By combining the delivered TAI reference clock and the information. By combining the delivered TAI reference clock and the
mapping information, some receivers of these systems are able to mapping information, some receivers of these systems are able to
synthezise a leap-second-bearing UTC reference clock. For the synthesize a leap-second-bearing UTC reference clock. For the
purposes of this draft, it is important to recognise that it is the purposes of this document, it is important to recognize that it is
timescale used, not the delivery mechanism which determines whether a the timescale used, not the delivery mechanism that determines
reference clock is leap-second bearing. whether a reference clock is leap-second bearing.
+-------------------------+----------------+---------------+ +-------------------------+---------------------+---------------+
| Reference clock type | Examples | Accommodation | | Reference clock type | Examples | Accommodation |
+-------------------------+----------------+---------------+ +-------------------------+---------------------+---------------+
| None | Self clocking | None needed | | None | Self clocking | None needed |
| Non-leap-second-bearing | 1588, GPS, TAI | None needed | | Non-leap-second-bearing | IEEE 1588, GPS, TAI | None needed |
| Leap-second-bearing | NTP | Recommended | | Leap-second-bearing | NTP | Recommended |
+-------------------------+----------------+---------------+ +-------------------------+---------------------+---------------+
Recommendations summary Table 2: Recommendations Summary
All participants working to a leap-second-bearing reference MUST All participants generating or consuming timestamps associated with a
recognize leap seconds and SHOULD have a working communications leap-second-bearing reference MUST recognize leap seconds and SHOULD
channel to receive notification of leap-second scheduling. A working have a working communications channel to receive notifications of
communication channel includes a protocol means of notifying clocks leap-second scheduling. A working communication channel includes a
of an impending leap second such as the Leap Indicator in the NTP protocol means of notifying clocks of an impending leap second such
header [8] but also a means for top-tier clocks to receive leap- as the Leap Indicator in the NTP header [8] and also a means for top-
second schedule information published by the International Earth tier clocks to receive leap-second schedule information published by
Rotation and Reference Systems Service. [12] the International Earth Rotation and Reference Systems Service [12].
These recommendations appreciate that such a communications channel Such a communications channel may not be available on all networks.
may not be available on all networks. For security or other reasons, For security or other reasons, leap-second schedules may be
leap-second schedules may be configured manually for some networks or configured manually for some networks or clocks. When a device does
clocks. When a device does not reliably receive leap-second not reliably receive leap-second scheduling information, failures as
scheduling information, failures as described in Section 4 may occur. described in Section 4 may occur.
Because of the timestamp ambiguity that positive leap seconds can Because of the timestamp ambiguity that positive leap seconds can
introduce and the inconsistent manner in which different systems introduce and the inconsistent manner in which different systems
accommodate positive leap seconds, generating or using NTP timestamps accommodate positive leap seconds, generating or using NTP timestamps
during the entire last second of a day on which a positive leap during the entire last second of a day on which a positive leap
second has been scheduled SHOULD be avoided. Note that the period to second has been scheduled SHOULD be avoided. Note that the period to
be avoided has a real-time duration of two seconds. In the Table 1 be avoided has a real-time duration of two seconds. In the Table 1
example, the region to be avoided is indicated by RTP timestamps example, the region to be avoided is indicated by RTP timestamps
12000 through 28000 12000 through 28000
Negative leap seconds do not introduce timestamp ambiguity or other Negative leap seconds do not introduce timestamp ambiguity or other
complications. No special treatment is needed to avoid ambiguity complications. No special treatment is needed to avoid ambiguity
with respect to RTP timestamps in the presence of a negative leap with respect to RTP timestamps in the presence of a negative leap
second. second.
POSIX clocks which use a warping technique to accommodate leap POSIX clocks that use a warping technique to accommodate leap seconds
seconds (e.g. [5] [4]) are not a good choice for an interoperable (e.g., [4] [5]) are not a good choice for an interoperable timestamp
timestamp reference and SHOULD be avoided for this application. reference and SHOULD not be used to timestamp RTP streams.
5.1. Sender Reports 5.1. Sender Reports
In order to avoid generating or using NTP timestamps during positive In order to avoid generating or using NTP timestamps during positive
leap seconds, RTP senders and receivers need to avoid sending or leap seconds, RTP senders and receivers need to avoid sending or
using sender reports to synchronize their clocks in the vicinity of a using sender reports to synchronize their clocks in the vicinity of a
leap second and instead rely on their internal clocks to maintain leap second and instead rely on their internal clocks to maintain
sync until the leap second has passed. synchronization until the leap second has passed.
RTP Senders working to a leap-second-bearing reference SHOULD NOT RTP Senders using a leap-second-bearing reference for timestamps
generate sender reports containing an originating NTP timestamp in SHOULD NOT generate sender reports containing an originating NTP
the vicinity of a positive leap second. To maintain a consistent timestamp in the vicinity of a positive leap second. To maintain a
RTCP schedule and avoid the risk of unintentional timeouts, such consistent RTCP schedule and avoid the risk of unintentional
senders MAY send receiver reports in place of sender reports in the timeouts, such senders MAY send receiver reports in place of sender
vicinity of the leap second. reports in the vicinity of the leap second.
For the purpose of suspending sender reports in the vicinity of a For the purpose of suspending sender reports in the vicinity of a
leap second, senders MAY assume a positive leap second occurs at the leap second, senders MAY assume that a positive leap second occurs at
end of the last day of every month. the end of the last day of every month.
Receivers working to a leap-second-bearing reference SHOULD ignore Receivers consuming leap-second-bearing timestamps SHOULD ignore
timestamps in any sender reports generated in the vicinity of a timestamps in any sender reports generated in the vicinity of a
positive leap second. positive leap second.
For the purpose of ignoring sender reports in the vicinity of a leap For the purpose of ignoring sender reports in the vicinity of a leap
second, receivers MAY assume a positive leap second occurs at the end second, receivers MAY assume that a positive leap second occurs at
of the last day of every month. the end of the last day of every month.
5.2. RTP Packet Playout 5.2. RTP Packet Playout
Receivers working to a leap-second-bearing reference SHOULD take both Receivers consuming leap-second-bearing timestamps SHOULD take both
positive and negative leap seconds in the reference into account in positive and negative leap seconds in the reference into account to
determining playout time based on RTP timestamps for data in RTP determine the playout time based on RTP timestamps for data in RTP
packets. packets.
6. Security Considerations 6. Security Considerations
RTP streams using a wall-clock reference as discussed here present an RTP streams using a wall-clock reference as discussed here present an
additional attack vector compared to self-clocking streams. additional attack vector compared to self-clocking streams.
Manipulation of the wall clock at either sender or receiver can Manipulation of the wall clock at either the sender or receiver can
potentially disrupt streaming. potentially disrupt streaming.
For an RTP stream operating to an leap-second-bearing reference to For an RTP stream operating to a leap-second-bearing reference to
operate reliably across a leap second, sender and receive must both operate reliably across a leap second, the sender and receiver must
be aware of the leap second. It is possible to disrupt a stream by both be aware of the leap second. It is possible to disrupt a stream
blocking or delaying leap second notification to one of the by blocking or delaying leap second notification to one of the
participants. Streaming can be similarly affected if one of the participants. Streaming can be similarly affected if one of the
participants can be tricked into believing a leap second has been participants can be tricked into believing a leap second has been
scheduled where there is not one. These vulnerabilities are present scheduled where there is not one. These vulnerabilities are present
in RFC 3550 [1] and these new recommendations neither heighten or in RFC 3550 [1] and these new recommendations neither heighten nor
diminish them. Integrity of the leap second schedule is the diminish them. Integrity of the leap-second schedule is the
responsibility of the operating system and time distribution responsibility of the operating system and time distribution
mechanism both of which are outside the scope of RFC 3550 [1] and mechanism, both of which are outside the scope of RFC 3550 [1] and
these recommendations. these recommendations.
7. IANA Considerations 7. Acknowledgements
This document has no actions for IANA.
8. Acknowledgements
The authors would like to thank Steve Allen for his valuable comments The authors would like to thank Steve Allen for his valuable comments
in helping to improve this document. that helped to improve this document.
9. References 8. References
9.1. Normative References 8.1. Normative References
[1] Schulzrinne, H., Casner, S., Frederick, R., and V. [1] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson,
Jacobson, "RTP: A Transport Protocol for Real-Time "RTP: A Transport Protocol for Real-Time Applications", STD 64,
Applications", STD 64, RFC 3550, July 2003. RFC 3550, July 2003.
[2] Bradner, S., "Key words for use in RFCs to Indicate [2] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Requirement Levels", BCP 14, RFC 2119, March 1997. Levels", BCP 14, RFC 2119, March 1997.
9.2. Informative References 8.2. Informative References
[3] IEEE, "IEEE Standard for Information Technology - Portable [3] IEEE, "Portable Operating System Interface (POSIX)", IEEE
Operating System Interface (POSIX)", IEEE Standard Standard 1003.1-2008, December 2008,
1003.1-2008, 2008, <http://standards.ieee.org/findstds/ <http://standards.ieee.org/findstds/standard/1003.1-2008.html>.
standard/1003.1-2008.html>.
[4] Google, Inc., "Time, technology and leaping seconds", [4] Google, Inc., "Time, technology and leaping seconds", September
September 2011, <http://googleblog.blogspot.com/2011/09/ 2011, <http://googleblog.blogspot.com/2011/09/
time-technology-and-leaping-seconds.html>. time-technology-and-leaping-seconds.html>.
[5] Kuhn, M., "Coordinated Universal Time with Smoothed Leap [5] Kuhn, M., "Coordinated Universal Time with Smoothed Leap
Seconds (UTC-SLS)", draft-kuhn-leapsecond-00 (work in Seconds (UTC-SLS)", Work in Progress, January 2006.
progress), January 2006.
[6] ITU, "Standard-frequency and time-signal emissions", ITU-R [6] ITU, "Standard-frequency and time-signal emissions", ITU-R
TF.460-6, February 2002, TF.460-6, February 2002,
<http://www.itu.int/rec/R-REC-TF.460/>. <http://www.itu.int/rec/R-REC-TF.460/>.
[7] ITU, "Question 236/7", February 2012, [7] ITU, "The future of the UTC time scale", Question ITU-R 236/7,
<http://www.itu.int/pub/R-QUE-SG07.236-2001>. February 2012, <http://www.itu.int/pub/R-QUE-SG07.236-2001>.
[8] Mills, D., Martin, J., Burbank, J., and W. Kasch, "Network [8] Mills, D., Martin, J., Burbank, J., and W. Kasch, "Network Time
Time Protocol Version 4: Protocol and Algorithms Protocol Version 4: Protocol and Algorithms Specification", RFC
Specification", RFC 5905, June 2010. 5905, June 2010.
[9] IEEE, "IEEE Standard for a Precision Clock Synchronization [9] IEEE, "IEEE Standard for a Precision Clock Synchronization
Protocol for Networked Measurement and Control Systems", Protocol for Networked Measurement and Control Systems", IEEE
IEEE Standard 1588-2008, July 2008, Standard 1588-2008, July 2008,
<http://standards.ieee.org/findstds/standard/ <http://standards.ieee.org/findstds/standard/1588-2008.html>.
1588-2008.html>.
[10] Global Positioning Systems Directorate, "Navstar GPS Space [10] Global Positioning Systems Directorate, "Systems Engineering &
Segment/Navigation User Segment Interfaces", September Integration Interface Specification", September 2011,
2011, <http://www.navcen.uscg.gov/pdf/IS-GPS-200F.pdf>. <http://www.navcen.uscg.gov/pdf/IS-GPS-200F.pdf>.
[11] Bureau International des Poids et Mesures (BIPM), [11] Bureau International des Poids et Mesures, "International
"International Atomic Time", November 2013, Atomic Time", Navstar GPS Space Segment/Navigation User Segment
<http://www.bipm.org/en/scientific/tai/tai.html>. Interfaces IS-GPS-200,
<http://www.bipm.org/en/scientific/tai/tai.html>.
[12] International Earth Rotation and Reference System Service, [12] IERS Earth Orientation Centre, "Bulletin C - Product metadata",
"Bulletin C", November 2013, <http://datacenter.iers.org/ <http://datacenter.iers.org/web/guest/eop/-/somos/5Rgv/
web/guest/eop/-/somos/5Rgv/product/16>. product/16>.
Authors' Addresses Authors' Addresses
Kevin Gross Kevin Gross
AVA Networks AVA Networks
Boulder, CO Boulder, CO
US US
Email: kevin.gross@avanw.com EMail: kevin.gross@avanw.com
Ray van Brandenburg Ray van Brandenburg
TNO TNO
Brassersplein 2 Brassersplein 2
Delft 2612CT Delft 2612CT
the Netherlands the Netherlands
Phone: +31-88-866-7000 Phone: +31-88-866-7000
Email: ray.vanbrandenburg@tno.nl EMail: ray.vanbrandenburg@tno.nl
 End of changes. 72 change blocks. 
181 lines changed or deleted 172 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/