<?xml version="1.0" encoding="utf-8"?>
<rfc category="std" docName="draft-sz-dmsc-iaip-01" ipr="trust200902"
     submissionType="IETF" version="3">
  <front>
    <title abbrev="IAIP">Intent-based Agent Interconnection Protocol at Agent
    Gateway</title>

    <author fullname="Sheng Sun" initials="S." surname="Sun">
      <organization>ICT, CAS</organization>

      <address>
        <email>sunsheng@ict.ac.cn</email>
      </address>
    </author>

    <author fullname="Xinyi Zhang" initials="X." surname="Zhang">
      <organization>CNIC, CAS</organization>

      <address>
        <email>xyzhang@cnic.cn</email>
      </address>
    </author>

    <author fullname="Qiangzhou Gao" initials="Q." surname="Gao">
      <organization>Huawei Technologies</organization>

      <address>
        <email>gaoqiangzhou@huawei.com</email>
      </address>
    </author>

    <author fullname="Min Liu" initials="M." surname="Liu">
      <organization>ICT, CAS</organization>

      <address>
        <email>liumin@ict.ac.cn</email>
      </address>
    </author>

    <author fullname="Yuwei Wang" initials="Y." surname="Wang">
      <organization>ICT, CAS</organization>

      <address>
        <email>ywwang@ict.ac.cn</email>
      </address>
    </author>

    <date month="April" year="2026"/>

    <area>General</area>

    <workgroup>DMSC Working Group</workgroup>

    <abstract>
      <t> This document specifies the Intent-based Agent Interconnection
      Protocol (IAIP) operating at the Agent Gateways (AG), which defines the
      interaction mechanisms between AI Agents (at the Agent Domain) and the
      AG (at the Interconnection Services Domain). This specification focuses
      on dynamic interconnection among agents based on semantic intent, rather
      than static network addressing alone. This protocols defines the
      mechanisms for agent registration via capability advertisement, Gateway
      Validation, Intent Resolution and Matching, Routing Decisions and
      Forwarding, enabling the discovery, selection and dispatching of intent
      queries based on agent capabilities and task requirements at AG. </t>
    </abstract>
  </front>

  <middle>
    <section anchor="intro">
      <name>Introduction</name>

      <t>The emergence of agentic networks marks a fundamental shift from
      static, address-based networking to semantic, intent-driven
      interactions. Autonomous agents powered by advanced artificial
      intelligence models are capable of reasoning, planning, and executing
      tasks on behalf of users or other agents. Interactions are increasingly
      expressed in terms of high-level objectives or natural language intents,
      rather than predefined service endpoints or static interfaces.</t>

      <t>Traditional networking and service discovery mechanisms assume that
      communication targets are identified by fixed addresses, names, or
      service identifiers. These assumptions no longer hold in agentic
      environments, where the appropriate execution entity for a request may
      depend on semantic interpretation, contextual constraints, and dynamic
      system conditions. As a result, routing decisions based solely on static
      addressing or preconfigured bindings are insufficient to support
      flexible and scalable agent collaboration.</t>

      <t>Intent-based interconnection addresses this gap by enabling the Agent
      Gateway to resolve and forward requests according to their semantic
      intent, rather than their destination address. By decoupling request
      dispatch from rigid topology and static identifiers, intent-based
      interconnection allows autonomous agents to be dynamically discovered,
      selected, and invoked based on their advertised capabilities.</t>

      <t>This document introduces the Intent-based Agent Interconnection
      Protocol (IAIP) to provide a standardized mechanism for capability-based
      registration and validation, intent-aware discovery and routing at AG.
      IAIP is designed to operate as an application-layer protocol for
      interconnection service domain, complementing existing transport and
      networking infrastructure without requiring changes to underlying
      transport protocols.</t>
    </section>

    <section anchor="conventions">
      <name>Conventions</name>

      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in &lt;xref
      target="RFC2119"/&gt;.</t>
    </section>

    <section anchor="terminology">
      <name>Terminology</name>

      <dl>
        <dt>AI Agent</dt>

        <dd>An agent is a software or hardware entity with autonomous
        decision-making and execution capabilities, capable of perceiving the
        environment, acquiring contextual information, reasoning, and
        learning.</dd>

        <dt>Agent Gateway (AG)</dt>

        <dd>A Functional Component in the Interconnection Service Domain that
        possesses the capbilities of agent registration, capbility
        authentication, intent resolution and estabilishing interconnection
        betweens agents.</dd>

        <dt>Intent</dt>

        <dd>
          <t>A declarative expression of a desired outcome. In the
          intent-driven routing protocol, intent is represented at three
          conceptual layers: </t>

          <ul>
            <li><strong>Human Intent: </strong>A high-level, possibly
            ambiguous expression originating from a human user or application
            (e.g., natural language input). Human Intent is out of scope for
            the protocol. </li>

            <li> <strong>Task Intent: </strong>An abstract, task-oriented
            description that captures the objective of a request, independent
            of any specific agent, algorithm, or execution plan. </li>

            <li> <strong>Intent Descriptor: </strong>A structured,
            machine-interpretable representation of Task Intent used within
            IAIP for routing and dispatching decisions. </li>
          </ul>
        </dd>

        <dt>Leader Agent (LA)</dt>

        <dd>Agent who issues tasks and launches interactions. There should
        only be one Leader Agent in a complete task execution process.</dd>

        <dt>Partner Agent (PA)</dt>

        <dd>Agent who accepts tasks and provides services. After Partner Agent
        receives a task from the Leader Agent, it executes and returns the
        execution result.</dd>
      </dl>
    </section>

    <section anchor="problem">
      <name>Problem Statement and Use Cases</name>

      <section anchor="limitations">
        <name>Limitations of Address-Based Static Interconnection</name>

        <t> Existing network interconnection and gateway mechanisms are
        predominantly organized around static identifiers, such as network
        addresses, domain names, or service labels. At the application and
        service-dispatch layer, these mechanisms assume that the functionality
        associated with a agent behind a gateway is stable, explicitly
        addressable and functionally static. While effective for traditional
        client-server and microservice architectures, this assumption becomes
        increasingly inadequate for the dynamic interconnection required by
        agentic networks. </t>

        <t> First, traditional interconnection protocols provide limited
        support for expressing semantic intent. High-level requests such as
        "analyze this dataset" or "resolve a billing issue" do not naturally
        correspond to a single predefined endpoint. Encoding semantic meaning
        into static addresses or service names requires manual configuration
        and tight coupling between task requesters and service providers,
        which undermines flexibility and scalability. </t>

        <t> Second, static interconnection lacks adaptability to dynamic
        lifecycle of AI Agents. In the Agent Domain, agents may be
        instantiated, fine-tuned, or deprecated rapidly based on computational
        load or task requirements. Static bindings or name-based resolution
        mechanisms are generally unable to reflect real-time changes in
        agent's availability or intent-processing capacity, leading to service
        selection or routing dispatch failures. </t>

        <t> Third, existing protocols offer limited support for intent-aware
        resolution. When a request arrives at the gateway without a specific
        destination address, traditional gateway have no mechanism to parse
        the intent and match it against a local registry of vector-based
        capabilities. This behavior is misaligned with agentic workflows,
        where ambiguous or underspecified intents are common and may require
        clarification, delegation, or escalation to more generalist agents.
        </t>

        <t> These limitations motivate the need for an intent-driven
        interconnection protocol specifically at the Agent Gateway that can
        manage registration and routing based on semantic intent and
        dynamically advertised capabilities, rather than relying solely on
        fixed addresses or static identifiers. This protocol addresses these
        challenges by transforming the gateway from a static packet forwarder
        into a semantic ingress/egress point, enabling establishing agent
        interconnection while maintaining compatibility with the
        Interconnection Service Domain.</t>
      </section>

      <section anchor="usecase">
        <name>Representative Use Case</name>

        <t> The following example illustrates a typical use case of the
        Intent-based Agent Interconnection Protocol operating at the Agent
        Gateway. </t>

        <t> A Customer Service Dispatcher Agent, acting as the Leader Agent,
        transmits a user inquiry to the AG for intent resolution and service
        response. Specialized Partner Agents (Billing, Technical Support,
        Sales) have previously registered their specific semantic domains with
        the AG. For explicit queries like "My credit card was charged twice,"
        the AG identifies a high-confidence semantic match and routes the
        request to the Billing Agent. Upon completion, the AG relays the
        result back to the Leader Agent. Conversely, when handling ambiguous
        inputs (e.g., "I'm having a bad experience") where semantic similarity
        scores fail to meet the required confidence threshold, the AG
        encapsulates the intent and forwards the intent to a Generalist
        Fallback Agent. This mechanism ensures the request is constructively
        resolved via clarifying questions or human escalation, thereby
        preventing service failure. </t>
      </section>
    </section>

    <section anchor="Function_Components">
      <name>Function Components</name>

      <t>Figure 1 illustrates the interaction diagram between AI agent and
      Agent Gateway.</t>

      <figure anchor="fig_interaction">
        <name>Interaction Diagram between AI Agent and Agent Gateway</name>

        <artwork align="left" type="ascii-art" xml:space="preserve">[Agent Domain]                [Interconnection Service Domain]        
   +-----------+      IAIP       +---------------+                    
   |  AI Agent | &lt;-------------&gt; | Agent Gateway | &lt;---&gt; [Core Router]
   +-----------+                 +---------------+                    </artwork>
      </figure>

      <t>To support the interaction with AI Agents, the AG MUST implement the
      following specific Functional Components within the Interconnection
      Service Domain.</t>

      <ul>
        <li><strong>Local Capability Registry (LCR): </strong>The LCR
        maintains a dynamic database of attached Agents. The function of LCR
        is to store the Capability Profile of each registered agent. When an
        Agent sends the capability updating request, the LCR updates the
        mapping.</li>

        <li><strong>Agent Access Component (AAC): </strong>The AAC serves as
        the termination point for the interconnection session between the AI
        Agent and the Agent Gateway. The function of AAC is to manage
        authentication, maintain session lifecycle, and verify message
        integrity. When an AI Agent initiates a connection or transmits a
        message, the AAC validates the agent's identity credentials and
        establishes the interconnection for message forwarding.</li>

        <li><strong>Intent Forwarding Routing (IFR): </strong>The IFR serves
        as the dynamic routing decision engine within the Agent Gateway for
        forwarding intent-based requests. Its primary function is to map
        normalized intent vectors-derived from incoming task semantics-to a
        set of eligible Partner agents. Based on real-time capability matching
        scores, performance metrics (e.g., latency, success rate, and resource
        availability), and policy constraints, the IFR selects the optimal
        next-hop Partner agent for request forwarding.</li>
      </ul>
    </section>

    <section anchor="Protocol_Overview">
      <name>Protocol Overview</name>

      <t> The protocol functions in two primary phases. </t>

      <ul>
        <li><strong>Phase 1: Agent Registration &amp; Capability
        Advertisement.</strong>This phase establishes the trust domain and
        service mesh. Both Leader Agents and Partner Agents MUST complete
        Identity Registration with the Agent Gateway (AG) to obtain the
        verifiable Agent Identity Code (AIC). Following identity registration,
        Partner Agents (or agents acting in a service-provisioning role) MUST
        additionally perform Capability Advertisement to publish their
        functional profiles to the Local Capability Registry (LCR).</li>

        <li><strong>Phase 2: Intent-based Routing and Forwarding.
        </strong>This phase establishes intent-based interconnection. The
        Leader Agent submits its intent. The AG resolves it against the LCR
        and IFR, selects suitable Partner Agents, and facilitates the
        connection.</li>
      </ul>

      <t>Figure 2 illustrates the updated two-stage processing pipeline
      between AI Agents and AG.</t>

      <figure anchor="fig_overview">
        <name>Two-Stage Processing Flow of IAIP</name>

        <artwork align="left" type="ascii-art" xml:space="preserve">+--------------+      +------------------------+      +--------------+
