TOC 
Internet Engineering Task ForceJ. Loughney
Internet-DraftNokia
Intended status: Standards TrackNovember 12, 2007
Expires: May 15, 2008 


NSIS Extensibility Model
draft-loughney-nsis-ext-03.txt

Status of this Memo

By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as “work in progress.”

The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt.

The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html.

This Internet-Draft will expire on May 15, 2008.

Abstract

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.



Table of Contents

1.  Requirements notation
2.  Introduction
    2.1.  NSIS Extensibility Types
3.  GIST Extensibility
    3.1.  NSLP Identifiers
    3.2.  Message Routing Methods
    3.3.  Protocol Indicators
    3.4.  Router Alert Values
4.  NSLP Extensibility
    4.1.  Common Functionality Among Signaling Applications
5.  QoS Model Extensibility
6.  IANA Considerations
7.  Security Considerations
8.  Acknowledgements
9.  References
    9.1.  Normative References
    9.2.  Informative References
§  Author's Address
§  Intellectual Property and Copyright Statements




 TOC 

1.  Requirements notation

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 [RFC2119] (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.).



 TOC 

2.  Introduction

The Next Steps in Signaling Framework NSIS Framework (Hancock, R., “Next Steps in Signaling: Framework,” December 2004.) [I‑D.ietf‑nsis‑fw] 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.

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 - QoS signaling (Manner, J., Karagiannis, G., and A. McDonald, “NSLP for Quality-of-Service Signaling,” January 2010.) [I‑D.ietf‑nsis‑qos‑nslp] and NAT/Firewall signaling (Stiemerling, M., Tschofenig, H., Aoun, C., and E. Davies, “NAT/Firewall NSIS Signaling Layer Protocol (NSLP),” April 2010.) [I‑D.ietf‑nsis‑nslp‑natfw]. It is expected that there will be more signaling applications.

The NSIS Transport Layer Protocol, GIST (General Internet Signaling Transport) GIST (Schulzrinne, H. and M. Stiemerling, “GIST: General Internet Signalling Transport,” June 2009.) [I‑D.ietf‑nsis‑ntlp] 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.

Above GIST can one or more NSIS Signaling Layer protocols, which can signal for things such as QoS, firewall control and NAT signaling.QoS NSLP (Manner, J., Karagiannis, G., and A. McDonald, “NSLP for Quality-of-Service Signaling,” January 2010.) [I‑D.ietf‑nsis‑qos‑nslp], NAT/FW NSLP (Stiemerling, M., Tschofenig, H., Aoun, C., and E. Davies, “NAT/Firewall NSIS Signaling Layer Protocol (NSLP),” April 2010.) [I‑D.ietf‑nsis‑nslp‑natfw]. These signaling applications manage their state by using the services that the GIST provides them for signaling.

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.



 TOC 

2.1.  NSIS Extensibility Types

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.

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

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.

"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.

In the NSIS protocols, experimental code points are allocated for experimentation, usually within closed networks, as explained in RFC 3692.[RFC3692] (Narten, T., “Assigning Experimental and Testing Numbers Considered Useful,” January 2004.). If these experiments yield useful results, it is assumed that they will be formally allocated by one of the above mechanisms.



 TOC 

3.  GIST Extensibility

GIST is Major extensibility options for GIST are:



 TOC 

3.1.  NSLP Identifiers

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.



 TOC 

3.2.  Message Routing Methods

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.

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.[RFC3692] (Narten, T., “Assigning Experimental and Testing Numbers Considered Useful,” January 2004.)



 TOC 

3.3.  Protocol Indicators

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.



 TOC 

3.4.  Router Alert Values

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

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.

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:

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.

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.

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.

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:

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.

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.

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.



 TOC 

4.  NSLP Extensibility

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.

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).



 TOC 

4.1.  Common Functionality Among Signaling Applications

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.



 TOC 

5.  QoS Model Extensibility

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 QSpec (Bader, A., Kappler, C., and D. Oran, “QoS NSLP QSPEC Template,” January 2010.) [I‑D.ietf‑nsis‑qspec]. New QoS Models require IETF action, which defines the elements within the QSpec. See QSpec (Bader, A., Kappler, C., and D. Oran, “QoS NSLP QSPEC Template,” January 2010.) [I‑D.ietf‑nsis‑qspec] for details.

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.



 TOC 

6.  IANA Considerations

This document outlines the basic rules for extending NSIS protocols. This instructions IANA on allocation policies for NSIS protocols.



 TOC 

7.  Security Considerations

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.



 TOC 

8.  Acknowledgements

This document borrows some ideas and some text from RFC3936 (Kompella, K. and J. Lang, “Procedures for Modifying the Resource reSerVation Protocol (RSVP),” October 2004.) [RFC3936], Procedures for Modifying the Resource reSerVation Protocol (RSVP).

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

Allison Mankin and Bob Braden suggest that this draft be worked on.



 TOC 

9.  References



 TOC 

9.1. Normative References

[I-D.ietf-nsis-fw] Hancock, R., “Next Steps in Signaling: Framework,” draft-ietf-nsis-fw-07 (work in progress), December 2004 (TXT).
[I-D.ietf-nsis-nslp-natfw] Stiemerling, M., Tschofenig, H., Aoun, C., and E. Davies, “NAT/Firewall NSIS Signaling Layer Protocol (NSLP),” draft-ietf-nsis-nslp-natfw-25 (work in progress), April 2010 (TXT).
[I-D.ietf-nsis-ntlp] Schulzrinne, H. and M. Stiemerling, “GIST: General Internet Signalling Transport,” draft-ietf-nsis-ntlp-20 (work in progress), June 2009 (TXT).
[I-D.ietf-nsis-qos-nslp] Manner, J., Karagiannis, G., and A. McDonald, “NSLP for Quality-of-Service Signaling,” draft-ietf-nsis-qos-nslp-18 (work in progress), January 2010 (TXT).
[I-D.ietf-nsis-qspec] Bader, A., Kappler, C., and D. Oran, “QoS NSLP QSPEC Template,” draft-ietf-nsis-qspec-24 (work in progress), January 2010 (TXT).
[RFC2119] Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML, XML).


 TOC 

9.2. Informative References

[RFC3692] Narten, T., “Assigning Experimental and Testing Numbers Considered Useful,” BCP 82, RFC 3692, January 2004 (TXT).
[RFC3936] Kompella, K. and J. Lang, “Procedures for Modifying the Resource reSerVation Protocol (RSVP),” BCP 96, RFC 3936, October 2004 (TXT).


 TOC 

Author's Address

  John Loughney
  Nokia
  955 Page Mill Road
  Palo Alto 94303
  USA
Phone:  +1 650 283 8068
Email:  john.loughney@nokia.com


 TOC 

Full Copyright Statement

Intellectual Property