|
The rule language can be described as following: Variables (V0 to Vn) or/and Variable Combinations (VC0 to VCn) can be combined, using Arithmetic OPerators (AOP) '+','-','*' and '/', to form Variable Combinations VC. Then, Conditions C can be defined to compare VCs, using the Comparison OPerators (COP) '>' and '<='. Finally, Conditions (C0 to Cn) or/and Condition Combinations (CC0 to CCn) can be combined, using the Boolean OPerators (BOP) '&&' and '||', to form Condition Combinations CC. The Rule is then defined to be one of the CCs. |
| R ::= | CC; |
| BOP ::= | '&&' | '||'; |
| COP ::= | '>' | '<='; |
| AOP ::= | '+' | '-' | '/' | '*' |
| CC ::= | GC BOP GC; |
| GC ::= | CC | C; |
| C ::= | GV COP GV; |
| GV ::= | VC | V; |
| VC ::= | GV AOP GV; |
|
The following rules are example cases to demonstrate the use of the
system. The convention followed, is that the experiment IDs (ExpID)
start from 1, and any query on the data of the experiment with
- Link saturation. Assume a company with four local area networks (in four different buildings for example) interconnected using an all-to-all topology. Let experiments with id 1 to 6 measure the available bandwidth of the interconnecting paths. We want an alarm to be raised if any of the links becomes more than 80% utilized, i.e. the available bandwidth drops below 20% of the capacity of the link.
The assumption behind these rules is that for each path, the maximum value of the available bandwidth over a period of 14 days will be equal to the capacity of that path. This way the rule doesn't have to be updated if the network is upgraded (or changed in any way). In a network where this assumption doesn't hold, the user can directly assign the actual values of the capacities to the appropriate variables, as shown in following examples. - Subnet overload. Assume the same network as in the previous example. We now want to detect possible load imbalances between the different departments, so we want an alarm to be raised if for any subnet, all its links become more than 70% utilized at the same time.
- Sudden increase of the popularity of a web page. Let experiment with id 1 measure the available bandwidth of the path from the web server (or some important server) of a company to the gateway. We want an alarm to be raised if say the avail. bandwidth of the path drops below 70% of the expected value. As expected value we can define the minimum value of the previous day at this time of day.
- Possible DoS attack 1. Let experiment with id 2 measure the available bandwidth of the path from the web server (or some important server) of a company to the gateway, and the experiment with id 3 the Loss Rate of the same path. We want to detect possible DoS attacks, and we consider suspicious the cases where the Loss Rate is high (thus the server appears loaded), but the available bandwidth is high as well (thus the server does not serve many requests). We want an alarm to be raised, if say the avail. bandwidth of the path is above 80% of the expected value, and the Loss Rate is above 150% of the expected value. As expected value we define the average and maximum value (respectively) of the previous day at this time of day.
- Possible DoS attack 2. In this case we want to check the same metrics as before, but we want a better definition for the expected values. Therefore we take the average between the value one day before and one week before. This will avoid the potential problem the simple method can exhibit in small networks on Mondays, due to the lower traffic usually observed in such networks on Sundays.
Obviously, the sampling to evaluate the expected value can be extended to include more days of the week, or more times in a day. Additionally, different weights can be applied to different values to exploit a specific periodic behavior of the network traffic, if such a behavior is known to the user. - Need for route change in an Overlay Network. Let the experiments with id 1 to 3, measure the Round Trip Time of the paths A->B, B->C and C->D and exp. 4 the RTT of the path A->D, that connects A and D directly. Let the experiments with id 5 to 7, measure the Av. Bandwidth of the paths A->B, B->C and C->D and exp. 8 the Av. Bandwidth of the path A->D, that connects A and D directly. We want an alarm to be raised, If the RTT of the "long way" is less than the RTT of the direct path AND the available bandwidth in all of the parts of the "long way" is greater than the available bandwidth in A->D. In this case we would obviously want to make A forward to B the traffic going to D.
The number of paths being compared can be anything from 2 to 30. Additionally, the boolean expression can be more complicated to express more complicated cases. For example, if the user needs an alarm when the RTT of the direct path grow large (larger than the RTT of the multi-hop path), OR the available path of the direct path is low (lower than the av. bandwidth in all the parts of the multi-hop path), the two last lines of the previous rule would become:
|