| Leader Agent |      |     Agent Gateway      |      | Partner Agent|
|(Intent Init.)|      |(Interconnection Domain)|      |(Intent Exec.)|
+------+-------+      +-----------+------------+      +-------+------+
       |                          |                           |       
       |   Phase 1: Registration &amp; Capability Advertisement   |       
       |                          |                           |       
       |--(1) Identity Reg ------&gt;|                           |       
       |      [ACP-IF-01]         |&lt;------(1) Identity Reg ---|       
       |                          |         [ACP-IF-01]       |       
       |                          |                           |       
       |                          |&lt;------(2) Publish Cap ----|       
       |                          |         [ACP-IF-06]       |       
       |                          |                           |       
       |                          |---(3) Sync to ADMgF ------|       
       |                          |---(4) Trust Check (DTMgF)-|       
       |                          |                           |       
       |       Phase 2: Intent-based Routing &amp; Execution      |       
       |                          |                           |       
       |--(5) Submit Intent -----&gt;|                           |       
       |      [Signed Vector]     |                           |       
       |                          |---(6) Resolve Intent -----|       
       |                          |       Match &amp; Filter      |       
       |                          |                           |       
       |&lt;-----(7) Cand. List -----|                           |       
       |      [Ranked + Sig]      |                           |       
       |                          |                           |       
       |-(8) Verify &amp; Select -----|                           |       
       |                          |                           |       
       |==========(9) Routing and Execution =================&gt;|       
       |          [E2E via ACP-IF-08/09]                      |       
       |======================================================|          </artwork>
      </figure>

      <t>
        <strong>Phase 1: Agent Registration &amp; Capability
        Advertisement</strong>
      </t>

      <t>This stage is the prerequisite for any agent participation. It
      involves Identity Registration (mandatory for all) and Capability
      Publication (mandatory for service providers). The steps are as
      follows:</t>

      <ul>
        <li><strong>Step1: </strong>Identity Registration (Leader &amp;
        Partner). Any Agent (whether Leader or Partner) MUST register its
        identity with the Agent Gateway using the ACP-IF-01 interface (between
        AIMF in the agent and AIMgF in the AG). This establishes a verifiable
        Agent Identity Code (AIC) and exchanges cryptographic credentials
        required for future intent signing (Leader) or service execution
        (Partner).</li>

        <li><strong>Step2: </strong>Capability Publication (Partner Agent).
        The Partner Agent publishes a structured capability description (e.g.,
        supported task types, performance bounds, resource constraints) to the
        Agent Gateway via the ACP-IF-06 interface (ADMF &lt;-&gt; ADMgF).
        Note: If a Leader Agent also wishes to serve tasks, it MUST also
        perform this step.</li>

        <li><strong>Step3: </strong>Synchronization to Interconnection Service
        Domain. The Agent Gateway forwards the capability description to the
        Agent Description Management Function (ADMgF) in the Interconnection
        Service Domain. ADMgF persists the data and synchronizes it to the
        Agent Discovery Function (ADF) for indexing.</li>

        <li><strong>Step4: </strong>Trust Scope Enforcement. The Domain Trust
        Management Function (DTMgF) applies domain federation policies to
        determine whether the registered Agent is authorized to operate within
        the specific trust domain. Only authorized capabilities are made
        queryable via ADF.</li>
      </ul>

      <t>
        <strong>Phase 2: Intent-based Routing and Forwarding</strong>
      </t>

      <t>This stage is triggered when a registered Leader Agent submits a
      semantic intent request. The Agent Gateway resolves and routes the
      intent to eligible Partner Agents. The steps are as follows:</t>

      <ul>
        <li><strong>Step5: </strong>Intent Submission. The Leader Agent sends
        a signed semantic intent vector to the Agent Gateway. The signature
        MUST be generated using the credentials established in Step 1. The
        payload contains abstract task semantics.</li>

        <li><strong>Step6: </strong>Intent Resolution and Candidate Matching.
        The Agent Gateway invokes the ACP-IF-07 interface to query the ADF.
        The IFR (Intent Forwarding Routing Table) performs semantic matching
        against the LCR, filtering based on trust scopes, and ranking
        candidates.</li>

        <li><strong>Step7: </strong>Candidate Agents Return. The Gateway
        returns a ranked list of eligible Partner Agents to the Leader Agent.
        </li>

        <li><strong>Step8: </strong>Leader-side Verification and Selection.
        The Leader Agent verifies the gateway's signature and selects one or
        more Partners based on local policy.</li>

        <li><strong>Step9: </strong>Routing and Execution. The Leader Agent
        establishes a direct end-to-end session with the selected Partner
        Agent(s) using ACP-IF-08 for point-to-point interaction, or ACP-IF-09
        for grouping-mode collaboration. All task payloads are transmitted
        over this encrypted channel.</li>
      </ul>
    </section>

    <section anchor="message-formats">
      <name>Message Formats</name>

      <t>This section specifies the binary structure of IAIP messages. The
      protocol uses a Type-Length-Value (TLV) design to ensure extensibility,
      as shown in Figure 3. </t>

      <figure anchor="fig_msg">
        <name>IAIP message format</name>

        <artwork align="left" type="ascii_art" xml:space="preserve">+--------------------------------------------------------------------+
