<?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.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-zl-agents-networking-framework-00" category="info" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Agents Networking Framework">Agents Networking Framework for Enterprise and Broadband</title>
    <seriesInfo name="Internet-Draft" value="draft-zl-agents-networking-framework-00"/>
    <author initials="L." surname="Zhang" fullname="Li Zhang">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>No. 156 Beiqing Road</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhangli344@huawei.com</email>
      </address>
    </author>
    <author initials="B." surname="Liu" fullname="Bing Liu">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>No. 156 Beiqing Road</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>leo.liubing@huawei.com</email>
      </address>
    </author>
    <author initials="N." surname="Geng" fullname="Nan Geng">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>gengnan@huawei.com</email>
      </address>
    </author>
    <author initials="X." surname="Shang" fullname="Xiaotong Shang">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>No. 156 Beiqing Road</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>shangxiaotong@huawei.com</email>
      </address>
    </author>
    <author initials="Q." surname="Gao" fullname="Qiangzhou Gao">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>No. 156 Beiqing Road</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>gaoqiangzhou@huawei.com</email>
      </address>
    </author>
    <author initials="Z." surname="Li" fullname="Zhenbin Li">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>No. 156 Beiqing Road</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>robinli314@163.com</email>
      </address>
    </author>
    <date year="2025" month="November" day="02"/>
    <area>rtg</area>
    <workgroup>rtgwg</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 77?>

<t>This document introduces agents networking framework and defines the core components of agent networking in enterprise and broadband, as well as typical interactions among these key components.</t>
    </abstract>
  </front>
  <middle>
    <?line 81?>

<section anchor="intro">
      <name>Introduction</name>
      <t>With the rapid development of artificial intelligence, single-agent systems have gradually revealed their limitations in handling complex, multi-task, and cross-domain scenarios. Agent networking, as a core paradigm for breaking through individual capabilities and achieving collective intelligence, has become a key trend in the future development of agents.</t>
      <t>This document introduces agents networking framework and defines the core components of agent networking in enterprise and broadband, as well as typical interactions among these key components.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>
        <?line -18?>

