| Internet-Draft | Fine-grained QoE Enhancement | February 2026 |
| Li, et al. | Expires 1 September 2026 | [Page] |
This document describes a fine-grained Quality of Experience (QoE) enhancement mechanism using semantic tables deployed at network forwarding nodes. The mechanism enables application-level SLA (Service Level Agreement) guarantees by carrying address indices and high-frequency-changing information in packets while maintaining low-frequency-changing semantic information at network nodes. This approach overcomes the limitations of traditional Application-aware Networking (APN) solutions, including excessive packet header overhead. The mechanism supports collaborative optimization across network, computing, and energy dimensions, and can be deployed over MPLS, IPv4/v6, SRv6, and other protocol data planes.¶
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 1 September 2026.¶
Copyright (c) 2026 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.¶
To provide better Quality of Experience (QoE) for users, networks need to offer fine-grained or even application-level Service Level Agreement (SLA) guarantees.¶
Current approaches have the following limitations:¶
To address these issues, the industry proposed the Application-aware Networking (APN) mechanism [I-D.ietf-apn-framework]. APN supports inserting APN information (such as ID information and SLA information) into IPv6 packet extension headers. Network nodes, such as headend nodes, can parse this APN information and provide services on demand.¶
While APN provides a valuable framework, certain deployment scenarios may benefit from alternative approaches that address the following considerations:¶
This document proposes a solution using semantic tables to enable fine-grained QoE enhancement while addressing these limitations.¶
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.¶
This document uses the following terminology:¶
Current approaches for providing fine-grained QoE guarantees face the following core issues:¶
The design goals of this mechanism include:¶
This mechanism proposes a fine-grained QoE enhancement method based on semantic tables:¶
This mechanism classifies QoE-related information into two categories:¶
Low-Frequency-Changing Information (deployed in semantic tables):¶
High-Frequency-Changing Information (carried in packets):¶
This mechanism supports the following semantic table distribution methods:¶
This mechanism does not restrict how semantic table content is acquired. Methods include:¶
Each node's semantic table MUST contain the following mandatory fields:¶
| Field Name | Length | Description |
|---|---|---|
| ADDR | 32 bits | Address index carried in packets for identifying application/user groups |
| APP-Group-ID | Variable | Application group identification |
| USER-Group-ID | Variable | User group identification |
The semantic table MAY contain the following optional fields:¶
| Field Name | Length | Description |
|---|---|---|
| Bandwidth | 32 bits | Required bandwidth guarantee (in Kbps) |
| Delay | 32 bits | Maximum tolerable delay for user/service (in microseconds) |
| Jitter | 32 bits | Maximum tolerable jitter for user/service (in microseconds) |
| Computing-Capacity | 32 bits | Minimum computing resources required by user/service |
| Priority | 8 bits | Service priority level (0-255, higher is more important) |
The packet format defined in this mechanism uses a TLV (Type-Length-Value) structure for flexible extension:¶
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Value | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Field Definitions:¶
This section defines the TLV Type field values. The Value field is dynamically specified based on the specific requirements of the user, service, or application.¶
| Type (16bit) | Length (16bit) | Description |
|---|---|---|
| 0x0000 | - | Reserved |
| 0x0001 | 0x0001 | DSCP adjustment: Value specifies the target DSCP value (0-63) for the transmission path |
| 0x0002 | 0x0001 | Queue priority adjustment: Value specifies the target queue priority level at network node ports |
| 0x0003 | 0x0004 | Queue buffer depth: Value specifies the buffer depth in bytes |
| 0x0004 | 0x0001 | Process priority: Value specifies the computing process priority level |
| 0x0005-0xFFFE | Variable | Reserved for future use |
| 0xFFFF | 0x0000 | TLV terminator, payload follows |
The above Type values (0x0001-0x0004) are examples. Additional Type values can be defined based on deployment requirements and registered through IANA.¶
The packet format can be carried over MPLS, IPv4/v6, SRv6, and other protocol data planes. This section describes the SRv6 protocol extension as an example.¶
SRv6 [RFC8754] is a source routing technology. The SRH extension header supports multiple SIDs, with each SID being 128 bits and containing Locator, Function, and Argument parts. The bit width of each part can be flexibly defined, providing good programmability.¶
In this mechanism:¶
0 127 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Locator (96 bits) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Function (16 bits) | Argument (16 bits) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |<------------------------ ADDR (32 bits) -------------------->|
Using a client-server pair with two intermediate network nodes and a centralized controller as an example:¶
client node1 node2 server controller
| | | | |
| (1) Request fine-grained SLA semantic actions |
|----------------------------------------------------->|
| | | | |
| | (2) Semantic table distribution |
| |<----------------------------------------|
| | | | |
| | | (2) Semantic table distribution
| | |<--------------------------|
| | | | |
| (3) Service packet with ADDR + TLV | |
|----------->| | | |
| | (4) Lookup | | |
| | semantic | | |
| | table | | |
| | Execute TLV | | |
| | actions | | |
| |------------>| | |
| | | (4) Lookup | |
| | | semantic | |
| | | table | |
| | | Execute TLV| |
| | | actions | |
| | |----------->| |
| | | | |
Client Request Phase:¶
The client sends a request to the controller, with the request type being "semantic action request for fine-grained or application-level SLA guarantee at transit nodes."¶
Semantic Table Distribution Phase:¶
The controller sends semantic tables to each node.¶
Service Packet Transmission Phase:¶
The client sends service packets carrying the mechanism header.¶
Node Processing Phase:¶
Each node receives the packet, looks up the semantic table, and executes the actions indicated by the packet TLV.¶
Implementations MUST handle the following error conditions:¶
The semantic table mechanism introduces the following security considerations:¶
Semantic tables contain user and application identification information that may be sensitive. Unauthorized access to semantic table contents could reveal service topology and user behavior patterns. Implementations MUST enforce access control for semantic table read and write operations. Semantic table distribution channels SHOULD be protected using authentication and encryption mechanisms.¶
The ADDR field carried in packets serves as an index into semantic tables. An attacker who can observe ADDR values may infer application or user group membership. When operating across trust domain boundaries, implementations SHOULD consider encrypting or obfuscating ADDR values.¶
Malicious injection of packets with crafted ADDR and TLV values could cause nodes to apply incorrect QoS policies. Implementations SHOULD validate that incoming packets originate from authorized sources before applying semantic table actions. BCP 38 ingress filtering SHOULD be applied at network boundaries.¶
This document requests IANA to create a new registry titled "Fine-grained QoE TLV Types" under an appropriate registry group.¶
The initial contents of the registry are defined in Section 5.3. The registration policy for new entries is Specification Required [RFC8126].¶
If the SRv6 extension defined in Section 5.4 is used, the SRv6 SID Function value used for semantic table lookup is allocated from the SRv6 Endpoint Behaviors registry defined in RFC 8986. This document does not request a specific allocation at this time; allocation will be requested when the mechanism is further specified.¶
The authors would like to thank the members of the SPRING working group for their valuable feedback and discussions.¶
The following individuals contributed to this document:¶