[Nfd-dev] problem with selector for implicit digest?
christian.tschudin at unibas.ch
christian.tschudin at unibas.ch
Fri Dec 11 16:12:07 PST 2015
I'm hitting a wall with nfd behavior when it comes to the implicit digest.
a) What is working correctly:
- first retrieve a packet by ordinary name
- compute the digest of the received packet
- then retrieve the same packet, but this time with the
special digest component appended and MaxSuffix=0
- this works, the data will probably now be served from the CS
(digest is a3c19829edf901ff9d1a87f6da82af050a1cc302784b9b18ecd3812deef6795d)
b) What is not working:
- directly retrieve another packet with its (other) name and including
the special digest component for that data, and MaxSuffix=0
- nfd accepts this request and forwards it upstream
- nfd receives that data packet
- but the received data is not delivered to the downstream
client (timeout of ndnpeek although I can see that nfd
received the right packet).
(digest is 65d5baf5960a4151ee64f8aa93ed19c90c50932308d3019848f23b2f59bc0623)
The content comes in both cases from an upstream node (running
ccn-lite), see the topology below.
One potential catch is that the two names are almost identical:
The name in step a) is
/ndn/ch/unibas/repo256/movie7.mp4/_
The name in step b) is
/ndn/ch/unibas/repo256/movie7.mp4
Is this a bug in PIT matching? Or has the second data object an internal
problem that lets nfd refuse it (see the attached packet)? Below I also
add the command line logs, FYI.
Best, christian
---
# topology
ndnpeek --> nfd (UDP 6363) --> ccn-lite-relay (UDP 3636) --> ccn-lite-repo256 (UDP 7777)
# case a), showing correct behavior
tschudin at cs-ndn-testbed1:~$ ndnpeek -v /ndn/ch/unibas/repo256/movie7.mp4/_ >pkt-1.bin
INTEREST: /ndn/ch/unibas/repo256/movie7.mp4/_
DATA, RTT: 5ms
tschudin at cs-ndn-testbed1:~$ shasum -a 256 pkt-1.bin
a3c19829edf901ff9d1a87f6da82af050a1cc302784b9b18ecd3812deef6795d pkt-1.bin
tschudin at cs-ndn-testbed1:~$ ndnpeek -v /ndn/ch/unibas/repo256/movie7.mp4/_/sha256digest=a3c19829edf901ff9d1a87f6da82af050a1cc302784b9b18ecd3812deef6795d
>pkt-2.bin
INTEREST: /ndn/ch/unibas/repo256/movie7.mp4/_/sha256digest=a3c19829edf901ff9d1a87f6da82af050a1cc302784b9b18ecd3812deef6795d
DATA, RTT: 5ms
tschudin at cs-ndn-testbed1:~$ cmp pkt-1.bin pkt-2.bin
tschudin at cs-ndn-testbed1:~$
# case b), showing the error
tschudin at cs-ndn-testbed1:~$ ndnpeek -v -M 0 /ndn/ch/unibas/repo256/movie6.mp4/sha256digest=bc5f1a0e0712304cb9790aad2639397c6ad3d01fb2adf74a4572b100c5f12885 >pkt-3.bin
INTEREST: /ndn/ch/unibas/repo256/movie6.mp4/sha256digest=bc5f1a0e0712304cb9790aad2639397c6ad3d01fb2adf74a4572b100c5f12885?ndn.MaxSuffixComponents=0
TIMEOUT
tschudin at cs-ndn-testbed1:~$
# Log file captured with tcpdump (case b)
tschudin at cs-ndn-testbed1:~$ sudo tcpdump -i lo 'udp port 6363 or udp port 3636 or udp port 7777' >traffic.log &
[2] 20530
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 65535 bytes
tschudin at cs-ndn-testbed1:~$ ndnpeek -v -M 0 /ndn/ch/unibas/repo256/movie7.mp4/sha256digest=65d5baf5960a4151ee64f8aa93ed19c90c50932308d3019848f23b2f59bc0623 >pkt-3.bin
INTEREST: /ndn/ch/unibas/repo256/movie7.mp4/sha256digest=65d5baf5960a4151ee64f8aa93ed19c90c50932308d3019848f23b2f59bc0623?ndn.MaxSuffixComponents=0
TIMEOUT
tschudin at cs-ndn-testbed1:~$ fg
sudo tcpdump -i lo 'udp port 6363 or udp port 3636 or udp port 7777' > traffic.log
^C6 packets captured
12 packets received by filter
0 packets dropped by kernel
tschudin at cs-ndn-testbed1:~$ less traffic.log
00:47:08.269244 IP cs-ndn-testbed1.cs.unibas.ch.6363 > cs-ndn-testbed1.cs.unibas.ch.3636: UDP, length 87
00:47:08.270061 IP localhost.3636 > localhost.6363: UDP, length 87
00:47:08.270181 IP localhost.6363 > localhost.3636: UDP, length 100
00:47:08.270362 IP localhost.3636 > localhost.7777: UDP, length 87
00:47:08.271063 IP localhost.7777 > localhost.3636: UDP, length 3862
00:47:08.271227 IP cs-ndn-testbed1.cs.unibas.ch.3636 > cs-ndn-testbed1.cs.unibas.ch.6363: UDP, length 3862
traffic.log (END)
# log from the ccn-lite relay (which links to the upstream repo256, both running
# on the same machine as nfd but using UDP ports 3636 and 7777, respectively)
[D] 100.1443: ccnl_core_RX ifndx=0, 87 bytes
[D] 100.1443: face 9, peer=192.43.193.111/6363
[I] 100.1444: incoming interest=</ndn/ch/unibas/repo256/movie7.mp4>[65d5..0623]ndn2013 from=192.43.193.111/6363
[D] 100.1444: searching in CS
[D] 100.1446: created new interest entry 0x1364f70 (prefix=/ndn/ch/unibas/repo256/movie7.mp4)
[D] 100.1446: ccnl_interest_propagate
[D] 100.1447: ccnl_interest_propagate, fwd==0x13650d0
[I] 100.1447: outgoing interest=</ndn/ch/unibas/repo256/movie7.mp4> to=127.0.0.1/6363
[D] 100.1449: udp sendto(87 Bytes) to 127.0.0.1/6363 returned 87/0
[D] 100.1450: ccnl_interest_propagate, fwd==0x100e1f0
[I] 100.1450: outgoing interest=</ndn/ch/unibas/repo256/movie7.mp4> to=127.0.0.1/7777
[D] 100.1450: udp sendto(87 Bytes) to 127.0.0.1/7777 returned 87/0
[D] 100.1450: ccnl_core_RX ifndx=0, 100 bytes
[D] 100.1451: face 2, peer=127.0.0.1/6363
[I] 100.1457: ndnlp packet
[D] 100.1458: ccnl_core_RX ifndx=0, 3862 bytes
[D] 100.1458: face 6, peer=127.0.0.1/7777
[I] 100.1458: incoming data=</ndn/ch/unibas/repo256/movie7.mp4>[65d5..0623]ndn2013 from=127.0.0.1/7777
[I] 100.1458: outgoing data=</ndn/ch/unibas/repo256/movie7.mp4>ndn2013 to=192.43.193.111/6363
[D] 100.1460: udp sendto(3862 Bytes) to 192.43.193.111/6363 returned 3862/0
[D] 100.1460: adding content to cache
---
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 65d5baf5960a4151ee64f8aa93ed19c90c50932308d3019848f23b2f59bc0623.bin
Type: application/macbinary
Size: 3862 bytes
Desc:
URL: <http://www.lists.cs.ucla.edu/pipermail/nfd-dev/attachments/20151211/ca8c9a31/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: a3c19829edf901ff9d1a87f6da82af050a1cc302784b9b18ecd3812deef6795d.bin
Type: application/macbinary
Size: 3725 bytes
Desc:
URL: <http://www.lists.cs.ucla.edu/pipermail/nfd-dev/attachments/20151211/ca8c9a31/attachment-0001.bin>
More information about the Nfd-dev
mailing list