Traceroute: Where My Network Goes While Streaming Videos

I did a traceroute for some online video streaming sites: Youtube, Netflix, Vimeo, and Hulu since I was really curious about it and those are the sites I regularly visit. I did it at three different locations: Home, Think Coffee, and ITP floor.

Process

Traceroute Using Mac Terminal

I used Mac terminal for the traceroute, using command:

$ traceroute (site name)

The result looked like this:

Mac Terminal Traceroute

It was fine when I traceroute Youtube.com from all three places. But weirdly, whenever I traceroute Netflix, Hulu, and Vimeo, it always gave me timeout after ~13 hops. In all places: home, coffee shop, and ITP floor.

Timeout Traceroute

Oh, just for a background, I live in Brooklyn and my ISP is Spectrum. I was expecting to get really different result, since I was assuming that NYU has its own private network. And I was curious how public network would route the packages.

Traceroute Using Ultratools.com

When I went to Think Coffee near school, I tried to use Mac Terminal to traceroute all sites. But strangely it gave me timeout since the beginning. So I tried to use Ultratools.com, an online IP Traceroute Tool.

Timeout Traceroute at Think Coffee

But it was fine when I used Ultratools.com.

Traceroute Using Ultratools.com

I was curious why I couldn’t use Mac Terminal to traceroute every site at Think Coffee. Then I tried to ping the sites and it worked perfectly fine.

Ping on Youtube from Think Coffee

— youtube.com ping statistics —
42 packets transmitted, 27 packets received, 35.7% packet loss
round-trip min/avg/max/stddev = 10.057/14.349/51.497/7.558 ms

I tried to google it and it probably because traceroute on Mac (or Linux) use UDP by default meanwhile online IP Traceroute Tool use ICMP. UDP will most likely get rejected by most firewalls. And I forgot to use -I while doing it on terminal.

Convert CSV File to Geojson

After I got all the results, I put them in a .csv file then I converted them to .geojson to that I could map the coordinates in map. Here are the .csv and .geojson that I used:

Data on my Github: CSV and Geojson Files

Visualize Results Using Mapbox.js

I took a class called Impossible Maps last semester. In that class, I learned about maps and data visualization using Mapbox. So I used Mapbox for the map tiles and generate the locations from geojson file.

Findings & Visualization

I created an interactive map to show how the traceroute is being visualized. Click here to see the interactive map of my traceroute results.

Traceroute Interactive Map

 

Here are the findings that I got showing how’s my daily network traffic and who’s responsible for it:

 

Home

YoutubeTime Warner Cable Internet LLC, TATA COMMUNICATIONS (AMERICA) INC, Google LLC

Netflix: Time Warner Cable Internet LLC, Amazon.com, Inc

HuluTime Warner Cable Internet LLC, Fastly

Vimeo: Time Warner Cable Internet LLC, Akamai Technologies, Inc.

 

Think Coffee

YoutubeNeuStar, Inc.Hibernia Networks (Netherlands) BV, Google LLC

Netflix: NeuStar, Inc.Hibernia Networks (Netherlands) BV, Amazon.com, Inc

HuluNeuStar, Inc.Hibernia Networks (Netherlands) BV, MCI Communications Services, Inc. d/b/a Verizon Business

Vimeo: NeuStar, Inc.Hibernia Networks (Netherlands) BV

 

ITP Floor

YoutubeNew York UniversityTATA COMMUNICATIONS (AMERICA) INC, Google LLC

Netflix: New York University, NYSERNetInternet2, Amazon.com, Inc

HuluNew York UniversityTATA COMMUNICATIONS (AMERICA) INC, NTT America, Inc.

Vimeo: New York University, Level 3 Parent LLC, Fastly

 

My hypothesis was kind of accurate that the initial traffic would be different from each place. I use Spectrum (it was Time Warner) at home and I assumed NYU has its own network. And public network would also be different. I wonder if it has something to do with NeuStar Inc because I used online IP Traceroute by NeuStar.

I didn’t really pay attention to the middle parties (where the hops go through) but I found it’s really interesting how the last hops landed. I’m guessing the last hops are where the companies (Youtube, Netflix, Hulu, and Vimeo) host their services. I knew that Youtube was acquired by Google back in 2006 so I wasn’t surprised that it’s hosted in Google server. But I didn’t know that Netflix use Amazon’s Cloud Services. I thought I saw it from somewhere that “Netflix delivers all of their videos from their own content distribution network and doesn’t use Amazon’s CloudFront CDN for video delivery at all.” So I was wrong. So I guess the parent’s company and the Content Delivery Network (CDN) can be different.

I think it’s very interesting to see how the traffic goes for each site. But I have some questions relating this traceroute:

  1. I’m guessing that the three sites (Netflix, Hulu, and Vimeo) were timeout because the packages were blocked. I guess some providers configure their routers to not generate the ICMP error message because of a security concern and the desire to not provide identifying information about their public routers. So, my question is: Why Google isn’t blocking the package for security reason?
  2. I noticed that there are a lot of hoping back and forth to different region/country. For example: Netflix’s traffic was going from Amazon server in Virginia then goes to Washington, then goes back to Virginia. Why does this happen? Isn’t that not cost efficient?

Leave a Reply

Your email address will not be published. Required fields are marked *