RFC 9192 INFORMATIONAL SERVICE CHAINING · METADATA · TIMESTAMPING

NSH Timestamp: Network Service Header (NSH) Fixed-Length Context Header Allocation

A common format for adding time, sequence, and interface data to NSH metadata.

On rfc-editor.org ↗
PUBLISHED
February 2022
AUTHORS
T. Mizrahi, I. Yerushalmi, D. Melman, R. Browne
STREAM
INDEPENDENT
HEADER SIZE
16 octets
FIELDS
Sequence Number (32 bits), Source Interface (32 bits), Timestamp (64 bits)
TIMESTAMP FORMATS
IEEE 1588 (Seconds + Nanoseconds) or NTP (Seconds + Fraction)
SEQUENCE WRAP-AROUND
At 2^32-1
DOI
10.17487/RFC9192

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Independent Submission                                        T. Mizrahi
Request for Comments: 9192                                        Huawei
Category: Informational                                    I. Yerushalmi
ISSN: 2070-1721                                                D. Melman
                                                                 Marvell
                                                               R. Browne
                                                                   Intel
                                                           February 2022


  Network Service Header (NSH) Fixed-Length Context Header Allocation

Abstract

   The Network Service Header (NSH) specification defines two possible
   methods of including metadata (MD): MD Type 0x1 and MD Type 0x2.  MD
   Type 0x1 uses a fixed-length Context Header.  The allocation of this
   Context Header, i.e., its structure and semantics, has not been
   standardized.  This memo defines the Timestamp Context Header, which
   is an NSH fixed-length Context Header that incorporates the packet's
   timestamp, a sequence number, and a source interface identifier.

   Although the definition of the Context Header presented in this
   document has not been standardized by the IETF, it has been
   implemented in silicon by several manufacturers and is published here
   to facilitate interoperability.

Status of This Memo

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

   This is a contribution to the RFC Series, independently of any other
   RFC stream.  The RFC Editor has chosen to publish this document at
   its discretion and makes no statement about its value for
   implementation or deployment.  Documents approved for publication by
   the RFC Editor are not 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
   https://www.rfc-editor.org/info/rfc9192.

