One document matched: draft-williams-avtext-avbsync-01.xml
<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="no"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-williams-avtext-avbsync-01"
ipr="trust200902">
<front>
<title abbrev="AVB/RTP Synchronisation">IEEE 1588/802.1AS Synchronisation
for RTP Streams</title>
<author fullname="Aidan Williams" initials="A.M." surname="Williams">
<organization>Audinate</organization>
<address>
<postal>
<street>Level 1, 458 Wattle St</street>
<city>Ultimo</city>
<code>2007</code>
<region>NSW</region>
<country>Australia</country>
</postal>
<phone>+61 2 8090 1000</phone>
<facsimile>+61 2 8090 1001</facsimile>
<email>aidan.williams@audinate.com</email>
</address>
</author>
<date day="11" month="March" year="2011" />
<area>Real-time Applications and Infrastructure</area>
<workgroup>Audio/Video Transport Extensions</workgroup>
<keyword>Sample</keyword>
<keyword>Draft</keyword>
<abstract>
<t>Specification of an RTP header extension for carrying in-band
synchronization metadata provided by the IEEE1588/802.1AS Precision Time
Protocols.</t>
</abstract>
<note title="Requirements Language">
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in <xref
target="RFC2119">RFC 2119</xref>.</t>
</note>
</front>
<middle>
<section title="Introduction">
<t>Synchronisation between RTP flows and between devices rendering RTP
flows is currently facilitated by means of NTP format timestamps taken
with respect to a shared reference clock. In many applications (e.g.
professional, commercial and automotive AV), the NTP clock
synchronisation protocol does not meet the necessary time alignment and
synchronisation speed requirements.</t>
<t>Like NTP, the IEEE1588 family of clock synchronisation protocols
provide a shared reference clock in an network - typically a LAN.
IEEE1588 provides sub-microsecond synchronisation between devices on a
LAN and typically locks within seconds at startup rather than minutes.
With support from Ethernet switches, IEEE1588 protocols can achieve
nanosecond timing accuracy in LANs. Network interface chips and cards
supporting hardware time-stamping of timing critical protocol messages
are also available.</t>
<t>When using IEEE1588 clock synchronisation, networked AV systems can
achieve sub 1 microsecond time alignment accuracy when rendering AV
signals and can support latencies less than 1ms through a gigabit
LAN.</t>
<t>Three flavours of IEEE1588 are in use today:</t>
<t><list style="symbols">
<t><xref target="IEEE1588-2002">IEEE 1588-2002</xref>: the original
"Standard for a Precision Clock Synchronization Protocol for
Networked Measurement and Control Systems". This is often called
IEEE1588v1 or PTPv1.</t>
<t><xref target="IEEE1588-2008">IEEE 1588-2008</xref>: the second
version of the "Standard for a Precision Clock Synchronization
Protocol for Networked Measurement and Control Systems". This is a
revised version of the original IEEE1588-2002 standard and is often
called IEEE1588v2 or PTPv2.</t>
<t><xref target="IEEE802.1AS-2011">IEEE 802.1AS</xref>: "Timing and
Synchronization for Time Sensitive Applications in Bridged Local
Area Networks". This is a Layer-2 only profile of IEEE 1588-2008 for
use in Audio/Video Bridged LANs.</t>
</list>By using an IEEE 1588 derived reference clock, synchronisation
of RTP streams and devices in LANs can be considerably improved.</t>
</section>
<section anchor="timestamp_formats" title="Timestamp formats">
<t>A global IEEE 1588/802.1AS timestamp is 80 bits in total, divided
into two parts:</t>
<t><list style="empty">
<t>AS_sec: 48 bits seconds since epoch</t>
<t>AS_nsec: 32 bits nanoseconds</t>
</list>A shorter 32 bit timestamp is defined for use in streaming
media protocols in the following way:<list style="empty">
<t>as_timestamp = (AS_sec * 10^9 + AS_nsec) modulo 2^32</t>
</list></t>
<t>The shorter as_timestamp field covers just over 4 seconds of
time.</t>
</section>
<section title="Header Extension">
<t><xref target="fig_hdrext"></xref> shows the fields of the AVB sync
header extension. It uses the standard RTP header extension mechanism
defined in <xref target="RFC5285">RFC 5285</xref>.</t>
<figure align="center" anchor="fig_hdrext"
title="IEEE 1588/802.1AS Synchronisation Header Extension">
<preamble></preamble>
<artwork><![CDATA[ 0 1 2 3
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|1| CC |M| PT | sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+R
| timestamp |T
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+P
| synchronisation source (SSRC) identifier |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| 0xBE | 0xDE | length=2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+E
| ID=A | L=6 | subtype | reserved |x
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+t
| as_timestamp |n
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| payload data |
| .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>
<t>The fields are defined as follows:</t>
<t><list style="empty">
<t>subtype: RTCP AVB packet subtype field, see <xref
target="IEEE1733_RTCP"></xref>.</t>
<t>as_timestamp: a 32 bit IEEE 1588/802.1AS timestamp as defined in
<xref target="timestamp_formats"></xref>.</t>
<t>reserved: as this specification evolves, additional fields are
expected to be included in this header.</t>
</list>The as_timestamp MUST correspond to the same instant as the RTP
timestamp in the packet's header, and MUST be derived from the same
clock used to generate the as_timestamps in the RTCP AVB packets.
Provided that it has knowledge of the SSRC to CNAME mapping, either from
prior receipt of an RTCP CNAME packet or via out of band signalling
[RFC5576], the receiver can use the information provided as input to the
synchronization algorithm, in exactly the same way as if an additional
RTCP AVB packet had been received for the flow.</t>
</section>
<section anchor="IEEE1733_RTCP" title="IEEE 1733 / RTCP AVB Packet">
<t><xref target="IEEE1733">IEEE 1733</xref> defines the "AVB RTCP
packet" type reproduced in <xref target="fig_rtcp_avb"></xref>. RTCP AVB
packets contain a mapping between RTP timestamp and an 802.1AS timestamp
as well as additional clock and QoS information.</t>
<t><figure align="center" anchor="fig_rtcp_avb"
title="IEEE 1733/RTCP AVB packet format">
<preamble></preamble>
<artwork><![CDATA[ 0 1 2 3
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|subtype=0| PT=208 | length=9 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC/CSRC |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| name (ASCII) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+R
| gmTimeBaseIndicator | |T
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +C
| |P
+ gmIdentity (80 bits) +
| |A
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+V
| |B
+ stream_id (64 bits) +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| as_timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| rtp_timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure></t>
<t>A brief description of the major fields follows:</t>
<t><list style="hanging">
<t hangText="gmIdentity">an 80 bit field uniquely identifying the
current 802.1AS grand master clock used by the source to generate
as_timestamps for this flow</t>
<t hangText="stream_id">a 64 bit number identifying the <xref
target="IEEE802.1Qat-2010">802.1Qat</xref> stream associated with
this RTP flow</t>
<t hangText="as_timestamp">the <xref target="timestamp_formats">32
bit 802.1AS timestamp</xref> associated with the RTP timestamp
carried in this packet</t>
<t hangText="rtp_timestamp">the RTP timestamp of a media packet</t>
</list>Please consult the <xref target="IEEE1733">IEEE 1733
specification</xref> for more details.</t>
</section>
<section anchor="IANA" title="IANA Considerations">
<t>TBD: A URN will be required to signal the presence of this header
extension, such as:</t>
<t><list style="empty">
<t>urn:ietf:params:rtp-hdrext:avb-sync</t>
</list></t>
</section>
<section anchor="Acknowledgements" title="Acknowledgements">
<t></t>
</section>
</middle>
<back>
<references title="Normative References">
<?rfc include="reference.RFC.2119"?>
<?rfc include="reference.RFC.5285"?>
</references>
<references title="Informative References">
<?rfc include="reference.IEEE.802.1Qat-2010"?>
<?rfc include='reference.IEEE.802.1AS-2011'?>
<reference anchor="IEEE1588-2002"
target="http://standards.ieee.org/findstds/standard/1588-2002.html">
<front>
<title>IEEE Standard for a Precision Clock Synchronization Protocol
for Networked Measurement and Control Systems</title>
<author>
<organization>Institute of Electrical and Electronics
Engineers</organization>
</author>
<date year="2002" />
</front>
<seriesInfo name="" value="IEEE Std 1588-2002" />
</reference>
<reference anchor="IEEE1588-2008"
target="http://standards.ieee.org/findstds/standard/1588-2008.html">
<front>
<title>IEEE Standard for a Precision Clock Synchronization Protocol
for Networked Measurement and Control Systems</title>
<author>
<organization>Institute of Electrical and Electronics
Engineers</organization>
</author>
<date year="2008" />
</front>
<seriesInfo name="" value="IEEE Std 1588-2008" />
</reference>
<reference anchor="IEEE1733"
target="http://grouper.ieee.org/groups/1733/">
<front>
<title>IEEE P1733/D7.0 Draft Standard for Layer 3 Transport Protocol
for Time Sensitive Applications in Local Area Networks</title>
<author>
<organization>Institute of Electrical and Electronics
Engineers</organization>
</author>
<date month="February" year="2011" />
</front>
<seriesInfo name="" value="IEEE Draft Std 1733/D7.0" />
</reference>
</references>
<section title="An Appendix">
<t></t>
</section>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-24 08:53:13 |