<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"[
	  <!ENTITY rfc4066 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4066.xml'>
	  <!ENTITY ntlp PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-nsis-ntlp.xml'>
	  <!ENTITY hypath PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-cordeiro-nsis-hypath-04.xml'>
	  <!ENTITY qosnslp PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-nsis-qos-nslp.xml'>
]>
<!-- $HeadURL:$ -->
<!-- $Id: $ -->
<!-- 
  * remark from bless@tm.uka.de:
  * see rfc2629 for writing RFCs in XML
  * for conversion to text,html or nroff, see http://xml.resource.org/
-->


<!-- Changes 00-01:
-->



<rfc ipr="full3978" docName="draft-bless-nsis-est-mrm-00">
<?rfc compact='yes'?>
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?>
<?rfc strict="yes" ?>


<front>
   <title abbrev="Explicit Signaling Target MRM">
       An Explicit Signaling Target Message Routing Method (EST-MRM)
       for the General Internet Signaling Transport (GIST) Protocol
   </title>

   <author initials="R." surname="Bless" fullname="Roland Bless">
   <organization abbrev="Univ. of Karlsruhe">
   Institute of Telematics, Universitaet Karlsruhe (TH)
   </organization>
   <address>
     <postal>
          <street>Zirkel 2</street>
          <city>Karlsruhe</city>
          <code>76131</code>
          <country>Germany</country>
     </postal>
     <phone>+49 721 608 6413</phone>
     <email>bless@tm.uka.de</email>
     <uri>http://www.tm.uka.de/~bless</uri>
   </address>
   </author>

   <date day="3" month="December" year="2007" />
   <area>Transport</area>
   <workgroup>NSIS Working Group</workgroup>

   <abstract>
      <t>
	The standard operation of the General Internet Signaling
        Transport (GIST) Protocol uses a path-coupled message routing
        method (PC-MRM) to find nodes interested in signaling message
        exchanges. This specification proposes an Explicit Signaling
        Target Message Routing Method (EST-MRM) in order to allow
        sending of signaling messages to explicit targets.
     </t>
   </abstract>
</front>

<middle>

<!-- ================================================================== -->
<section title="Introduction">
<!-- ================================================================== -->

<t>
The standard operation of the General Internet Signaling Transport
(GIST) Protocol <xref target="I-D.ietf-nsis-ntlp"/> uses a
path-coupled message routing method (PC-MRM) to find nodes interested
in signaling message exchanges. The assumption is that signaling
involves the manipulation of state held in network elements along the
flow's data path. The path-coupled signaling paradigm tries to ensure
the alignment of control functions to the actual data path.
</t>

<t>
For mobility environments seamless handovers are a desirable
objective. If signaling takes place after a handover was performed, it
will take some time until the state update has been completed. Thus,
there exist proposals to start the signaling before the handover takes
place and to use the current point of attachment for completion of the
signaling process. This "anticipated handover" enables a
pre-reservation of resources in a quality-of-service context for
instance, i.e., for QoS NSLP signaling applications <xref
target="I-D.ietf-nsis-qos-nslp" />. Therefore, a resource 
reservation can be used immediately after the handover
was performed.
</t>

<t>
With the path-coupled MRM, however, such kind of optimization
is impossible, since state should be established or manipulated
along a data path that is not used yet, but probably will be 
in the future. Therefore, in order to support anticipated handovers
a signaling message routing is required that is not strictly on path.
</t>

<t>
In <xref target="fig:anticipated-handover"/> an example for an
anticipated handover scenario is shown. If the mobile node (MN) is a
data sender for flow f_o and has information that it may change its
point of attachment from access A to access B, it starts signaling for
resources along the new path that begins at B. First, the MN sends
signaling messages to A and A will signal to B. B can then use
path-coupled signaling in order to find the correct data path for the
potential new flow f_n towards the CN.  Since signaling messages are
sent to A, but concerning f_n, a PC-MRM cannot be used. Similarly, the
signaling between A and B is not path related and must be done
explicitly.
</t>