Copyright Notice

   Copyright (c) 2022 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
   (https://trustee.ietf.org/license-info) 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.

Table of Contents

   1.  Introduction
   2.  Terminology
     2.1.  Requirements Language
     2.2.  Abbreviations
   3.  NSH Timestamp Context Header Allocation
   4.  Timestamping Use Cases
     4.1.  Network Analytics
     4.2.  Alternate Marking
     4.3.  Consistent Updates
   5.  Synchronization Considerations
   6.  IANA Considerations
   7.  Security Considerations
   8.  References
     8.1.  Normative References
     8.2.  Informative References
   Acknowledgments
   Authors' Addresses

1.  Introduction

   The Network Service Header (NSH), defined in [RFC8300], is an
   encapsulation header that is used as the service encapsulation in the
   Service Function Chaining (SFC) architecture [RFC7665].

   In order to share metadata (MD) along a service path, the NSH
   specification [RFC8300] supports two methods: a fixed-length Context
   Header (MD Type 0x1) and a variable-length Context Header (MD Type
   0x2).  When using MD Type 0x1, the NSH includes 16 octets of Context
   Header fields.

   The NSH specification [RFC8300] has not defined the semantics of the
   16-octet Context Header, nor does it specify how the Context Header
   is used by NSH-aware Service Functions (SFs), Service Function
   Forwarders (SFFs), and proxies.  Several Context Header formats are
   defined in [NSH-TLV].  Furthermore, some allocation schemes were
   proposed in the past to accommodate specific use cases, e.g.,
   [NSH-DC-ALLOC], [NSH-BROADBAND-ALLOC], and [RFC8592].

   This memo presents an allocation for the MD Type 0x1 Context Header,
   which incorporates the timestamp of the packet, a sequence number,
   and a source interface identifier.  Note that other allocation schema
   for MD Type 0x1 might be specified in the future.  Although such
   schema are currently not being standardized by the SFC Working Group,
   a consistent format (allocation schema) should be used in an SFC-
   enabled domain in order to allow interoperability.

   In a nutshell, packets that enter the SFC-enabled domain are
   timestamped by a classifier [RFC7665].  Thus, the timestamp, sequence
   number, and source interface are incorporated in the NSH Context
   Header.  As discussed in [RFC8300], if reclassification is used, it
   may result in an update to the NSH metadata.  Specifically, when the
   Timestamp Context Header is used, a reclassifier may either leave it
   unchanged or update the three fields: Timestamp, Sequence Number, and
   Source Interface.

   The Timestamp Context Header includes three fields that may be used
   for various purposes.  The Timestamp field may be used for logging,
   troubleshooting, delay measurement, packet marking for performance
   monitoring, and timestamp-based policies.  The source interface
   identifier indicates the interface through which the packet was
   received at the classifier.  This identifier may specify a physical
   interface or a virtual interface.  The sequence numbers can be used
   by SFs to detect out-of-order delivery or duplicate transmissions.
   Note that out-of-order and duplicate packet detection is possible
   when packets are received by the same SF but is not necessarily
   possible when there are multiple instances of the same SF and
   multiple packets are spread across different instances of the SF.
   The sequence number is maintained on a per-source-interface basis.

   This document presents the Timestamp Context Header but does not
   specify the functionality of the SFs that receive the Context Header.
   Although a few possible use cases are described in this document, the
   SF behavior and application are outside the scope of this document.

   Key Performance Indicator (KPI) stamping [RFC8592] defines an NSH
   timestamping mechanism that uses the MD Type 0x2 format.  This memo
   defines a compact MD Type 0x1 Context Header that does not require
   the packet to be extended beyond the NSH.  Furthermore, the
   mechanisms described in [RFC8592] and this memo can be used in
   concert, as further discussed in Section 4.1.

   Although the definition of the Context Header presented in this
   document has not been standardized by the IETF, it has been
   implemented in silicon by several manufacturers and is published here
   to facilitate interoperability.

2.  Terminology

2.1.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in
   BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

2.2.  Abbreviations

   The following abbreviations are used in this document:

   KPI           Key Performance Indicator [RFC8592]

   MD            Metadata [RFC8300]

   NSH           Network Service Header [RFC8300]

   SF            Service Function [RFC7665]

   SFC           Service Function Chaining [RFC7665]

   SFF           Service Function Forwarder [RFC8300]

3.  NSH Timestamp Context Header Allocation

   This memo defines the following fixed-length Context Header
   allocation, as presented in Figure 1.

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                        Sequence Number                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                        Source Interface                       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                           Timestamp                           |
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Figure 1: NSH Timestamp Allocation

   The NSH Timestamp allocation defined in this memo MUST include the
   following fields:

   Sequence Number:  A 32-bit sequence number.  The sequence number is
      maintained on a per-source-interface basis.  Sequence numbers can
      be used by SFs to detect out-of-order delivery or duplicate
      transmissions.  The classifier increments the sequence number by 1
      for each packet received through the source interface.  This
      requires the classifier to maintain a per-source-interface
      counter.  The sequence number is initialized to a random number on
      startup.  After it reaches its maximal value (2^32-1), the
      sequence number wraps around back to zero.

   Source Interface:  A 32-bit source interface identifier that is
      assigned by the classifier.  The combination of the source
      interface and the classifier identity is unique within the context
      of an SFC-enabled domain.  Thus, in order for an SF to be able to
      use the source interface as a unique identifier, the identity of
      the classifier needs to be known for each packet.  The source
      interface is unique in the context of the given classifier.

   Timestamp:  A 64-bit field that specifies the time at which the
      packet was received by the classifier.  Two possible timestamp
      formats can be used for this field: the two 64-bit recommended
      formats specified in [RFC8877].  One of the formats is based on
      the timestamp format defined in [IEEE1588], and the other is based
      on the format defined in [RFC5905].

   The NSH specification [RFC8300] does not specify the possible
   coexistence of multiple MD Type 0x1 Context Header formats in a
   single SFC-enabled domain.  It is assumed that the Timestamp Context
   Header will be deployed in an SFC-enabled domain that uniquely uses
   this Context Header format.  Thus, operators SHOULD ensure that
   either a consistent Context Header format is used in the SFC-enabled
   domain or there is a clear policy that allows SFs to know the Context
   Header format of each packet.  Specifically, operators are expected
   to ensure the consistent use of a timestamp format across the whole
   SFC-enabled domain.

   The two timestamp formats that can be used in the Timestamp field are
   as follows:

   Truncated Timestamp Format [IEEE1588]:  This format is specified in
      Section 4.3 of [RFC8877].  For the reader's convenience, this
      format is illustrated in Figure 2.

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                            Seconds                            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                           Nanoseconds                         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Figure 2: Truncated Timestamp Format (IEEE 1588)

   NTP 64-bit Timestamp Format [RFC5905]:  This format is specified in
      Section 4.2.1 of [RFC8877].  For the reader's convenience, this
      format is illustrated in Figure 3.

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                            Seconds                            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                            Fraction                           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Figure 3: NTP 64-Bit Timestamp Format (RFC 5905)

   Synchronization aspects of the timestamp format in the context of the
   NSH Timestamp allocation are discussed in Section 5.

4.  Timestamping Use Cases

4.1.  Network Analytics

   Per-packet timestamping enables coarse-grained monitoring of network
   delays along the Service Function Chain.  Once a potential problem or
   bottleneck is detected (for example, when the delay exceeds a certain
   policy), a highly granular monitoring mechanism can be triggered (for
   example, using the hop-by-hop measurement data defined in [RFC8592]
   or [IOAM-DATA]), allowing analysis and localization of the problem.

   Timestamping is also useful for logging, troubleshooting, and flow
   analytics.  It is often useful to maintain the timestamp of the first
   and last packet of the flow.  Furthermore, traffic mirroring and
   sampling often require a timestamp to be attached to analyzed
   packets.  Attaching the timestamp to the NSH provides an in-band
   common time reference that can be used for various network analytics
   applications.

4.2.  Alternate Marking

   A possible approach for passive performance monitoring is to use an
   Alternate-Marking Method [RFC8321].  This method requires data
   packets to carry a field that marks (colors) the traffic, and enables
   passive measurement of packet loss, delay, and delay variation.  The
   value of this marking field is periodically toggled between two
   values.

   When the timestamp is incorporated in the NSH, it can intrinsically
   be used for Alternate Marking.  For example, the least significant
   bit of the timestamp Seconds field can be used for this purpose,
   since the value of this bit is inherently toggled every second.

4.3.  Consistent Updates

   The timestamp can be used for making policy decisions, such as
   'Perform action A if timestamp>=T_0'.  This can be used for enforcing
   time-of-day policies or periodic policies in SFs.  Furthermore,
   timestamp-based policies can be used for enforcing consistent network
   updates, as discussed in [DPT].  It should be noted that, as in the
   case of Alternate Marking, this use case alone does not require a
   full 64-bit timestamp but could be implemented with a significantly
   smaller number of bits.

5.  Synchronization Considerations

   Some of the applications that make use of the timestamp require the
   classifier and SFs to be synchronized to a common time reference --
   for example, using the Network Time Protocol [RFC5905] or the
   Precision Time Protocol [IEEE1588].  Although it is not a requirement
   to use a clock synchronization mechanism, it is expected that,
   depending on the applications that use the timestamp, such
   synchronization mechanisms will be used in most deployments that use
   the Timestamp allocation.

6.  IANA Considerations

   This document has no IANA actions.

7.  Security Considerations

   The security considerations for the NSH in general are discussed in
   [RFC8300].  The NSH is typically run within a confined trust domain.
   However, if a trust domain is not enough to provide the operator with
   protection against the timestamp threats as described below, then the
   operator SHOULD use transport-level protection between SFC processing
   nodes as described in [RFC8300].

   The security considerations of in-band timestamping in the context of
   the NSH are discussed in [RFC8592]; this section is based on that
   discussion.

   In-band timestamping, as defined in this document and [RFC8592], can
   be used as a means for network reconnaissance.  By passively
   eavesdropping on timestamped traffic, an attacker can gather
   information about network delays and performance bottlenecks.  An on-
   path attacker can maliciously modify timestamps in order to attack
   applications that use the timestamp values, such as performance-
   monitoring applications.

   Since the timestamping mechanism relies on an underlying time
   synchronization protocol, by attacking the time protocol an attack
   can potentially compromise the integrity of the NSH Timestamp.  A
   detailed discussion about the threats against time protocols and how
   to mitigate them is presented in [RFC7384].

8.  References

8.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC7665]  Halpern, J., Ed. and C. Pignataro, Ed., "Service Function
              Chaining (SFC) Architecture", RFC 7665,
              DOI 10.17487/RFC7665, October 2015,
              <https://www.rfc-editor.org/info/rfc7665>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8300]  Quinn, P., Ed., Elzur, U., Ed., and C. Pignataro, Ed.,
              "Network Service Header (NSH)", RFC 8300,
              DOI 10.17487/RFC8300, January 2018,
              <https://www.rfc-editor.org/info/rfc8300>.

   [RFC8877]  Mizrahi, T., Fabini, J., and A. Morton, "Guidelines for
              Defining Packet Timestamps", RFC 8877,
              DOI 10.17487/RFC8877, September 2020,
              <https://www.rfc-editor.org/info/rfc8877>.

