A Novel Solution for Network Flexibility Problem in Mobile Multi-hop Tunneling Networks

Since the network throughput performance is limited by the available technology limits, there are too many attempts in the literature to improve the throughput performance of the network by modifying the routing algorithms currently in use. Although application of the tunneling on IP networks provides reserved paths for the higher priority packet streams and succeeds in providing faster communication performances, it is also determined in the literature that, the greatest up to date problem of tunneling networks is the flexibility problem, which is defined as the problem of difficulty to have minimal delay and highest throughput when congestions or node failures occur and the throughput decreases due to high traffic loads on the network. sIn this work, a high performance solution, called LB-ACN (Location Based- Avoid Congested Node) is proposed to solve this flexibility problem and to compensate the increased delay which came up due to the high traffic load and also due to inflexible tunneling network structure, considering the locations of the nodes in addition to their traffic loads. And it is shown that, it is succeeded to carry the throughput of the highly traffic loaded network back to 48.6 Mbps from 36.9 Mbps by about 31.7% performance improvement for which we could improve it from 36.9 Mbps up to 45.9 Mbps by 24.3% using the proposed ACN (Avoid Congested Node) algorithm in our previous work. As a result, we have succeeded in having about 7.4% more improvement on throughput performance in comparison with the previously proposed ACN algorithm.


Introduction
In tunneling networks, the route must completely be determined before the transmission of the first packet starts. But during the decision of the complete route, only the available network traffic condition information at that instant and the experienced traffic conditions until that instant can be considered. Due to many number of users and many number of 1 3 internet based applications in use, instant changes on traffic load may occur and the traffic load may suddenly arrive to unexpected rates which dominates to reduce the network performance.
In [1], the challenges that the service providers experience during the migration to MPLS-TP (Multi-Protocol Label Switching-Transport Profile) are addressed. A long term service provider strategy which is based on Software defined Network is proposed to control the entire network in a centralized way. The flexibility of the network is only discussed to be enhanced by this Service Provider (SP) strategy, based on a centralized concept, using a programmable Path Computation Engine (PCE). However, the processing time and extra delay that will be caused by implementation of the proposed model is not fully considered, the throughput improvement provided by increasing the network flexibility is not presented and its effects on multi-hop tunneling networks is not considered.
In [2], the network flexibility concept is analyzed and classified from several points of view, which are network technologies, domains and planes and also the flexibility aspects, by this way a common understanding of how flexibility can be provided in softwarized wireline and wireless networks is tried to be carried out. The flexibility provided by different network softwarization technologies is classified there into six different aspects within the three high-level flexibility categories, such as configuration adaptation, functions location, and scalability. However, in that work, there are no methods proposed for solving the network flexibility problem experienced in tunneling networks. No method is proposed to increase the network flexibility, and the effects of increasing the flexibility are not presented.
Since it is very obvious that, network flexibility must be provided for tunneling networks even in case of instantly changing traffic conditions, in order to meet the needs of high speed connection demands for real time applications.
In one of the works in the literature [3], reviews of MPLS networks and their promising technologies are provided for traffic engineering, differentiated services, MPLS-transport profile (MPLS-TP) and its applications are provided and it is concluded that, "Although MPLS is still a promising technology for future networks, there are challenges to overcome with regards to security and network flexibility, especially as far as migration to MPLS-TP (Transport Profile) is concerned" [3]. However, no study is done for increasing the he network flexibility of MPLS networks and the positive effects of increasing the flexibility on the system throughput performance are not presented.
For solving this problem, we had previously proposed a novel method called Avoid Congested Nodes (ACN) as a solution of network flexibility problem and implemented it on a MATLAB simulation of MPLS (Multi-Protocol Label Switching) [4]. By the ACN method proposed in [4], the flexibility problem [1][2][3] of the tunneling networks for high traffic load conditions, is tried to adaptively be solved by switching the most congested node of the tunnel route to a node with lower load of packet traffic. Then, it has been shown that, the proposed algorithm succeeded in, carrying the throughput of the highly loaded traffic network back to 94% (4.59 Mbps) of its best possible performance (4.89 Mbps), from the evaluated 3.69 Mbps (75.5% of its best possible performance) performance, by switching the tunnel route to an adaptively determined alternative route which has less traffic load. However, even the delay amounts caused by high traffic loads were taken into consideration for tunnel route update delays, the locations of the replaced mobile nodes in the route, which have great effect on updated route, number of hops and total delay were not considered there.
In this work, a novel routing algorithm called LB-ACN (Location Based-Avoid congested node) is proposed, in which the node locations, delay amounts caused by high traffic loads (Time TRF ), number of hops (NC), total delay caused by route reconstructions RRC (Time RRC ) at each node are also considered. By the proposed method, the network flexibility problem is solved for mobile multi-hop tunneling networks, by continuously checking and finding the most congested node on the route and replacing it with an alternative one. During the decision of the route switching operation from the congested node to an alternative node, the alternative node is determined by taking into account both its location and traffic load. The route will be switched to the determined alternative node if and only if the calculated extra time delay that will come up for route reconstruction (RRC) does not exceed the time that will be gained by accelerating the packet transmission through determined alternative node.
Since there are two different parameters taken into account in this algorithm which are the traffic loads and the locations of the nodes. The effects of these two parameters are varied from 0 to 1 using a weighting gamma (γ) value with steps of 0.1 for observing the effects of different gamma (γ) values. The evaluated results for different gamma (γ) values are used to determine the optimal weights for locations and traffic loads for the nodes which will be alternatives for the experiencing congestions. Using this evaluated γ value for weighting the effects of; node locations and traffic loads for route update decision, it is shown that, by using the novel proposed LB-ACN algorithm, we have succeeded in carrying the throughput for the network back to 4.89 Mbps from 3.69 Mbps even if it still has high traffic load. This method also provides better improvement than previously evaluated 4.59 Mbps throughput performance using ACN [4].
The presentation of this manuscript has five sections. In Sect. 2, the simulation parameters and the working principles of the novel method are given. For confirmation purpose, the calculations for the theoretical results for LB_ACN are given in Sect. 3. The comparison of calculation results and the simulation results are given in Sect. 4. Finally, Sect. 5 concludes the evaluated results by this work and proposes the future works.

