Internet-Draft IPv6 Maximum Header Size October 2023
Liu & Shen Expires 21 April 2024 [Page]
Workgroup:
6MAN
Internet-Draft:
draft-liu-6man-max-header-size-00
Published:
Intended Status:
Informational
Expires:
Authors:
Y. Liu
ZTE
Y. Shen
ZTE

IPv6 Maximum Header Size Requirement

Abstract

This document proposes the concept and the requirement of IPv6 Maximum Header Size to represent the total header size that a node is able to process from an incoming packet in IPv6, as well as the requirement for it.

Status of This Memo

This Internet-Draft is submitted in full conformance with the 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 https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 21 April 2024.

Table of Contents

1. Introduction

In terms of packet processing, a device has various capabilities. For IPv6 routers, one of the capabilities is the Maximum Header Size that a node can read and process from an incoming packet. And the Maximum Header Size include the IPv6 header and IPv6 extension header.

The introduction of IPv6 extension headers especially SRH, has increased the packet header size greatly. And the possibility of combination of extension headers packets makes the situation worse.

Without the knowledge of the processing abilities of downstream nodes, the total header size of the packets sent by the upstream may exceed the Maximum Header Size that the downstreams can process, which may cause the packets to be discarded.

Although for some network devices, even when the size of the header accepted exceeds the header processing buffer of the device, they can still try to process this packet by recycling, but it's an impact of packet forwarding efficiency.

So for efficient packet forwarding, in many cases it's very important to know the maximum header size that each downstream nodes is able to process at full forwarding rate.

Although there're already some related works on packet processing size, but they are not sufficient.

The concept Maximum SID Depth (MSD) is originally introduced for SR-MPLS to represent the number of SIDs supported by a node or a link on a node. MSD is further extended for SRv6 as per [RFC9352]. This can be collected via IS-IS [RFC8491], OSPF [RFC8476], BGP-LS [RFC8814], or PCEP [RFC8664].

MSD types for SRv6 are related with the number of SRv6 SIDs, but other components within SRH such as SRH TLVs are not in the scope of MSD. Not to speak of other IPv6 extension headers.

Based on the considerations above, this document defines the term "IPv6 Maximum Header Size", which means, the maximum packet size, starting from the IPv6 header, that a node is able to process at full forwarding rate from an incoming IPv6 packet. And the signaling requirement is also included.

2. Conventions used in this document

2.1. Terminology

MSD: Maximum SID Depth as in [RFC8491].

Full Forwarding Rate: As in [I-D.ietf-6man-hbh-processing] this is the rate that a router can forward packets without adversely impacting the aggregate forwarding rate.

MPD: Maximum Packet Depth supported by a node or a link on a node.

2.2. 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.

3. Use Cases

The headend node can attach data on the packet.

For SRv6 IOAM pre-allocated trace, the headend attachs the hop-by-hop options header with the IOAM data fields ahead of SRH as introduced in [RFC9486].

In the case of SR service programming[I-D.ietf-spring-sr-service-programming], the SRH Opaque Metadata TLV and NSH Carrier TLV may be inserted by the headend.

For network slicing purpose, the VTN Option in IPv6 Hop-by-Hop option may be carried in the packet [I-D.ietf-6man-enhanced-vpn-vtn-id].

And all the above functions may be used in combination.

The intermediate nodes may increase the size of the packet. The IPv6 extension headers, as well as their TLVs may be attached by the intermediate destination nodes(e.g SR Segment Endpoint nodes) via inserting or tunneling. In this case it is very important for attaching nodes to obtain the packet processing sizes of the downstream nodes.

For an SR Segment Endpoint nodes with an End.B6.Encaps[RFC8986] SID instantiated, it will push a new IPv6 header with its own SRH containing an segment list above the original IPv6 header.

4. Signaling Requirements

Based on the usecases, there're requirements for the headend and intermediate nodes to be aware of the IPv6 Maximum Header Size of other nodes.

Considering of the exsiting works for MSD in IGP [RFC8491][RFC8476], using IGP to advertise this capability at node and/or link granularity is an feasible solution.

BGP-LS MAY also needed if there's an controller needs to collect this information and it does not participate in IGP routing.

5. IANA Considerations

This document makes no request of IANA.

6. Security Considerations

TBD

7. References

7.1. Normative References

[I-D.ietf-6man-hbh-processing]
Hinden, R. M. and G. Fairhurst, "IPv6 Hop-by-Hop Options Processing Procedures", Work in Progress, Internet-Draft, draft-ietf-6man-hbh-processing-10, , <https://datatracker.ietf.org/doc/html/draft-ietf-6man-hbh-processing-10>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.

7.2. Informative References

[I-D.ietf-6man-enhanced-vpn-vtn-id]
Dong, J., Li, Z., Xie, C., Ma, C., and G. S. Mishra, "Carrying Virtual Transport Network (VTN) Information in IPv6 Extension Header", Work in Progress, Internet-Draft, draft-ietf-6man-enhanced-vpn-vtn-id-05, , <https://datatracker.ietf.org/doc/html/draft-ietf-6man-enhanced-vpn-vtn-id-05>.
[I-D.ietf-spring-sr-service-programming]
Clad, F., Xu, X., Filsfils, C., Bernier, D., Li, C., Decraene, B., Ma, S., Yadlapalli, C., Henderickx, W., and S. Salsano, "Service Programming with Segment Routing", Work in Progress, Internet-Draft, draft-ietf-spring-sr-service-programming-08, , <https://datatracker.ietf.org/doc/html/draft-ietf-spring-sr-service-programming-08>.
[RFC8476]
Tantsura, J., Chunduri, U., Aldrin, S., and P. Psenak, "Signaling Maximum SID Depth (MSD) Using OSPF", RFC 8476, DOI 10.17487/RFC8476, , <https://www.rfc-editor.org/info/rfc8476>.
[RFC8491]
Tantsura, J., Chunduri, U., Aldrin, S., and L. Ginsberg, "Signaling Maximum SID Depth (MSD) Using IS-IS", RFC 8491, DOI 10.17487/RFC8491, , <https://www.rfc-editor.org/info/rfc8491>.
[RFC8664]
Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., and J. Hardwick, "Path Computation Element Communication Protocol (PCEP) Extensions for Segment Routing", RFC 8664, DOI 10.17487/RFC8664, , <https://www.rfc-editor.org/info/rfc8664>.
[RFC8814]
Tantsura, J., Chunduri, U., Talaulikar, K., Mirsky, G., and N. Triantafillis, "Signaling Maximum SID Depth (MSD) Using the Border Gateway Protocol - Link State", RFC 8814, DOI 10.17487/RFC8814, , <https://www.rfc-editor.org/info/rfc8814>.
[RFC8986]
Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer, D., Matsushima, S., and Z. Li, "Segment Routing over IPv6 (SRv6) Network Programming", RFC 8986, DOI 10.17487/RFC8986, , <https://www.rfc-editor.org/info/rfc8986>.
[RFC9352]
Psenak, P., Ed., Filsfils, C., Bashandy, A., Decraene, B., and Z. Hu, "IS-IS Extensions to Support Segment Routing over the IPv6 Data Plane", RFC 9352, DOI 10.17487/RFC9352, , <https://www.rfc-editor.org/info/rfc9352>.
[RFC9486]
Bhandari, S., Ed. and F. Brockners, Ed., "IPv6 Options for In Situ Operations, Administration, and Maintenance (IOAM)", RFC 9486, DOI 10.17487/RFC9486, , <https://www.rfc-editor.org/info/rfc9486>.

Authors' Addresses

Yao Liu
ZTE
China
Yiming Shen
ZTE
China