Guidelines for Defining Packet Timestamps
RFC 8877

Document Type RFC - Informational (September 2020; No errata)
Authors Tal Mizrahi  , Joachim Fabini  , Al Morton 
Last updated 2020-09-23
Replaces draft-mizrahi-intarea-packet-timestamps
Stream IETF
Formats plain text html xml pdf htmlized bibtex
Stream WG state Submitted to IESG for Publication
Document shepherd Karen O'Donoghue
Shepherd write-up Show (last changed 2019-11-07)
IESG IESG state RFC 8877 (Informational)
Action Holders
Consensus Boilerplate Yes
Telechat date
Responsible AD Suresh Krishnan
Send notices to Karen O'Donoghue <>
IANA IANA review state IANA OK - No Actions Needed
IANA action state No IANA Actions

Internet Engineering Task Force (IETF)                        T. Mizrahi
Request for Comments: 8877                                        Huawei
Category: Informational                                        J. Fabini
ISSN: 2070-1721                                                  TU Wien
                                                               A. Morton
                                                               AT&T Labs
                                                          September 2020

               Guidelines for Defining Packet Timestamps


   Various network protocols make use of binary-encoded timestamps that
   are incorporated in the protocol packet format, referred to as
   "packet timestamps" for short.  This document specifies guidelines
   for defining packet timestamp formats in networking protocols at
   various layers.  It also presents three recommended timestamp
   formats.  The target audience of this document includes network
   protocol designers.  It is expected that a new network protocol that
   requires a packet timestamp will, in most cases, use one of the
   recommended timestamp formats.  If none of the recommended formats
   fits the protocol requirements, the new protocol specification should
   specify the format of the packet timestamp according to the
   guidelines in this document.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Not all documents
   approved by the IESG are candidates for any level of Internet
   Standard; see Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at

Copyright Notice

   Copyright (c) 2020 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   ( in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction
     1.1.  Background
     1.2.  Scope of this Document
     1.3.  How to Use This Document
   2.  Terminology
     2.1.  Requirements Language
     2.2.  Abbreviations
     2.3.  Terms Used in This Document
   3.  Packet Timestamp Specification Template
   4.  Recommended Timestamp Formats
     4.1.  Using a Recommended Timestamp Format
     4.2.  NTP Timestamp Formats
       4.2.1.  NTP 64-Bit Timestamp Format
       4.2.2.  NTP 32-Bit Timestamp Format
     4.3.  The PTP Truncated Timestamp Format
   5.  Synchronization Aspects
   6.  Timestamp Use Cases
     6.1.  Example 1
     6.2.  Example 2
   7.  Packet Timestamp Control Field
     7.1.  High-Level Control Field Requirements
   8.  IANA Considerations
   9.  Security Considerations
   10. References
     10.1.  Normative References
     10.2.  Informative References
   Authors' Addresses

1.  Introduction

1.1.  Background

   Timestamps are widely used in network protocols for various purposes:
   for logging or reporting the time of an event, for messages in delay
   measurement and clock synchronization protocols, and as part of a
   value that is unlikely to repeat (nonce) in security protocols.

   Timestamps are represented in the RFC series in one of two forms:
   text-based timestamps and packet timestamps.  Text-based timestamps
   [RFC3339] are represented as user-friendly strings and are widely
   used in the RFC series -- for example, in information objects and
   data models, e.g., [RFC5646], [RFC6991], and [RFC7493].  Packet
   timestamps, on the other hand, are represented by a compact binary
   field that has a fixed size and are not intended to have a human-
   friendly format.  Packet timestamps are also very common in the RFC
   series and are used, for example, for measuring delay and for
   synchronizing clocks, e.g., [RFC5905], [RFC4656], and [RFC7323].

1.2.  Scope of this Document

   This document presents guidelines for defining a packet timestamp
   format in network protocols.  Three recommended timestamp formats are
   presented.  It is expected that a new network protocol that requires
   a packet timestamp will, in most cases, use one of these recommended
   timestamp formats.  In some cases, a network protocol may use more
Show full document text