/TracesAnalyzer

This is a small project in python aiming to process and analyze a bunch of given LISP exprimental trace log files

Primary LanguagePythonGNU General Public License v2.0GPL-2.0

==============>Introduction

This is a small project in python aiming to process and analyze a bunch of given LISP experimental trace log files.

The 'mp_parser.py' script is the entrance of the whole program, it uses multiple-processing technique to process and analyze given LISP experimental results(in form of a serial of trace log files), finally output analysis results into some CSV files situated in the log directory.

===============>Glossary

Vantage: shorthand for LISP experiment vantage point, where people execute queries for 613 different EID and each query is simultaneously sent to 13 different resolvers. In the context of this program, vantage is simply refereed to as a directory containing 7696(613*13) logfiles. Currently,this program works only for 5 vantages, respectively : liege, temple, ucl, umass, wiilab.

Logfile: A log file saving all LISP experiment rounds, every 30 minutes, during a dozen days. its name respect the format: planetlab1-EID-153.16.14.0-MR-193.162.145.50.log.

Round: A session between a certain machine and a resolver to query RLOC-related information for a given EID address. The following is a example of round:

            --- Round ID 1372750223 ----------------------------------->
            Date=2013/07/02 07:30:23
            EID=153.16.32.224
            Resolver=198.6.255.37
            Using source address (ITR-RLOC) 139.165.12.211
            Send map-request to 198.6.255.37 (198.6.255.37) for 153.16.32.224 (153.16.32.224) ...
            RECEIVED_FROM=192.162.230.11
            RTT=0.12000
            LOCATOR_COUNT=4
            MAPPING_ENTRY=153.16.32.224/28
            TTL=1440
            AUTH=1
            MOBILE=0
            LOCATOR0=192.162.230.11
            LOCATOR0_STATE=up
            LOCATOR0_PRIORITY=2
            LOCATOR0_WEIGHT=50
            LOCATOR1=192.162.230.12
            LOCATOR1_STATE=up
            LOCATOR1_PRIORITY=2
            LOCATOR1_WEIGHT=50
            LOCATOR2=192.162.230.13
            LOCATOR2_STATE=up
            LOCATOR2_PRIORITY=1
            LOCATOR2_WEIGHT=100
            LOCATOR3=192.162.230.14
            LOCATOR3_STATE=up
            LOCATOR3_PRIORITY=1
            LOCATOR3_WEIGHT=100

Normally, A round contains the following attributes:

                        date                : the datetime when this session is executed.
                        EID                 :
                        Resolver            :
                        request src         :
                        request dst         : namely the value of Resolver
                        request for         : namely the value of EID
                        reply src           : the address who gives RLOC-related information for a query for EID. It could be different with the Resolver address.
                        RTT                 : Round Trip Time, the delay between the send of a query and the reception of its reply
                        Locator_count       : The length of RLOC Set. It could be simply interpreted that the reply for a EID query contains Locator_count different locator addresses.
                        Mapping_entry       :  ??
                        TTL                 : Time to live
                        Auth                :???
                        Mobile              :???
                        locator             : refer to item for locator.