8.2.  Informative References

   [DPT]      Mizrahi, T. and Y. Moses, "The Case for Data Plane
              Timestamping in SDN", IEEE INFOCOM Workshop on Software-
              Driven Flexible and Agile Networking (SWFAN),
              DOI 10.1109/INFCOMW.2016.7562197, 2016,
              <https://ieeexplore.ieee.org/document/7562197>.

   [IEEE1588] IEEE, "IEEE 1588-2008 - IEEE Standard for a Precision
              Clock Synchronization Protocol for Networked Measurement
              and Control Systems", DOI 10.1109/IEEESTD.2008.4579760,
              <https://standards.ieee.org/standard/1588-2008.html>.

   [IOAM-DATA]
              Brockners, F., Ed., Bhandari, S., Ed., and T. Mizrahi,
              Ed., "Data Fields for In-situ OAM", Work in Progress,
              Internet-Draft, draft-ietf-ippm-ioam-data-17, 13 December
              2021, <https://datatracker.ietf.org/doc/html/draft-ietf-
              ippm-ioam-data-17>.

   [NSH-BROADBAND-ALLOC]
              Napper, J., Kumar, S., Muley, P., Hendericks, W., and M.
              Boucadair, "NSH Context Header Allocation for Broadband",
              Work in Progress, Internet-Draft, draft-ietf-sfc-nsh-
              broadband-allocation-01, 19 June 2018,
              <https://datatracker.ietf.org/doc/html/draft-ietf-sfc-nsh-
              broadband-allocation-01>.

   [NSH-DC-ALLOC]
              Guichard, J., Ed., Smith, M., Kumar, S., Majee, S., and T.
              Mizrahi, "Network Service Header (NSH) MD Type 1: Context
              Header Allocation (Data Center)", Work in Progress,
              Internet-Draft, draft-ietf-sfc-nsh-dc-allocation-02, 25
              September 2018, <https://datatracker.ietf.org/doc/html/
              draft-ietf-sfc-nsh-dc-allocation-02>.

   [NSH-TLV]  Wei, Y., Ed., Elzur, U., Majee, S., Pignataro, C., and D.
              Eastlake, "Network Service Header Metadata Type 2
              Variable-Length Context Headers", Work in Progress,
              Internet-Draft, draft-ietf-sfc-nsh-tlv-13, 26 January
              2022, <https://datatracker.ietf.org/doc/html/draft-ietf-
              sfc-nsh-tlv-13>.

   [RFC5905]  Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch,
              "Network Time Protocol Version 4: Protocol and Algorithms
              Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010,
              <https://www.rfc-editor.org/info/rfc5905>.

   [RFC7384]  Mizrahi, T., "Security Requirements of Time Protocols in
              Packet Switched Networks", RFC 7384, DOI 10.17487/RFC7384,
              October 2014, <https://www.rfc-editor.org/info/rfc7384>.

   [RFC8321]  Fioccola, G., Ed., Capello, A., Cociglio, M., Castaldelli,
              L., Chen, M., Zheng, L., Mirsky, G., and T. Mizrahi,
              "Alternate-Marking Method for Passive and Hybrid
              Performance Monitoring", RFC 8321, DOI 10.17487/RFC8321,
              January 2018, <https://www.rfc-editor.org/info/rfc8321>.

   [RFC8592]  Browne, R., Chilikin, A., and T. Mizrahi, "Key Performance
              Indicator (KPI) Stamping for the Network Service Header
              (NSH)", RFC 8592, DOI 10.17487/RFC8592, May 2019,
              <https://www.rfc-editor.org/info/rfc8592>.

