[Nfd-dev] [Ndn-app] NFD faces/create: requires canonical FaceUri

Burke, Jeff jburke at remap.UCLA.EDU
Mon Dec 1 08:23:31 PST 2014



Hi Jeff

DNS resolution is simply not the responsibility of NFD. Management utility (nfdc) should take care of that.

Hi Junxiao,

I'm not arguing with the separation, but I want to understand the design rationale so that I can better understand what goes in and what stays out of NFD from the perspective of those developing it.    What is it about DNS resolution that motivated its exclusion from NFD?

Thanks,
Jeff

After completing the resolution process, a canonical FaceUri is generated and passed to NFD for face creation (and face query).

I'm not assuming anything about how NFD is used in the community.
The first message in this thread is an announcement that all users must change their programs if they are using this specific feature.


Face query operation requires exact match of FaceUri. That's why NFD expects a canonical FaceUri that remains the same for the same endpoint. Allowing any alias of a canonical FaceUri would cause problems in face query operation.

The usage of udp4, udp6, tcp4, tcp6 doesn't require IANA registration, because FaceUri is not in the same namespace as URI.

Yours, Junxiao

On Mon, Dec 1, 2014 at 9:00 AM, Burke, Jeff <jburke at remap.ucla.edu<mailto:jburke at remap.ucla.edu>> wrote:
Hi Junxiao,

Hi Jeff

DNS is a complex affair that has many details to take care of.

I don't understand exactly what's complex for NFD here;  is it the asynchronous nature of the resolution process that you prefer not be handled in the daemon?

NFD isn't the right place to perform DNS resolution, so we have decided to off-load this operation to the client library.
ndn-cxx provides FaceUri::isCanonical method that determines whether a FaceUri is canonical.
ndn-cxx provides FaceUri::canonize method to perform DNS resolution, and obtain a canonical FaceUri.

Most users shouldn't be affected, because nfdc command line tool will canonize FaceUri before creating face.

NLSR is the only known app that uses faces/create command through ndn-cxx Controller API, and NLSR has been updated

I'm not sure that it's good practice to assume you know the cases in which the library and daemon are being used in the research community.

Apps based on ndn-ccl shouldn't be affected because ndn-ccl API doesn't have a face creation method.

udp and udp4 are not equivalent. udp can be resolved to either udp4 or udp6.
udp://192.0.2.1<http://192.0.2.1> will be canonized as udp4://192.0.2.1:6363<http://192.0.2.1:6363>

Yes, all I was getting at is that the convention could be similarly defined at the NFD level.

Is the use of udp and tcp in URI schemes, rather than, say, ndnudp or ndntcp going to cause any conflicts with registered URI schemes in  the future? http://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml

Jeff
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/nfd-dev/attachments/20141201/6b92af4a/attachment.html>


More information about the Nfd-dev mailing list