<figure anchor='fig:anticipated-handover'>
 <artwork><![CDATA[
     CN
     |
  +-----+
 /   |   \
|    |    |
|    |    | Domain 4
 \   |   /
  +--|--+
     |
  +--|--+
 /   |   \ 
|    #%   |
|    # %  | Domain 3
 \   #   % 
  +--#--+  %  
     #       %  
  +--#--+      %   +-----+  
 /   #   \       %/       \ 
|    #    |      | %       |
|    #    |      |   %     |
 \   #   /        \   %   / 
  +-[A]-+          +-[B]-+  
     # Domain 1          Domain 2
     #          data flow f_o ##: MN->A->CN 
     MN         data flow f_n %%: MN->B->CN
                [A]: Access router A
                [B]: Access router B
]]></artwork>
<postamble>A handover scenario</postamble>
</figure>

<t>
<xref target="fig:anticipated-handover-sig"/> indicates 
the related signaling flows:
<list style='format (%c):'>
<t>MN signals for flow f_n via its current access router A</t>
<t>Access router A signals towards the candidate access router B</t>
<t>On-path signaling for flow f_n starting from access router B (proxy mode)</t>
</list>
</t>

<t>
It is out of scope of this specification how the addressing
information about the future flow f_n is obtained by the MN or how A
determines the address of the candidate router B that must be signaled
next. One possibility is to use the CARD protocol <xref
target='RFC4066'/> or that some additional addressing information
(such as MAC addresses of access points) is carried in the NSLP. Thus,
it is also allowed to let the source address of f_n being unspecified
if the MN has no knowledge about its actual future address. Since it
can be assumed that B has enough information to determine the required
address, it is then up to B to fill in the missing information for the
flow before continuing with the path-coupled signaling in (c).
</t>

<t>
<figure anchor='fig:anticipated-handover-sig'>
 <artwork><![CDATA[
     CN
     |
  +-----+
 /   |   \
|    |    |
|    |    | Domain 4
 \   |   /
  +--|--+
     |
  +--|--+
 /   |   \ 
|    #    |
|    # \\ | Domain 3
 \   #   \\ 
  +--#--+  \\  
     #       \\  
  +--#--+      \\  +-----+  
 /   #   \       \\       \ 
|    #    |      | \\      |
|    #    |      |   (c)   |
 \   #   /        \   ||  /
  +-[A]=====(b)=====>[B]-+  
    /$\
     $ Domain 1          Domain 2
     $
    (a)     $$: signaling flow (a)
     $      ==: signaling flow (b)
     $      ||: signaling flow (c)                        
     MN        
]]></artwork>
<postamble>Signaling in a handover scenario</postamble>
</figure>
</t>

<t>
The Hypath proposal <xref target="I-D.cordeiro-nsis-hypath" />
defines a similar MRM for QoS signaling between off-path resource control
elements like bandwidth brokers. It is for further study, how the EST-MRI
can be unified with the Hypath proposal.
</t>
</section>

<!-- ================================================================== -->
<section title="Explicit Signaling Target MRM">
<!-- ================================================================== -->
<t>
In order to support cases like the ones described in the introduction,
this document proposes the specification of an Explicit Signaling
Target MRM (EST-MRM).
</t>

<t>
The EST-MRM uses a normal encapsulation for Query messages, i.e., UDP
encapsulation with the destination default port for GIST and the
destination IP address set to the next signaling hop. The source IP
address SHOULD be set to the signaling source address of the node who
is sending the message. EST-MRM routed Query messages do not have to be
intercepted but are explicitly routed to their next (or final)
signaling destination. In contrast to the EST-MRM, the path-coupled
MRM requires Query messages to be sent with Q-mode encapsulation
that is using a router alert option. Furthermore, implementations
must be aware, that Query messages may use with a different encapsulation
method than Q-mode encapsulation, i.e., the check for wrong encapsulation
MUST consider the particular MRM that is being used.
</t>