Acknowledgments

   The authors thank Mohamed Boucadair and Greg Mirsky for their
   thorough reviews and detailed comments.

Authors' Addresses

   Tal Mizrahi
   Huawei
   Israel
   Email: tal.mizrahi.phd@gmail.com


   Ilan Yerushalmi
   Marvell
   6 Hamada
   Yokneam 2066721
   Israel
   Email: yilan@marvell.com


   David Melman
   Marvell
   6 Hamada
   Yokneam 2066721
   Israel
   Email: davidme@marvell.com


   Rory Browne
   Intel
   Dromore House
   Shannon
   Co. Clare
   Ireland
   Email: rory.browne@intel.com

AI ELI5

On this page
PROBLEMNSH allows fixed-length metadata (MD Type 0x1), but the NSH spec does not define what this metadata should contain or how services should use it. Multiple implementations were building incompatible formats.
MECHANISMThis RFC defines a Timestamp Context Header that fills the 16-octet NSH metadata field with three items: a 32-bit sequence number (to detect lost or out-of-order packets), a 32-bit source interface ID (to identify which interface saw the packet), and a 64-bit timestamp (recording when the packet arrived).
STATUS TODAYThe format was already implemented by multiple silicon manufacturers before IETF standardization. It is published as Informational to document a de-facto standard and improve interoperability in Service Function Chaining deployments.

