Hi,
I am currently working on AODV ipv6 implementation. At the moment am testing it by creating network simulations and I had a few questions to ask.
1. Is the neighbour discovery taken care by the existing implementations in NS3 or is the routing protocol responsible for it at some point?
2. Based on my initial understanding, three objects"NotifyAddAddress", "NotifyInterfaceUp" and "NotifyInterfaceDown" are associated with neighbour discovery. If am wrong, please correct me. Also, could anyone explain to me, the significance of these objects (I have already read the documentation, a little more detail explanation would be really helpful).
3. I have used the same network topology as specified in the example 'ripng-simple-network.cc' for my aodv testing and I have noticed that the source and router A are able exchange ICMPv6 messages but the same does not occur between destination node and router D. Note: source and destination nodes are just hosts and don't have routing protocol installed on them. For the rest of the interfaces between Routers A,B,C and D, there are only four Neighbour Discovery messages exchanged, they are unable to go further than that. Could someone please explain the possible reasons for this? It would be really helpful.
For the reference, the topology used is this:
The idea is to use Ping6 application between SRC and DST node.
SRC
|<=== source network
A-----B
\ / \ all networks have cost 1, except
\ / | for the direct link from C to D, which
C / has cost 10. SRC and DST are hose
| / A,B,C and D are configured as routers
|/
D
|<=== target network
DST
I have attached three .pcap files.
File ending with:
1. srcnode-0 is for the link between SRC and Router A.
2. dstnode-0 is for the link between DST and Router D.
3. RouterA-1 is for the link between Router A and Router B.
I have used the logs to trace the functioning of whole network and noticed that the nodes are joining the multicast groups via the solicited node multicast address, the nodes are also receiving the packets sent using just MAC addresses, but are unable to process them.
I found out that the RecvAodv is never called, which means the packet is not being processed (because the log says the packets are sent). Could this be a problem with the listen sockets? (I did check this, seemed right, but not 100% confident) If it is so, then could you please suggest a way to check this? If not, then what could be the source of this problem?
The simulation runs successfully with no errors, just that it does not perform the required functionality. Also, logs say route not found to FF02::1 (All nodes multicast address). should the nodes not just listen to, at this address, why is a route required?
Some questions might be really trivial, but I ask only when am really not able to find a solution.
Any suggestions would be of great help and I would really appreciate that.
Thank you for your patience and time.
Regards
Shashidhar B.L