SRv6 Packet Service Identification for ICMP PMTU Discovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods in SRv6 networks fail to encode information about the ingress service within packets, making it impossible to identify the ingress service from ICMP error messages, particularly for 'packet too big' errors, which is crucial for effective Path Maximum Transmission Unit (PMTU) discovery.
Innovation Solution
Incorporating an ingress service identifier within the packet, such as in the flow label or Segment Routing Header (SRH) Type Length Value (TLV), to ensure this information is retained in ICMP error messages, allowing the source node to identify the ingress service and set an appropriate MTU.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If ingress service identifier is encoded within the packet, then identification accuracy of ingress service from ICMP error messages is improved, but device complexity increases
Solution Approach 1:
The ingress service identifier is nested within existing packet structures such as the Flow Label field of IPv6 headers or TLV fields in Segment Routing Headers. This nesting approach allows the identifier to be carried within the packet without adding separate external structures, thereby improving identification accuracy while minimizing the increase in device complexity.
Solution Approach 2:
The patent utilizes existing multi-functional packet fields (Flow Label, SRH TLV) to carry the ingress service identifier. These fields already serve other purposes in packet routing and processing, and by encoding the identifier within them, the solution achieves universal applicability across different packet types and network devices without requiring dedicated new fields or structures.
2Reliability
If ingress service information is retained in ICMP error messages, then error message handling is improved, but information loss is reduced
Solution Approach 1:
The patent implements a feedback mechanism where ICMP error messages carry back the ingress service identifier that was originally encoded in the forward direction. This allows the source node to receive feedback about the specific service that encountered the error, improving error message handling reliability and preventing information loss about the ingress service identity.
Solution Approach 2:
The ingress service identifier is encoded into the packet structure in advance (preliminarily) before the packet traverses the network. This preliminary encoding ensures that when ICMP error messages are generated later in the transmission path, the identifier is already present and can be retained in the error message without requiring additional processing or information retrieval.
Data Source
AI summary
In one aspect, a method includes setting, at a source node of an SRv6 network, one or more bits of a packet to indicate an ingress service identifier associated with an ingress service, where the ingress service is behind a source node; transmitting, by the source node, the packet towards a destination device of the SRv6 network; accessing, at the source node and from a network device in communication with the source node, an Internet Control Message Protocol error message that includes a portion of the packet indicating the ingress service identifier; and identifying, based on the ingress service identifier indicated by the Internet Control Message Protocol error message for the packet, the ingress service associated with the packet.


