[Ndn-interest] Request for NDN Primer

Mohammad Ishfaque Jahan Rafee mij.rafee.1344 at gmail.com
Thu Jan 9 13:29:18 PST 2020


Hi,
When I check https://nlsr-status.netlify.com/, I can't find my content at
/Rafee/my-second-packet/33=%00. However, when I try the command ndnpeek -p
/Rafee/my-second-packet/33=%00, it produces the following output Rafee's
first packet. Where is it being served from? Is it being served locally? If
yes, how to purge the local cache? Also, how to set a lifetime for content?
And more importantly, How do I find this information without bothering you
over email?

On Thu, Jan 9, 2020 at 4:20 PM Mohammad Ishfaque Jahan Rafee <
mij.rafee.1344 at gmail.com> wrote:

> Hi,
> When I check https://nlsr-status.netlify.com/, I can't find my content at
> /Rafee/my-second-packet/33=%00. However, when I try the command ndnpeek
> -p /Rafee/my-second-packet/33=%00, it produces the following output ndnpeek
> -p /Rafee/my-second-packet/33=%00. Where is it being served from? Is it
> being served locally? If yes, how to purge the local cache? Also, how to
> set a lifetime for content? And more importantly, How do I find this
> information without bothering you over email?
>
> On Thu, Jan 9, 2020 at 4:09 PM Mohammad Ishfaque Jahan Rafee <
> mij.rafee.1344 at gmail.com> wrote:
>
>> Hi Junxiao,
>> I transferred the content using ndncat. I tried to do a binary
>> comparison, as there's no way to play the video on the server. However, I
>> think there's some overhead like segment inside the mp4 file transferred by
>> ndn. Other than that, the file transferred successfully.
>>
>> On Thu, Jan 9, 2020 at 1:12 PM Junxiao Shi <shijunxiao at email.arizona.edu>
>> wrote:
>>
>>> Hi Rafee
>>>
>>> I tried the whole thing again, and it worked this time. Thank you very
>>>> much. It wasn't working today morning, and after checking
>>>> http://ndndemo.arl.wustl.edu/ I realized, the SAVI Testbed is down,
>>>> which I was trying to use as the default gateway. But after changing UIUC
>>>> endpoint, everything worked fine. My setup is as follows:
>>>> Machine 1 (Producer): VM on SAVI.
>>>> Machine 2 (Consumer): VM on AWS.
>>>> As I can see, my message is still available, even after the producer is
>>>> shut down (As expected with ICN). I also tried ndnpeek, and that worked as
>>>> well.
>>>>
>>>
>>> Congrats for having successfully transferred a text message through the
>>> NDN testbed using NDNts <https://github.com/yoursunny/NDNts>.
>>>
>>>
>>>>
>>>> Now, at this point. I am looking for further assistance.
>>>> 1. Can you explain to me what happened in simple terms?
>>>>
>>>
>>> Producer side
>>>
>>> Download the attached file and save as ndncert-ucla.json in the current
>>>> directory.
>>>>
>>> NDNTS_KEYCHAIN=$HOME/keychain NDNTS_UPLINK=udp://
>>>> savi.testbed.named-data.net:6363 ndntssec ndncert-client --ca
>>>> ndncert-ucla.json --valid-days 120 --verbose
>>>>
>>>
>>> ndncert-ucla.json contains name prefix and certificate of an NDNCERT
>>> certificate authority, hosted at UCLA.
>>> ndntssec ndncert-client command requests a certificate from this
>>> certificate authority, and stores it in $HOME/keychain directory along with
>>> the private key.
>>> The certificate request procedure uses Interest-Data exchange, hence a
>>> testbed router address is specified on the command line.
>>>
>>> echo "Rafee's first packet" | NDNTS_KEYCHAIN=$HOME/keychain
>>>> NDNTS_NFDREG=1 NDNTS_UPLINK=udp://savi.testbed.named-data.net:6363
>>>> NDNTS_PKTTRACE=1 ndncat put /Rafee/my-first-packet --ver=none
>>>>
>>>
>>> ndncat put command reads content from standard input (created by echo),
>>> and turns it into one or more Data packets under /Rafee/my-first-packet
>>> prefix.
>>> In order for other nodes to reach this producer via the testbed, the
>>> producer must announce this name prefix to the global routing system.
>>> Testbed requires all announcements to be signed by a testbed certificate,
>>> hence the previous step obtains a certificate for you. ndncat put
>>> command loads your key pair from $HOME/keychain directory, as specified on
>>> the command line.
>>> The router you are connecting to will retrieve the certificate so that
>>> it can verify the signature on the prefix announcement. During your first
>>> attempt, the UCLA certificate authority did not publish your certificate,
>>> so that the router couldn't retrieve the certificate, and had to reject the
>>> prefix announcement.
>>> Once the prefix announcement has been verified using your certificate,
>>> the router announces your prefix globally. Your producer is now reachable
>>> from anywhere on the NDN testbed, and the announcement shows up on
>>> https://nlsr-status.netlify.com/ , which is a status page of the global
>>> routing system.
>>>
>>> Consumer side
>>>
>>> NDNTS_UPLINK=udp://savi.testbed.named-data.net:6363 NDNTS_PKTTRACE=1
>>>> ndncat get /Rafee/my-first-packet --ver=none
>>>>
>>>
>>> ndncat get sends a few Interests to the specified testbed router. Since
>>> the producer prefix has been announced globally, you could connect to any
>>> testbed node and retrieve the content.
>>>
>>>
>>>> ndnpeek -p /Rafee/my-first-packet/33=%00
>>>>
>>>
>>> This reveals the actual name of the first Data packet.
>>> ndncat currently does not support serving a single packet. The text
>>> message is treated like a stream. and chunked into segments. 33=%00
>>> indicates "segment number 0".
>>>
>>>
>>> 2. How can I go about hosting my content (Something more than a text,
>>>> such as a video)? I am asking this because the current content seems to be
>>>> just *cat* into the terminal.
>>>>
>>>
>>> If you just want to transfer a video file, you can still use ndncat
>>> <https://github.com/yoursunny/NDNts/tree/284d3d9f0b6b8c83a746e763d09ab00637f2d5a4/packages/cat>.
>>> ndncat put reads from standard input, and ndncat get writes to standard
>>> output. Thus, you can do something like:
>>>
>>> NDNTS_KEYCHAIN=$HOME/keychain NDNTS_NFDREG=1 NDNTS_UPLINK=udp://
>>> savi.testbed.named-data.net:6363 NDNTS_PKTTRACE=1 ndncat put
>>> /Rafee/my-video.mp4 --ver=none  < my-video.mp4
>>> NDNTS_UPLINK=udp://savi.testbed.named-data.net:6363 NDNTS_PKTTRACE=1
>>> ndncat get /Rafee/my-video.mp4 --ver=none > my-video.mp4
>>>
>>> However, currently the producer would buffer all Data packets in memory,
>>> so that you can only transfer small files (500MB is fine on a 8GB
>>> laptop, maybe more).
>>>
>>> If you want a more substantial video service
>>> <https://ivoosh.netlify.com/>, setting up the backend
>>> <https://github.com/chavoosh/ndn-mongo-fileserver> is much more
>>> involved, and I haven't tried it myself. It's better to leave it to the
>>> experts.
>>>
>>> Yours, Junxiao
>>>
>>
>>
>> --
>> Best Regards
>> Rafee
>> www.mohammadrafee.com
>>
>
>
> --
> Best Regards
> Rafee
> www.mohammadrafee.com
>


-- 
Best Regards
Rafee
www.mohammadrafee.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndn-interest/attachments/20200109/21483b83/attachment.html>


More information about the Ndn-interest mailing list