NETS header NETS Homepage UCAR Homepage NCAR Homepage SCD Homepage NETS Homepage About NETS Work requests & support
  Browse NETS topics: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

trcheck - traceroute checker

Introduction

This page describes trcheck, a "route sanity checker" for FRGP members. It traceroutes to a target site and checks that the traceroute "goes through" the expected paths along the way to the target. It was written for 2 reasons:

  1. So FRGP engineers could quickly check that traffic from NCAR out through the FRGP are basically taking the right paths, as a "before and after" check when making configuration changes.
  2. To offer FRGR members a way to check their routes through the FRGP, so a member can check that they are receiving the FRGP connectivity that they expect.

The trcheck.pl program does a single traceroute to a single target. To check that routing is correct to several targets, a shell script named CheckNcarTraceroutes.sh contains several calls to trcheck, each to a different target.

What follows is a description of how the program works at NCAR. After that is a description of how to get and modify the program to run at another FRGP member site.

How to check routing sanity at NCAR

Log on to netserver and run:

			/usr/web/nets/tools/trcheck/CheckNcarTraceroutes.sh
		

This will produce output like the following:

			tracerouting to AHEC......... at www.ahec.edu ..................Ok
			tracerouting to BVSD......... at www.bvsd.org ..................Ok
			tracerouting to CMC.......... at www.coloradomtn.edu ...........Ok
			tracerouting to Deproduction. at deproduction.dnsalias.org .....Ok
			<etc.>
		

Here's what it displays when I run it from NCAR with the "verbose" option turned on:

			tracerouting to AHEC......... at www.ahec.edu ..................Ok, traversed FRGP-WAN,FRGP-UPoP and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to BVSD......... at www.bvsd.org ..................Ok, traversed FRGP-WAN,FRGP-UPoP and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to CMC.......... at www.coloradomtn.edu ...........Ok, traversed FRGP-WAN,FRGP-UPoP and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to Deproduction. at deproduction.dnsalias.org .....Ok, traversed FRGP-WAN,FRGP-UPoP and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to MSCD......... at www.mscd.edu ..................Ok, traversed FRGP-WAN,FRGP-UPoP and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to Comcast...... at 24.8.0.1 ......................Ok, traversed FRGP-WAN,FRGP-Comcast and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to RMIX......... at www.comfluent.com .............Ok, traversed FRGP-WAN,FRGP-RMIX and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to BoulderCounty at www.co.boulder.co.us ..........Ok, traversed BPoP-CityCounty and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to CSM.......... at www.mines.edu .................Ok, traversed FRGP-WAN,FRGP-CSM and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to DU........... at www.du.edu ....................Ok, traversed FRGP-WAN,FRGP-DU-QMOE and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to FLC.......... at www.fortlewis.edu .............Ok, traversed FRGP-WAN,FRGP-FLC and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to frgp-ws-1.... at www.frgp.net ..................Ok, traversed FRGP-WAN and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to State........ at www.colorado.gov ..............Ok, traversed FRGP-WAN,FRGP-State and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to UC-Pueblo.... at www.colostate-pueblo.edu ......Ok, traversed FRGP-WAN,FRGP-SCONE and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to UCB.......... at www.colorado.edu ..............Ok, traversed BPoP-UCB and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to UCDHSC....... at www.cudenver.edu ..............Ok, traversed FRGP-WAN,FRGP-UCDHSC and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to UCCS......... at www.uccs.edu ..................Ok, traversed FRGP-WAN,FRGP-UCCS and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to USAP......... at www.usap.gov ..................Ok, traversed FRGP-WAN,FRGP-USAP and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to Utah......... at www.utah.edu ..................Ok, traversed NlrB,l3-Utah and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to UW........... at www.uwyo.edu ..................Ok, traversed BisonA and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to Ithaka....... at 204.228.64.60 .................Ok, traversed FRGP-WAN,FRGP-Ithaka and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to Ithaka....... at 204.153.51.29 .................Ok, traversed FRGP-WAN,FRGP-Newnet and not BPoP-ICG,FRGP-Commodity,l3-transitrail
			tracerouting to MIT.......... at life.ai.mit.edu ...............Ok, traversed FRGP-WAN,FRGP-Newnet
			tracerouting to NLR-PacketNet at www.nlr.net ...................Ok, traversed NlrB,l3-NlrPacketNet
			tracerouting to PSC.......... at www.psc.edu ...................Ok, traversed NlrB,l3-NlrPacketNet
			tracerouting to PNWGP........ at www.pnw-gigapop.net ...........Ok, traversed NlrB,l3-NlrPacketNet
			tracerouting to Qwest........ at www.qwest.com .................Ok, traversed FRGP-WAN,FRGP-Qwest
			tracerouting to Level3....... at www.level3.com ................Ok, traversed BPoP-ICG,FRGP-Commodity
			tracerouting to Nike......... at www.nike.com ..................Ok, traversed FRGP-WAN,FRGP-Commodity
			tracerouting to ICG.......... at 3.0.0.1 .......................Ok, traversed BPoP-ICG
			tracerouting to Seattle...... at www.shaw.ca ...................Ok, traversed NlrB,l3-tr-seattle
			tracerouting to Chicago...... at www.swiss.com .................Ok, traversed NlrB,l3-tr-chicago
			tracerouting to LosAngeles... at www.china.com .................Ok, traversed NlrB,l3-tr-losangeles
		

That top line basically means "A traceroute to www.ahec.edu was Ok - it went through the FRGP-WAN and FRGP-UPoP links, and it did not go through any commodity or TransitRail links".

For the purposes of this script, the links that connect FRGP sites are called "waypoints". A traceroute can be expected to pass through certain waypoints. For example the waypoint named FRGP-UPoP is a list with 2 elements: the IP addresses at the ends of the point-to-point link between the FRGP and the UPoP. Some waypoints, like "BisonA", have more than 2 IP addresses, but they still represent a single line that may appear in a traceroute. The user can specify a set of waypoints that a traceroute should pass through, and a second set that the traceroute should not pass through.

I've defined the waypoints that relate to the FRGP. They are defined in the file named Waypoints.txt.

How to check routing sanity at a FRGP member site other than NCA

This script provides each FRGP member with a way to verify that the FRGP routes their traffic to the right places. For example, FRGP members who pay for Abilene want their Abilene-bound traffic to flow out over the FRGP's Abilene connection. The script can be used to check this.

  1. Find a Unix box that has Perl and bash.
  2. Choose a directory to hold trcheck. Let's call that the "working directory".
  3. Download the three files into the directory:
    1. trcheck.pl
    2. CheckNcarTraceroutes.sh
    3. Waypoints.txt
  4. Edit trcheck.pl and fix the definition of $WaypointsFileName to make it point to the working directory
  5. Rename CheckNcarTraceroutes.sh to something that makes sense for your site, like CheckCsuTraceroutes.sh.
  6. Edit CheckCsuTraceroutes.sh:
  7. Run it and change the Waypoints.txt file as needed until it works. You may need to get the Net::Traceroute.pl module from the CPAN.

Consider adding waypoints and traceroutes to test the paths within your site's network.


Address comments or questions about this Web page to the Network Engineering & Telecommunications Section at nets-www@ncar.ucar.edu. The NETS is part of the Computational & Information Systems Laboratory of the National Center for Atmospheric Research, which is sponsored by the National Science Foundation and managed by the University Corporation for Atmospheric Research. This website follows the UCAR General Privacy Policy and the NCAR/UCAR/UOP Terms of Use.