[ndnSIM] how relay works
alexander.afanasyev at ucla.edu
Fri Feb 15 17:00:28 PST 2013
According to the normal NDN logic, Interests/Data is not forwarded to the face this Interest/Data is received. In your scenario, node C is receiving Interest on a wireless interface (NetDeviceFace), thus it will not attempt to "relay" this interests further to the same face.
The problem actually is not in mere ability to "resend" interest on the same face, but in decision whether it should be done in the first place. How would node C know that it is on the way between A and B, and not just a bystander receiving some junk?
Under certain assumptions about what nodes are, their positions, mobility, and traffic pattern, it is possible to get an answer to this question and make sure that C actually relays packets. There is an ongoing project in UCLA that aims to solve this relay problem in vehicular environment, with very initial results under very simplistic mobility model presented in this paper http://lasr.cs.ucla.edu/afanasyev/data/files/Wang/nom.pdf. In this paper we assumed that we want propagate Interests as far as possible from the originator, every node knows its location, and every transmission is accompanied with "GeoTag", based on which it is possible to make a determination whether packet should be relayed or not. There is additional component related to canceling relaying event in a case when node overhears that somebody else did that.
You can check out extensions of ndnSIM that we made (a special ndn::V2vNetDeviceFace and special forwarding strategy) and several scenarios that use these extensions in this repo: https://github.com/cawka/ndnSIM-nom-rapid-car2car. The available the code does not yet cover everything that was presented in the paper, but I'm slowly working on it (I have to port the original code to updated ndnSIM API).
Let me know if you have any questions,
On Feb 14, 2013, at 7:22 PM, Chiara Contoli <chiara.contoli at gmail.com> wrote:
> Hi all,
> I'd like to know how the car relay works. For example: let's suppose we have 3 nodes (I try to make it simple):
> - a node which is a Consumer (Consumer app installed on it); this is the node A
> - a node which is a Producer (Producer app installed on it); this is the node B
> - a node that have the ndn stack installed on it; this is the node C
> A and B can't "hear" each other directly ; C is in the broascast range of both A and B. If A send an Interest, C surely receive that interes, B doesn't , but C could forward the Interest to B and get the Content back from it, and then forward the Content back to A. I've tried this scenario, but it doesn't work as expected . What I see, is that C receive the Interest from A (as I expected) but C doesn't forward the Interest to B. What am I missing?
More information about the ndnSIM