[Nsi-wg] Do we allow one NSA (by URL) to act for multiple networks?

Jerry Sobieski jerry at nordu.net
Wed Feb 6 06:04:05 EST 2013


Hi John-

I looked at your slides multiple times to clarify my thinking...

I agree with slides 5, 6, and 7.   With a small qualification on slide 6 
that says the protocol endpoint must also implement a message transport 
layer function to inspect the destination NSA and decide how to forward 
the message to reach the intended NSA.   So, strictly speaking, the 
protocol endpoint is not *just* NSI protocol endpoint , but a network 
transport function as well.   NEvertheless, the message transport is 
still based upon NSA ID.

However, ...

In slide 3 bullet 4 you state that NSA ID is the only value that should 
be used to address NSI messages to their destination.  This is correct - 
its conformant to the NSI Framework that states that NSAs are the 
protocol speakers.   THus messages are directed between NSAs only.

However, in slide 4 bullet 5 you break this rule.   You assert that each 
NSA function (presumably each protcol or even each primitive of each 
protocol) can have a separate endpoint...  While underlying transport 
might support this - it is not conformant to the NSI framework that says 
messaging is transported between NSAs [only]. From the NSI perspective, 
an NSA may have multiple endpoints as long as they are all functionally 
equivalent.   If the endpoints are not equivalent, i.e. they do not map 
to the same NSA, then they *by definition* constitute different NSAs.  
Thus if my NSI protocol needs to send a message to a specific NSA I 
should address the message to the intended NSA.  If the destination 
supports multiple protocols or has different protocl endpoints for each 
protcol or primitive, then the *destination NSA* is responsible for 
determining how to process the message content.     If you have 
different endpoints for differnet primitives, there is no way to 
indicate which endpoints correspond to which protocol speaker except via 
NSA ID.   Thus each protocol speaker (NSA) only sends messages to other 
protocol speakers (other NSAs) - not to the specific primitive endpoints.

This means your slide 8 and slide 9 are incorrect.   As those functions 
are *not* associated with the same NSA(s) behind the protocol endpoints. 
   In Slide 8, each different protocol end point constitutes a different 
NSA.  And in slide 9, if the protocol endpoints are not equivalent in 
terms of the NSA functions they serve, then you need to treat them as 
separate NSAs.   (It is ok to separate the protcols onto separate NSA - 
it should not break the protocols, but that do not reside in the same 
NSA if there are separate and unique destinations for each.)

I think it is important to understand the subtle differences you are 
making.  The sending NSA designates message destination by NSA ID. The 
sending NSA should not be required to differentiate each protocol 
primitive on every remote NSA.   Its unnecessary.  In your NSA if you 
want each primitive to have a separate endpoint - then write your NSA to 
distribute the messages accordingly - but this is transparent to all 
remote NSAs sending you a message.    From the NSI perspective - each 
NSA simply sends messages to other NSAs. Period.

A couple other points:  First, In regards to protocol mappings to NSA 
IDs, the physical network they represent or speak for is IMO immaterial 
to the message transport addressing - these are separate issues.  
Message transport has to do solely with delivering messages between 
NSAs, and has no direct relationship to the data plane an NSA may or may 
not represent.    Indeed, it may be that the Network ID may only need be 
associated with an NSA for the CS protocol - its not clear that, say, a 
NSI Topology Service needs to be associated with a particular data plane 
at all...it could simply serve topology information about any/all 
networks...  A TS would need a NSA ID, but maybe not a NSI Network ID.  
(I think this was the outcome of our discussion last March about 
NSA-NSnetwork mappings)

Second, There is no intrinsic requirement for two protocols to be 
associated with a single NSA ID.   If/when two protocols are part of the 
same NSA, it only means that NSA is able to distinguish all the messages 
from one another and that the services coexist on the same NSA.  I think 
this is best, but it is not required.    THere is no inherent linkage 
between different protocols due to the agent that runs them.   I.e. 
NSI-CS does not *need* to be the same NSA as the NSI-TS.     There could 
good reasons for separating protocols to separate agents.  However(!) - 
this should also not be interpretted to mean that two disjoint and 
independent protocol agents can claim to be the same NSA yet require 
different endpoints for different services.   THis can lead to some 
erroneous operation as sending agents may need to interact with both 
services but cannot distinguish which endpoint to use since they both 
claim to be the same NSA.

Finally:  What exactly does the "Discovery Service" do? (:-) Initially 
it was to tell us what version of NSI an NSA was running.   DS was not 
part of v1.   Is there a [draft] document that describes the Discovery 
Service?  Do we have group clarity on what the DS is supposed to do?    
I admit that I am very confused about what it has evolved into - or 
ought to do - or ought not be doing - or how it does it...
(Thanks.)

I hope this was lucid...
Jerry


On 1/31/13 8:28 AM, John MacAuley wrote:
> I had a funny feeling someone was going to bring this up :-)
>
> You are correct in that we do need to distinguish between services, however, the NSA is not distinguished by the service endpoint.  A requester NSA can determine the protocol endpoint for a specific service and for a specific NSA through the Discovery Service.  If there are multiple NSA off of a common protocol endpoint, then the provider NSA element is used to determine the target NSA for that endpoint.  If the endpoint supports multiple services, then the service operation contained in the message will identify the specific service being targeted.
>
> Does that address your concerns?  I wanted to make sure we clearly state that the providerNSA value should be the only value used to identify the NSA.  Would you like me to add the specific statement about how a shared endpoint should behave?
>
> Thanks,
> John
>
> On 2013-01-31, at 4:20 AM, Jeroen van der Ham <vdham at uva.nl> wrote:
>
>> On 30 Jan 2013, at 23:10, Jerry Sobieski <jerry at nordu.net> wrote:
>>
>>> --- Slide 4 last bullet:   If each NSI Service (e.g. Discovery Svc, Connection Svc, Topo Svc, etc)  is allowed to have different underlying messaging layer endpoints, (e.g. different SOAP endpoints) then the NSI messages cannot be delivered with *only* the NSA IDs (Slide 3 bullet 4).    Delivery will be dependent upon both the destination NSA ID *AND* the NSI service.    I.e. The destination NSI Service must also be known in order to differentiate and select the appropriate protocol (SOAP) end point.
>> No. The messages for the different services are different, thus it is very easy to differentiate between them.
>>
>> Jeroen.
>>
> _______________________________________________
> nsi-wg mailing list
> nsi-wg at ogf.org
> https://www.ogf.org/mailman/listinfo/nsi-wg



More information about the nsi-wg mailing list