One document matched: draft-nsis-ext-00.xml


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<!-- You want a table of contents -->
<!-- ?rfc symrefs="yes" ?-->
<!-- Uncomment this if you want symbolic labels for references -->
<?rfc sortrefs="yes"?>
<!-- This sorts the references -->
<?rfc iprnotified="no" ?>
<!-- Change to "yes" if someone has disclosed IPR for the draft -->
<?rfc compact="yes"?>
<rfc category="std" docName="draft-loughney-nsis-ext-03.txt" ipr="full3978">
  <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

  <?rfc toc="yes" ?>

  <?rfc symrefs="yes" ?>

  <?rfc sortrefs="yes"?>

  <?rfc iprnotified="no" ?>

  <?rfc strict="yes" ?>

  <front>
    <title>NSIS Extensibility Model</title>

    <author fullname="John Loughney" initials="J" surname="Loughney">
      <organization>Nokia</organization>

      <address>
        <postal>
          <street>955 Page Mill Road</street>

          <city>Palo Alto</city>

          <code>94303</code>

          <country>USA</country>
        </postal>

        <phone>+1 650 283 8068</phone>

        <email>john.loughney@nokia.com</email>
      </address>
    </author>

    <date year="2007" />

    <workgroup>Internet Engineering Task Force</workgroup>

    <abstract>
      <t>This document discusses the Next Steps in Signaling extensibility
      model. This model is based upon a two-layer model, where there is a
      transport layer and a signaling application model. This two-layer
      provides the ability to develope new signaling applications, while
      retaining the use of a common transport layer. This document will
      serve as guidence on how the NSIS architecture can be extended.</t>
    </abstract>
  </front>

  <middle>
    <section title="Requirements notation">
      <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 <xref
      target="RFC2119"></xref>.</t>
    </section>

    <section title="Introduction">
      <t>The Next Steps in Signaling Framework <xref
      target="I-D.ietf-nsis-fw"> NSIS Framework</xref> details a basic
      two-layer framework for signaling on the Internet. The document
      decomposes signaling into a two-layer model, into a generic transport
      layer and specific signaling layers.</t>

      <t>This model allows for an extensible model for different signaling
      needs on the the Internet. Currently, the NSIS working group is working
      on two main signaling applications - <xref
      target="I-D.ietf-nsis-qos-nslp"> QoS signaling</xref> and <xref
      target="I-D.ietf-nsis-nslp-natfw"> NAT/Firewall signaling</xref>. It is expected
      that there will be more signaling applications.</t>

      <t>The NSIS Transport Layer Protocol, GIST (General Internet Signaling Transport) <xref
      target="I-D.ietf-nsis-ntlp"> GIST</xref> defines a basic protocol for
      routing and transport of per-flow signaling along the path taken by that
      flow through the network; managing the underlying transport and security
      protocols.</t>

      <t>Above GIST can one or more NSIS Signaling Layer protocols, which
      can signal for things such as QoS, firewall control and NAT
      signaling.<xref target="I-D.ietf-nsis-qos-nslp"> QoS NSLP </xref>, <xref
      target="I-D.ietf-nsis-nslp-natfw">NAT/FW NSLP</xref>. These signaling
      applications manage their state by using the services that the GIST
      provides them for signaling.</t>

      <t>This two layer approach allows for signaling applications to be
      developed indepently of the transport. As it is likely that the
      functionality entities for different signaling applications will be
      distinct, not all path elements support NSIS signaling will require
      that a specific signaling application is present - only those nodes
      that will be maintaining some signaling application state need to 
      support the signaling application.</t>

      <section title="NSIS Extensibility Types">
        <t>Generally, NSIS protocols can be extended in multiple ways.  This secition is
        and overview of the mechansims used. The extensibility rules are based
        upon the procedures by which IANA assigns values: "Standards Action" (as
        defined in [IANA]), "IETF Action", "Expert Review", and
        "Organization/Vendor Private", defined below.</t>

        <t>Extensions subject to "IETF Action" require either a Standards Track
        RFC, Experimental RFC or an Information RFC.</t>

        <t>Extensions subject to "Expert Review" refer to values that are to be
        reviewed by an Expert designated by the IESG. The code points from these
        ranges are typically used for experimental extensions; such assignments
        MUST be requested by either Experimental or Information RFCs that
        document their use and processing, and the actual assignments made
        during the IANA actions for the document. Values from "Expert Review"
        ranges MUST be registered with IANA.</t>

        <t>"Organization/Vendor Private" ranges refer to values that are
        enterprise-specific. In this way, different enterprises, vendors, or
        Standards Development Organizations (SDOs) can use the same code point
        without fear of collision.</t>

        <t>In the NSIS protocols, experimental code points are allocated for 
        experimentation, usually within closed networks, as explained in RFC 
        3692.<xref target="RFC3692"/>.  If these experiments
        yield useful results, it is assumed that they will be formally allocated
        by one of the above mechanisms.</t>
      </section>
    </section>

    <section title="GIST Extensibility">
      <t>GIST is Major extensibility options for GIST are:</t>

      <section title="NSLP Identifiers">
        <t>Each signaling application requires one of more NSLPIDs (different
        NSLPIDs may be used to distinguish different classes of signaling
        node, for example to handle different aggregation levels or different
        processing subsets). An NSLPID must be associated with a unique RAO
        value. IETF Action is required to allocate a new NSLP Identifier.</t>
      </section>

      <section title="Message Routing Methods">
        <t>GIST allows the idea of multiple Message Routing Methods (MRM). The
        message routing method is indicated in the leading 2 bytes of the MRI
        object. GIST allocates 2 bits for experimental Routing Methods, for
        use in closed networks for experimentation purposes. Standards Action
        is required to allocate new Routing Methods.</t>
        <t>Experimental NSLPs are required to be able to use experimental MRMs, and 
        the experimental NSLP is not supported, then the MRM is ignored.  The expectation
	  is that the experimental MRM is used within a closed network, for experimental
	  purposes, as explained in RFC 3692.<xref target="RFC3692"/> </t>
      </section>

      <section title="Protocol Indicators">
        <t>The GIMPS design allows the set of possible protocols to be used in
        a messaging association to be extended. Every new mode of using a
        protocol is given by a Protocol Indicator, which is used as a tag in
        the Node Addressing and Stack Proposal objects. New protocol
        indicators require IETF Action. Allocating a new protocol indicator
        requires defining the higher layer addressing information in the Node
        Addressing Object that is needed to define its configuration.</t>
      </section>

      <section title="Router Alert Values">
        <t>Router Alert Option (RAO) values are allocated on the basis of IETF
        consensis. However, new RAO values SHOULD NOT be allocated for each
        new NSLP. Careful consideration needs to be exercised when choosing to
        allocate a new RAO value. This section discusses some considerations
        on how to choose if an existing RAO option should be chosen or a new
        RAO should be allocated for an NSLP</t>

        <t>The use of the RAO is the primary
        mechanism to indicate that an GIST message should be intercepted by a
        particular node. There are two basic reasons why a GIST node might
        wish not to intercept a particular message. The first reason would be
        because the message is for a signaling application that the node does
        not process. The second reason would be because the node is processes
        signaling messages at the aggregate level, not for individual flow,
        even though the signaling application is present on the node. However,
        these reasons do not preclude a node processing several RAO values,
        implying it supports several different signaling applications.</t>

        <t>Some of this information can be encoded in the RAO value field,
        which then allows messages to be filtered on the fast path. There is a
        tradeoff between two approaches here, whose evaluation depends on
        whether the processing node is specialised or general purpose:</t>

        <t>Fine-Grained: The signaling application (including specific
        version) and aggregation level are directly identified in the RAO
        value. A specialised node which handles only a single NSLP can
        efficiently ignore all other messages; a general purpose node may have
        to match the RAO value in a message against a long list of possible
        values.</t>

        <t>Coarse-Grained> RAO values are allocated are ased on common
        applications or sets of applications (such as 'All QoS Signaling
        Applications'). This speeds up the processing in a general purpose
        node, but a specialised node may have to carry out further processing
        on the GIST common header to identify the precise messages it needs to
        consider.</t>

        <t>These considerations imply that the RAO value should not be tied
        directly to the NSLPID, but should be selected for the application on
        broader considerations of likely deployment scenarios. Note that the
        exact NSLP is given in the GIMPS common header, and some
        implementations may still be able to process it on the fast path. The
        semantics of the node dropping out of the signaling path are the same
        however the filtering is done.  Which is to say that the RAO does not 
        have to have a one-to-one relation to a specific NSLPID, the RAO must 
        be uniquely derivable from the NSLPID.</t>

        <t>There is a special consideration in the case of the aggregation
        level. In this case, whether a message should be processed depends on
        the network region it is in (specifically, the link it is on). There
        are then two basic possibilities:</t>

        <t>All routers have essentially the same algorithm for which messages
        they process, i.e. all messages at aggregation level 0. However,
        messages have their aggregation level incremented on entry to an
        aggregation region and decremented on exit.</t>

        <t>Router interfaces are configured to process messages only above a
        certain aggregation level and ignore all others. The aggregation level
        of a message is never changed; signaling messages for end to end flows
        have level 0, but signaling messages for aggregates are generated with
        a higher level.</t>

        <t>The first technique requires aggregating/deaggregating routers to
        be configured with which of their interfaces lie at which aggregation
        level, and also requires consistent message rewriting at these
        boundaries. The second technique eliminates the rewriting, but
        requires interior routers to be configured also. It is not clear what
        the right trade-off between these options is.</t>
      </section>
    </section>

    <section title="NSLP Extensibility">
        <t>An NSLP roughly should correspond to a class of signaling application,
        which requires some state maintenance along a network path.  Signaling
        applications should be generic enough to allow for state manipulation
        for a common set of funtions.  This allows for an architecture which allows
        for flexible network deployment, without over-burdening nodes with extra
        signaling applications.</t>

        <t>New NSLPs should be created when there is a new signaling application.
        Creating new NSLPs which only slightly modify existing NSLPs is not 
        recommended as it will increase deployment complexity (common nodes 
        would need to support multiple NSLPs for similar functionality).</t>

      <section title="Common Functionality Among Signaling Applications">
        <t>While NSIS has adopted a two-layer signaling approach, in practice,
        there is much in common between different NSLPs. Efforts should be made
        to ensure some high-level of compatibililty among signaling applications,
        which could be reused by some implementations in order to combine multiple
        signaling applications into one implementation, but that is an implementation
        decision.</t>
      </section>

    </section>

    <section title="QoS Model Extensibility">
      <t>The QoS NSLP provides signaling for QoS reservations on the Internet.
      The QoS NSLP decouples the resource reservation model or architecture
      from the signaling. The QoS specification is defined in <xref
      target="I-D.ietf-nsis-qspec">QSpec</xref>. New QoS Models require IETF
      action, which defines the elements within the QSpec. See <xref
      target="I-D.ietf-nsis-qspec">QSpec</xref> for details.</t>

      <t>A key part of the QoS model is support a common language, which can be 
      shared among several QOSMs.  These QSPEC parameters ensure a certain level of
      interoperability of QOSMs.  Optional QSPEC parameters support the extensibility 
      of the QoS NSLP to other QOSMs in the future. The node initiating the NSIS signaling 
      adds an Initiator QSPEC that must not be removed, thereby ensuring the intention of 
      the NSIS initiator is preserved along the signaling path.</t>
    </section>

    <section title="IANA Considerations">
      <t>This document outlines the basic rules for extending NSIS protocols.
      This instructions IANA on allocation policies for NSIS protocols.</t>
    </section>

    <section title="Security Considerations">
      <t>This document is an informational document, outlining the
      extensibility model of the NSIS protocol suite. As such, this document
      does not impact the security of the Internet directly.</t>
    </section>

    <section title="Acknowledgements">
      <t>This document borrows some ideas and some text from <xref
      target="RFC3936">RFC3936</xref>, Procedures for Modifying the Resource
      reSerVation Protocol (RSVP).</t>

      <t>Robert Hancock provided text for much of the GIST section. Claudia Keppler have 
      provided feedback on this draft.</t>

      <t>Allison Mankin and Bob Braden suggest that this draft be worked on.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119" ?>

      <?rfc include="reference.I-D.ietf-nsis-ntlp" ?>

      <?rfc include="reference.I-D.ietf-nsis-fw" ?>

      <?rfc include="reference.I-D.ietf-nsis-nslp-natfw" ?>

      <?rfc include="reference.I-D.ietf-nsis-qos-nslp" ?>

      <?rfc include="reference.I-D.ietf-nsis-qspec" ?>
    </references>

    <references title="Informative References">
      <?rfc include="reference.RFC.3936" ?>

      <?rfc include="reference.RFC.3692" ?>

    </references>
  </back>
</rfc>

PAFTECH AB 2003-20262026-04-23 02:55:37