Ping is a network utility tool for testing to see if a server is responsive.
Traceroute is a utility that builds on this idea and pings in a sequence to discover the route a network request takes.
There are many different possible routes to a web application such as YouTube or Amazon, but it’s also true of static websites like this blog.
The request goes through,
- a local network, through which you connect to the internet
- the internet, a network of networks where requests and responses are forwarded
- the application servers, eg the many servers on which a large-scale web application runs on
Above, you can see the network of nodes that I traversed while reaching YouTube, Amazon, LinkedIn, and my own blog via my home network, the NYU network, and my cellphone connected to Verizon wireless.
Looking at the routes individually, I found two features interesting.
- 1. Amazon uses a much deeper architecture
- Connecting to Amazon requires traversing many more nodes than any other application. The additional nodes all seem low latency.
- 2. Verizon Wireless routing is shorter, but higher latency
- No matter the application, Verizon serves the connecting in only a handful of steps.
- All applications look like they’re being served in the same manner.
- Large important networks can bypass much of the internet
- Organizations can architect their applications very differently depending on the resources they have available