<t>The EST MRM defines an EST Message Routing Information (EST-MRI)
object that contains information about the actual data flow that is
being signaled as well as addressing information for the signaling
message routing and transport itself.
</t>

<t>
A node receiving a GIST message with an EST-MRI must check whether it
has one local address that matches the destination signaling
address. If it is not the case, it should forward the GIST message
basically unchanged towards the signaling destination address, only
with a decremented GIST Hop Count. Thus, even if the message gets
intercepted by accident, it will be forwarded to the final signaling
destination.
</t>

<t>
It is up to the signaling application's logic to determine the next
signaling hop. Usually, it will be related somehow to the given data
flow, e.g., the signaling target will be along a flows data path. In
the particular example of the anticipated handover, signaling targets
are the current access router as well as the candidate access router
that is presumably the next ingress node for the data flow.
</t>

<t>
When transmitting a signaling message with the EST-MRI, the outer IP
destination address SHOULD be set to the destination signaling address
of the EST-MRI.  In principle it is also possible to forward the
signaling message to a node that is not the final destination
signaling node.  In this case, the destination signaling address and
the IP destination address are not the same. This allows to let the
signaling take multiple intermediate hops. This mechanisms is,
however, for further study and currently not recommended to use.
</t>

<!-- --------------------------------------- -->
<section title="Explicit Signaling Target MRI">
<!-- --------------------------------------- -->
<t>
The EST-MRI object (<xref target='fig:est-mri-layout'/>) starts with
the common MRI header (cf. section A.3.1 of
<xref target="I-D.ietf-nsis-ntlp"/>) and carries a data flow address
description that is identical to the one that is defined in the
Path-coupled MRI (PC-MRI). In addition to that it carries at least
information about the origin signaling address and the destination
signaling address, which are usually identical to the IP source and IP
destination address of the UDP encapsulated signaling
message. Furthermore, it may contain an additional IP address of a
network node where the data flow, which is described by the PC-MRI,
enters the network. It is necessary to provide this information in
some cases since the currently deployed routing protocols can only
determine the next hop in direction towards the destination, but not
backwards towards the source. Thus, this information must be provided
to the next hop in most cases.
</t>

<t>The EST-MRI object has the following layout:
<figure anchor='fig:est-mri-layout'>
 <artwork><![CDATA[
EST-MRI= MRI-header
         PC-MRI
         EST-Control
         Origin-Signaling-Address
         Destination-Signaling-Address
         [ Ingress-Node-Address ]
]]></artwork>
<postamble>Layout of the Explicit Signaling Target Message Routing Information</postamble>
</figure>
</t>

<t>The binary representation is shown in <xref
target='fig:EST-MRI-bitlevel'/>.  First, it contains the normal data
flow address descriptor that is required for path-coupled
signaling. The latter is necessary so that an RMF can determine the
path of the data flow that is being signaled for. If the initiator
cannot predict its future address, it is allowed to set the source IP
address in the PC-MRI to unspecified (either 0.0.0.0 or ::).  After
the PC-MRI, an EST-Control field is provided, that provides further
information on the following fields or their interpretation
respectively. In addition to this description three IP addresses may
be provided. The Origin Signaling Address is the address of the node
who initiated the signaling. The Destination Signaling Address is the
address of the signaling peer that should receive the signaling
message. Both Origin Signaling Address and Destination Signaling
Address are mandatory to specify. They may be both either IPv4 or
IPv6. The actual type is given by the version field (IPVerS) in the high order
EST-Control word. Providing the signaling addresses explicitly has
several advantages: if the outer addresses are rewritten by a NAT or
if the path-directed signaling is relayed via several hops before
arriving at the final peer.
</t>

