<< NARVAL_I_FirstBPacket NARVAL NARVAL_I_NEBufferLoc >>

NARVAL >> NARVAL > NARVAL_I_MptcpIntra

NARVAL_I_MptcpIntra

Perform the displacement of a Mptcp packet inside the reception network.

Calling Sequence

[nets,rp,swi,rti,probroute]=NARVAL_I_MptcpIntra(i,p,nets,probroute,closs,cack,n,rp,t,swi,rti,rtmax)

Parameters

i :

node index.

p :

MPTCP packet.

nets :

emission network matrix.

probroute :

route manager.

closs :

modification factor of the route manager after a packet loss.

cack :

modification factor of the route manager after a packet acknowledgement.

n :

network size.

rp :

packet manager.

t :

current time.

swi :

sliding window of each network node.

rti :

retransmission time of each network node.

rtmax :

maximum value of the retransmission time parameter.

Description

NARVAL_I_MptcpIntra perform the displacement of the MPTCP packet p already located inside the buffer of the node i inside the reception network matrix nets. swi gathers the sliding window of each network node. rti provides the retransmission time of each network node. rtmax corresponds to the maximal retransmission time value. The network topology is composed by n nodes. rp corresponds to the packet manager. t is the current time. probroute represents the route manager. If a packet loss (respectivelly a packet acknowledgement) occurs on a path, the probability to take it is reduced (respectivelly increased) in respect with closs (respectivelly cack).

Examples

[path]=NARVAL_F_NARVALPath();//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]=NARVAL_F_Random_i_j(n);//generation of connection extreme nodes
L=1000;//network square area side
t=1;//current time
[probroute]=NARVAL_I_StartRouteProb(rt1,rt2,rt3,rt4,rt5,pt,n,L);//initialization of the route manager
network=NARVAL_I_EmptyBufferNet(n,bs);//initialization of the reception network matrix 
networks=NARVAL_I_EmptyBufferNet(n,bs);//initialization of the emission network matrix
tpmax=n*bs;//maximal quantity of packets simultaneously supported by each network matrix 
rp=NARVAL_I_EmptyPacketMan(tpmax);//initialization of the packet manager
cpmax=5;//maximal quantity of packets per connection
ct=2;//connection type selection index: creation of MPTCP connections
swmin=1;
rtmin=1;
rtmax=50;
p=0.90;
cack=0.8;
closs=0.8;
[swi,rti]=NARVAL_I_TcpStartPar(n,swmin,rtmin);//initialization of the TCP parameters for each node
[networks,rp]=NARVAL_I_ConManagerNodes(nd,n,bs,cpmax,networks,rp,ct,p);//generation of new connections
[swi,rti,network,networks,rp]=NARVAL_I_E2R(swi,rti,rtmax,network,networks,n,bs,rp,t,probroute);//emission of packets on the reception network
ind=find(network(:,$) lt gt 0);//MPTCP packets present on the network
i=ind(1);//selection of the first node where a MPTCP packet is stored 
p=network(i,1);//MPTCP packet index
r=rp(p,$);//route taken by the MPTCP packet
path=NARVAL_R_PathERT(evstr('rt'+string(r)),rp(p,2),rp(p,3),n);//route followed by this packet
i//initial values
p//packet index
path//path
network(i,:)//buffer of the node i
[j,ack]=NARVAL_I_NextNode(i,path);//calculation of the next node j where the MPTCP packet should be transmitted
j
[network,rp,swi,rti,probroute]=NARVAL_I_MptcpIntra(j,p,network,probroute,closs,cack,n,rp,t,swi,rti,rtmax);//application of NARVAL_I_MptcpIntra
network(j,:)//buffer of the node j

Dependency

NARVAL_I_BufferExtract, NARVAL_I_RouteProbChange

Author

http://wwwen.uni.lu/interdisciplinary_centre_for_security_reliability_and_trust

Contact

<< NARVAL_I_FirstBPacket NARVAL NARVAL_I_NEBufferLoc >>