MPLS Network Simulation Structure
In the previous work [4], the parameter values given in Table 1 were used for the MAT-LAB implementation of MPLS tunneling network simulation. For consistency and fair comparison, the simulation parameters are used with the same values also in this work too. In the simulation, each of the running nodes moves from its own initial random location to its random destination. During these movements, the necessary statistical information such as the total number of; • packets generated, • packets transmitted, • packets lost • link failures • packets included by the buffers, • successfully received packets by the destination 1 3 and the average values of; • number of hops (HC) and • the throughput are collected in the simulation. Simultaneously, the possible route combinations and the extra time that is required to overcome traffic at each hop, are also dynamically calculated and taken into consideration for finding the best of all possible routes.
The running algorithm of the simulation program for implementation of the MPLS network is given in Fig. 1, where the location of the block that includes the used OPR (Optimum Path Routing) algorithm [4] is highlighted. The ACN algorithm previously proposed [4] and the LB-ACN algorithm proposed in this work, are implemented on an MPLS simulation to compare their throughput performances while Optimum Path routing algorithm is used in both cases.
According to this algorithm all the nodes in the mobile network continuously generate new packets and put them to their own buffers, then analyzing all the existing packets in their buffers, they reorder the packets according to their data type and priority such that the one that will be transmitted first will be located at the beginning of the queue. They open the packet at the head of the queue and analyze it to see its final destination address. According to the retrieved information an MPLS label is created and attached to the packet by the source node before transmission begins and this loop continues forever. If there are some packets whose destination is already this node, they will be taken from the buffer and the node will increase the number of received packets by one. For the packet which is 880 ms for 5000 packets in the network on average [9] ready to be transmitted, the packet will be analyzed to learn its final destination and next node towards the destination using a routing algorithm (Optimum path Routing is used here). Finally, the MPLS label will be updated according to its next node. If the route is different than the route previously determined for this packet, route will be updated and Fig. 1 The algorithm that the nodes in the MPLS simulation use [4] extra RRC delay will occur, otherwise only the MPLS label will be updated for remaining hops. During this process the number of packets successfully received by the destination nodes will be count and the average throughput will always be updated and stored at each of 2000 iteration (2000 iteration × 6 nodes = 12,000 t). When 2000 iterations are completed the simulation terminates and displays the results.

