[Nsi-wg] Query request

John MacAuley john.macauley at surfnet.nl
Thu Nov 1 13:55:23 EDT 2012


Very 1970s of you ;-)

On 2012-11-01, at 12:00 PM, Jerry Sobieski <jerry at nordu.net> wrote:

> Ok.  This is on my list of NSI version 3 issues:  Fixing the MTL     I didn't want to get into it yet either, but I had this on my short list waiting for after SC...
> 
> The NSI protocol layer should not have to deal with issues associated with the session layer.   NSI just wants to send and receive messages between NSAs, and have some assurance that the message was successfully delivered, or not.   This has nothing to do with which message is being sent - it applies equally to all/any messaging between NSAs.   This goes back to the MTL specification...  We should not be projecting these lower layer issues into the NSI layer.
> 
> The problem is, admittedly, that NATs and Firewalls get in the way.   The MTL should hide all of this from the NSI messaging.   At the NSI layer we should not be worried about the replyTo fields as these are not part of NSI layer or even the MTL layer.    For version3 we should formalize an MTL that delivers messages between NSAs - period.  ...regardless of where those NSAs reside or which messages are being sent.   The basic issue is to construct a session between two NSAs that can carry messages either way, and at any time, as long as the session is up.   If the session is down, we queue the message until it is back up.   If the message remains queued too long waiting for the session to re-appear, it times out...and a "MTL Timeout Error: Undeliverable Message" gets returned to the calling process.   If the the message is delivered to the peer (receipt acknowledged), but the NSI layer does not receive a response to the NSI primitive in some period of time, then we get a different timeout error:  "NSI Timeout Error: Unresponsive Peer".
> 
> This MTL allows either or both NSAs to establish the session.   It could be configurable for each peer NSA.   If I see a remote NSA in the topology and I want to send a Reserve msg, then I open a session and keep it open until one of us decide to drop it.  If I know of a neighbor NSA that I would expect to interact with often, I can immediately bring up a session when I start and hold it open forever.  For Others I bring up sessions only when needed, or maybe there is a an aggregator somewhere (not adjacent) that I use often, I can open and hold a session with that NSA, or open one as needed.   But each NSA can configure how they wish to manage their sessions with other NSAs...indeed, this is in essence part of the control plane topology we introduced in v2.    
> 
> This simplifies RAs for mere mortals since they can establish the session, send and/or receive messages, then drop the session until the wish to check again sometime later.   If an agent wants to be notified immediately, it holds the session open indefinitely, or it sets itself outside the FW or NAT with a routable IP address and the notifying NSA can open a session when required.  Or the user agent can simply periodically open a session and check,...  
> 
> While this mechanism does not allow two MTLs to reach each other if both are behind a NAT or FW,  this is situation that essentially prevents *any* sessions from being opened between these two hosts... and solving this problem is not an NSI or MTL issue - its a network engineering issue.   A publically routable federating NSA could act as a control plane go between to work around the fortress walls between many NSAs behind FW and NATs (a classic peer-to-peer strategy)
> 
> The point is that NSI does not need to - and should not be burdened with - worrying about low level session issues...  If the session is up, it can talk to the remote NSA and new or queued messages are sent in order.  If it is down, messages get queued for a finite period of time.  The MTL insures that the messages are "delivered" or "not delivered" and deals with the lower layer details. (This MTL notion is a common feature of many signaling protocols -e.g.  ITU     2931 had the SCCP protocol that handled message delivery, routing, flow control, segmentation, etc. for delivering the actua signaling messages between the signaling nodes.)
> 
> This MTL can employ WS libraries or SOAP functions or other mechanisms, but NSI layer is not sensitive to them.    Thus NSI becomes independent of those layers... and the MTL interface is all NSI needs to worry about in terms of sending or receiving messages.  The MTL communications format can be advertised in the topology or out of band between trusted peers.
> 
> This MTL also makes it easy to send messages between any NSAs.  And having the capability to send a message between two NSAs regardless of their role in the service tree is critical for some of the advanced tree processing functions we talked about for multi-point, monitoring, and fault processing, etc.   We really REALLY should fix this and make NSI the master of how it sends messages - not the underlying code libraires.
> 
> But I agree with Inder, this is a topic for the spring when we begin making v3 features/requirements.   Or a beer topic at SC :-)
> 
> Jerry
> 
> 
> On 10/31/12 10:14 AM, Hans Trompert wrote:
>> I'm very much in favor of having the NSI CS 2.0 summary query
>> implemented as a synchronous call as is in NSI CS 1.0.
>> 
>>     HansT.
>> 
>> On 10/31/12 1:37 PM, John MacAuley wrote:
>>> I would be more than happy to move the summary query to a synchronous call and have the detailed query asynchronous.  Would definitely help with clients behind firewalls.
>>> 
>>> Sent from my iPhone
>>> 
>>> On 2012-10-31, at 6:24 AM, "michalb" <michalb at man.poznan.pl> wrote:
>>> 
>>>> Hello,
>>>> 
>>>> This is for reservation query - will there be a synchronous version of that operation (basic query at least)? It is not always possible to listen on query responses and polling would help under such circumstances.
>>>> 
>>>> br
>>>> michal
>>>> 
>>>> 
>>>> -----Oryginalna wiadomość----- From: Jeroen van der Ham
>>>> Sent: Tuesday, September 18, 2012 4:37 PM
>>>> To: nsi-wg at ogf.org Group
>>>> Subject: [Nsi-wg] Query request
>>>> 
>>>> Hi,
>>>> 
>>>> While thinking about a demonstration scenario for SC, we came upon an interesting use-case for the query command. We are trying to plan workflows on the infrastructure, depending on availability. For that it would actually be useful to know not only if a certain resource is in use, but also when it could become available again.
>>>> 
>>>> Would it be possible to add capabilities for the query command to provide something like that?
>>>> 
>>>> Jeroen.
>>>> 
>>>> _______________________________________________
>>>> nsi-wg mailing list
>>>> nsi-wg at ogf.org
>>>> https://www.ogf.org/mailman/listinfo/nsi-wg 
>>>> _______________________________________________
>>>> nsi-wg mailing list
>>>> nsi-wg at ogf.org
>>>> https://www.ogf.org/mailman/listinfo/nsi-wg
>>> _______________________________________________
>>> nsi-wg mailing list
>>> nsi-wg at ogf.org
>>> https://www.ogf.org/mailman/listinfo/nsi-wg
>> _______________________________________________
>> nsi-wg mailing list
>> nsi-wg at ogf.org
>> https://www.ogf.org/mailman/listinfo/nsi-wg
> 
> _______________________________________________
> nsi-wg mailing list
> nsi-wg at ogf.org
> https://www.ogf.org/mailman/listinfo/nsi-wg

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ogf.org/pipermail/nsi-wg/attachments/20121101/bb057d52/attachment-0001.html>


More information about the nsi-wg mailing list