Design weaponised

The time has come to release our first donationware project, in the form of an online application named Grace. If you just want to jump straight in to see for yourself, go here then click the [You] button.


Grace is a pretty specialist type of tool, called an http remote geographical traceroute; Http because it runs in the browser, remote because it runs from a remote location, and geographical because it gives a graphical representation of the physical location of certain stuff.. And if that explanation wasn't patronising enough, you tech-savvy will have to grit your teeth through the next two paragraphs while I explain what a traceroute actually does.

The internet is a network of computer networks, connected in no uniform order whatsoever. To get data from where it's stored to where it needs to be, it has to be broken up and passed piece by piece from one computer to another until it gets to its destination, where it is reconstructed and used. The large majority of this journey will be spent sprinting through fibre optic terrestrial and undersea cables, followed by the last few kilometers crawling through copper wires buried under streets, slung between telegraph poles and probably broadcast over wifi.



The physical route taken depends on how your network connects to the network containing the data you want, which in reality comes down to the various data transit agreements between every network provider along the way, often referred to as peering agreements. This is easily visualized as a tree and its roots, with you at the tip of a branch, and the data you want at the tip of a root. At every fork will be a piece of switching hardware called a 'Hop', deciding which lane to throw your data down next;- And these bad boys are what traceroute applications like Grace are interested in. Each Hop along the route is yelled at, and the time taken for it to yell back (its Timeout) is noted, along with its reported location, its average timeout, a human-readable name and a guess at its specific role, if possible.



If you just skipped to this paragraph because you already know what a traceroute is, please visualize traceroute results mapped onto a tree view of network providers...

The trunk of this tree, especially on long haul routes, will often belong to what is known as a Tier 1 provider. This term is generally used to describe a computer network which is capable of reaching any other computer network without having to pay anyone for the use of their infrastructure along the way. The benefits of this are numerous, so at any opportunity a network provider will try to get your data onto one of these routes. Grace0.1 recognises every Tier 1 provider by name.

Obviously things would be even more messy without a naming system for all of these different high speed, high capacity appliances, and while it is true that common, documented naming systems exist, none of them are universal. Grace0.1 goes a long way toward figuring out what a specific piece of equipment does from its name, and the results are usually accurate. As an example, one Hop in your trace results might be named:

ae-1-100.ebr2.Denver1.Level3.net

"ae" is a well-used short name for a piece of equipment called an ethernet bundle, and a major manufacturer of them named Juniper ships with "ae" set as the factory default name, so Grace0.1 will assume this to be the case.

"-1-100" are the numbers of the actual hardware slots on this peice of equipment that the connection is passing through. In this case it went into the first slot on the chassis and was kicked back out of the hundredth.

"ebr" is another well-used short name. It describes where this machine is within the network, rather than what it actually does; -This is a Core router. It is not connected to the outside world in any way other than through immediately neigbouring Peering routers.

"Denver" is obvious. Some networks use airport codes, others just shorten the full city name to four letters. -And others still just make things up as they go along.

Oh! and "Level3.net" is one of them thar Tier 1 networks. Ain't it a beauty?

I think it's time to round up. I hope this post gets at least one person interested in the tech behind the screen. Those of you who know all of this stuff x50 will be raging right now; please be aware that I want to draw people's interest, not scare them off with geekery and pedantic detail.

Grace0.1 is my first javascript project. I wrote the first lines of code when I decided that I needed to respecialise before Flash sank and took me with it; and I feel that it was worth the endeavour. Cross-browser differences are the only real downside to this language besides a few badly executed commands which are easily coded around, and after Grace I can tell you that the very first thing my next script will do is to find out exactly what environment it's running in so it can configure itself accordingly from the start.

Demo   Download


Have fun, and donate us some coffee money; You'll love what we're doing next =]

switchcode