
Network Warrior, Second Edition
Gary A. Donahue
O’Reilly Media
I am an information security guy with a computer science degree. A good portion of my knowledge lies in operating system security and the interactions between systems. In college I took a computer science course in networking in which we delved into network fundamentals (packets, headers, protocols, etc.). However, most of it was focused on building network-enabled applications at the system call library level in the C programming language. We did not get to play with routers and switches, even though we knew how they worked, at least in theory. We assumed those components were there, were properly configured, and worked perfectly.
In my information security work, I have worked with small firewalls, software VPNs, IPS/IDS devices, VLANs and switches, and some other network components. I was able to figure out and configure most of that stuff out based on my fundamental knowledge of networking. However, I still didn’t have any exposure to enterprise-level switching and routing. Now I am a security architect and that is essential knowledge.
I got a free copy of the second edition of Network Warrior by Gary A. Donahue in early January 2016 through my membership to several O’Reilly Media mailing lists. This was a great opportunity to grow my knowledge of an area that I needed. It’s just over 1000 pages and packed full of useful information. It’s mostly about Cisco gear, but there are many chapters that focus on concepts that apply no matter what the vendor.
Here is a mini-review of what I found to be most helpful from an information security perspective.
Network Warrior Review
The book assumes the reader has very little background in high-level networking concepts. It immediately starts in chapter one with the different types of networks (MAN, CAN, WAN, LAN, etc.) and the various physical layer implementations (Token ring, Ethernet, FDDI, ATM, T1, DS3, etc.). The one area missing in the book is a discussion on packets, headers, and protocols. That may not be essential knowledge for this type of book, but I think it would help a network engineer.
Chapters two through eight are all about switches. Chapter two dives into hubs and switches and talks about the limitations with hubs and how switches get around some of those. The section on switches has commands to be run on CatOS, IOS, and NX-OS, which are the three Cisco operating systems, and a section on the differences between the various Cisco switches. The advantage to this book is its discussion on the differences between the various OSes from Cisco. The remaining switch-focused chapters talk about autonegotiation, VLANs, trunking, link aggregation, and the spanning tree system. Each chapter shows you the commands you need, provides an example, shows the output from status commands, and then walks through failures and pitfalls that are common and sometimes uncommon.
Chapters nine through fifteen are focused on routing and routers. Routing is one of those concepts that I understood based on theory. I never managed an enterprise or WAN router, so these chapters were particularly helpful. Virtual Routing and Forwarding (VRF) is something that we have implemented, but I never really looked into how it works. Chapter nine had a section on VRF that helped a lot. Chapter ten focused on routing protocols for the ever changing network. Again, my knowledge of these protocols was mostly theoretical. Chapters eleven through fifteen worked through redistribution, tunnels, first hop redundancy, route maps, and the switching algorithms in Cisco routers. These were all new to me and explained in excellent ways.
Chapters sixteen through nineteen focused on multilayer switches and specific switch hardware. All of this was new to me. The hardware chapters had a focus on Cisco 6500, Nexus, and Catalyst 3750 switches. Since I don’t get to play with hardware, this information was great. I still would like to experiment with some spare switches to get a better handle on the commands and output though.
Chapters twenty through 24 were on the various telecommunications systems. These chapters talked about the nomenclature of telecom, T1, DS3, Frame Relay, and MPLS. Some of this was review for me. Most of the details, trade-offs, and configuration details were new.
Chapters 25 through 28 were security focused on access lists, AAA (authentication, authorization, and auditing), firewalls in general, and Cisco ASAs in detail. I didn’t spend a lot of time here since most of this was a refresher.
Chapters 29 through 34 were more enterprise concepts with wireless, VoIP, QoS, congestion, and convergence. I had experience with QoS, but the other concepts were more detailed than my theoretical knowledge of them. These were also helpful chapters.
Chapters 35 through 41 were the best value to me personally. These focused on designing networks, IP design, IPv6, NTP, failures, GAD’s maxims, and avoiding frustration. These were chapters built on a career of experience. I really wanted this book to help me with designing networks and understanding the allocation of IP. Chapters 35 and 36 did exactly that. These two chapters were the most valuable to me. IPv6 and NTP were very good and mostly review for me. The remaining chapters, 39 through 41, were where the experience of the author really shows. GAD’s Maxims (chapter 40) are simple, straightforward, and explained very well. I will be adopting these because they even apply in security architecture though with some minor tweaking. Chapter 41 contains valuable recommendations for selling your ideas. These are universal truths and practical advice. Read this chapter twice.
Overall, I was very pleased with this book. It contains the right balance of concept and practical application of those concepts. In particular, the author’s experience, stories, and applicable examples show that this book does not completely focus on the technical implementation side of networking. This is born out in the title, Network Warrior. Mr. Donahue’s approach is not solely on concepts, technology, and specific commands to know. He has seen failures happen, worked through them, and shares those experiences so that we can be better prepared.