<< NL_I_PacketAck NL_I: Internet NL_I_PacketManagerInit >>

NARVAL >> NL_I: Internet > NL_I_PacketMPTCPIntraNet

NL_I_PacketMPTCPIntraNet

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

Calling Sequence

[Net,R,Sw,Rt,Rm] = NL_I_PacketMPTCPIntraNet(I,P,Net,Rm,Cl,Ca,N,R,T,Sw,Rt,RtM)

Arguments

I :

Node index.

P :

MPTCP packet.

Net :

Reception network matrix.

:

Route manager.

:

Modification factor of the route manager after a packet loss.

:

Modification factor of the route manager after a packet acknowledgement.

N :

Network size.

R :

Packet manager.

T :

Current time.

:

Sliding window of each network node.

:

Retransmission time of each network node.

:

Maximum value of the retransmission time parameter.

Description

NL_I_PacketMPTCPIntraNet performs the displacement of the MPTCP packet P already located inside the buffer of the node I within the reception network matrix Net. (respectivelly ) gathers the sliding window (respectivelly the retransmission time) of each network node. corresponds to the maximal retransmission time value. The network topology is composed by N nodes. R corresponds to the packet manager. T is the current time. 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 (respectivelly ).

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
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=2;//connection type selection index: creation of MPTCP connections
swmin=1;//initial sliding window
rtmin=1;//initial retransmission time
rtmax=50;//maximal retransmission time
p=0.90;//threshold
cack=0.8;//acknowledgement factor
closs=0.8;//loss factor
[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);//emission of packets on the reception network
ind=find(network(:,$) <> 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=NL_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]=NL_I_PathNextNode(i,path);//calculation of the next node j where the MPTCP packet should be transmitted
j
[network,rp,swi,rti,probroute]=NL_I_PacketMPTCPIntraNet(j,p,network,probroute,closs,cack,n,rp,t,swi,rti,rtmax);//application of NL_I_PacketMPTCPIntraNet
network(j,:)//buffer of the node j

Dependency

NL_I_NodeBufferExtract, NL_I_RouteManagerUpdate

Report an issue
<< NL_I_PacketAck NL_I: Internet NL_I_PacketManagerInit >>