• No results found

The Trail Blazer routing algorithm

CHAPTER 2 - Routing literature review

2.3 Decentralized routing algorithms

2.3.2 The Trail Blazer routing algorithm

The Trail Blazer (TB) algorithm is an intra-domain routing algorithm that aims to minimize the network congestion through local decisions, based on latency measurements collected by scout packets [73]. The TB algorithm is another example of ACR algorithms which maintains a probability table in each node to determine the probability of selecting an outgoing link in order to forward the data packets to a given destination. The TB algorithm is meant to be an extension of existing link-state protocols such as OSPF, which provides shortest path information to initialize the probability table. Therefore, TB does not require a learning period to discover the network topology. TB is also simpler than the AntNet algorithm.

Figure 2.2 The node data structure in TB algorithm.

Figure 2.2 shows the node data structure in TB algorithm. In the TB design, each router has two tables: a link probability table Pt and an average transmission delay table avg. Pt contains m rows, one for each destination node. Each row has K entries, one for each outgoing link of the router. The entry pt[d,i] is the probability of sending a packet to destination d on the outgoing link i. The table avg has m entries, one for each destination node. The entry avg(d) is the average transmission delay from the current node to the destination d, which is computed from the last M scout packets that arrived from d.

The TB algorithm sends an amount of scout packets depending on the amount of regular data traffic between the source and destination pair. Scout packets maintain the list of visited nodes to detect loops. TB algorithm can operate in two different modes. The first mode is One-way mode. In this mode the scout packets are sent from the destination toward its source. During the trip from the destination to the source, the latency is accumulated by the scout packets in order to update the probability tables in all intermediate nodes. The scout packets update their accumulated latency td in every intermediate node by td = td + t(i), where t(i) is the current latency of the outgoing link i. Once the scout packets arrive at the source, they will be destroyed.

In the second mode which is called Two-way, the scout packets are sent from the source towards its destination in order to keep the local time stamp of all visited nodes. Once the scout packets arrive at the destination, they will take the reverse path back to the source. The latency from the current node to the destination on the return trip is computed by subtracting the saved time stamp at this node from

the saved time stamp at the destination node. Once the scout packets arrive at the source, they will be destroyed also.

The Pt table is initialized with the collected information from the computed shortest paths by the underlying link-state protocol. Let SP (d) represents the set of outgoing links that belong to one or more shortest paths from the current node to destination. The initial value of pt is:

After computing the accumulated latency td, the scout packets use the td value to update the pt as follows:

The average latency avg(td) is used to scale the positive reinforcement value of the scout packet. A larger value of f (td) indicates a better (shorter) path. f(td) is limited to the range [0.1,10] to prevent wide fluctuations in ∆p, which is the reinforcement value of pt[d,j].δ defines the learning rate of the algorithm. All entries in Pt of the same destination d are scaled by 1+∆p to ensure that their sum remains is equal to one.

Algorithm 2.11 TB algorithm (Two-way mode).

1) Initialize the Pt table with the collected information from the computed shortest paths by the underlying link-state protocol.

2) Send a scout packet every N regular data packets from the source node s to the destination node d.

3) Each scout packet maintains the node identifier for node k that belongs to the visited path and the local time stamp of this node.

4) At each intermediate node k, the outgoing link is selected based on uses type of scout packets. There is two types of scout packets, Best-path scout packets and exploratory scout packets.

5) The scout packet aim to avoid the cycle occurrence by selecting the next hop that does not make any loop. If there is no any other choice, then the scout packet is destroyed.

6) Once the scout packet arrive the destination node, it will take the reserved path toward the source node s.

7) At a node k that belongs to the reserved path, both of the average transmission delay table avg and the probability table Pt are updated according to the following steps:

a) Compute the latency from the node k to the destination d, t(i), by subtracting the saved time stamp at this node from the saved time stamp at the destination node.

b) Update the average transmission delay table avg.

c) Compute the reinforcement parameter ∆p using Equations (2.9) and (2.10).

d) Update the probability table Pt entries by substituting with ∆p value in Equations (2.11) and (2.12).

8) On the other hand, when a node receives the regular data packets, which needs to be forwarded, data packets will be routed according to the probabilities in pt table.

In general, the communication overhead of TB algorithm is low because the number of scout packets is too small compared to the number of regular data packets. Also the TB algorithm aims to reduce the path oscillations by updating the probability table with a combination of old and new information. With the experimental result, TB algorithm has the least packet drop rate due to network congestion compared to the SPF algorithm.

CHAPTER 3 - Artificial neural network: Model selection