caida's
network drawing tools (NDT)
utilities currently available
(10 august 96)
Ndtools.tar.gz

NDT file format

Most of the NDT utilities process files in the ndtformat. An ndtformat file is a list of objects, one per line. (we mostly currently use two types of objects: nodes and edges, but we will add radb related objects in the future.)

Each object consists of a list of attribute-value pairs, with each pair in quotes, separated by commas, and the whole list contained in parentheses.

NDT attributes
attributetypeexample value
general
color RGB values (0<=x<=1) 0 .9 .2
edge properties
dsthost destination hostname Fddi0.pad7.Sydney.telstra.net
dstplace city location of hostnameSydney, Australia
dstlat latitude of dsthost33.917
dstlon latitude of dsthost151.283
dstasname AS of dsthost1221
dstip IP address of dsthost139.130.249.230
srchost source hostnametelstra.SanFrancisco.mci.net
srcplace city location of hostnameSan Fracncisco, CA
srclat latitude of srchost37.775
srclon latitude of srchost122.418
srcasname AS of srchost3561
srcip IP address of srchost204.70.204.6
nodes properties
nodename hostnametelstra.SanFrancisco.mci.net
asname AS nameMCI-RESTON
degree number of edges to ndoe4
place city location of hostnameSan Francisco, CA
for delay variance data collection
samples number of samples6
acked proportion0.888889
variation variance in samples14.9173

The example attributes defined for the edge properties above would be:

(  "acked=0.888889", \
   "dsthost=Fddi0.pad7.Sydney.telstra.net", \
   "dstlat=-33.917", "dstlon=151.283", 
   "dstplace=Sydney, Australia",  \
   "dstip=139.130.249.230", "samples=9",	\
   "srchost=telstra.SanFrancisco.mci.net", "srclat=37.775" \
   "srclon=-122.418, "srcplace=San Francisco, CA",  \
   "srcip=204.70.204.6", 	\
   "variation=14.9173",) 



ndt utilities

utility description syntax
asname looks for tags srcasname,
dstasname (edge format)
and asname (node format)
asname [-overwrite]
coalesce extracts a subgraph of current graph
with nodes of degree n or greater
coalesce -degree n [-recur]
elide removes a property from every object in a ndt file elide -param attribute
colorize adds property color to ndt object
normalize for rgb to always be unit length
exponentiate values by weight
colorize -param [attribute min max] [-start basecolor] [-end basecolor] [-normalize] [-weight float]
degree adds degree property to nodes (requires input in node format) degree
ndt2ged convert from ndt to graphed format ndt2ged < input > outputfile
ged2ndt convert from [restricted form of] graphed format to ndt format ged2ndt < input > outputfile
geddriver calls ged-based program argv[1] with arguments argv[2..] taking ndt format, keeping ndt info state, and merging it back into the output of program argv[1] geddriver program [argument1 argument2 ... argument2]
interp instantiates to attribute for all objects with attribute from
exponentiate values by weight
interp -from attribute min max -to attribute min max [-weight float]
ip2as for all objects with srcip, dstip (edge format)
or ip (node format), adds srcas, dstas, as attributes
ip2as [-overwrite]
ip2place for all objects with srcip, dstip (edge format)
or ip (node format), adds srcplace, dstplace, place
ip2place [-overwrite]
nodify takes edge objects and creates node objects in ndtformat
-s|d allows you to specify node name as attribute's value
nodify [-s attribute] [-d attribute]
ndtdiff prints non-intersecting set of edges of two ndtformat files
-intersection will provide intersecting set of edgets
ndtdiff -a ndtfile1 -b ndtfile2 [-directed] [-intersection]
range_info provides min and max values of attribute range_info -param attribute
resolv adds [host|ip] attribute for objects with [ip|host] attribute (-host|-ip)
(uses bind library)
resolv [-host|-ip]
ndt supporting routines to manipulate node and edge structures
radix supporting radix search routines for ip2place conversions (and likely others later)
Perl scripts
latresolve.perl uses place2latlong files, adds [srclat|srclong|dstlat|dstlong] attributes, puts unknown ones in junkres
rr2ndt.pl from ripe-181 file objects to ndtfile format rr2ndt.pl