</section>
    </section>
    <section anchor="ioa-framework-and-components">
      <name>IoA framework and Components</name>
      <section anchor="overview-of-agents-networking">
        <name>Overview of Agents Networking</name>
        <t>The overall framework of agents networking is shown in <xref target="ref-to-fig1"/>.</t>
        <figure anchor="ref-to-fig1">
          <name>Agents Networking framework</name>
          <artwork><![CDATA[
    +-----+         +-----+         |       +-----+          +-----+
    |ACA 1|         | ARS1|-----------------| ARS2|          |ACA 2|
    +--+--+         +--+--+         |       +--+--+          +--+--+
       |               |            |          |                |
       +---+-----------+----+       |       +--+------------+---+
           |                |       |       |               |   
       +---+---+        +---+---+   |   +---+---+       +---+---+
       |       |        |       |   |   |       |       |       |
       |Agent a|--------|Agent b|   |   |Agent x|-------|Agent y|
       |       |        |       |   |   |       |       |       |
       +---+---+        +---+---+   |   +---+---+       +---+---+
           |                |       |       |               |
           |            +---+---+   |   +---+---+           |
           +------------| AGw 1 |-------| AGw 2 |-----------+
                        +---+---+   |   +---+---+
            Domain1                 |               Domain2
]]></artwork>
        </figure>
        <t>The framework of agents networking consists of four key components, the Agent Certificate Authority(ACA), the Agent Registration Server(ARS), the Agents, and the Agent Gateway(AGw).</t>
      </section>
      <section anchor="agent-certificate-authority">
        <name>Agent Certificate Authority</name>
        <t>An Agent Certificate Authority (ACA) is essentially a trusted third-party organization that issues and manages digital certificates for intelligent agents (Agents). Its core function is to ensure the authenticity of Agent identities and the security of their interactions. By issuing digital certificates that contain key data such as Agent identity information and public keys, it enables other Agents or systems to verify the identity of the Agent, preventing the access of counterfeit or malicious Agents.</t>
        <t>The major functions of ACA include Certificate Issuance and Certificate Management.</t>
        <ul spacing="normal">
          <li>
            <t>Certificate Issuance: It verifies the real identity of an Agent (including developer information, affiliated organization, functional permissions, etc.). After verification, a unique digital certificate is generated and issued.</t>
          </li>
          <li>
            <t>Certificate Management: It is responsible for the full-lifecycle management of certificates, including certificate renewal (renewal before the expiration of validity period) and revocation (when an Agent is deregistered or its key is leaked).</t>
          </li>
        </ul>
      </section>
      <section anchor="agent-registration-server">
        <name>Agent Registration Server</name>
        <t>An Agent Registration Server(ARS) is specifically responsible for Agent identity registration, capability profiling, and accurate discovery-matching. Acting as the "identity management center" and "resource directory library" in the Agent ecosystem. The major functions of ARS include agent registration, agent information management, and agent discovery. The ARS can be either centralized or distributed, but regardless of the form, information synchronization between different servers is essential. For easily deployment, the ARS also can be integrities in the AGw.</t>
        <ul spacing="normal">
          <li>
            <t>Agent registration: The agent sends a registration request with its information, upon the verification is passed, then the ARS generates a unique "resource ID" for the Agent, creates a profile in the "Agent Database" to record all the agent information.</t>
          </li>
          <li>
            <t>Information management: It is responsible for the full-lifecycle management of Agents profiles, including update (when a gent's information changes) and delete (when an Agent is discarded).</t>
          </li>
          <li>
            <t>Agent Discovery: The ARS maintains a dynamically updated "Agent Database" that records key information of all Agents registered at this ARS and synchronized from other ARSs. An agent needs collaboration just need to send a capability request to the ARS, then the ARS will quickly filter out matching target Agents and return them information to the requested agent.</t>
          </li>
        </ul>
      </section>
      <section anchor="ai-agents">
        <name>AI Agents</name>
        <t>The functions that should be supported for AI Agent interconnection include task orchestration, task management, and session management.</t>
        <ul spacing="normal">
          <li>
            <t>Task orchestration: It breaks down complex tasks into subtasks, assigns them to Agents with corresponding capabilities, and clarifies the collaboration process. Based on the capabilities of each Agent (e.g., a Flight Agent specializes in ticket booking, a Visa Agent specializes in visa processing), it plans the execution sequence and dependency relationships of tasks to ensure efficient resource utilization.</t>
          </li>
          <li>
            <t>Task Management: It tracks subtask progress, handles exceptions, and ensures the overall task progresses as planned. It monitors the execution status of each subtask (e.g., "pending," "in progress," "completed," "failed"), records task output results (such as flight confirmation numbers and visa documents), and addresses issues during execution.</t>
          </li>
          <li>
            <t>Session Management: It maintains the continuity and integrity of interactive sessions, ensuring historical information is traceable and context is not disconnected. It manages the lifecycle of conversations between Agents, records all interactive content (e.g., instructions, feedback, problem discussions), and provides contextual support for subsequent interactions to avoid repeated communication.</t>
          </li>
        </ul>
      </section>
      <section anchor="agent-gateway">
        <name>Agent Gateway</name>
        <t>An AGw essentially serves as a "Connection Hub" and "Security Steward" in the process of agent communication. Its core role is to resolve interconnection issues between different Agents of different domains while ensuring secure, efficient, and orderly communication. The AGw should support the following functions:</t>
        <ul spacing="normal">
          <li>
            <t>Route Management: When it comes to cross-domain agent communication, an agent or AGw may not be able to directly establish a connection with another agent in a different domain for some reasons. In such cases, the AGw needs to have routing management function. The routing management function generates dynamic routing entries based on Agent information advertised by other AGws, and guides message forwarding between cross-domain Agents—essentially acting as a "cross-domain traffic commander" for the Agent ecosystem.</t>
          </li>
          <li>
            <t>Security Protection: Agent communication may involve sensitive data (such as user privacy, core business data), and malicious external Agents may attempt to forge identities, steal data, or launch attacks. The AGw serves as a core barrier for security protection. The AGw should supports the identity verification of Agents, data encryption, and access control for agents.</t>
          </li>
          <li>
            <t>Traffic Control: If multiple Agents simultaneously send discovery requests to the AGw, or concentrate on initiating collaboration requests after finding target Agents, the AGw may become overloaded or the target Agents may crash. The AGw should impose traffic limits on discovery requests. For example, it sets a cap on the number of discovery queries per Agent per minute to prevent malicious Agents from occupying resources with frequent queries.</t>
          </li>
          <li>
            <t>Dual Translation (Protocol and Language): Agents may face two key obstacles to direct communication: inconsistent technical protocols and different natural language expressions. The AGw's translation function addresses both issues simultaneously to ensure seamless information transmission. On the one hand, it automatically identifies the communication protocol (e.g., HTTP, MQTT, gRPC, or custom protocols) and data format (e.g., JSON, Protobuf) used by the sending Agent, then converts them into the standard protocol/format supported by the receiving Agent. On the other hand, it handles natural language differences between Agents (e.g., Agent X uses English to send "Book a twin room" while Agent Y only understands Chinese). The AGw automatically translates the content into the target language, ensuring the receiving Agent accurately grasps the semantic intent without additional language adaptation.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="interactions-of-agents-networking-framework">
      <name>Interactions of Agents Networking framework</name>
      <section anchor="interactions-between-agents-and-acas">
        <name>Interactions between Agents and ACAs</name>
        <section anchor="certificate-application">
          <name>Certificate Application</name>
          <t>This is the most fundamental first interaction between an agent and an ACA. Its purpose is to enable the Agent to pass the ACA's verification and obtain a digital certificate that proves its legitimacy. It includes three steps:</t>
          <ul spacing="normal">
            <li>
              <t>Application request: The Agent sends a certificate application to the CA, along with key supporting materials. These materials include identity-verifying information (such as the qualification documents of its affiliated organization, the identity of its developer), the Agent's own attributes (such as function type, permission scope, skills), and a public key for subsequent encrypted communication (the Agent retains the corresponding private key and does not disclose it to external parties).</t>
            </li>
            <li>
              <t>Application verification: After receiving the application, the ACA checks the authenticity and compliance of the materials. For example, it verifies whether the organization's qualifications are valid, whether the public key meets encryption standards, and whether the Agent's functions fall within permitted scopes. If no issues are identified, the application is approved.</t>
            </li>
            <li>
              <t>Certificate generation: Upon approval, the ACA generates a digital certificate containing specific information. This information includes the Agent's identity details, public key, certificate validity period, and the ACA's digital signature (used to prove the certificate is legally issued by the CA). The CA then sends this certificate to the applying Agent.</t>
            </li>
          </ul>
        </section>
        <section anchor="certificate-management">
          <name>Certificate Management</name>
          <t>A certificate is not permanently valid. The Agent must cooperate with the ACA to complete operations such as renewal and revocation, ensuring the "digital identity" remains valid and secure.</t>
          <ul spacing="normal">
            <li>
              <t>Certificate status query: The Agent can send a query request to the ACA at any time to confirm the current status of its certificate—such as whether it is still within the validity period or has been revoked due to abnormal circumstances. This allows the Agent to identify and resolve certificate-related issues promptly (e.g., applying to the CA for recovery if the certificate was incorrectly revoked).</t>
            </li>
            <li>
              <t>Certificate renewal: When the certificate is about to expire, the Agent proactively sends a renewal request to the ACA, along with the soon-to-expire old certificate. If its identity information (such as affiliated organization, permissions) has not changed, the application materials can be simplified. After the ACA approves the request, it generates a new certificate with an updated validity period and sends it to the Agent. The Agent replaces the old certificate with the new one to ensure the identity credential remains valid.</t>
            </li>
            <li>
              <t>Certificate revocation application: If the Agent experiences issues such as private key leakage, permanent deactivation of functions, or deregistration of its affiliated organization, the Agent (or its administrator) sends a certificate revocation request to the ACA to invalidate the currently held certificate. After confirming the request's legitimacy, the ACA adds the certificate to the "Certificate Revocation List (CRL)" to prevent the invalid certificate from being misused by others.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="interactions-between-agents-and-arss">
        <name>Interactions between Agents and ARSs</name>
        <section anchor="registration">
          <name>Registration</name>
          <t>An Agent must first complete registration with the ARS before it can be discovered by other Agents and participate in collaboration. This is the foundational interaction between the two parties. It includes three steps:</t>
          <ul spacing="normal">
            <li>
              <t>Registration request: The Agent sends a registration request to the ARS, accompanied by its information. This includes its identifier (e.g., Agent name), description of core capabilities (e.g., "hotel booking," "data format conversion"), supported communication protocols/languages (e.g., HTTP, Chinese), and credentials for identity verification (e.g., a digital certificate issued by an ACA).</t>
            </li>
            <li>
              <t>Registration verification: The ARS verifies the legitimacy of the Agent's identity (e.g., checking if the CA certificate is valid) and confirms the completeness of the registration information. Upon successful verification, the ARS creates a profile for the Agent in its "Agent Database," recording key data such as the Agent's capabilities, online status, and communication address to complete the registration.</t>
            </li>
            <li>
              <t>Registration response: The ARS feeds back results ("registration successful" or "registration failed," e.g., due to failed identity verification or missing information) to the Agent.</t>
            </li>
          </ul>
        </section>
        <section anchor="information-management">
          <name>Information Management</name>
          <t>After registration, the Agent needs to continuously interact with the ARS to update its status and information, preventing the ARS's profile from becoming "outdated" and causing other Agents to match invalid resources.</t>
          <ul spacing="normal">
            <li>
              <t>Information update: If an Agent upgrades its capabilities or changes its communication address (e.g., IP change due to server migration), it needs to proactively send an "information update request" to the ARS with the updated content. After review, the ARS updates the corresponding profile information to ensure the accuracy of subsequent query results.</t>
            </li>
            <li>
              <t>Agent deregistration: When the Agent needs to go offline permanently (e.g., function deactivation, dissolution of the affiliated entity), it sends a "deregistration request" to the ARS with the resource ID. Upon receipt, the ARS marks the Agent's profile as "deregistered" or deletes it from the "discoverable resource pool" to avoid invalid queries.</t>
            </li>
          </ul>
        </section>
        <section anchor="agents-discovery">
          <name>Agents Discovery</name>
          <t>This is the core service provided by ARS for agents, which helps them quickly identify target agents that can solve problems through multi-dimensional filtering, avoiding random searches, it includes two steps.</t>
          <ul spacing="normal">
            <li>
              <t>Discovery request: If an Agent needs a collaborator with agents supporting specific capabilities, it sends a discovery request to the ARS, specifying the capabilities and associated other requirements.</t>
            </li>
            <li>
              <t>Discover response: Based on the request criteria, the ARS filters matching target Agents from the "Agent Database" and feeds back the agent information to Agent A, if the target Agents are in other domains, the returned communication address should be the AGw addresses of those domains.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="interactions-between-agents-and-agws">
        <name>Interactions between Agents and AGws</name>
        <t>When an agent needs to communicate with an agent in another domain, the Communication sessions need to go through the AGw (When the two agents are within a single domain, whether a communication session needs to go through a AGw can be determined as requirements).</t>
        <t>Interactions between an Agent and an AGw revolve around two core scenarios: status maintenance and collaboration support.</t>
        <section anchor="status-maintenance">
          <name>Status Maintenance</name>
          <t>During the Agent's operation, ongoing interactions between the two parties are required to ensure stable and secure collaboration, primarily involving status synchronization and exception handling.</t>
          <ul spacing="normal">
            <li>
              <t>Agent access: An agent should send an access request to the AGw to make it reachable by agents in other domains. The AGw reviews its information and verifies its signature. If the verification passed, then the AGw will create a record for it and advertise the agent information to other AGws.</t>
            </li>
            <li>
              <t>Status synchronization: After accessed, the Agent regularly sends "heartbeats" (e.g., every 30 seconds) to the AGw to synchronize its online status (e.g., "running normally," "temporarily offline"). If the AGw does not receive a "heartbeat" for an extended period, it marks the Agent's status as "offline" and temporarily removes it from the collaborative list, and synchronizes this information to other potentially associated AGw to prevent other Agents from initiating invalid requests.</t>
            </li>
            <li>
              <t>Deregistration request: If an Agent needs to stop services, it proactively sends a deregistration request to the AGw. After receiving the request, the AGw deletes the Agent's record, and synchronizes this information to other potentially associated AGws to complete the exit process.</t>
            </li>
          </ul>
        </section>
        <section anchor="collaboration-support">
          <name>Collaboration Support</name>
          <t>When an Agent needs to collaborate with other Agents, the AGw provides support for "removing communication barriers". It is composed by two phases.</t>
          <ul spacing="normal">
            <li>
              <t>Transformation: When the AGw receives the message send by the request agent with a translation request, the AGw first decapsulates the received packet, extracting the original content from the message. Then, it performs necessary adaptations, such as translating the content into the target language or converting the data structure to match the target protocol. Finally, the AGw re-encapsulates the adapted content into the target Agent's protocol format and forwards it.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="interactions-between-agws-and-agws">
        <name>Interactions between AGws and AGws</name>
        <t>Interactions between an AGw and an AGw revolve around four core phases: AGw interconnection, resources synchronization, status synchronization, and relay forwarding.</t>
        <section anchor="agw-interconnection">
          <name>AGw Interconnection</name>
          <t>This phase completes mutual identity verification and initial status synchronization between AGws.</t>
          <ul spacing="normal">
            <li>
              <t>Interconnection request: The initiating AGw sends an interconnection request(the request and ) to the receiving AGw, enclosing core information: its unique AGw ID, supported protocols, identity certificate, and current basic operational status.</t>
            </li>
            <li>
              <t>Interconnection response: The receiving AGw verifies the initiating AGw's identity and protocol compatibility. If valid, it feeds back its own basic information and records AGw A's initial information in its "AGw Neighbor List". If the verification failed, then it rejects the request.</t>
            </li>
          </ul>
        </section>
        <section anchor="resources-synchronization">
          <name>Resources Synchronization</name>
          <t>Resource synchronization and status maintenance focuses on sharing static/dynamic information of registered Agents, ensuring AGws can accurately locate potential collaboration partners across domains.</t>
          <ul spacing="normal">
            <li>
              <t>Resource synchronization: AGws exchange the summary of registered agents' information, including Agent ID, core capabilities (e.g., "flight booking", "real-time translation"), and supported communication protocols/languages (e.g., gRPC, Chinese). The Synchronization take place whenever a new AGw peer is established or the registered agents' key information changes.</t>
            </li>
          </ul>
        </section>
        <section anchor="status-maintenance-1">
          <name>Status Maintenance</name>
          <t>The Status Maintenance of AGws is used to ensure the peer AGws are online and reachable.</t>
          <ul spacing="normal">
            <li>
              <t>Status synchronization: When the interconnection is established, the AGws regularly sends "heartbeats" (e.g., every 30 seconds) to the peer AGws to synchronize its online status (e.g., "running normally," "temporarily offline"). If the AGw does not receive a "heartbeat" for an extended period, it marks the AGw's status as "offline" and temporarily removes it from the peer list, and set the "applicability" attribut of agents registered at that peer AGw as inapplicable.</t>
            </li>
            <li>
              <t>Disconnection request: If an AGw needs to stop services, it proactively sends a disconnection request to its peer AGw. After receiving the request, the peer AGw deletes the AGw from its peer list, and remove the Agents registered at that peer AGw from the "Agent Database".</t>
            </li>
          </ul>
        </section>
        <section anchor="relay-forwarding">
          <name>Relay Forwarding</name>
          <t>Relay Forwarding leverages pre-synchronized resource and status data to enable seamless data transmission between cross-AGw Agents.</t>
          <ul spacing="normal">
            <li>
              <t>When an AGw receives a packet from its agents to an agent in another domain, it will decapsulates the packet and get the "agent ID" of the target agent. Then it looks up the routing table to get the target AGw and forward the packet to it (during the forwarding, the packet will be encapsulated to adapt to the target agent).</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="interactions-between-arss">
        <name>Interactions between ARSs</name>
        <t>Interactions between ARS focus on "breaking resource silos". Through cross-ARS information synchronization, they enable Agent resources managed by different ARSs to be globally discoverable and collaborable in a trusted manner. The detailed interactions between ARS can be quit different among different ARS forms, it depends on the implement manner of ARS.</t>
        <t>Editors' note: typical interactions between ARS will be provide in future.</t>
      </section>
    </section>
    <section anchor="operational-and-manageability-considerations">
      <name>Operational and Manageability Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>TBD</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
        <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" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
        <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>
    <?line 310?>



  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA91c2XbcRnq+5zl6h0rrwmLU3WNqnMkMz2RmKFKSmaPFJuV4
yclFNVDdXRYagFAAqbblOXmIPECeJY+SJ8m/1YYG5SWei8QXFhsNVP31r9+/
oBeLxb2j3vaVOVVnG1P3Tr00/W3TvbH1Rj3t9M7gB7VuOvWk7k3XdtYZpetS
Pe4aXa7gr3tHerXqzM0HV7h3VDZFDR9OVdnpdb/4rlpoun1Rh9sXa3/74uOP
7x01K9dUpjfu9N7R0Jaa/8J/4Z8C/tk03f5U2Xrd3Dtyw2pnnbNN/Xrfwi6X
T14/vXd078i23anqu8H1jz7++A8fPwJqO6NPVddv7h3hVpuuGVr6fAtX3pg9
XCzheTwtkLa4QHJxJT3026Y7xT+BabCtO1XPl+qbra7hQcWHe27Dhabb6Np+
p3ug6VR9OuhbY9VrU2zrpmo21ji4x+y0rU7Vd/hIZX/7ySd/2dJ9y6LZwdeu
74zpT9XLZqlO/uF36rGxb5GtV8B6+LqwPZwfLn5raceiGeoeWXK+tbXOCH28
BNKGQOZjXIUv/AwyK9MsKzus4OG/FZ0vl+qZSfj5Utf+ws8gFBRrU+s6J/Jn
UPHVUl1nYv3K6qZv4ETXP1+4Dh95Jwv8qnwL9H4OXNNNoPZzCzt+t20Gufpz
OKebt/7pv5WMv0FdDMR+szU1aBRf+hmUdg08BTZz8slfTn7321+LyHtHddPt
YP8bQ5aOziX9vFwu6SyLhdIr2E0X5Bteb61T4OGGHbg0OGXfNeVQGKfYx6no
41TwceRFS7O2NdzXbw1Q0+H/dm1T00PNmh9PnwZGmdwPr7wfnivt1K2pKvy3
37e20BWSYpBI4CcQs0MVhq3gUXB0yV7hUDtblpXBT/fRBdIx8GH1/X061Q/4
1Ze23xLFnW4tnuHGVE1LR0eau96ubWFl96qycIjCzJWDA1SG3b5ye9ebnVNb
fWPUptPloKtqryCOGF2ZEpe3narszvaaqYejgyWVFbIBKa/Mu7naDVVvF712
b+bEjaJrnFuUDehIrVxhat3Zxi05NCWMJGZpZnmrYXu72VGUg0imidP9FgLD
ZgvblvbGInmq0K1e2cr2FiULu+lia80NE1RVpkA1GR16C/usDNAL0iKmg4bC
k0AdMnA99ANQMObgJsjk/4Vi3b+vrszbwXZmR/s/BwczAAV8QH4Eo65Tsxdf
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
2nRt/O1MRLsc8/8HXVUuZldZAAA=

-->

</rfc>