The NovelProposed LB-ACN (Location Based-Avoid Congested Nodes) algorithm as a Solution to Network Flexibility Problem
While each of the nodes in the network continuously generates and transmits its packets to its randomly defined destination point via a predefined tunnel route, it dynamically uses the novel proposed LB-ACN algorithm. By LB-ACN algorithm, the nodes also analyze the current traffic states of all the nodes in their packet routes and they look for better available node choices among all others to replace the determined congested node with. At each iteration, after the current sender in the tunnel route analysis the traffic condition of its next node, it decides either to replace or not to replace it with the decided alternative node. Of course, while it is attempted to accelerate the system by reducing the congestion based delay amount, some extra RRC delay will also occur and the throughput will decrease by each of these switching operations. Because of this trade-off, the critical decision of replacing the next node must be taken carefully in order to see a positive effect on the system throughput results. Note that, activating the proposed LB-ACN algorithm in case of node failure in the tunnel route, will also prevent the system from a reduced throughput performance. The activation criteria of the LB-ACN algorithm (highlighted in Fig. 2) used by each of nodes in the overall route update mechanism is given on Fig. 2.
In this algorithm, it is decided whether to activate or not to activate the novel proposed LB-ACN algorithm during transmission of the packets. According to this, the route determined by the used routing algorithm (OPR) will be learned, and the total time costs caused by the congestions on this route will be calculated, if a RRC is required due to a disconnection, the LB-ACN Algorithm will be activated. It will Replace the next node with an alternative node for which the minimum β can be evaluated from Eq. (1) using an optimal γ value, if the extra time required by RRC does not exceed the delay caused by the congestion and if the hop count is 3. It there are only 2 hops an alternative hop will not be explored. The pseudo codes for the function calling part of MPLS simulation and for the functions written to implement the algorithms given in Figs. 1 and 2 are also given on Fig. 3.
While the MPLS simulation program, for which a part of it is given at the top of Fig. 3, is running, the node which is currently searching the environment for a node better node than the original next node, to forward the packet is set as the source node.
Using LB-ACN algorithm, every time a node attempts to transfer a packet to its next node on the route, it finds the most congested node in the remaining part of the route, and replaces it by the node for which the minimum value (Eq. 1) among all can be evaluated at that instant using the weighting value. In Eq. (1) it is aimed to find the best of the alternative nodes to be replaced by the congested node (n i+1 ), in Fig. (5) by which the access to n i+2 can be provided with minimum possible sum of distance from the current node (n i ) to node n i+2 (dist (n i , n alt ) + dist (n alt , n i + 2). During this, it is also desired to choose the closest n alt to the one (n i+1 ) which is subject to be eliminated because of its high traffic load. For this purpose, the distance between n alt and (n i+1 ) is also considered by also requesting Fig. 2 Activation case of the LB-ACN algorithm (highlighted) used by each of the nodes in the overall route update mechanism [4] 1 3 Fig. 3 The MATLAB codes and pseudo code explanations for the implementation of proposed LB-ACN algorithm the minimum sum of dist (n i , n alt ), dist (n alt , n i + 2) and dist (n i+1 , n alt ). Using right side part of the Eq. (1) (Time Trf for n alt x (1-γ)) the traffic load of n alt is also considered, and this n alt will be taken into evaluation if and only if it has less traffic load than the eliminated node (n i+1 ).
where; "Time Trf " stands for the amount of extra time caused by congestion at the node, dist(n i ,n i+1 ) stands for the distance between node i and node (i + 1) and n alt stands for the alternative node that is currently subject to be replaced by the congested node. Here, γ is the weighting function used to adjust the effects of the node location and the traffic load of each alternative node on our decision. The working principle of the novel proposed LB-ACN algorithm is given on Fig. 4 and the illustration of replacement of the congested node (n i+1 ) with an alternative node (n alt ) that yields the minimum β value is given on Fig. 5, where "a", "b" and "c" are the distances calculated in the program codes given on Fig. 3.
In Fig. 6, the how the LB-ACN algorithm is embedded into OPR algorithm [4] is given as a flow chart.

The Expected Throughput Values with Traffic Load
As it is given in Eqs. 2-13 there is a close relation between the throughput and the total system capacity where they will be equal in ideal case without any packet loss and retransmission delay, and also with no traffic and no need for any Route Reconstructions (RCC), in the network.
To see this relation, we first calculate the delay amounts for all packets per node those need extra retransmissions (PNERP delay ) as in Eq. (2), by dividing the number of total lost packets (Transmitted(Tr)-Sent(S)) to the node count (NC) each of which, will be multiplied by an extra round trip time (RTT) of the packet).
Consideration of minimum total distance of n alt to the eleminated node (n i + 1 ), its left hand node(n i ) and right hand node(n i + 2 )

