Perform the displacement of a MPTCP packet inside a reception network.
[Net,R,Sw,Rt,Rm] = NL_I_PacketMPTCPIntraNet(I,P,Net,Rm,Cl,Ca,N,R,T,Sw,Rt,RtM)
Node index.
MPTCP packet.
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.
Network size.
Packet manager.
Current time.
Sliding window of each network node.
Retransmission time of each network node.
Maximum value of the retransmission time parameter.
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
).
[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 | ![]() | ![]() |