After purchasing the 1st Edition hardcover of The Illustrated Network: How TCP/IP Works in a Modern Network by Walter Goralski and literally having it sit in my closet for 9 years, I finally decided to learn how IP addressing, networks, layers, routing… work. I donated the 1st edition and bought the revised 2nd epub edition as I wanted to have an updated and (literally) lightweight copy to keep on hand.
I always wondered how traceroute worked:
Whatever the type of traceroute packet, the time-to-live TTL field is initially set to 1, so the first router along the path should generate an ICMP Time Exceeded message to the sender. The round-trip delay in the timestamp field and IP address of the router is recorded by the sender and another set of packets is sent, this time with the TTL set to 2. These packets are discarded by the second router, and another ICMP message is sent back. The process is repeated until the destination host is reached and the host returns a Destination Port Unreachable message, or until a firewall is encountered that blocks the ICMP messages or unsolicited UDP traffic.
The end result should be a list of the routers on the path from source to destination that also records round-trip delays. In some cases (sometimes many cases), some routers will not respond to the TTL “timeout” with an ICMP message, but simply silently discard the offending packet. If the packet does not return within the timeout window, implementations indicate this with an asterisk (*) or some other placeholder and just keep going, trying to reach the next router.
It is a long book, but entirely worth it. Read the first 3/4 slowly and in detail taking notes along the way. The last 1/4 was more familiar already, so skimmed through most of it.
I recommend making a large printout out the example network diagram. It is refrenced throughout the book and helpful to have by your side.
Bottom Line: Highly recommended for anyone building or designing software systems (they are all networked, so adding that adjective is redundant). Especially those of us designing cloud architectures. Want to build proper VPCs, Security Groups, Placement Groups, Target Groups, Internet Gateways, Elastic IPs…? Best understand the fundamental concepts of networking. This book does the trick.
The supporting files for the 2nd Edition are not available, but after talking to Walter he told me they are the same as the 1st Edition supporting files.