<< NL_I_RMSelectRoute NL_I: Internet NL_I_RouteManagerInit >>

NARVAL >> NL_I: Internet > NL_I_Reception2Reception

NL_I_Reception2Reception

Transfer the first packet of each reception network node towards its neighbor node in order to reach its destination.

Calling Sequence

[F,Sw,Rt,R,Net,Nets,P,It,At,Tt,Pr,Rms] = NL_I_Reception2Reception(G,Sw,SwM,Rt,RtM,Rt1,Rt2,Rt3,Rt4,Rt5,R,Cl,Ca,Net,Nets,N,P,T,I,J,It,At,Tt,Pr,Rms,Pri)

Arguments

G :

Network graph.

:

Sliding window of each network node.

:

Maximum sliding window value.

:

Retransmission time of each network node.

:

Maximal retransmission time.

:

First routing table.

:

Second routing table.

:

third routing table.

:

Fourth routing table.

:

Fifth routing table.

R :

Route manager.

:

Modification factor of the route manager after a packet loss.

:

Modification factor of the route manager after a packet acknowledgement.

Net :

Reception network matrix.

Nets :

Emission network matrix.

N :

Network size.

P :

Packet manager.

T :

Current time.

I :

Source node of the connection under studies.

J :

Destination node of the connection under studies.

:

Index vector of connection packets.

:

Arrival time process of connection packets.

:

Travel time process of connection packets.

:

Route followed by each connection packet.

:

Route manager state for the connection under studies.

:

Initial state of the probability to take a route in respect with the network starting empty load.

F :

Vector of links where packets are transmitted.

Description

NL_I_Reception2Reception transfers the first packet of each reception network node towards its neighbor node in order to reach its destination. (respectivelly ) gathers the sliding window (respectivelly the retransmission time) of each network node. corresponds to the maximal retransmission time value. , , , and are alternative routing tables of the network graph. R is the route manager. (respectivelly ) is the modification factor of the route manager after a packet loss (respectivelly acknowledgement). Net (respectivelly Nets) is the reception (respectivelly emission) network matrix. The network topology is composed by N nodes. B is the buffer size. P corresponds to the packet manager. T is the current time. I and J are the extremal nodes of the connection under studies. , , , and capture the information about the connection Quality of Service (QoS). F corresponds to the vector of links where packets are transmitted. It will be used to display the network load dynamic.

Examples

[path]=NL_F_NLPath();//path to NARVAL module
path=path+'/demos/';//folder path
load(path+'RoutingTables_topo_100.dat','pt','rt1','rt2','rt3','rt4','rt5');//loading of the network routing tables
load(path+'topo_100.graph','g');//loading of the network graph
n=100;//network size
bs=15;//constant buffer size
[nd,nf]=NL_F_RandIntNiNj(n);//generation of connection extreme nodes
L=1000;//network square area side
t=1;//current time
[probroute]=NL_I_RouteManagerInit(rt1,rt2,rt3,rt4,rt5,pt,n,L);//initialization of the route manager
probrouteinit=probroute;//backup of the initial state of the route manager
network=NL_I_NetworkMatrixInit(n,bs);//initialization of the reception network matrix 
networks=NL_I_NetworkMatrixInit(n,bs);//initialization of the emission network matrix
tpmax=n*bs;//maximal quantity of packets simultaneously supported by each network matrix 
rp=NL_I_PacketManagerInit(tpmax);//initialization of the packet manager
cpmax=5;//maximal quantity of packets per connection
ct=3;//connection type selection index
swmin=1;//initial sliding window
rtmin=1;//initial retransmission time
swmax=bs;//maximum sliding window
rtmax=50;//mximum retransmission time
p=0.90;//probability threshold
[swi,rti]=NL_I_TCPNetworkInit(n,swmin,rtmin);//initialization of the TCP parameters for each node
[networks,rp]=NL_I_ConnectionManager(nd,n,bs,cpmax,networks,rp,ct,p);//generation of new connections
[swi,rti,network,networks,rp]=NL_I_Emission2Reception(swi,rti,rtmax,network,networks,n,bs,rp,t,probroute);//traffic creation
closs=0.9;
cack=0.1;
it=[];
at=[];
tt=[];
routep=[];
probch=[];
networks(find(networks(:,$) <> 0),:)
network(find(networks(:,$) <> 0),:)
[lfo,swi,rti,probroute,network,networks,rp,it,at,tt,routep,probch]=NL_I_Reception2Reception(g,swi,swmax,rti,rtmax,rt1,rt2,rt3,rt4,rt5,probroute,closs,cack,network,networks,n,rp,t,nd,nf,it,at,tt,routep,probch,probrouteinit);//application of NL_I_Reception2Reception
network(find(networks(:,$) <> 0),:)
lfo//display the network links where packets have been transmitted
eb=ones(1,length(g.head));
ec=ones(1,length(g.head));
ec(lfo)=2;
eb(lfo)=3;
g.edge_color=ec;
g.edge_width=eb;
wind=1;//window index
fg=NL_G_ShowGraph(g,wind);//graph visualization

Dependency

NL_I_PacketsLocation, NL_I_NodePacketExtract, NL_R_PathERT, NL_I_PathNextNode, NL_G_Nodes2Path, NL_I_PacketUDPIntraNet, NL_I_PacketTCPIntraNet, NL_I_PacketMPTCPIntraNet, NL_I_PMDeletePackets, NL_I_PacketAck, NL_I_RouteManagerUpdate, NL_I_RouteManagerUpdate, NL_I_RouteManagerUpdateC

Report an issue
<< NL_I_RMSelectRoute NL_I: Internet NL_I_RouteManagerInit >>