[Nsi-wg] NSI endpoint references

Inder Monga imonga at es.net
Sun Mar 13 00:43:09 CST 2011


Jerry,

I am going to jump in with some questions to better my understanding -  
embedded below

>
> If we look at some high successful aspects of the internet we see:   
> Names that map to IP addresses, IP addresses that map globally to an  
> interface, and interface addresses that can be moved locally to  
> other hardware without changing references to those interfaces.
>
> The <network>:<endpoint> tuple is analogous to the global IP address  
> with its <network>/<host> definition.  So we can call the NSI tuple  
> a symbolic global addressing scheme.   I think this is an important  
> feature for NSI. AS it turns out, this tuple is sufficient to route  
> a request across the global NSI topology, but is independent of the  
> physical topology.  It is the leaf NSA's job to know how to  
> translate an NSI EPR to the local NRM.   Indeed, since the leaf NSA  
> is just a PA frontend to the NRM, we can say that translating from  
> NSI EPR to local NRM is the job of the NRM-PA. THis makes the  
> translation to local topology a function of the NRM and out of scope  
> for NSI.
>
Please do not use EPR as a sub for STPs - it is already a standardized  
term..could cause confusion. http://en.wikipedia.org/wiki/WS- 
Addressing  :)

> We could allow a topological specification as well.   But this has  
> the drawback that every application globally referencing that end  
> point will need to know the topological location.  If that physical  
> location changes for any reason, all applications need to be  
> changed.  Just as IP address *can* be used for URLs, DNS names are  
> used in order to abstract the desired endpoint from the physical  
> location it occupies at the moment.    In addition, advertising  
> endpoints by their topological specification allows internal  
> topology to leak out globally.

I understand what you are saying - but to me what you are suggesting  
falls within best practices and you cannot mandate someone not to  
encode topological spec into their local string. for example

3  te-1-4-ur03.santaclara.ca.sfba.comcast.net (68.86.248.17)  17.047  
ms  18.316 ms  33.941 ms
  4  te-1-10-0-5-ar01.sfsutro.ca.sfba.comcast.net (68.85.155.58)   
62.206 ms  72.866 ms  52.751 ms
  5  pos-1-7-0-0-cr01.sanjose.ca.ibone.comcast.net (68.86.90.153)   
52.351 ms  72.093 ms  32.664 ms
  6  pos-0-0-0-0-pe01.529bryant.ca.ibone.comcast.net

I just want to be sure you are not referring to encoding like the  
above which can be done?

>
> I know Inder (and probably Tomohiro) have questions about how you  
> select VLANs at a remote endpoint,

The question is how to specify aggregate end-points using this method  
of uninterpretable local strings. The number of these end-points when  
you consider virtual ones can be huge. So there is a benefit in having  
a specification that can aggregate those. The other question is how to  
show interconnectivity between two STPs - one in each domain.

> but I view this as a pathfinding issue within each domain - not a  
> global issue.  While this is related to topology and visibility, if  
> we stay within the confines/context of the NSI-CS protcol I do not  
> think we need to address this in the standard.  At least not  
> immediately.
>
> So whether we use a "urn:blah <domain>:<endpoint>" or just a raw  
> tuple "//<domainname>/<endpointname>" is not a big issue with me.   
> As long as we support the tuple and agree on *one* convention that  
> all NSAs must recognize.

I prefer the urn representation (even though we could define our own  
string delimiter and format) and I imagine that OGF urn will be  
registered with IANA (http://tools.ietf.org/html/draft-dijkstra-urn-ogf-01 
  and http://www.iana.org/assignments/urn-namespaces/urn-namespaces.xml)

Inder

>
>
>> Just to make sure we are clear on definitions, URNs are not  
>> specifically associated with web services, and in fact, have little  
>> to do with web services.  Here is the introduction from RFC2141  
>> that defines the URN:
>>
>> Uniform Resource Names (URNs) are intended to serve as persistent  
>> location-independent, resource identifiers and are designed to make  
>> it easy to map other namespaces (which share the properties of  
>> URNs) into URN-space. Therefore, the URN syntax provides a means to  
>> encode character data in a form that can be sent in existing  
>> protocols, transcribed on most keyboards, etc.
>>
>> By definition it is exactly what you have been asking for with  
>> physical location independent naming.  Whether you are using web  
>> services or some other binary protocol, a URN is just a syntax for  
>> identification and naming.  This mechanism has been chosen for use  
>> by the GLIF, perfSONAR, and the NML group.
>>
>> Now, a URN also qualifies as an instance of a URI similar to how a  
>> URL is also an instance of a URI.  Perhaps this is why you may have  
>> confused it with  web services?
> I think my concern is that the endpoints we are trying to reference  
> are not values passed to application services - they are endpoints  
> of conenctions.   Is it apropriate to force all users of NSI to  
> adopt OGF naming conventions for their network endpoints?  It is one  
> thing to say NSI uses these namepsaces internal to the protocol, its  
> is another to say all users of NSI services must also use OGF name  
> spaces to name their endpoints. If we specify any namesapce, it  
> seems to me we are also excluding all others.   Is this necessary to  
> identify endpoints suitably?- or just a habit we've gotten into?
>>
>> Personally, I do not like to be wishy washy with types when  
>> defining protocols.  Stating that an endpoint mush be from a URN  
>> namespace, or more specifically, the OGF URN namespace, will give  
>> more clarity in the protocol definition, and bind the protocol  
>> definition to other OGF specifications.
> Speaking of clarity, how much "clarity" does it really need?  What  
> is not clear?   We are talking about a two part tuple...  That  
> carries no NSI relevant information in the names.   Why would more  
> namespaces provide more "clarity"?   Namespaces just qualify  
> the ...uh..namespace.   duh.  I think what you want is not just  
> namespaces but XML schemas.
>
> Remember - these names are not places we are sending HTTP commands -  
> these are dataplane end points.   Putting all that clarity on them  
> sure seems to me to be unnecessary ...I don't see the confusion.
>> I would probably define a compound type as follows (I use XML  
>> schema since I know it well):
>>
>>    <xsd:complexType name="StpType">
>>       <xsd:sequence>
>>          <xsd:element name="domain" type="xsd:anyURI" />
>>          <xsd:element name="endpoint" type="xsd:anyURI" />
>>       </xsd:sequence>
>>    </xsd:complexType>
>>
>> However, I am not going to argue is people think it should be two  
>> strings instead of two URN.
>>
>> John.
>>
> Thanks John and all of you for the thoughtful discussion.
> Jerry
> _______________________________________________
> nsi-wg mailing list
> nsi-wg at ogf.org
> http://www.ogf.org/mailman/listinfo/nsi-wg

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.ogf.org/pipermail/nsi-wg/attachments/20110312/2bf009c3/attachment-0001.html 


More information about the nsi-wg mailing list