Internode Nodemap - Network Status Visualization

Configuration In A Box

The topology in this example consists of a network with nodes in Adelaide, Melbourne and Sydney linked together with ATM PVCs. Inside Adelaide this imaginary company has other nodes in Croydon and Morphett Vale linked with Sync Serial (2Mbps).

The top-level map will end up looking something like this. The Adelaide map will look like this.

The one thing you can't see from these examples is the user-interface interaction. You'll need to actually run the software to see that. Suffice to say that hovering the mouse pointer over links will make detailed link usage stats pop-up, and clicking through the Adelaide blob on the main map will take you to the Adelaide City map. If any links in the Adelaide City map change color, the Adelaide blob on the main map will change color too.

Config Example

map main {

    /* this pathname is relative to our execution directory, not our
     * output directory.  It specifies the location of the file we'll
     * use as the background for our map. */
    image images/australia.gif;

    node adelaide {
	/* These coordinates are relative to the top-left of 
	 * images/australia.gif, which is the background map for
	 * the top-level display */

	x 460;
	y 410;

        /* This map is nested inside the "adelaide" node */
	map adelaide_city {
	    image images/ghostlogo.gif;

	    node croydon {
		/* These coordinates are relative to the top-left of
		* images/ghostlogo.gif, which is the background map
		* for this nested display */

		x 490;
		y 100;

		url http://documentation.mycompany.com/croydon.html;
	    };

	    node cbd {
		x 430; 
		y 315;
		url http://documentation.mycompany.com/cbd.html;
	    };

	    node morphett_vale {
		x 460;
		y 500;
		url http://documentation.mycompany.com/mv.html;
	    };

	    link cbd_croydon {
		between cbd croydon;
		url http://mrtg.mycompany.com/cbd-croydon.html;
		endpoint cbd:Ser0 {
		    host router.city.mycompany.com;
		    interface Serial0;
		    location cbd;
		};
		ping 192.168.2.1 from cbd:Ser0;
	    };

	    link cbd_morphett_vale {
		between cbd morphett_vale;
		url http://mrtg.mycompany.com/cbd-morphett_vale.html;
		endpoint cbd:Ser1 {
		    host router.city.mycompany.com;
		    interface Serial1;
		    location cbd;
		};

		endpoint mv:Ser0 {
		    host router.morphettvale.mycompany.com;
		    interface Serial0;
		    location morphett_vale;
		};
		ping 192.168.3.1 from cbd:Ser1;
	    };

	};  /* city map */
    }; /* adelaide node */


    /*
     * Nothing nested in these nodes -- they'll be drawn as small blue
     * blobs on images/australia.gif
     */
    node melbourne {
	x 540;
	y 465;
    };

    node sydney {
	x 650;
	y 375;
    };


    /*
     * This link will be drawn "fatter" than the adelaide-sydney link,
     * because it's higher-capacity. 
     */
    link wan_adl_mel {
	between adelaide melbourne;
	endpoint adl:ATM0.37 {
	    interface ATM0.37;
	    location adelaide;
	    host router.city.mycompany.com;
	};
	endpoint mel:ATM0.37 {
	    interface ATM0.37;
	    location melbourne;
	    host router.melbourne.mycompany.com;
	};
	url http://mrtg.mycompany.com/adl-mel.html;
	bandwidth 48mbps;   /* if we don't specify this, nodemap will guess */
    };

    link wan_adl_syd {
	between adelaide sydney;
	bandwidth 64kbps;
	endpoint adl:ATM0.38 {
	    interface ATM0.38;
	    host router.city.mycompany.com;
	    location adelaide;
	};
	endpoint syd:ATM0.38 {
	    host router.sydney.mycompany.com;
	    interface ATM0.38;
	    location sydney;
	};
    };
};