Traceroute Project

September 30, 2019Understanding Networks

Prompt

Traceroute at least three of the sites you regularly visit: Facebook, gmail, bank, school, etc. Do it from all of the locations you regularly connect from. Save the trace in a file, and make a map of the routes, indicating the network providers that show up every time. Identify who the major tier 1 providers are in your life. Identify the networks your traffic crosses in the course of your daily life. Figure out whose hands the data about your life goes through on a regular basis. Look for patterns from your network-browsing habits through analysis and graphing of your network traces.

Feel free to obfuscate the endpoints if you don’t want us to know what sites you visit. Write a summary of your work and findings on your blog. We’ll compare notes on each others traces in class.

Pick at least one protocol that you find in the course of your traces and research it. Provide a paragraph or two definition for the networks site glossary. Explain for a non-technical audience; in particular, explain how it might be part of their everyday life whether they know it or not. Provide sources for your information, with links where possible.

My Traceroutes

I chose to traceroute three websites that I have commonly visited...

  • codecademy.com (where I used to work)
  • *****yoga.com (where I go to yoga)
  • facebook.com (where I go to get mindlessly distracted)

all from three common locations that I might access the internet:

  • my home
  • my mobile phone
  • NYU campus

Traceroutes, mapped out

After doing 9 traceroutes from my three different locations, Icreated a flow diagram for each destination website, noting the Autonomous Systems that we hop through along the way. I used whois to peer into Autonomous System and IP addresses to get the organization associated with each, and noted the ones that were most salient.

To Codecademy.com

To Codecademy.com

To facebook.com

To facebook.com

To my yoga studio's website

To *****yoga.com

Identify who the major tier 1 providers are in your life.

I highlighted the Tier 1 Providers with a pink border - but before I did that, I first looked up what a Tier 1 Provider is. According to my sources, Tier 1 providers are the major ISPs that exchange traffic with other Tier 1 providers. They make up the backbone of the internet, and are the ones responsible for creating infrustructure like submarine cables that bring connectivity across different contents. Wikipedia has a pretty thorough list of recognized Tier 1 providers, so I referenced that as I went through my maps. The providers that came up were:

GTT Communications Inc.: Also showed up as Tiscali International / Tinet

Verizon: Also showed up as Cellco Partnership, ANS Communications, MCI Communications

CenturyLink: Also showed up as Qwest, LEVEL3,

Tata Commmunications

My immediate reaction to doing this is surprise (but also not really surprise) about how many different names one company/organization has! I guess it really speaks to the messy histories of acquisition and merging these network companies undergo.

Networks that my traffic crosses

The graphs show that my day-to-day internet traffic goes through three main streams:

  1. The (various) Autonomous System associated with Spectrum (Charter Communications Inc), which is the internet service I use at my apartment.
  2. The AS associated with NYU, provided by NeuStar, Inc, when I use the internet from school.
  3. The many AS's that comprise Verizon, which all have various different names under traceroute, when I use my mobile phone.

For the most part, going to websites from the three locations result in pretty distinct traceroute paths that converge at the last or second to last AS.

One exception is the traceroute to my yoga studio, where the paths between tracerouting from home and NYU overlap on Tata Communicatioons and CenturyLink, before heading into "Ace Data Centers" and "Charter Communications" (Spectrum).

I have an inkling that's because the yoga studio website is more esoteric than the other websites (codecademy.com / facebook) which have millions of users, and you need to go through certain Tier 1 providers (aka the ones that have overlap) in order to access it.

Meanwhile, tracerouting from my devices to other websites leads to pretty unoverlapping paths because each finds their own Tier 1 provider (maybe the one that appears most promising?) that eventually link to the final AS, because the other AS is prominent enough for them to all know about. Facebook is in its own servers, and Codecademy is on Cloudflare servers.

Explaining a Protocol

During my research for this process, I came along several protocols that relate to Autonomous Systems. I found a document from 1996 called "Guidelines for creation, selection, and registration of an Autonomous System (AS)" helpful in introducing some of these protocols. This document explains that AS's have IGPs (Interior Gateway Protocols) that prescribe how routers within a given AS communicate with each other.

Looking further, I understood IGPs to be a category of protocols. One of them, according to this networks website is Open Shortest Path First (OSPF) protocol.

Open Shortest Path First (OSPF) Protocol:

An Autonomous System (AS), by definition, is a cluster of networks that uses special protocols called (IGPs) describing how routers within it communicate with each other. One type of IGP that an AS can use is called the Open Shortest Path First (OSPF) protocol. OSPF is a way for routers in an AS to respond to changes in a network and store the fastest way to get to any given destination in the network.

The way OSPF works is that when a network is created or is changed, routers advertise out which routers they're connected to, until all routers in the network have this information. Then, each one uses an algorithm to calculate the shortest path to each destination, taking into account how costly it is to travel through that path. OSPF thus allows information to pass more efficiently through an Autonomous System by having all routers know the best path to destinations. If you work for a large company with their own network, you might notice that they use OSPF which is common in enterprise settings for its efficiency.

For more information, check out this resource or the source documentation for OSPFs.