Adjust the routing table of a node after an Error discovery (AODV).
NARVAL_R_AodvRerr(i,nerror)
node.
list of unreachable nodes.
NARVAL_R_AodvRerr adjusts the routing table of the node i after an error discovery (WEB). nerror provides the list of unreachable nodes. Whenever a Node receives a RERR packet, it looks at its routing table and then removes all the routes that contains the unreachable nodes. We can distinguish three cases. In the first one, if a data packet is propagated from its source towards its destination in respect with local decision in each crossed router, a problem occurs if an intermediate node does not know the next hop where the packet should be forwarded (no entries inside its routing table). In the second case, a node that receives a RERR has to remove its entries that became invalidated. In that case, the node will send a RERR with all the new nodes which are now unreachable. In the last case, if a node can not communicate with one of its neighbors (link break), it removes all related entries within its routing table and therafter sends a RERR with the neighbor and all invalid routes.
l=3;//number of lines c=4;//number of columns Lx=1000;//network area x-side Ly=1000;//network area x-side [g]=NARVAL_T_Grid(l,c,Lx,Ly);//application of NARVAL_T_Grid w=1;//window index f1=NARVAL_G_ShowNodesIndex(g,w);//graph visualization for i=1:g.node_number global ('rt'+string(i));//creation of empty routing tables end bss=10;//maximum buffer size bs=bss*ones(1,g.node_number);//buffer matrix NARVAL_R_AodvRTables(g,bs);//generation of routing tables //rti=final routing table of node i TTL=5;//research Time-To-Live ID=1;//index of the route discovery //update of routing table: node 1 to node 7 Source=1;//source node Destination=7;//destination node [mat,routemat]=NARVAL_R_AodvRreq(g,Source,Destination,TTL);//route discovery from the source node NARVAL_R_AodvRrep(g,Source,Destination,ID,routemat);//route reply from the destination node //update of routing table: node 2 to node 7 Source=2;//source node Destination=7;//destination node ID=2;//route discovery index [mat,routemat]=NARVAL_R_AodvRreq(g,Source,Destination,TTL);//route discovery from the source node NARVAL_R_AodvRrep(g,Source,Destination,ID,routemat);//route reply from the destination node //update of routing table: node 1 to node 4 Source=1;//source node Destination=4;//destination node ID=5;//route discovery index [mat,routemat]=NARVAL_R_AodvRreq(g,Source,Destination,TTL);//route discovery from the source node NARVAL_R_AodvRrep(g,Source,Destination,ID,routemat);//route reply from the destination node [p1]=NARVAL_R_AodvPath(1,7)//path between nodes 1 and 7 [p2]=NARVAL_R_AodvPath(2,7)//path between nodes 2 and 7 [p3]=NARVAL_R_AodvPath(1,4)//path between nodes 1 and 4 //error in node 2 ni=2;//node index rt2//routing table of the node 2 nerror=[6];//no connection between node 2 and 6 [nerror1]=NARVAL_R_AodvRerr(ni,nerror)//application of NARVAL_R_AodvRerr rt2//new state of rt2 | ![]() | ![]() |
Dr. Foued Melakessou
Research Associate
Interdisciplinary Centre for Security, Reliability and Trust
Room F106
University of Luxembourg
6, rue Coudenhove Kalergi
L-1359 Luxembourg-Kirchberg
E-mail: foued.melakessou@uni.lu
Tel: (+352) 46 66 44 5346