The Label Pattern Recognition algorithm (LPR) is a passive technique (i.e., it does not require any additional probing to standard traceroute) to classify MPLS tunnels according to their actual purposes
LPR uses traceroute previously collected (preferably through scamper) and extracts from those raw traceroute MPLS explicit tunnels. Next, LPR can be applied. it works in two fundamental steps:
- Filtering and formatting. It filters the MPLS explicit tunnels in order to remove noise and ensure we focus on transit tunnel diversity.
- Classification. Once the data has been sanitized, the classification itself is performed. At the end, each In-Out Transit Pair (IOTP -- a set of explicit MPLS tunnels having the same IP entry and exit points) is assigned to one of the defined classes.
The four possible classes are the following:
- Mono-LSP. A single tunnel between the IP entry and exit point.
- Multi-FEC. Tunnels built with RSVP-TE and mainly used for traffic engineering reason.
- Mono-FEC. Tunnels built with LDP and mainly used for load-balancing reason.
- Unclassified. Unclassified tunnels due to PHP.
Note that the code provided with this deliverable works only with the scamper dataset. Nevertheless, the reasoner-code itself can be copied and adapted to another architecture where the traceroute data is stored in a different format (LPR must then be slightly modified to take into account the new input format).
The LPR software code is available below