zakishah has asked for the wisdom of the Perl Monks concerning the following question:

Hi , i am writing script that helps me to detect any routing loop in the network which i successfully managed to write now i want to ask that how to compare the path which i took from traceroute and the one that should be expected from IGP i.e OSPF.To explain further i am writing a code that can help me detecting any path that packet take which is not the one that is expected from OSPF.in this example OSPF is taking shortest path where no. of hops are metric now if due to any reason like interface disabled if i get longer path upon which packet traverse how would system know that it is not the expected path. kindly comment and if possible tell me is there any module of perl that can help me solve this issue.Thank you

  • Comment on Comparing routing path if it is in agreement to IGP

Replies are listed 'Best First'.
Re: Comparing routing path if it is in agreement to IGP
by taint (Chaplain) on Aug 21, 2012 at 06:36 UTC
    Greetings, You'll really need to be more specific (provide more data -- the script itself, maybe?). But if I understand you correctly, You'll need to define a couple of things, to compare against. eg;
    if $something<0 || -1; die "no route!";
    In other words, if there is no answer, that means (as you put it) the interface is disabled. You'll also probably need to do some comparisons regarding the "hop count", so that you can monitor the progress of data via your script. Mind you, I'm groping in the dark here. You really need to provide a little more information, for anybody to provide meaningful responses. But I thought I'd at least try. :)
    Best wishes.
    --Chris
    #!/usr/bin/perl -Tw
    use perl::always;
    my $perl_version = "5.12.4";
    print $perl_version;

      Thank you very much Chris for your prompt consideration on my problem. Actually sometimes we configure routers with static configuration in this case the priority is given to the path that is described by static route, in other words the dynamic protocols are ignored, similarly some times due to router failure or disable interface the path packet takes is not the one that we expect( IGP path) so how would i detect the situation through script that prompts me that the path is not expected one may be there is router failure or static configurtion. i am giving traceroute result that helps further to understand problem first traceroute result is the one that is expected by OSPF and second one is which represents problem that shows that there might be a static route configuration or disable interface

      1 10.0.0.53 (10.0.0.49) 0.478 ms 0.457 ms 0.478 ms 2 10.0.0.58 (10.0.0.58) 0.867 ms 0.780 ms 0.846 ms 3 10.0.0.138 (10.0.0.138) 1.401 ms 1.438 ms 1.198 ms ========================================================= 2nd tracerroute result 1 10.0.0.73 (10.0.0.73) 0.452 ms 0.443 ms 0.382 ms 2 10.0.0.78 (10.0.0.78) 0.900 ms 0.782 ms 0.783 ms 3 10.0.0.62 (10.0.0.62) 1.246 ms 1.197 ms 1.145 ms 4 10.0.0.49 (10.0.0.49) 1.642 ms 1.497 ms 1.437 ms 5 10.0.0.58 (10.0.0.58) 1.976 ms 1.660 ms 1.755 ms 6 10.0.0.138 (10.0.0.138) 2.209 ms 2.114 ms 2.071 ms
      ========================================================== Question 2:how to do to build a model of the IGP shortest paths in perl by using one of Graph perl modules, and build the graph of the OSPF adjacencies between the routers, with their IGP weights to get shortest path that will give expected paths between all routers?
        Greetings.
        Sorry to get back to you so late on this. It appears you've already received a slution to this in another thread. So no reason to repeat here. :)
        Best wishes.
        --Chris
        #!/usr/bin/perl -Tw
        use perl::always;
        my $perl_version = "5.12.4";
        print $perl_version;