|                      IAIP Message (TLV-based)                      |
+--------------------------------------------------------------------+
|                                                                    |
|  +-------------------+------+-----------------------------------+  |
|  | Type              | Len  | Value                             |  |
|  +-------------------+------+-----------------------------------+  |
|  | Common Header TLVs                                           |  |
|  +-------------------+------+-----------------------------------+  |
|  | VERSION           | 1    | Protocol version                  |  |
|  | MSG_TYPE          | 1    | INTENT_REQ / CAP_ADV / ERROR      |  |
|  | MSG_ID            | var  | Unique message identifier         |  |
|  | SENDER_ID         | var  | Source agent / router ID          |  |
|  | RECEIVER_ID       | var  | Target agent / router ID          |  |
|  | TIMESTAMP         | 8    | Unix time / logical time          |  |
|  | TTL / EXPIRY      | 4    | Validity / hop limit              |  |
|  | CORRELATION_ID    | var  | Request-response correlation      |  |
|  | INTEGRITY_TAG     | var  | MAC / signature                   |  |
|  +-------------------+------+-----------------------------------+  |
|                                                                    |
|  +-------------------+------+-----------------------------------+  |
|  | Payload TLVs (depend on MSG_TYPE)                            |  |
|  +-------------------+------+-----------------------------------+  |
|                                                                    |
|  -- CAPABILITY ADVERTISEMENT (CAP_ADV) --------------------------  |
|  | AGENT_ID          | var  | Advertising agent identifier      |  |
|  | ENDPOINT          | var  | Network / logical endpoint        |  |
|  | FUNC_DESC         | var  | Functional descriptors            |  |
|  | INTENT_DOMAINS    | var  | Supported intent types            |  |
|  | IO_SCHEMA         | var  | Input/output constraints          |  |
|  | PERF_METRICS      | var  | Latency, success rate, etc.       |  |
|  | RESOURCE_LIMITS   | var  | Token / compute budget            |  |
|                                                                    |
|  -- CAPABILITY REFRESH (CAP_REFRESH) ----------------------------  |
|  | AGENT_ID          | var  | Agent identifier                  |  |
|  | TTL_UPDATE        | 4    | Extended lifetime                 |  |
|  | METRIC_DELTA      | var  | Updated performance metrics       |  |
|                                                                    |
|  -- CAPABILITY DEREGISTER (CAP_DEREGISTER) ----------------------  |
|  | AGENT_ID          | var  | Agent identifier                  |  |
|  | REASON_CODE       | 2    | Deregistration reason             |  |
|  | EFFECTIVE_TIME    | 8    | Time of effect                    |  |
|                                                                    |
|  -- INTENT REQUEST (INTENT_REQ) ---------------------------------  |
|  | OBJECTIVE         | var  | Task objective                    |  |
|  | CONSTRAINTS       | var  | Preferences / limits              |  |
|  | CONTEXT           | var  | Context metadata                  |  |
|  | PRIORITY          | 1    | Request priority                  |  |
|  | BUDGET            | var  | Cost / token budget               |  |
|  | PRIVACY_FLAG      | 1    | Intent privacy level              |  |
|  | OBFUSCATED_INTENT | var  | Encrypted / masked intent         |  |
|                                                                    |
|  -- ROUTE DECISION / INTENT RESPONSE ----------------------------  |
|  | TARGET_AGENT_LIST | var  | Selected target agent(s)          |  |
|  | MATCH_CONFIDENCE  | var  | Similarity / rank score           |  |
|  | FORWARDING_INFO   | var  | Next-hop / endpoint               |  |
|  | FALLBACK_INDIC.   | 1    | Fallback used?                    |  |
|                                                                    |
|  -- ROUTING FEEDBACK --------------------------------------------  |
|  | OUTCOME           | 1    | Success / failure                 |  |
|  | OBSERVED_LATENCY  | var  | Execution latency                 |  |
|  | OBSERVED_COST     | var  | Resource usage                    |  |
|  | ERROR_INFO        | var  | Error details                     |  |
|                                                                    |
|  -- ERROR MESSAGE -----------------------------------------------  |
|  | ERROR_CODE        | 2    | Error identifier                  |  |
|  | DIAGNOSTIC        | var  | Human-readable info               |  |
|  | RETRY_AFTER       | 4    | Backoff hint                      |  |
|                                                                    |
|  -- SECURITY EXTENSION (SECURITY_EXT) ---------------------------  |
|  | AUTHN_INFO        | var  | Certificate / token ref           |  |
|  | AUTHZ_SCOPE       | var  | Authorization scope               |  |
|  | NONCE             | var  | Anti-replay                       |  |
|  | SIGNATURE / MAC   | var  | Integrity protection              |  |
|  | ENCRYPTION_CTX    | var  | Intent confidentiality ctx        |  |
|                                                                    |
+--------------------------------------------------------------------+
</artwork>
      </figure>

      <t>The table above summarizes the field requirements. Key fields
      include: </t>

      <dl>
        <dt>
          <strong>MSG_TYPE</strong>
        </dt>

        <dd>Identifies the payload type (e.g., 0x01: CAP_ADV, 0x02:
        INTENT_REQ).</dd>

        <dt>
          <strong>TTL / EXPIRY</strong>
        </dt>

        <dd>Time-To-Live logic depending on message type. For routing messages
        (INTENT_REQ), this represents the hop limit. For registration
        messages, this represents the validity duration in seconds. </dd>

        <dt>
          <strong>OBJECTIVE (in INTENT_REQ)</strong>
        </dt>

        <dd>The semantic vector or structured description of the task.</dd>

        <dt>
          <strong>RESOURCE_LIMITS (in CAP_ADV)</strong>
        </dt>

        <dd>Specifies operational constraints, including token budget per
        request and computational cost.</dd>

        <dt>
          <strong>FALLBACK_INDIC. (in RESPONSE)</strong>
        </dt>

        <dd>Flag indicating if a generalist fallback agent was used (0x01) or
        a direct match was found (0x00).</dd>
      </dl>
    </section>

    <section anchor="core_procedures">
      <name>Protocol Operation and Core Procedures</name>

      <t> This section specifies the normative processing behavior of the
      Agent Gateway (AG), organized by the functional components defined in
      <xref target="Function_Components"/>. The Agent Access Component (AAC)
      handles ingress connectivity and security; the Local Capability Registry
      (LCR) manages state; and the Intent Forwarding Routing Table (IFR)
      executes decision logic. </t>

      <section anchor="examples">
        <name>Illustrative Protocol Examples</name>

        <t>The examples in this section are provided for illustration only and
        are non-normative.</t>

        <section anchor="example_A"
                 title="Example A: Agent Registration (CAP_ADV)">
          <t>A Partner Agent registers its translation service with cost
          constraints.</t>

          <artwork align="left" type="ascii-art">[Common Header] MSG_TYPE =
          CAP_ADV SENDER_ID = "agent-trans-01", TTL/EXPIRY = 3600 [Payload],
          FUNC_DESC = "service:translation; lang:en-to-zh", RESOURCE_LIMITS =
          "max_tokens=2048", SECURITY_EXT = "(signature bytes...)"</artwork>
        </section>

        <section anchor="example_B" title="Example B: Intent Resolution Flow">
          <t>
            <strong>Step 1: Leader Agent sends Intent Request</strong>
          </t>

          <artwork align="left" type="ascii-art">[Common Header] MSG_TYPE =
          INTENT_REQ SENDER_ID = "leader-agent-007", MSG_ID = "req-1024"
          [Payload], OBJECTIVE = "(vector: [0.12, 0.95, ...])", BUDGET =
          "100"</artwork>

          <t><strong>Step 2: Gateway returns Candidate List
          (Response)</strong> <br/>The AG finds two matching agents. The first
          one is a direct match, so Fallback Indicator is 0.</t>

          <artwork align="left" type="ascii-art">[Common Header] MSG_TYPE =
          RESPONSE RECEIVER_ID = "leader-agent-007", CORRELATION_ID =
          "req-1024" [Payload], TARGET_AGENT_LIST = [1] "agent-trans-01"
          (Conf: 0.92, Endpoint: "10.0.1.5:8080"), [2] "agent-trans-03" (Conf:
          0.85, Endpoint: "10.0.1.8:8080"), FALLBACK_INDIC. = 0x00 (No
          Fallback)</artwork>
        </section>

        <section anchor="example_C" title="Example C: Routing Feedback">
          <t>After execution, the Leader Agent reports performance metrics
          back to the AG to update the LCR's dynamic scores.</t>

          <artwork align="left" type="ascii-art">[Common Header] MSG_TYPE =
          ROUTING_FEEDBACK SENDER_ID = "leader-agent-007" [Payload], OUTCOME =
          1 (Success), OBSERVED_LATENCY = 250 (ms), OBSERVED_COST = 50
          (tokens)</artwork>
        </section>
      </section>

      <section anchor="aac-ops">
        <name>Agent Access Component (AAC) Operations</name>

        <t>The AAC serves as the termination point for the interconnection
        session. It MUST intercept all incoming IAIP messages before they
        reach the LCR or IFR.</t>

        <section title="Session Authentication and Integrity">
          <t>Upon receiving any message, the AAC MUST perform the following
          validations:</t>

          <ul spacing="compact">
            <li><strong>Identity Verification:</strong> Validate the
            <tt>SENDER_ID</tt> against the credentials provided in the
            <tt>AUTHN_INFO</tt> TLV or the underlying transport session (e.g.,
            mTLS).</li>

            <li><strong>Message Integrity:</strong> Verify the
            <tt>INTEGRITY_TAG</tt> or <tt>SIGNATURE</tt>. If verification
            fails, the AAC MUST drop the message and return an <tt>ERROR</tt>
            with code <tt>AUTH_FAILED</tt>.</li>
          </ul>
        </section>

        <section title="Ingress Validation">
          <t>The AAC acts as the first line of defense. It MUST validate the
          syntax of Common Header fields (e.g., <tt>VERSION</tt>,
          <tt>MSG_TYPE</tt>). Malformed packets MUST be rejected immediately
          to protect the internal IFR engine.</t>
        </section>
      </section>

      <section anchor="lcr-mgmt">
        <name>Local Capability Registry (LCR) Management</name>

        <t>The LCR maintains the dynamic database of attached Agents. It
        processes capability management messages validated by the AAC.</t>

        <section title="Profile Creation and Updates">
          <t>When the AAC forwards a <tt>CAP_ADV</tt> message, the LCR
          MUST:</t>

          <ol type="1">
            <li>Extract the <tt>AGENT_ID</tt> and map it to the provided
            <tt>ENDPOINT</tt>.</li>

            <li>Store the <tt>FUNC_DESC</tt>, <tt>INTENT_DOMAINS</tt>, and
            <tt>RESOURCE_LIMITS</tt> as the agent's Capability Profile.</li>

            <li>Set the entry's expiration time to <tt>Current_Time +
            TTL</tt>.</li>
          </ol>
        </section>

        <section title="Lifecycle Maintenance">
          <t>Upon receiving a <tt>CAP_REFRESH</tt>, the LCR MUST look up the
          existing profile and extend its validity by <tt>TTL_UPDATE</tt>.</t>

          <t>The LCR MUST periodically purge entries that have exceeded their
          expiry time without refresh (STALE state) to ensure the IFR does not
          route to dead agents.</t>
        </section>
      </section>

      <section anchor="ifr-logic">
        <name>Intent Forwarding Routing Table (IFR) Decision Logic</name>

        <t>The Intent Forwarding Routing Table (IFR) functions as the dynamic
        routing engine of the Agent Gateway. After an <tt>INTENT_REQ</tt>
        successfully passes AAC validation, the IFR MUST evaluate the request
        and produce a ranked <tt>TARGET_AGENT_LIST</tt> containing one or more
        eligible Partner Agents.</t>

        <section anchor="Can_Re" title="Candidate Retrieval">
          <t>The IFR MUST interpret the <tt>OBJECTIVE</tt> TLV as an intent
          descriptor and query the Local Capability Registry (LCR) to obtain
          the current set of active Capability Profiles.</t>
        </section>

        <section anchor="Cons_Filter" title="Constraint-Based Filtering">
          <t>The IFR MUST apply mandatory constraints to reduce the candidate
          set prior to semantic evaluation. When a request includes constraint
          fields such as <tt>BUDGET</tt>, the IFR MUST compare these
          constraints against the corresponding attributes in the Capability
          Profiles (e.g., <tt>RESOURCE_LIMITS</tt>) and exclude agents that do
          not satisfy the required conditions.</t>

          <t>Additional policy-based constraints MAY be applied according to
          local administrative policy.</t>
        </section>

        <section anchor="Sem_Eva_and_Rank"
                 title="Semantic Evaluation and Ranking">
          <t>For the remaining candidates, the IFR MUST perform semantic
          matching between the request intent and the advertised capabilities.
          The specific matching method is implementation-dependent; however,
          the IFR MUST compute a relative confidence score that reflects the
          degree of intent-capability alignment.</t>

          <t>The IFR MAY incorporate additional operational signals, such as
          historical performance metrics (e.g., latency or success rate), when
          deriving the final ranking.</t>

          <t>The IFR MUST preserve the relative ordering of candidates when
          constructing the <tt>TARGET_AGENT_LIST</tt>.</t>
        </section>

        <section anchor="Selec_Fall" title="Selection and Fallback">
          <t>The IFR SHOULD select the highest-ranked candidates for inclusion
          in the response, subject to local policy.</t>

          <t>If no candidate satisfies the acceptance criteria (e.g., minimum
          confidence threshold), the IFR SHOULD invoke the Fallback Mechanism.
          When fallback is applied, the Agent Gateway MUST set
          <tt>FALLBACK_INDIC</tt> to <tt>0x01</tt>.</t>
        </section>
      </section>

      <section anchor="forwarding-loop-prevention">
        <name>Forwarding and Loop Prevention</name>

        <t>For multi-hop scenarios, the AG enforces loop prevention using the
        <tt>TTL</tt> field in the Common Header. If <tt>TTL &lt;= 1</tt>, the
        request is dropped. Duplicate <tt>MSG_ID</tt>, are suppressed to
        prevent broadcast storms.</t>
      </section>

      <section anchor="error-handling">
        <name>Reliability and Error Handling</name>

        <t>Errors detected by any component (AAC auth failure, LCR parsing
        error, IFR no-route) MUST result in an <tt>ERROR</tt> message returned
        to the sender, containing the appropriate <tt>ERROR_CODE</tt>.</t>
      </section>

      <section anchor="protocol_processing">
        <name>Protocol Processing procedure at Agent Gateways</name>

        <t>Figure 4 illustrates the protocol processing pipeline within the
        Agent Gateway (AG). The protocol operation relies on the coordination
        between three normative functional components: the Agent Access
        Component (AAC), the Local Capability Registry (LCR), and the Intent
        Forwarding Routing Table (IFR).</t>

        <figure anchor="fig_procedure">
          <name>Protocol Processing procedure at Agent Gateways</name>

          <artwork align="left" type="ascii-art" xml:space="preserve">    +--------------+                  +--------------+              
    | Leader Agent |                  | Partner Agent|              
    | (Source/App) |                  | (Target/Phy) |              
    +-------+------+                  +-------+------+              
            | (2) Intent Req                  | (1) CAP_ADV         
            | [Sec 8.1.2]                     | [Sec 8.1.1]         
            v                                 v                     