§1Adding Metadata to the Service Header

The Network Service Header (NSH) is a wrapper around packets in Service Function Chaining, an architecture where packets flow through a series of network functions. NSH includes a slot for metadata (MD)—extra information about the packet. The NSH spec [RFC8300] defines two ways to carry metadata: fixed-length (MD Type 0x1, 16 octets) and variable-length (MD Type 0x2).

The NSH specification does not say what the fixed-length metadata should contain. Several organizations proposed different formats for different uses (data center, broadband). This RFC defines one allocation—a Timestamp Context Header—that has already been implemented in silicon by multiple manufacturers. Publishing it standardizes an existing practice and lets different vendors' equipment work together.

Network packets flowing through service chains can carry sticky notes. This RFC says what should go on the sticky note when you want to add timestamps.

§2The Timestamp Context Header Format

The Timestamp Context Header fills NSH's 16-octet fixed-length metadata with three fields. The first 4 octets hold a Sequence Number: a counter (starting at a random value on startup) that increments by 1 for each packet seen at the same source interface. Service functions can use this to detect lost packets or duplicates, though detection is only reliable when the same function instance processes the packet.

The next 4 octets are the Source Interface identifier: a number assigned by the classifier to identify the interface through which the packet entered. Combined with the classifier's identity, this uniquely identifies an entry point in the service chain.