Fig. 3 (continued)
On the other hand, total number of route updates per iteration (PINRU total ) can also be calculated as in Eq. (3), by dividing the Simulation Step period (SSP) which is one iteration, to the Route Update Interval (RUI) to use the result of it for multiplying by the total simulation time (T) which is the total number of iterations during the simulation. By this way the total Number of Route Updates (NRU total ) during the whole simulation will be evaluated as in Eq. (4).   The location of LB-ACN algorithm in the complete OPR algorithm [4] After this point, to find the average total delay amount that a packet experiences while it is traversing the network, we first need to separately calculate the delay amounts caused by Route Reconstructions (RRC), by traffic load, and also by retransmissions. The calculations of Total RRC delay per iteration (PIRRC delay ), Total RRC delay per Iteration per node (PIPNRRC delay ), Total traffic delay per iteration (PITRF delay ), Total traffic delay per Iteration per node (PIPNTRF delay ), are respectively given in eqs. (5)(6)(7)(8), by dividing the corresponding delay amount to the number of nodes (NC) for per hop calculations and to the number of Iterations (NOI) for per iteration calculations. and the extra required RRC delay per iteration per node (PIPNERRRC delay ) can be calculated by multipying the RRC delay amount experienced by each node per iteration (PIPN-RRC delay ) by the total number of iterations (NRU total ) as in Eq. (9).
The total time including only the extra retransmission times because of lost packets but without the delay occurred because of the traffic and RRC (RTR delay ) can be calculated as in Eq. (10), On the other hand, as in Eq. (11), the TTRFRRC delay which is the total time required for transmitting the packets including the extra time required for RRC that occurs because of the traffic load, can be evaluated by respectively adding up the simulation time (TxSSP), Extra required Retransmission delay per node ( PNERP total ) because of the lost packets, Extra required RRC delay (caused by traffic) per Iteration per Node (PIPNERRRC delay ) and Total extra delay caused by traffic load during the whole simulation (which is calculated within Eq. (11) by multiplication of sum of traffic delay per iteration per node (PIPNRRC delay )and RRC delay per iteration per node (PIPNTRF delay ), by total simulation time (TxSSP).  Finally, the maximum Capacity of the system that can theoretically be reached without any packet loss can be calculated by multiplying the evaluated throughput by rate of Transmitted packets (Tr) to successfully sent packets (S) as in Eq. (12). And, after this point, the maximum throughput without any Traffic load and RRC needs, can be reached by multiplying the evaluated result by the rate of total time required for transmission of the packets with traffic load and RRC needs including also the retransmission delays (TTRFRRC delay ), to the total time required for transmission of the packets without traffic load and RRC (TRRC delay ) as in Eq. (12).
Expanding back the TTRFRRC delay and the RTR delay terms in Eq. (12), using Eqs. (2-11), we evaluate the equation given in Eq. (11). for maximum possible system capacity, that can be reached with no traffic load and no need for RRC and also no packet loss and no retransmissions (11) Total extra delay during the whole simulation caused by traffic

RTR delay bits per iteration(bpi)
Considering the best case assumption without any packet loss (S = Tr and Tr/S = 1), any RRC ( Time RRC = 0) and any traffic delay ( Time Trf = 0), it is expected that the throughput will be exactly equal to the overall Capacity calculated by Eq. (13) as it is shown in Eq. (14) [4].
Alternatively, having the ideal case without any packet loss, any Time Trf and any Time RRC delays, the maximum throughput which will be equal to capacity (C) can be calculated applying the values given in Table 1 The rate of delay with traffic and RRC, to the rate of delay without traffic and RRC bpi (14) Then to convert the unit of the capacity from bits per iteration (bpi) to bits per second (bps), Eq. (15) is simply multiplied by the time of a single iteration (SSP seconds/iteration) as in Eq. (16) In Eq. (17) Time Trf and Time RRC values are set to zero for best cases and the maximum capacity is evaluated as 49,152,000 bps [4].
On the other hand, by fetching Thr With_Traffic_and_RRC from Eq. (13) the Thr With_Traffic_and_RRC value can be evaluated using eq 0.18 [4] for any network with different parameter values.
Substituting the C variable in Eq. (18) by the C value evaluated in Eq. (17), in addition to assigning the parameter values given in Table 1

Experimental Results and Discussion
In the design of our MATLAB simulation, six mobile nodes using Random Way Mobility Model [5] are simulated in a 4 km square (2 km × 2 km) area which transmit the generated packets towards their generated destinations. While the simulation is running, the data statistics of link failures, sent and lost packets, the packets included by the buffer of each node and also the number of route reconstructions (RRC) are all tracked which are used to determine the experimental system throughput of the system. As the routing algorithm, the OPR (Optimum Path Routing) is used in order to determine the OPR route [4]. The proposed LB-ACN algorithm given on Fig. 4, uses the decision mechanism given on Fig. 2 for activation, and it is embedded into the OPR routing algorithm as given on Fig. 6, where OPR is already embedded into the MPLS simulation on Fig. 1.
The simulation program that we run using the parameters and their values given in Table 1, traces the results of number of transmitted Packets, sent packets, total lost packets because of link failures or buffer fullness states, remaining packets waiting at the buffers of the nodes, extra time cost caused by RRC, extra time cost caused by Traffic load on each node and finally the instant average throughput value of the system for which we attempt to increase by minimizing the time amount consumed by Traffic loads and RCC.
It was calculated that the maximum theoretical limit of throughput with no loss, no traffic load and no RRC is 49.15 Mbps (Eq. 17) and by eliminating RRC and TRF delays we expect to have 49.05 Mbps throughput (Eq. 19) theoretically. Although when the traffic load, RRC and packet losses were considered the throughput performance was improved from 36.9 to 45.9 Mbps by about 24,4% in [4]. In this work, when we apply the novel proposed LB-ACN algorithm using γ = 0.7 on the system with the same parameter set used in [4], the throughput performance is carried from 3.69 to 48. 6 Mbps which provides about 31.7% throughput improvement against the increased traffic load. It is observed that the evaluated throughput value is 98.88% close to the maximum possible capacity of 49.15 Mbps (Eq. 17) and 99.08% close to the expected throughput value of 49.05 Mbps (Eq. 19). The simulation results evaluated by use of LB-ACN by varying values of γ between 0 and 1 by steps of 0.1 are given in Table 2. It is observed the maximum time gained by traffic management of LB-ACN (by −0.014 ms per iteration) and the maximum throughput (48,6 Mbps) is evaluated when γ = 0.7 which provides the best of the improvement rates.  All the evaluated results and the improvements provided by ACN and LB-ACN are summarized in Table 3.

Conclusion and Future Work
In this work, a novel traffic management algorithm called Location Based Avoid Congested Node (LB-ACN) has been proposed to solve the network flexibility problem in occurrence of high traffic load on a node before that node starts to lose even a single packet. And the proposed algorithm which can be applied on any tunneling network, is implemented on an MPLS network using a MATLAB simulation. At the end, it is illustrated that, the system throughput which was decreased from 4.8902 × 10 7 bps to 3.693 × 10 7 bps by a rate of 32.4% due to the congestions on the nodes caused by the traffic load could only be carried back to 4.599 × 10 7 by 24.3% improvement using ACN algorithm in the literature, is now improved by about 31.7% using the novel proposed LB-ACN algorithm and the throughput is now carried back from 3.693 × 10 7 bps to 4.86 × 10 7 bps for which about 98.88% of the maximum system capacity (4.915 × 10 7 ) is recovered.
Although the proposed LB_ACN algorithm which recovers about 98,8% of the system throughput decreased due to high packet traffic, by increasing the network flexibility, is applicable for all kinds of tunneling networks without requiring any additional hardware device, the throughput limit can at most be carried up to the total theoretical capacity of the network and cannot go further. The extra messaging overhead used to discover an alternative node using the location and traffic load information of all the nodes out of the current route, are not considered in this work. Considering the security implications point of view of this study, one must be aware of that, an alternative node that can join to the tunnel path as an intermediate node at any time. And a malicious node may try to join to the tunnel path by giving fake information to the node which is currently exploring an alternative node. By this way, it may attend the tunnel path and may read the contents of the packets traversing the network through it, using "man in the middle attack".
In the future, the effects of aforementioned extra messaging overhead on system throughput performance can be investigated and the security challenges that could be experienced when using MPLS-TP (Transport Profile) can be tried to overcome.

Author Contributions
The author contributed to the study conception and design. Material preparation, data collection and analysis were performed by Barbaros Preveze. The first draft of the manuscript was written by Barbaros Preveze. I, Barbaros Preveze read and approved the final manuscript.
Funding The authors declare that no funds, grants, or other support were received during the preparation of this manuscript.

Data Availability
The datasets generated during and/or analyzed during the current study are available in the Barbaros Preveze repository, and the codes of the simulation program by which the results are evaluated, can be sent if requested.