This book is a thoroughly enjoyable learning experience!!! I bought this book before Christmas out of curiosity and out of a potential need to learn more about computer networking and brush up on it when asked about it on a technical interview.
Since I already had certified as a Java Enterprise Architect, which required knowledge of Java 2 Network Security and protocols such as HTTP, HTTPS, IIOP, JRMP, I had some limited, specialized knowledge of network protocols. However, this book really gave me much more background on the Internet than I had anticipated and it broadened my perspective about future technology developments, which will probably continue to be born out of the Internet. Should it be no surprise that a language such as Java, which started out as a network programming language has become much more than that? No doubt the Internet has proven to be much larger of an influence in the world than ever expected. For example, years ago I remember reading about the seven-layer ISO OSI reference model using in data communications in telecommunications. This book made it clear that this has all been compacted into a five-layer Internet protocol stack. Something arcane and mystical has been simplified and is very public domain.
This book covers the five-layer protocol stack: Application Layer, Transport Layer, Network Layer, Link Layer, and Physical Layer. I thought I might be turned off by some of the geeky topics in the network protocols, but instead I found them quite tasty too and I gobbled up the whole book.
The introduction chapter outlined most of the topics covered in later chapters such as each of the layer protocols and then topics that build on them such as security, wireless and mobile networks, multimedia networking, and network management.
Some of my major learning experiences included: DSL, circuit switching, packet switching, application protocols, DNS servers, socket programming using either TCP or UDP, building reliable data transfer protocols such as TCP, TCP congestion control, routers, IPv4 and IPv6, routing algorithms, designing subnet IP addresses, network interface cards/MAC addresses, Ethernet protocol details, and then some.
I also used the book's programming assignment downloads, and Ethernet Wireshark labs, study guides and self-assessment tests. All of this really anchors and expands upon the topics covered in each chapter. This book and the online learning aids was more fun and brain expanding than sudoku puzzles!