+------------------------------------------------------------------+
|              Agent Gateway (Interconnection Domain)              |
|------------------------------------------------------------------|
|                                                                  |
| +--------------+        (CAP_ADV)         +--------------------+ |
| | Agent Access |-------------------------&gt;|  Local Capability  | |
| |  Comp (AAC)  |                          |   Registry (LCR)   | |
| |  [Sec 8.2]   |                          |     [Sec 8.3]      | |
| +------+-------+                          +---------+----------+ |
|        |                                            ^            |
|        | (INTENT_REQ)                               | Candidate  |
|        v                                            | Retrieval  |
| +---------------------------------------------------+----------+ |
| |      Intent Forwarding Routing (IFR) [Sec 8.4]               | |
| |--------------------------------------------------------------| |
| | 1. Candidate Retrieval (Query LCR) [Sec 8.4.1] --------------+ |
| | 2. Constraint Filtering [Sec 8.4.2]                          | |
| | 3. Semantic Eval &amp; Ranking [Sec 8.4.3]                       | |
| | 4. Selection &amp; Fallback [Sec 8.4.4]                          | |
| +------+-------------------------------------------------------+ |
|        | Selected Target List                                    |
|        v                                                         |
| +----------------------+                                         |
| |  Forwarding &amp; Loop   |                                         |
| | Prevention [Sec 8.5] |                                         |
| +------+---------------+                                         |
|        |                                                         |
+--------+---------------------------------------------------------+
         | (3) Forwarded Request                                    
         v                                                          
  +-------------+                                                   
  | Partner Agt |                                                   
  | (Execution) |                                                   
  +-------------+                                                   </artwork>
        </figure>

        <t>The process begins when a Partner Agent transmits a capability
        advertisement (CAP_ADV) [<xref target="example_A"/>].</t>

        <t><strong>Ingress Validation: </strong> The AAC [<xref
        target="aac-ops"/>] intercepts the message to perform session
        authentication and integrity verification.</t>

        <t><strong>Registry Update: </strong>Upon successful validation, the
        AAC forwards the payload to the LCR [<xref target="lcr-mgmt"/>]. The
        LCR parses the functional descriptors and updates its internal
        database, mapping the agent's semantic profile to its network
        endpoint.</t>

        <t>The routing process is triggered when a Leader Agent submits an
        intent request (INTENT_REQ) [<xref target="example_B"/>].</t>

        <t><strong>Ingress Validation: </strong>The AAC validates the request
        format and the sender's authorization scope.</t>

        <t><strong>Routing Decision: </strong>Validated requests are passed to
        the IFR [<xref target="ifr-logic"/>], which executes the core decision
        logic:</t>

        <ul>
          <li><strong>Candidate Retrieval: </strong>The IFR queries the LCR
          [<xref target="Can_Re"/>] to retrieve active agents capable of
          satisfying the intent objective.</li>

          <li><strong>Filtering: </strong>Mandatory constraints (e.g., budget,
          latency) are applied to prune ineligible candidates [<xref
          target="Cons_Filter"/>].</li>

          <li><strong>Ranking: </strong>The IFR performs semantic evaluation
          [<xref target="Sem_Eva_and_Rank"/>] to assign confidence scores to
          the remaining candidates.</li>

          <li><strong>Selection: </strong>The eligible partner agents are
          selected based on local policy and fallback mechanisms [<xref
          target="Selec_Fall"/>].</li>
        </ul>

        <t><strong>Egress Processing: </strong>The partner agent list is
        passed to the Forwarding module [<xref
        target="forwarding-loop-prevention"/>]. This module enforces
        Time-To-Live (TTL) checks and duplicate suppression to prevent routing
        loops before dispatching the forwarded request to the Partner
        Agent.</t>
      </section>
    </section>

    <section anchor="core_state">
      <name>Core State Management at Agent Gateway</name>

      <t>This section defines the fundamental state information maintained by
      Agent Gateway's (AG) core functional components: Agent Access Component
      (AAC), Local Capability Registry (LCR), and Intent Forwarding Routing
      Table (IFR). </t>

      <section anchor="AAC_state">
        <name>State in Agent Access Component (AAC)</name>

        <t>The AAC is responsible for managing authentication, maintaining
        session lifecycle, and verifying message integrity for incoming IAIP
        messages. For each active connection or connect with an AI Agent, the
        AAC MUST maintain the following state:</t>

        <dl>
          <dt>
            <strong>Session Identifier (SESSION_ID)</strong>
          </dt>

          <dd>A unique identifier for the established session.</dd>

          <dt>
            <strong>Peer Identity (PEER_ID)</strong>
          </dt>

          <dd>The authenticated identity of the connected AI Agent or another
          AG, verified during the session establishment process.</dd>

          <dt>
            <strong>Connection Parameters (CONN_PARAMS)</strong>
          </dt>

          <dd>Details of the underlying transport connection, such as source
          IP address, port, and TLS session state.</dd>

          <dt>
            <strong>Session Expiry Timer (SESSION_EXPIRY_TIMER)</strong>
          </dt>

          <dd>A timer indicating when the session is considered idle and can
          be terminated. This timer is reset upon active message
          exchange.</dd>

          <dt>
            <strong>Security Context (SEC_CONTEXT)</strong>
          </dt>

          <dd>Cryptographic keys or context information derived from the TLS
          handshake or identity verification, used for message integrity
          checks and potentially for subsequent message
          encryption/decryption.</dd>
        </dl>

        <t>AAC leverages these states to perform rapid authentication,
        integrity verification, and manage the lifecycle of the connections,
        ensuring that only legitimate and secure interactions proceed to the
        LCR or IFR.</t>
      </section>

      <section anchor="LCR_state">
        <name>State in Local Capability Registry (LCR)</name>

        <t>LCR maintains a dynamic database of attached Agents' capabilities
        and operational status. Each entry in the LCR MUST represent a
        registered Agent and include the following state attributes:</t>

        <dl>
          <dt>
            <strong>Agent Identifier (AGENT_ID)</strong>
          </dt>

          <dd>The unique identifier of the Agent, as specified in IAIP
          messages.</dd>

          <dt>
            <strong>Network Endpoint (ENDPOINT) </strong>
          </dt>

          <dd>The network address and port where the Agent can be reached.
          This MAY include multiple endpoints for redundancy.</dd>

          <dt>
            <strong>Capability Profile (CAPABILITY_PROFILE)</strong>
          </dt>

          <dd>
            <t>The comprehensive description of the Agent's capabilities,
            including: </t>

            <ul>
              <li>FUNC_DESC: Functional descriptors.</li>

              <li>INTENT_DOMAINS: Supported intent types.</li>

              <li>IO_SCHEMA: Input/output constraints.</li>

              <li>PERF_METRICS: Real-time performance indicators (e.g.,
              latency, success rate, resource availability).</li>

              <li>RESOURCE_LIMITS: Operational constraints and budgets.</li>
            </ul>
          </dd>

          <dt>
            <strong>Registration Expiry Time (EXPIRY_TIME)</strong>
          </dt>

          <dd>A timestamp indicating the absolute time when the Agent's
          registration will expire if not refreshed by a CAP_REFRESH message.
          This is derived from the TTL/EXPIRY field of CAP_ADV messages.</dd>

          <dt>
            <strong>Operational Status (STATUS)</strong>
          </dt>

          <dd>
            <t>The current availability and trustworthiness state of the Agent
            from the AG's perspective. The following states are defined for
            LCR entries:</t>

            <ul>
              <li>ACTIVE: The Agent is registered, its capabilities are
              current, verified, and it is available for intent-based routing.
              This is the default state for successfully registered
              Agents.</li>

              <li>PENDING_VERIFICATION: The Agent has initiated registration,
              but its identity, capabilities, or trust assertion are still
              undergoing verification by the AAC or DTMgF. Intents MUST NOT be
              routed to Agents in this state.</li>

              <li>EPRECATED: The Agent's capabilities have been explicitly
              de-registered (e.g., via CAP_DEREGISTER) or its registration has
              expired and has been purged from active use by the AG's
              lifecycle maintenance. Intents MUST NOT be routed to Agents in
              this state.</li>

              <li>SUSPENDED: The Agent has been administratively or
              system-matically marked as temporarily unavailable due to
              misbehavior, excessive errors, or resource exhaustion. Intents
              MUST NOT be routed to Agents in this state.</li>

              <li>UNREACHABLE: The Agent was previously ACTIVE, but recent
              communication attempts (e.g., routing feedback, or active health
              checks) indicate it is currently unreachable. AG MAY
              periodically attempt to re-verify reachability before
              potentially transitioning to DEPRECATED or SUSPENDED.</li>
            </ul>
          </dd>

          <dt>
            <strong>Trust Information (TRUST_INFO)</strong>
          </dt>

          <dd>Information relating to the Agent's trust domain and
          verification status by the DTMgF.</dd>
        </dl>

        <t>The LCR's lifecycle maintenance MUST ensure that stale or invalid
        Agent entries are transitioned to appropriate states and eventually
        purged.</t>
      </section>

      <section anchor="IFR_state">
        <name>State in Intent Forwarding Routing (IFR)</name>

        <t>The IFR (&lt;xref target="components"/&gt;, &lt;xref
        target="ifr-decision-logic"/&gt;) is the dynamic routing decision
        engine. For each Intent Request (INTENT_REQ) currently being
        processed, the IFR MAY maintain a transient request-specific state.
        This state aids in managing the decision-making process and
        correlating subsequent protocol interactions. The states MAY
        include:</t>

        <dl>
          <dt>
            <strong>Intent Request Identifier (REQUEST_ID)</strong>
          </dt>

          <dd>The MSG_ID of the INTENT_REQ uniquely identifying the current
          intent processing instance.</dd>

          <dt>
            <strong>Leader Agent Identity (LEADER_AGENT_ID)</strong>
          </dt>

          <dd>The SENDER_ID of the INTENT_REQ.</dd>

          <dt>
            <strong>Original Intent Objective (OBJECTIVE)</strong>
          </dt>

          <dd>The full semantic intent descriptor received from the Leader
          Agent.</dd>

          <dt>
            <strong>Intent Constraints (CONSTRAINTS)</strong>
          </dt>

          <dd>Budget, privacy flags, and other constraints specified in the
          INTENT_REQ.</dd>

          <dt>
            <strong>Candidate List (CANDIDATE_LIST)</strong>
          </dt>

          <dd>A set of potential Partner Agents retrieved from the LCR,
          filtered by constraints, and awaiting semantic evaluation and
          ranking.</dd>

          <dt>
            <strong>Ranked Candidate List (RANKED_LIST)</strong>
          </dt>

          <dd>The CANDIDATE_LIST after semantic evaluation and ranking have
          been applied.</dd>

          <dt>
            <strong>Selected Partner Agent(s) (SELECTED_AGENT_LIST)</strong>
          </dt>

          <dd>The final list of Partner Agents chosen for forwarding,
          including their confidence scores and endpoints.</dd>

          <dt>
            <strong>Processing Stage (STAGE)</strong>
          </dt>

          <dd>The current stage of the intent's decision processing within the
          IFR (e.g., RETRIEVING_CANDIDATES, FILTERING, EVALUATING, SELECTING,
          COMPLETED).</dd>
        </dl>

        <t>This IFR request state is typically initiated upon successful
        validation of an INTENT_REQ by the AAC and is dissolved once the
        routing decision is transmitted back to the Leader Agent, or upon
        timeout or error.</t>
      </section>
    </section>

    <section anchor="iaip-transport">
      <name>IAIP Transport and Security Bindings</name>

      <t>This section specifies how IAIP messages are securely transmitted
      over underlying network protocols. As an application-layer protocol,
      IAIP leverages existing transport and security mechanisms to ensure
      reliable, confidential, and authenticated communication between AI
      Agents and Agent Gateways (AGs), and potentially between AGs
      themselves.</t>

      <section anchor="secure-transport-foundation">
        <name>Secure Transport Layer Foundation</name>

        <t>All IAIP communications, including Agent registrations (CAP_ADV),
        intent requests (INTENT_REQ), responses, and routing feedback, MUST be
        secured using Transport Layer Security (TLS) or its successor. TLS
        provides the following essential security services:</t>

        <dl>
          <dt>
            <strong>Confidentiality</strong>
          </dt>

          <dd>Protects IAIP message contents, including sensitive intent
          descriptors, capability profiles, and task payloads, from
          eavesdropping during transit.</dd>

          <dt>
            <strong>Integrity</strong>
          </dt>

          <dd>Ensures that IAIP messages are not tampered with or corrupted
          between the sender and receiver.</dd>

          <dt>
            <strong>Authentication</strong>
          </dt>

          <dd>
            <t>Provides mutual authentication of the communicating endpoints
            (AI Agents and AGs) through cryptographic means.</t>

            <ul>
              <li>AG Authentication: AI Agents MUST authenticate the AG using
              its server certificate presented during the TLS handshake.
              Agents SHOULD validate the AG's identity against its AGENT_ID or
              a known trust anchor.</li>

              <li>Agent Authentication: AGs MUST authenticate AI Agents using
              TLS client certificates or other credentials provided within the
              TLS handshake. The AG MUST verify the Agent's identity
              (AGENT_ID) against the presented client certificate and
              established trust policies.</li>
            </ul>
          </dd>
        </dl>

        <t>Implementations MUST support TLS version. Specific cipher suites,
        certificate validation policies, and trust anchors are subject to
        local administrative policy and the broader security
        considerations.</t>
      </section>

      <section anchor="underlying-transport">
        <name>Underlying Transport</name>

        <t>IAIP messages are designed for secure and reliable transport, with
        ordering semantics defined by the selected transport binding. To
        ensure interoperability across deployments, IAIP implementations MUST
        support a baseline transport binding over TCP protected by TLS.
        Implementations MAY additionally support QUIC as an alternative secure
        transport binding, particularly for latency-sensitive or highly
        dynamic environments.</t>

        <dl>
          <dt>
            <strong>TCP/TLS Binding</strong>
          </dt>

          <dd>
            <t>IAIP implementations MUST support transmission over TCP within
            a TLS tunnel.</t>

            <ul>
              <li>Message Framing: Each IAIP message (structured as a
              Type-Length-Value (TLV) block as per &lt;xref
              target="message-formats"/&gt;) MUST be explicitly framed to
              delimit individual messages within the TCP byte stream. A
              MANDATORY framing mechanism is to prefix each IAIP message with
              a 4-octet unsigned integer in network byte order indicating the
              length of the subsequent IAIP message payload. Receivers MUST
              read this length field before attempting to read the full IAIP
              message.</li>

              <li>Reliability and Ordering: TCP provides reliable, in-order
              delivery of bytes. IAIP message processing over TCP/TLS
              therefore relies on the framing mechanism above to reconstruct
              message boundaries.</li>

              <li>Port Allocation: IAIP implementations SHOULD use a dedicated
              TCP port for secure IAIP communication. Other ports MAY be used
              according to local policy or service discovery mechanisms.</li>
            </ul>
          </dd>

          <dt>
            <strong>QUIC Binding (OPTIONAL)</strong>
          </dt>

          <dd>
            <t>IAIP implementations MAY support transmission over QUIC as an
            alternative secure transport binding. QUIC provides integrated
            cryptographic protection, reliable stream transport, and native
            multiplexing, and MAY be preferred in latency-sensitive scenarios
            or environments with frequent path changes.</t>

            <ul>
              <li>Security Foundation: When IAIP is carried over QUIC, the
              security properties of QUIC MUST be used as the transport
              protection mechanism. Implementations MUST NOT assume an
              additional TLS tunnel outside QUIC, since QUIC already
              incorporates TLS-based cryptographic protection.</li>

              <li>Message Mapping: For interoperability, a compliant QUIC
              binding MUST use one IAIP message per QUIC bidirectional stream.
              Each IAIP message MUST be carried entirely within a single QUIC
              stream, and the end of that stream defines the end of the
              message. Fragmenting a single IAIP message across multiple QUIC
              streams MUST NOT be used.</li>

              <li>Reliability and Ordering: IAIP over QUIC MUST use reliable
              QUIC streams for all protocol messages defined by this
              specification. Ordering is guaranteed only within an individual
              QUIC stream; protocol entities MUST NOT assume any global
              ordering across different QUIC streams.</li>

              <li>Multiplexing: Independent IAIP message exchanges MAY be
              carried over separate QUIC streams to avoid head-of-line
              blocking between unrelated exchanges. Protocol-level
              identification and correlation MUST continue to rely on MSG_ID
              and CORRELATION_ID, rather than on QUIC stream identifiers
              alone.</li>

              <li>Port Allocation: IAIP implementations using QUIC SHOULD use
              a dedicated UDP port for secure IAIP communication over QUIC.
              Other ports MAY be used according to local policy or service
              discovery mechanisms.</li>
            </ul>
          </dd>

          <dt>
            <strong>Transport Selection and Interoperability</strong>
          </dt>

          <dd>All compliant IAIP implementations MUST support the TCP/TLS
          binding as the mandatory-to-implement baseline. Support for QUIC is
          OPTIONAL. When both endpoints support multiple transport bindings,
          the transport selection mechanism MAY be determined by local
          configuration, service discovery, capability advertisement, or
          future negotiation procedures defined by this specification or its
          extensions.</dd>
        </dl>
      </section>

      <section anchor="connection-management">
        <name>Connection Management</name>

        <t>IAIP entities (AI Agents and AGs) SHOULD manage persistent secure
        transport connections to optimize performance and reduce repeated
        handshake overhead. The connection management procedures defined in
        this section apply to both TCP/TLS and QUIC, unless otherwise
        specified by the corresponding transport binding.</t>

        <dl>
          <dt>
            <strong>Connection Establishment</strong>
          </dt>

          <dd>An AI Agent initiates a connection to an AG for registration or
          intent submission. AGs MAY initiate connections to other AGs for
          multi-hop routing, subject to configured policies. Before any IAIP
          messages are exchanged, the underlying secure transport handshake
          MUST complete successfully. For TCP/TLS, this requires successful
          completion of the TLS handshake over TCP. For QUIC, this requires
          successful establishment of the QUIC connection with its integrated
          cryptographic handshake.</dd>

          <dt>
            <strong>Connection Keep-Alive</strong>
          </dt>

          <dd>Implementations SHOULD provide mechanisms to detect idle or
          failed connections and to prevent premature closure by network
          intermediaries. For TCP/TLS, implementations SHOULD utilize TCP
          keep-alive where appropriate. For QUIC, implementations SHOULD use
          QUIC-native liveness mechanisms, such as transport-level keep-alive
          signaling or PING frames, as provided by the implementation.
          Application-layer keep-alive messages MAY also be defined by future
          extensions for use across transport bindings.</dd>

          <dt>
            <strong>Connection Re-establishment</strong>
          </dt>

          <dd>If an active connection is unexpectedly terminated and continued
          interaction is required, IAIP entities SHOULD attempt to
          re-establish the connection. Re-establishment attempts MUST
          incorporate exponential back-off mechanisms to prevent congestion
          amplification or resource exhaustion. Under TCP/TLS,
          re-establishment is typically required after transport disruption.
          Under QUIC, re-establishment is required only if the QUIC connection
          itself has been lost; network path changes that are handled through
          QUIC connection migration do not constitute connection
          re-establishment. Implementations SHOULD preserve only the minimum
          state necessary to safely resume operation after reconnection. The
          AAC plays a critical role in managing session continuity and
          security-related state across connection disruptions.</dd>

          <dt>
            <strong>Multiplexing</strong>
          </dt>

          <dd>Multiple independent IAIP message exchanges MAY share a single
          persistent secure transport connection. Under TCP/TLS, such
          multiplexing occurs within the same protected byte stream and relies
          on unique MSG_ID and CORRELATION_ID fields for message correlation.
          Under QUIC, independent IAIP messages MAY be carried over different
          QUIC streams to reduce head-of-line blocking. In all cases,
          protocol-level correlation MUST rely on IAIP identifiers rather than
          on transport-level connection or stream identifiers alone.</dd>

          <dt>
            <strong>Connection Migration and Path Changes</strong>
          </dt>

          <dd>Transport bindings MAY differ in their ability to tolerate
          endpoint mobility or network path changes. TCP/TLS connections
          typically require re-establishment after a path-disrupting failure
          or endpoint address change. QUIC implementations MAY support
          connection migration in accordance with QUIC transport behavior,
          allowing continuity across certain network changes without full
          reconnection. IAIP implementations MUST NOT assume that
          transport-level continuity alone is sufficient to preserve
          application-level session validity; validation of session state
          remains the responsibility of the AAC.</dd>

          <dt>
            <strong>Connection Teardown</strong>
          </dt>

          <dd>Connections SHOULD be terminated gracefully whenever possible.
          For TCP/TLS, graceful termination SHOULD use the standard TCP
          FIN/ACK sequence together with appropriate TLS session closure
          behavior. For QUIC, graceful termination SHOULD follow the QUIC
          connection closing procedure. An AG MAY forcibly terminate
          connections that violate security policy, exceed configured idle
          time limits, or exhibit persistent protocol errors.</dd>
        </dl>
      </section>
    </section>

    <section anchor="conclusions">
      <name>Conclusions</name>

      <t>This document specifies the functional components, protocol
      procedures, and message formats of the Intent-based Agent
      Interconnection Protocol (IAIP). It defines the mechanisms for
      capability-aware registration, semantic intent resolution, and dynamic
      routing. By abstracting the complexity of agent discovery and intent
      matching, IAIP ensures scalable and adaptive collaboration across
      heterogeneous agent systems.</t>
    </section>

    <section>
      <name>Security Considerations</name>

      <t>This document focuses on the Intent-based Agent Interconnection
      Protocol at the Agent Gateway for inter-agent collaboration in the
      Internet of Agents (IoA). Security of the IoA ecosystem is not detailed
      in this document. Security considerations relevant to cross-domain
      intent routing, capability advertisement integrity, trust federation
      among multiple agent service providers, and end-to-end confidentiality
      of agent interactions are suggested to be deeply discussed through other
      proposals.</t>
    </section>

    <section>
      <name>IANA Considerations</name>

      <t>TBD</t>
    </section>
  </middle>

  <back>
    <references>
      <name>Normative References</name>

      <reference anchor="RFC2119"
                 target="https://www.rfc-editor.org/info/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"/>
        </front>

        <seriesInfo name="BCP" value="14"/>

        <seriesInfo name="RFC" value="2119"/>
      </reference>
    </references>
  </back>
</rfc>
