|
NetRadar "Documentation"
Introduction
My name is bob.
The NetRadar User Interface
Lets set up some basic concepts for NetRadar:
- The graph it produces is called a RouteTree
- NetRadar is like an experimental apparatus: you have to give it data for
it to produce results
So, what does NetRadar have as its parts? Lets see a picture of
NetRadar:
On the right of the screen is the "graph window" which contains the
RouteTree graph that looks so cool. The left window contains the data and
controls you need to produce the graph. There are a few menu options as
well, ranging from debugging commands that do nothing for you (they're there
for developers) to commands for simplifying the graph for you.
Don't forget your right mouse button... use it on the left and right for
different useful options that aren't available anywhere else.
In order for NetRadar to work, you've got to give it some data to work with.
These data represent some web sites whose performance you would be concerned
with... they are callled Targets, and are aptly enough, stored in the
target list, the window on the left. if you're an important person and are concerned with the entire
Interent, then enter a whole huge selection of computers and sites that
occur to you. If you're interested in your connection to a particular area
of the Internet, say, your connection to the UK from the USA, then enter a
ton of .uk web sites.
To create a target, right click in the left window, select "New Target" and
fill in the window that appears. Enter your target as a domain name or IP
address... do not enter things like HTTP:// or anything! Shortly after you
press OK, NetRadar will test this target, and begin creating a graph on the
right window. Add 15-20 targets for best results
What does the graph mean?
The graph on the right represents your network connection to the Internet.
Look carefully at your graph and find the dot with a small red R next to
it... this represents your primary gateway, the computer you use to access
the Internet. Each of the other dots represent other routers on the network
that you use to access different parts of the Internet. If you move your
mouse over a dot, a window will appear showing you the name of the router
for curiosity's sake. A link between dots represents a connection between
the routers. The length of the link is irrelevant - it adjusts simply to
make the graph readable.
Colors: The graph is colored to represent performance, and is the
real reason that this program is useful. Red areas represent congestion,
while green areas represent fast parts of the network. When you are looking
for congestion, look specifically at the area where the color shifts rapidly
from green to red - which directly indicates the cause of the congestion.
The colors are based on a normal distribution of performance data.
Additional Options: NetRadar has a bunch of wierd options that you
can experiment with in the menu system... defintely, though, take advantage
of AutoTrim under the analysis menu, which will remove the long chains on
your graph for readability. If you want to explore these hidden areas,
double click the plus sign on the end of the graph, which will cause the
chain to expand. If this doesn't work, right click the node and hit expand.
Other options that you might want to take advantage of are things like
locking nodes, which can help you to organize the graph as you want to -
while dragging a node, hold down shift, and release the node. Repeat this
same procedure to unlock a node.
How NetRadar Works
NetRadar is a software implementation of what is called RouteTree Theory. RouteTree
theory allows us to use traceroute data combined with ping, roundtrip, or
unidirectional download measurements to locate the sources of congestion on
a network. RouteTree theory is outlined in full at the above website. In
general, NetRadar implements three aspects of RouteTree theory:
- Data gathering
- RouteTree
Analysis
- Visualization
By far, the most interesting part of this program is the visualizations it
produces, which are pretty cool looking. However, how are they produced?
Data Gathering: In order to map your internet connection, NetRadar
needs "data sources" or targets, which you input. These targets enter a
waiting queue that gets tested every few minutes (the time frequency can be
adjusted by right clicking on a target in the left window and selecting
properties). When a target is tested, NetRadar bursts out a number of UDP
packets to the target. Each packet has a different TTL field entry (time to
live) ranging from 1 upward... this causes the packets to die while in route
to their final destination. When a packet dies, it produces an error
message, in the form of a ICMP packet, which is sent back to the originating
host. We recieve these error packets and can learn two things from them,
first, how long it took to get the error message, and second, where the
error message came from. This gives us an idea of round trip time to that
part of the network, plus the route used to get to the target being tested.
We do this for every target, and record the data for RouteTree analysis.
RouteTree Analysis: While I won't go into detail about this stage,
RouteTree analysis takes the data from the previous stage and analyzes it
for consistency. The trick in the data from the previous section is, by the
nature of the ping and traceroute techniques used, the data is inherently
unreliable and in need of great correction. RouteTree theory corrects it and
makes it ready for actual human consumption... though not as food.
Visualization: The final result of this program shows up in the right
side of the window as a pretty graph of how you connect to the Internet. The
graph is created with a highly resilient technique called Spring Embedding
or force directied placement... basically, in both of these techniques, the
graph is turned into a physical model of, say, atoms, which have repulsive
and attractive forces that push and pull on each other. In the graph, dots
that are connected attract each other, while unconnected dots repel each
other. Over time, this leads to a very readable graph layout.
This is how NetRadar works. There are a number of other things that can be
done with the NetRadar framework, but it was implemented to demonstrate
RouteTree theory, and so these other parts remain unimplemented.
Firewalls
NetRadar does not react well to firewalls. I've got some general advice and
some speific advice for people with firewall setups:
General Advice: Allow UDP [32000-33000] out; allow ICMP in
NetRadar sends out UDP probe packets on ports ranging from 33000 to 34000.
Most of the time, the probe packets from NetRadar are allowed out of the
network. More often, the reponses aren't received:
These packets generate error responses in the form of ICMP packets... often
times firewalls percieve these packets to be "unsolicited" (because no
corresponding ICMP out occurred) and kill them on the sopt. This is bad -
NetRadar will simply report a blank screen and do nothing.
When it comes to debugging whether NetRadar is working with your firewall,
go into the logfile that it generates on your windows drive and look for
lines saying things like "Autotiming out " and an IP address. If this
happens, then your firewall is killing either the UDP or the ICMp packets.
Unfortunately, there is no way for my software to tell the difference
between the different forms of packet death that a firewall will cause, so
do your best to figure out your firewall configuration before emailing
me.
ZoneAlarm Users: Enable ICMP option in the pro version
This advice comes from other people, so I can't be very concrete. Here
goes. ZoneAlarm apparently has this "Server Option" that makes some programs
work... well it won't work for NetRadar. Don't try, it won't help you...
NetRadar needs you to shut ZA off, or for you to enable ICMP message
processing, which can only be done in the Professional Version
according to some people. If you do that, however, you should be A-OK.
Windows Internet-Connection-Sharing Users: Give up
I wish I could give better advice for people using Windows Internet
connection sharing, but basically, the NAT engine that WICS uses is
extremely wimpy, and can't handle the idea of ICMP packets at all, not to
mention forwarding them. Get some good NAT software, such as WinRoute, if
you have the money, as it works quite well with NetRadar and most other
things. Or buy a linksys router, those will work fine too.
NAT Users and Misc
I have used NetRadar behind a WinRoute network, and had no trouble. I have
also used it behind several different Linksys purple boxes, which I assume
are just hardware NAT solutions. Most all of these systems have options for
forwading ICMP traffic, which you need to enable. If you do that, you'll be
fine.
|