<t>The Ingress Node Address is optional to specify. When not present,
the version field (IPVerI) of the low order word in the EST-Control
field must be set to 0. Otherwise IPVerI will indicate the protocol
version of the address. It may have a different type than the Origin
Signaling Address or the Destination Signaling Address, but must have
the same type as the address pair in the PC-MRI flow address
descriptor. Mismatching versions must be rejected with an "MRI
ValidationFailure" error message with subcode 1 ("IP Version
Mismatch").  The Ingress Node Address is necessary to specify in some
scenarios, because the RMF cannot determine a flow path in the reverse
direction, except for very simple topologies.
</t>


<figure anchor='fig:EST-MRI-bitlevel'>
 <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                                +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                |IP-Ver |P|T|F|S|A|B|D|Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
//                       Source Address                        //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
//                      Destination Address                    //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Prefix |  Dest Prefix  |   Protocol    | DS-field  |Rsv|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
:       Reserved        |              Flow Label               :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
:                              SPI                              :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
:          Source Port          :       Destination Port        :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPVerS| Reserved              | IPVerI| Reserved              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
//                   Origin Signaling Address                  //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
//                Destination Signaling Address                //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
//                     Ingress Node Address                    //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure>

<t>
The MRI common header carries the N-flag and SHOULD be 0 for this MRM.
A NAT may have to translate at least one of the Origin Signaling
Address, the Destination Signaling Address, or the Ingress Node
Address. Depending on the signaling scenario it may also have to
translate the contained PC-MRI information (for signaling messages
along (a) and (b) in <xref target="fig:anticipated-handover-sig"/>
this is usually not required).
</t>

</section>

<!-- --------------------------- -->
<section title="Implementation">
<!-- --------------------------- -->
<t>
The EST-MRI was implemented and tested successfully in the GIST-ka
implementation <xref target='gistka'/>. Thanks to the object oriented design of the protocol
itself and also the implementation, the implementation effort was
quite low. It was shown that even MA re-use works across PC-MRM and
EST-MRM flows, i.e., if some flows are signaled path-coupled and some
are signaled explicitly, further signaling for both types can re-use
existing messaging associations.
</t>
</section>


</section>

<!-- ================================================================== -->
<section title="Security Considerations">
<!-- ================================================================== -->
<t>Basically, the security considerations of GIST apply.
The main change is that Query messages are not sent using Q-mode encapsulation
and that they contain a different MRI object. Since normal encapsulation
is already considered by GIST, no new security considerations are necessary.
Even for initial Query messages with an EST-MRI, the usual mechanisms
like authorized peer database checking and late state installation mechanisms
apply.
</t>

</section>


<!-- ================================================================== -->
<section title="IANA Considerations">
<!-- ================================================================== -->
<t>According to section 9 of <xref target="I-D.ietf-nsis-ntlp"/> this 
specification requires assignment of a new MRI-ID. Until an assignment
happens by IANA, it is suggested to use MRI-ID 125 for the EST-MRM.
</t>

</section>

</middle>


<!--  *****BACK MATTER ***** -->
<back>

<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

<!-- References split to informative and normative -->
  <references title="Normative References">
  &ntlp;
  </references>

  <references title="Informative References">
  &rfc4066;
  &qosnslp;
  &hypath;

        <reference anchor='gistka' target='https://i72projekte.tm.uka.de/trac/NSIS/'>
           <front>
               <title>NSIS-ka - A free C++ implementation of NSIS protocols</title>
               <author initials='R.' surname='Bless'
                       fullname='Roland Bless'>
                   <organization abbrev='UKA'>
                   Universitaet Karlsruhe (TH)
                   </organization>
               </author>

               <date month='November' year='2007' />
           </front>

       </reference>

  </references>
</back>

</rfc>

<!-- LocalWords:  MRM Telematics Universitaet Karlsruhe Zirkel NSIS QoS NSLP CN
-->
<!-- LocalWords:  Hypath UDP IP RMF RACF IANA
-->
