Project

General

Profile

Actions

Bug #4712

closed

Slow convergence of Hyperbolic routing in Mini-NDN

Added by Ashlesh Gawande about 6 years ago. Updated almost 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:

Description

For the 42 node current testbed topology, running under hyperbolic routing with security, convergence does not happen in 120 seconds like Link State routing running under the same parameters.

Some nodes are unable to fetch the data successfully from few of the other nodes because of the following error:

From afa nlsr.log:

Failed to fetch LSA: /localhop/ndn/nlsr/LSA/bupt-site/%C1.Router/cs/bupt/NAME,
Error code: 3, Message: Segment validation failed: Cannot retrieve certificate
(Cannot fetch certificate after all retries `/ndn/bupt-site/%C1.Router/cs/bupt/nlsr/KEY/%24%1E%09%01%11%5D%2B%5D`)

It is after the next LSA refresh (1800 seconds by default) that they are able to successfully fetch the data.


Files

convergence-problem.png (54.7 KB) convergence-problem.png Ashlesh Gawande, 08/22/2018 01:17 PM

Related issues 1 (0 open1 closed)

Related to ndn-cxx - Feature #4718: Use exponential retry on nack in CertificateFetcherFromNetworkClosedAshlesh Gawande

Actions
Actions #1

Updated by Ashlesh Gawande about 6 years ago

NLSR multicasts an interest for LSAs to neighbouring routers after it is informed by sync.
After getting the LSA data, direct certificate fetcher sends interests for certificates back to the face where the data came from.

If there is a NoRoute NACK, direct certificate fetcher tries three more times before giving up (sending another interest immediately upon NACK).

After NLSR is informed that segment fetcher has failed, it schedules another interest in 4 seconds (in case the reason is timeout, the next interest is sent immediately).
This interest is never seen on the network - it is answered by the content store every time because the freshness of the LSA data is equal to LSA refresh time which by default is 30 minutes. All the interests from direct certificate fetcher are directed towards the content store resulting in failure to fetch the certificates.

Setting the LSA data freshness to 4 seconds resolves this issue.

Actions #2

Updated by Ashlesh Gawande about 6 years ago

Certificate direct fetch sends two interests for certificates:

  • Interest with face id
  • Interest to the network

Interest to the network always results in a NoRoute.

Interest with face id can hit the content store if LSA data has got the local content store but other routers are not yet ready to serve the certificates (delay in registering prefixes in NFD).

Since lowering the LSA data freshness from LSA refresh lifetime is not acceptable because no new data is expected before that, two other solutions are:

  • NLSR should only send the LSA data when registration of certificate prefixes is successful: requires some changes in NLSR to achieve this Have no control over the content store

  • Create our own certificate direct fetcher that does not send an interest to the network as a back up, use the segment fetcher to fetch the certificate, and re-schedule the fetch on Nack using the same face (warn if face is that of content store) till it is successful.

Actions #4

Updated by Ashlesh Gawande about 6 years ago

  • Related to Feature #4718: Use exponential retry on nack in CertificateFetcherFromNetwork added
Actions #5

Updated by Ashlesh Gawande almost 6 years ago

  • Status changed from New to Closed
  • Target version set to v0.5.0
  • % Done changed from 0 to 100
Actions

Also available in: Atom PDF