Internet DRAFT - draft-mizrahi-spring-l4-checksum-srv6
draft-mizrahi-spring-l4-checksum-srv6
SPRING T. Mizrahi
Internet-Draft Huawei
Updates: RFC8200 (if approved) 3 August 2023
Intended status: Standards Track
Expires: 4 February 2024
Layer 4 Checksum Computation in Segment Routing over IPv6 (SRv6)
draft-mizrahi-spring-l4-checksum-srv6-00
Abstract
This document updates the IPv6 specification with respect to the
layer 4 checksum computation in packets that use Segment Routing over
IPv6 (SRv6) with compressed segment lists.
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 4 February 2024.
Copyright Notice
Copyright (c) 2023 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. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Mizrahi Expires 4 February 2024 [Page 1]
Internet-Draft L4 Checksums in SRv6 August 2023
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Requirement Language . . . . . . . . . . . . . . . . . . 3
2.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
3. Checksum Computation Update . . . . . . . . . . . . . . . . . 3
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4
5. Security Considerations . . . . . . . . . . . . . . . . . . . 4
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 4
6.1. Normative References . . . . . . . . . . . . . . . . . . 4
6.2. Informative References . . . . . . . . . . . . . . . . . 5
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 5
1. Introduction
Segment routing [RFC8402] is a routing paradigm in which a node
steers a packet through an ordered list of segments. The IPv6
specification [RFC8200] defines the Routing header, which is used by
an IPv6 source to list one or more intermediate nodes to be "visited"
on the way to a packet's destination. The Segment Routing Header
(SRH) [RFC8754] is a type of Routing header that is used in Segment
Routing over IPv6 (SRv6).
Compressed segment lists [I-D.ietf-spring-srv6-srh-compression]
enable multiple segment endpoints to be encoded within a single
Segment Identifier (SID). The SRH can consist of one or more SID
that includes a compressed segment list. Furthermore, a compressed
segment list can be used in the IPv6 Destination Address field
without using an SRH.
Transport layer and upper-layer checksums, such as the checksums in
TCP, UDP and ICMP, are computed over the layer 4 header and payload,
as well as a pseudo-header that includes the IP source and
destination addresses. However, when using the Routing header, the
IPv6 Destination Address can be modified by intermediate nodes along
the path to the destination. As specified in Section 8.1 of
[RFC8200], the layer 4 checksum computation for a packet that
includes the Routing header uses the final IPv6 Destination Address.
Compressed segment lists introduce two main changes in the way that
layer 4 checksums are computed compared to [RFC8200]:
Mizrahi Expires 4 February 2024 [Page 2]
Internet-Draft L4 Checksums in SRv6 August 2023
* [RFC8200] specifies that when the Routing header is present the
checksum is computed by the originating node based on the last
element of the Routing header. When compressed segment lists are
used, the last element of the Routing header may be different than
the Destination Address as received by the final destination, and
therefore the checksum is computed based on the Destination
Address as it is expected to be received by the destination.
* Compressed segment lists can be used in the Destination Address
without the presence of a Routing header, and in this case the
IPv6 Destination address can be modified along the path. This is
another case in which the checksum is computed based on the
Destination Address value as expected to be received by the
destination.
This document updates the IPv6 specification [RFC8200] with respect
to the layer 4 checksum computation in packets that use SRv6, and
specifically packets that use compressed segment lists.
2. Conventions
2.1. Requirement 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. Terminology
Abbreviations used in this document:
SID: Segment Identifier
SRH: Segment Routing Header
SRv6: Segment Routing over IPv6
3. Checksum Computation Update
This document updates the following text from Section 8.1 of
[RFC8200] as follows:
OLD:
Mizrahi Expires 4 February 2024 [Page 3]
Internet-Draft L4 Checksums in SRv6 August 2023
If the IPv6 packet contains a Routing header, the Destination Address
used in the pseudo-header is that of the final destination. At the
originating node, that address will be in the last element of the
Routing header; at the recipient(s), that address will be in the
Destination Address field of the IPv6 header.
NEW:
If the IPv6 packet contains a Routing header, the Destination Address
used in the pseudo-header is that of the final destination. At the
recipient(s), that address will be in the Destination Address field
of the IPv6 header. At the originating node, that address will be
the Destination Address as it is expected to be received by the
destination. Note, that if segment list compression
[I-D.ietf-spring-srv6-srh-compression] is used, then the Destination
Address as received by the destination may be different than the last
element of the Routing header. Similarly, if segment list
compression is used without using the Routing header, then the
Destination Address used in the pseudo-header is the address that is
expected to be received by the destination.
4. IANA Considerations
This document includes no request to IANA.
5. Security Considerations
This document clarifies the way that the layer 4 checksum is computed
with SRv6, and does not present new security considerations.
6. References
6.1. Normative References
[I-D.ietf-spring-srv6-srh-compression]
Cheng, W., Filsfils, C., Li, Z., Decraene, B., and F.
Clad, "Compressed SRv6 Segment List Encoding in SRH", Work
in Progress, Internet-Draft, draft-ietf-spring-srv6-srh-
compression-06, 28 July 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-spring-
srv6-srh-compression-06>.
[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>.
Mizrahi Expires 4 February 2024 [Page 4]
Internet-Draft L4 Checksums in SRv6 August 2023
[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>.
[RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", STD 86, RFC 8200,
DOI 10.17487/RFC8200, July 2017,
<https://www.rfc-editor.org/info/rfc8200>.
6.2. Informative References
[RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L.,
Decraene, B., Litkowski, S., and R. Shakir, "Segment
Routing Architecture", RFC 8402, DOI 10.17487/RFC8402,
July 2018, <https://www.rfc-editor.org/info/rfc8402>.
[RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J.,
Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header
(SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020,
<https://www.rfc-editor.org/info/rfc8754>.
Author's Address
Tal Mizrahi
Huawei
Email: tal.mizrahi.phd@gmail.com
Mizrahi Expires 4 February 2024 [Page 5]