<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.2.3) -->
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-prabhu-nmrg-prompt-schema-llm-01" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="Normalizing MV Inputs for LLM NM">Framework for Normalizing Multi-Vendor Network Inputs for LLM-Assisted Network Management</title>
    <seriesInfo name="Internet-Draft" value="draft-prabhu-nmrg-prompt-schema-llm-01"/>
    <author initials="S." surname="Prabhu" fullname="Shailesh Prabhu">
      <organization>Nokia</organization>
      <address>
        <postal>
          <country>India</country>
        </postal>
        <email>shailesh.prabhu@nokia.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="04"/>
    <abstract>
      <?line 30?>

<t>Large Language Models (LLMs) are increasingly used to assist network management tasks such as troubleshooting, intent translation, and automation. Network operations, however, rely on data from many vendors and sources: CLI output, configuration snippets, telemetry, alarms, and vendor-specific APIs. These inputs differ in format, structure, and semantics, which makes it difficult to present a consistent interface to an LLM. This document describes a framework for standardizing such multi-vendor inputs for LLM-assisted network management. Incoming messages from multi-vendor network elements are first handled by an Input Classifier, which determines the nature of each input and assigns it to one of three categories: performance, configuration, or response, using a hybrid approach (rule-based classification first, with escalation to a Small Language Model (SLM) when rules are insufficient). The classified input is then passed to the corresponding Structurer among the Performance Structurer, Configuration Structurer, and Response Structurer, each of which produces a normalized, structured representation (typically with SLM assistance and optional confidence scoring). That structured output is fed to a Prompt Schema Generator, which creates a structured, vendor-agnostic schema and supplies schema-aligned prompts to the central LLM. This document specifies the architecture and component roles for use in design and implementation. It does not define a wire protocol; it is published for informational purposes.</t>
    </abstract>
  </front>
  <middle>
    <?line 34?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>LLM-assisted network management uses Large Language Models to interpret network data, suggest actions, translate operator intent into device commands, and assist with root cause analysis and reporting. The effectiveness of such systems depends on the quality and consistency of the inputs presented to the LLM. In practice, those inputs are highly heterogeneous: show-command output and configuration dumps vary by vendor and device type; telemetry and alarms use different formats and naming; and management APIs differ across vendors. Without normalization, the same logical concept (e.g., "interface status" or "BGP neighbor state") appears in many forms, which degrades LLM performance and complicates prompt design and maintenance.</t>
      <t>This document describes an architectural framework for standardizing multi-vendor inputs before they are used as prompts (or prompt context) for a central LLM in network management. The flow is as follows. (1) Multi-vendor network data is received by the Input Classifier, which classifies each message as performance-related, configuration-related, or response-related so that the appropriate Structurer receives the right type of input. The Input Classifier uses a hybrid approach: a fast, deterministic rule-based stage first; when pattern matching fails, multiple category conflicts arise, or structural certainty is insufficient, an SLM-based classification stage within the Input Classifier is invoked. (2) Based on that classification, the message is passed to exactly one of the Performance Structurer, Configuration Structurer, or Response Structurer, each of which interprets vendor-variable text and emits a structured record. (3) The structured output is fed to the Prompt Schema Generator, which creates or selects a vendor-agnostic schema and produces schema-aligned prompts. (4) Those prompts are supplied to the central LLM that performs network management (e.g., troubleshooting, intent translation, or automation).</t>
      <t>The framework is complementary to broader work on AI-assisted and agent-based network management. While such work may address agent interaction, orchestration, tool access, or operational workflows, this document focuses specifically on normalizing heterogeneous network management inputs before they are consumed by an LLM. The normalization function may therefore serve as an input-processing building block within broader AI-assisted network management architectures.</t>
      <t>The key components are the Input Classifier, the three Structurers, the Prompt Schema Generator, and the central LLM. Together, they enable multi-vendor inputs to be categorized, structured, normalized, aligned with a vendor-agnostic schema, and presented to the central LLM in a consistent form.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>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 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
      <ul spacing="normal">
        <li>
          <t>LLM (Large Language Model): A machine learning model used for natural language understanding and generation. In this document, the LLM is the consumer of standardized network management inputs for tasks such as troubleshooting, intent translation, and automation.</t>
        </li>
        <li>
          <t>Prompt: Input (or input context) supplied to an LLM for processing. In LLM-assisted network management, a prompt typically includes network-derived data such as CLI output, configuration snippets, telemetry, or alarms, often after normalization and alignment with a vendor-agnostic schema.</t>
        </li>
        <li>
          <t>Schema: A formal, vendor-agnostic description of the structure, types, and semantics of a class of network management inputs. A schema provides a common shape to which normalized multi-vendor data can be aligned before being presented to the LLM.</t>
        </li>
        <li>
          <t>Input Classifier: A component that determines the nature of incoming messages from multi-vendor network elements and assigns each input to one of three categories: performance, configuration, or response, so that the corresponding Structurer can process it. It uses a hybrid rule-based stage followed by SLM-based classification when the rule-based stage is inconclusive.</t>
        </li>
        <li>
          <t>Structurer: A component that receives input already labeled by the Input Classifier with one category and produces a structured, normalized representation for the Prompt Schema Generator. This document defines three structurers: Performance Structurer, Configuration Structurer, and Response Structurer.</t>
        </li>
        <li>
          <t>Small Language Model (SLM): A compact language model used inside the Input Classifier (for semantic classification when rules fail) and inside each Structurer (for extraction, normalization, and confidence). SLMs MAY be fine-tuned on curated multi-vendor network messages, telemetry, configuration text, and operational responses.</t>
        </li>
        <li>
          <t>Confidence level: An optional indicator (e.g., high, medium, low) associated with structuring or classification. Low-confidence cases MAY attach raw input for human-in-the-loop review and later feedback into training of the Input Classifier and Structurers.</t>
        </li>
      </ul>
    </section>
    <section anchor="architecture-overview">
      <name>Architecture Overview</name>
      <t>The framework is a logical system positioned between heterogeneous multi-vendor network management data sources and a central LLM used for AI-assisted network management. Raw inputs (e.g., CLI output, configuration, telemetry, alarms, or API responses) enter the Input Classifier. The classifier routes each message to the Performance Structurer, Configuration Structurer, or Response Structurer. The active Structurer's output is fed to the Prompt Schema Generator, which produces schema-aligned prompts or prompt context for the central LLM. The architectural placement of these functions and the logical interfaces between them are described in <xref target="architectural-placement"/>.</t>
      <figure anchor="fig-arch">
        <name>Reference architecture</name>
        <artwork><![CDATA[
               +---------------------------+
               |        Central LLM        |
               |   (network management:    |
               |    troubleshooting,       |
               |    intent translation,    |
               |    automation)            |
               +-------------+-------------+
                             ^
                             | schema + prompts
                   +-------------------+
                   |   Prompt Schema   |
                   |     Generator     |
                   +---------+---------+
                             ^
                             | structured output
           +-----------------+-----------------+
           |                 |                 |
   +-------+-------+ +-------+-------+ +-------+-------+
   |  Performance  | | Configuration | |   Response    |
   |  Structurer   | |  Structurer   | |  Structurer   |
   +-------+-------+ +-------+-------+ +-------+-------+
           ^                 ^                 ^
           +-----------------+-----------------+
                             |
                   +---------+---------+
                   |       Input       |
                   |    Classifier     |
                   |   (rules + SLM)   |
                   +---------+---------+
                             ^
                             |
   +-------------------------+-------------------------+
   |            Multi-Vendor Network Input             |
   |   (CLI, config, telemetry, alarms, vendor APIs)   |
   +---------------------------------------------------+
]]></artwork>
      </figure>
      <section anchor="architectural-placement">
        <name>Architectural Placement and Interfaces</name>
        <t>The framework is logically positioned within, or adjacent to, a Network Management System (NMS), controller, or orchestrator, between network data acquisition functions and the central LLM. Existing mechanisms may continue to collect CLI output, telemetry, configuration, alarms, or vendor API responses; the framework does not require changes to the network elements or the mechanisms used to acquire such data.</t>
        <t>The interfaces between the framework components are logical. Raw network input is provided to the Input Classifier, which assigns an input category and forwards the input to the corresponding Structurer. The selected Structurer produces a normalized structured representation for the Prompt Schema Generator, together with metadata such as the assigned category and confidence information; the original input may also be retained for traceability in low-confidence cases. The Prompt Schema Generator uses the normalized representation to produce schema-aligned prompt content for the central LLM.</t>
        <t>These interfaces do not require a specific transport protocol or serialization format. Implementations may use JSON, YANG-derived structures, or other structured encodings for the normalized representation, while the LLM-facing output may be provided as prompt text or structured prompt context. This document does not define a wire protocol for these interfaces.</t>
        <t>While this document focuses on normalizing multi-vendor network management inputs for consumption by a central LLM, the normalization function could also be applicable to interactions between an AI agent and an NMS, or between management agents using heterogeneous representations. Such uses are outside the primary scope of this document but may be considered in future work on agent-based network management.</t>
      </section>
    </section>
    <section anchor="input-classifier">
      <name>Input Classifier</name>
      <t>The Input Classifier is responsible for determining the nature of incoming messages from multi-vendor network elements. It assesses each input and classifies it into exactly one of three categories: performance, configuration, or response, so that the corresponding Structurer receives the appropriate type of input for further processing.</t>
      <t>The Input Classifier uses a hybrid approach: rule-based classification is attempted first, followed by SLM-based classification when the rule-based stage cannot produce a reliable single category. The hybrid design balances speed, efficiency, and accuracy: rule-based logic is fast and lightweight for common patterns; when inputs are complex, ambiguous, or unmatched by rules, an SLM performs deeper contextual analysis.</t>
      <section anchor="rule-based-classification">
        <name>Rule-based classification</name>
        <t>In the first stage, the Input Classifier applies a deterministic, rule-based mechanism to categorize incoming network element messages. This layer is intended for high-frequency, well-structured, and common message formats without invoking computationally intensive semantic analysis.</t>
        <t>The rule-based engine MAY use a combination of:</t>
        <ul spacing="normal">
          <li>
            <t>Keyword dictionaries.</t>
          </li>
          <li>
            <t>Structured field detection.</t>
          </li>
          <li>
            <t>Regular expression matching.</t>
          </li>
          <li>
            <t>Protocol-aware parsing.</t>
          </li>
          <li>
            <t>Message header inspection.</t>
          </li>
        </ul>
        <t>Each message is evaluated against category-specific rule sets for performance, configuration, and response classification.</t>
        <section anchor="performance-message-detection">
          <name>Performance message detection</name>
          <t>Performance-related messages typically describe operational metrics, telemetry readings, utilization values, or statistical measurements. Example keyword families include: utilization, throughput, latency, jitter, packet loss, bandwidth, CPU usage, memory usage, temperature, receive/transmit rates, error rate, and queue depth (exact vocabularies are implementation defined).</t>
          <t>Pattern-based heuristics MAY include: numeric values with percentage signs; metric names adjacent to numeric measurements; telemetry-style field-value formats. As an illustrative example, a regular expression such as:</t>
          <artwork><![CDATA[
(utilization|load|usage)\s*[:=]?\s*\d+(\.\d+)?\s*%
]]></artwork>
          <t>can match lines such as "CPU utilization: 78%", "Traffic load = 45%", and "Network usage 62%". Similar patterns MAY be defined for other performance metrics (e.g., latency, throughput).</t>
        </section>
        <section anchor="configuration-message-detection">
          <name>Configuration message detection</name>
          <t>Configuration-related messages indicate intent to modify, retrieve, delete, or update network state. Example keywords include: set, configure, apply, update, modify, delete, add, remove, commit, rollback, enable, and disable.</t>
          <t>As an illustrative example, a regular expression such as:</t>
          <artwork><![CDATA[
(set|update|configure|modify)\s+(interface|vlan|route|policy|qos|ip)
]]></artwork>
          <t>can match phrases such as "Set interface Gi0/1 bandwidth 100Mbps", "Update VLAN 10 configuration", and "Modify route table entry".</t>
        </section>
        <section anchor="response-message-detection">
          <name>Response message detection</name>
          <t>Response messages typically represent outcomes of prior operations. Example keywords include: success, completed, applied, acknowledged, error, failed, failure, invalid, timeout, rejected, and warning.</t>
          <t>As an illustrative example, a regular expression such as:</t>
          <artwork><![CDATA[
(success|completed|applied|acknowledged)\b
]]></artwork>
          <t>can match phrases such as "Configuration applied successfully", "Operation completed", and "Request acknowledged".</t>
          <t>When pattern matching fails, multiple categories conflict, or structural certainty is insufficient, implementations SHOULD escalate to SLM-based classification within the Input Classifier.</t>
        </section>
      </section>
      <section anchor="slm-based-classification">
        <name>SLM-based classification</name>
        <t>When the rule-based stage cannot categorize a message (for example, due to absence of rule matches, conflicting rule matches, or ambiguous structure), the message is processed by an SLM-based semantic classification stage inside the Input Classifier.</t>
        <t>The SLM interprets context, semantics, and structure to assign the message to performance, configuration, or response. The model MAY be trained or fine-tuned on a curated corpus that includes historical multi-vendor network messages, telemetry logs, configuration commands, and operational responses, so that nuanced and vendor-specific formats can be handled using contextual cues (e.g., attention over token relationships and embeddings).</t>
      </section>
    </section>
    <section anchor="structurers">
      <name>Structurers</name>
      <t>After classification, the message is delivered to exactly one of three Structurers. Each Structurer interprets inputs that the Input Classifier has already labeled with the matching category. Because vendors represent performance, configuration, and response text in widely varying forms, each Structurer typically employs an SLM for adaptability, extraction, normalization, and confidence assignment. Structured records are then passed to the Prompt Schema Generator.</t>
      <section anchor="semantic-normalization">
        <name>Semantic Normalization</name>
        <t>A Structurer may need to reconcile vendor-specific terms, field names, and representations that refer to the same network management concept. For example, different vendors may represent the same receive-error metric as "rx_errors", "input errors", or "receive_errors". The Structurer maps such representations to a common representation before passing the structured record to the Prompt Schema Generator.</t>
        <t>Implementations may perform this mapping using explicit mapping rules or tables, controlled vocabularies or glossaries, semantic models or ontologies, knowledge graphs, SLM-assisted semantic matching, or a combination of these techniques. The choice of mechanism is implementation specific. SLM-assisted mappings may additionally use confidence information and human review, as described elsewhere in this document, when the mapping is uncertain.</t>
        <t>Determining which normalization techniques, or combinations of techniques, are most suitable for heterogeneous network management inputs is an area for further research. Relevant considerations include mapping accuracy, semantic preservation, coverage of previously unseen representations, explainability, extensibility, and operational cost.</t>
      </section>
      <section anchor="performance-structurer">
        <name>Performance Structurer</name>
        <t>The Performance Structurer processes inputs categorized as performance by the Input Classifier.</t>
        <t>Typical processing steps include:</t>
        <ol spacing="normal" type="1"><li>
            <t>Input reception: The structurer receives performance-labeled input (e.g., a line such as "Traffic load = 75%").</t>
          </li>
          <li>
            <t>Value extraction: The SLM extracts numeric and unit information (e.g., isolating "75" and "%"). Heterogeneous forms (e.g., ratios such as "8/10") MAY be converted to a comparable representation (e.g., 80%).</t>
          </li>
          <li>
            <t>Normalization: Values and units are normalized to a consistent representation appropriate to the metric. For example, equivalent ratios and percentages may be converted to a common scale, while throughput or latency values may be converted to consistent units.</t>
          </li>
          <li>
            <t>Confidence scoring: The SLM MAY assign high (well-recognized pattern), medium (ambiguous; flag for review), or low (unrecognized pattern). For low confidence, implementations MAY attach the raw network element input when sending output to the Prompt Schema Generator for human-in-the-loop review; feedback from that review MAY later be used to retrain or refine the Input Classifier and Structurers.</t>
          </li>
          <li>
            <t>Performance structuring: The structurer emits a structured representation to the Prompt Schema Generator in an implementation-defined format consistent with the chosen schema.</t>
          </li>
        </ol>
      </section>
      <section anchor="configuration-structurer">
        <name>Configuration Structurer</name>
        <t>The Configuration Structurer processes inputs categorized as configuration by the Input Classifier.</t>
        <t>Typical processing steps include:</t>
        <ol spacing="normal" type="1"><li>
            <t>Input reception: Configuration-labeled input is received (e.g., "Set interface bandwidth to 100 Mbps").</t>
          </li>
          <li>
            <t>Operation identification: The SLM detects the configuration operation (e.g., set, update, delete, enable, disable).</t>
          </li>
          <li>
            <t>Target identification: The structurer identifies the configuration target (e.g., interface bandwidth, firewall rule, routing policy).</t>
          </li>
          <li>
            <t>Value extraction: When present, parameter values are extracted (e.g., "100 Mbps"); some operations (e.g., "enable logging") MAY have no separate value beyond the operation and target.</t>
          </li>
          <li>
            <t>Normalization of targets: Vendor-specific phrases for the same concept (e.g., "interface bandwidth" vs. "link speed") are mapped to a standard target representation.</t>
          </li>
          <li>
            <t>Configuration structuring: A structured record is emitted to the Prompt Schema Generator in an implementation-defined format consistent with the chosen schema.</t>
          </li>
        </ol>
      </section>
      <section anchor="response-structurer">
        <name>Response Structurer</name>
        <t>The Response Structurer processes inputs categorized as response by the Input Classifier, using an SLM to cope with variability in how vendors phrase operational outcomes.</t>
        <t>Typical processing steps include:</t>
        <ol spacing="normal" type="1"><li>
            <t>Input reception: Response-labeled input is received (e.g., "Configuration applied successfully on interface Gi0/1").</t>
          </li>
          <li>
            <t>Response intent interpretation: The SLM determines the outcome category, such as success, failure, partial success, warning, timeout, or rejection; whether the message relates to a prior configuration action; and whether an explicit error condition is present.</t>
          </li>
          <li>
            <t>Error and context extraction: For failure or warning outcomes, the SLM MAY extract error reason, error code (if present), parameters involved, and affected object (e.g., interface, route, policy).</t>
          </li>
          <li>
            <t>Confidence assignment: High confidence MAY correspond to clear success/failure wording; medium to ambiguity; low to non-standard or unclear outcomes; raw input MAY be attached for the Prompt Schema Generator when confidence is low.</t>
          </li>
          <li>
            <t>Response structuring: A standardized structured representation is produced for the Prompt Schema Generator in an implementation-defined format consistent with the chosen schema.</t>
          </li>
        </ol>
        <t>The three structurers are distinct logical components; for a given message, only the structurer matching the Input Classifier's category is used. Implementations MAY pipeline batches such that multiple structured records are produced over time and assembled by the Prompt Schema Generator according to policy.</t>
      </section>
    </section>
    <section anchor="prompt-schema-generator">
      <name>Prompt Schema Generator</name>
      <t>The Prompt Schema Generator receives structured output from the active Structurer (performance, configuration, or response), optionally including raw input attachments and confidence metadata from low-confidence paths. It creates or selects a structured, vendor-agnostic schema appropriate to that category and message shape, and produces schema-aligned prompts for the central LLM.</t>
      <t>Functions of the Prompt Schema Generator in this context include:</t>
      <ul spacing="normal">
        <li>
          <t>Creating or selecting schemas that define structure, fields, types, and semantics of network management inputs in a form suitable for the central LLM, with schema choice driven by the classification and structurer output.</t>
        </li>
        <li>
          <t>Aligning normalized structured representations with a selected vendor-agnostic schema so the central LLM receives consistent input regardless of source.</t>
        </li>
        <li>
          <t>Feeding the schema and resulting prompts (or prompt context) to the central LLM for tasks such as troubleshooting, intent translation, and automation.</t>
        </li>
      </ul>
      <t>Implementations may use static schema definitions (e.g., based on common network management information models) or dynamically updated schemas. The Prompt Schema Generator aligns the normalized structured records produced by the Structurers with the selected schema and constructs schema-conformant prompts or prompt context for LLM invocation.</t>
    </section>
    <section anchor="output-and-downstream-use">
      <name>Output and Downstream Use</name>
      <t>The output of the framework is schema-aligned prompts (or prompt context) from the Prompt Schema Generator, derived from classified and structured multi-vendor input. Each prompt is associated with the performance, configuration, or response category assigned by the Input Classifier, with the schema used to create it. These prompts are supplied to the central LLM that performs network management (e.g., troubleshooting, intent translation, compliance analysis, or automation). Downstream components (e.g., prompt assembly, LLM invocation, or result parsing) use the category, structurer output, and schema alignment to choose models, templates, and response handling. The exact format and semantics of data passed from the Prompt Schema Generator to the central LLM are implementation defined.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The structure of this section is informed by the guidelines in <xref target="RFC3552"/>. Implementations of this framework in LLM-assisted network management should consider the following:</t>
      <ul spacing="normal">
        <li>
          <t>Network management inputs often contain sensitive data: credentials, topology, IP addressing, and configuration details. Data flows through the Input Classifier, the active Structurer, the Prompt Schema Generator, and the central LLM; each stage may expose this information. Implementations SHOULD apply data minimization (e.g., redacting or tokenizing secrets during classification, structuring, and schema generation), secure transport and storage for intermediate data, and policies that limit what is sent to external or cloud-hosted LLMs. Compliance with organizational and regulatory requirements for network and personal data SHOULD be ensured.</t>
        </li>
        <li>
          <t>Schema definitions and mapping rules determine what structure and fields are sent to the LLM. Schema generation or selection that relies on untrusted input can introduce injection or policy bypass risks. Implementations SHOULD validate and constrain schema content and SHOULD restrict who can create or modify schema definitions and vendor mappings.</t>
        </li>
        <li>
          <t>Incorrect classification or structuring can change which prompts and schemas are used and can affect prioritization and access control. Crafted inputs that are misclassified or misstructured could lead to incorrect LLM behavior, privilege escalation, or denial of service. Implementations SHOULD treat classifier and structurer output as advisory where security is critical and SHOULD apply additional checks before acting on LLM outputs that affect network configuration or access.</t>
        </li>
        <li>
          <t>Consolidating multi-vendor inputs increases attack surface: parsers, regex engines, SLM inference, schema mappings, and paths to the central LLM. Implementations SHOULD harden the Input Classifier, each Structurer, the Prompt Schema Generator, and any normalizers against malformed or malicious input and SHOULD monitor for abuse or unexpected classification patterns.</t>
        </li>
      </ul>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC3552">
          <front>
            <title>Guidelines for Writing RFC Text on Security Considerations</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="B. Korver" initials="B." surname="Korver"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>All RFCs are required to have a Security Considerations section. Historically, such sections have been relatively weak. This document provides guidelines to RFC authors on how to write a good Security Considerations section. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="72"/>
          <seriesInfo name="RFC" value="3552"/>
          <seriesInfo name="DOI" value="10.17487/RFC3552"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
cXtmAAA=

-->

</rfc>