The last 8 octets hold the Timestamp—when the classifier received the packet. The RFC allows two 64-bit timestamp formats: one based on IEEE 1588 (Precision Time Protocol, using seconds and nanoseconds) and one based on NTP (Network Time Protocol, using seconds and fractional seconds). Operators must choose one format and use it consistently across their domain.

The 16-octet stamp has three parts: a counter (to catch lost packets), an interface number (to know where it came from), and a timestamp (to know when it arrived). Each part is 4, 4, or 8 bytes.

NSH Timestamp Context Header (16 octets)
Timestamp Context Header
FieldNameSizeValueDescription
SEQ-NUMBERSequence Number4 bytes32-bit counter per source interface; increments by 1 for each packet.
SRC-INTERFACESource Interface4 bytes32-bit interface identifier; unique in context of the classifier.
TIMESTAMPTimestamp8 bytes64-bit time the classifier received the packet; IEEE 1588 or NTP format.

§3Using the Timestamp Data

The timestamp field can serve several purposes. Network analytics can use per-packet timestamps to measure coarse-grained delays across the service chain; if a delay spike is detected, a more detailed measurement tool can be triggered. Timestamps help with logging, troubleshooting, and flow analytics—for example, recording the timestamp of the first and last packet of a flow. Traffic mirroring and sampling applications benefit from a timestamp attached to each packet.

The Alternate-Marking method [RFC8321] for passive performance monitoring can reuse the timestamp; for instance, the least significant bit of the timestamp Seconds field alternates every second, providing a toggle marker for measuring packet loss and delay. Timestamp-based policies can enforce time-of-day policies or periodic actions in service functions—for example, 'trigger action A if timestamp >= T_0'. This enables consistent, coordinated network updates across the service chain.

The timestamp helps service functions measure delays, spot lost packets, and decide when to apply policies. For example, a service might temporarily drop traffic at a certain time of day using the timestamp to know when that time arrives.

§4Clock Synchronization and Consistency

Many timestamp uses—especially analytics and performance monitoring—require classifiers and service functions to share a common time reference. Although not mandatory, most deployments using the Timestamp Context Header are expected to synchronize using the Network Time Protocol [RFC5905] or the Precision Time Protocol [IEEE1588].

The NSH specification does not forbid multiple MD Type 0x1 formats in one domain, but operators SHOULD ensure a consistent format is used. Specifically, they must agree on which of the two timestamp formats (IEEE 1588 or NTP) is in use, so all nodes interpret timestamps the same way.

For timestamps to make sense, devices need to agree on the current time—usually using NTP or a similar protocol. Within a network domain, everyone should use the same timestamp format (either IEEE 1588 or NTP style).

§5Security and Privacy Risks

NSH typically operates within a single trusted domain, but in-band timestamping poses risks. An eavesdropper can use timestamped traffic to gather information about network delays and identify bottlenecks—a form of network reconnaissance. An attacker on the path can forge or modify timestamps to mislead performance-monitoring applications.

Timestamps depend on an underlying time synchronization protocol. If an attacker compromises the clock protocol (NTP or IEEE 1588), the integrity of the NSH timestamp is compromised. The RFC references [RFC7384] for a detailed discussion of time-protocol security. If the trust domain is insufficient, operators SHOULD use transport-level protection (TLS or similar) between SFC nodes, as described in RFC 8300.

Timestamps can leak information about how fast the network is, and a dishonest attacker could change timestamps to fool performance tools. Network operators need to protect the clocks and the links carrying timestamped packets.

§6References