Round Type : There exists multiple round types according to the content of round's reply:

        RoundNoReply :
        caused by network connection, a round has no reply for EID, for example :
        
                        --- Round ID 1373014821 ----------------------------------->
                        Date=2013/07/05 09:00:21
                        EID=0.0.0.0
                        Resolver=149.20.48.61
                        Using source address (ITR-RLOC) 139.165.12.211
                        Send map-request to 149.20.48.61 (149.20.48.61) for 0.0.0.0 (0.0.0.0) ...
                        Send map-request to 149.20.48.61 (149.20.48.61) for 0.0.0.0 (0.0.0.0) ...
                        Send map-request to 149.20.48.61 (149.20.48.61) for 0.0.0.0 (0.0.0.0) ...
                         No map-reply received 


        RoundResultAction: 
        A round has a reply, but this reply does not include RLOC-related information, for example:
        
                        --- Round ID 1373013038 ----------------------------------->
                        Date=2013/07/05 08:30:38
                        EID=0.0.0.0
                        Resolver=149.20.48.61
                        Using source address (ITR-RLOC) 139.165.12.211
                        Send map-request to 149.20.48.61 (149.20.48.61) for 0.0.0.0 (0.0.0.0) ...
                        RECEIVED_FROM=149.20.48.61
                        RTT=0.15000
                        LOCATOR_COUNT=0
                        MAPPING_ENTRY=0.0.0.0/3
                        TTL=15
                        AUTH=0
                        MOBILE=0
                        RESULT="Negative cache entry"
                        ACTION=forward-native
                        
        RoundNormalNoLocatorInfo: 
        A round has a reply, and this reply theoretically contains locator-related information, however, due to some cause unknown, the locators contents are not printed, for example:
            
                        --- Round ID 1372759258 ----------------------------------->
                        Date=2013/07/02 10:00:58
                        EID=153.16.3.0
                        Resolver=149.20.48.61
                        Using source address (ITR-RLOC) 139.165.12.211
                        Send map-request to 149.20.48.61 (149.20.48.61) for 153.16.3.0 (153.16.3.0) ...
                        RECEIVED_FROM=128.122.208.144
                        RTT=0.15500
                        LOCATOR_COUNT=2
                        MAPPING_ENTRY=153.16.3.0/24
                        TTL=1440
                        AUTH=1
                        MOBILE=0
                        !!!! LCAF AFI print skipped !!!!
                        
            Note that locator_count is 2, but we could not check out the content of its included locators information

        
        
        RoundNormal:
        A round contains all information in which we are interested, refer to example given in item 'Round'

Locator: An information collection including locator address, locator state(up or down), locator priority(integer from 1 to 255 ) locator weight. A round's reply may contain multiple locators. Attention: locator address could be in IPV6 format. for example :

                        ...
                        LOCATOR0=192.162.230.11
                        LOCATOR0_STATE=up
                        LOCATOR0_PRIORITY=2
                        LOCATOR0_WEIGHT=50
                        ...
                        or
                        LOCATOR0=87.195.196.77
                        LOCATOR0_STATE=up
                        LOCATOR0_PRIORITY=50
                        LOCATOR0_WEIGHT=100
                        LOCATOR1=95.97.83.93
                        LOCATOR1_STATE=up
                        LOCATOR1_PRIORITY=10
                        LOCATOR1_WEIGHT=100
                        LOCATOR2=2001:9e0:8500:b00::1
                        LOCATOR2_STATE=up
                        LOCATOR2_PRIORITY=50
                        LOCATOR2_WEIGHT=100

Intra-logfile RLOC-Set consistence : This characteristic is defined at logfile level. A logfile is judged Intra-logfile RLOC-set consistence if and only if the same log file satisfies the following critiera:

    1, The logfile contains uniquely RoundNormal types round.
    2, All rounds inside the logfile has the same value for locator_count
    3, The number of RLOC addresses appeared inside the logfile is same to locator_count.

Inter-logfile RLOC-set consistence : This characteristic is defined in the interior of a vantage directory :

===============>Capacity

This program should be able to realize the following comparison or verification, respectively:

First, the program verifies that in each logfile(in all vantage directory), whether every round is consistent in terms of intra-logfile RLOC set consistence.(Refer to item 'Intra-logfile RLOC-set consistance' in glossary section)

Second, this program is also able to check, in the same vantage, whether for a certain EID, all 13 different resovlers return the same RLOC set.

Third, it should be able to examine that for all the vantage point, for the same EID, all 13 different resolvers give the same reply.

================>Analysis

"/PlanetLab/liege/mappings/planetlab1-EID-153.16.14.0-MR-149.20.48.61.log" file is very representative.

First, at the beginning of file, rounds are always in RoundNoReply type, then locator_count is changed constantly among 1, 2, 3

"/PlanetLab/liege/mappings/planetlab1-EID-37.77.56.32-MR-149.20.48.61.log" contains IPV6 RLOC address.