Preface
For a long time, I was very happy building Ethernet networks, working with switches and then moving to 802.11. It took awhile, but eventually I realized that the world of interconnected networks cannot be reached with Layer 2 alone. In addition, as you spread your wings from the Layer 2 broadcast domains, you encounter the wonders of virtual local area networks and trunks. I became an all over networking sort of guy. Like my own progression, this book moves up to the next layers and ideas.
If you read the Packet Guide to Core Network Protocols (OReilly), you have a handle on the type of communication seen on every single network (ARP, ICMP, IP, Ethernet), regardless of operating system or networking equipment vendor. This book now moves to the advanced link and internetwork layer protocols that will enable the reader to expand to internetworks and larger topologies.
Like the first book, each chapter will tear apart a particular protocol or set of ideas, explaining the structure and operation. The discussion will be supported by ample packet captures. There is nothing theoretical about the stuff between these covers: the topologies depicted in each chapter were built in a lab as the chapters took form.
And like the first book, what you see here will be part of every network that you encounter. So, the practices, ideas and protocols seen here will continue to help you on your way for many years to come. Ill also continue to refer to and work with networking tables including routing (host and router), source address, and ARP tables.
Recently, many in the networking profession experienced, or at least paid attention to, IPv6 day. But the results were largely unimpressive. Several challengessuch as properly operating 6to4 tunnels, filters blocking some IPv6 messaging, and a seeming lack of support for security featuresindicate that IPv4 will be with us for some time to come. That said, many of the chapters touch on IPv6, including some basic configurations and a comparison to IPv4 operation.
Each chapter contains a collection of review questions to remind the reader about key ideas. A series of lab experiences ranging from basic to advanced are also included. These experiences are designed such that the reader can perform them with the help of the chapter, welding the ideas into place.
I hope you enjoy this book and that it helps you on your way to networking greatness.
Audience
As this book contains both ground-up explanations and advanced ideas, it is appropriate for those just beginning as well as the pros out there, who might need a refresher. Whether you are working with small networks or interconnecting larger ones, the principles contained remain true.
This book is meant to be a companion to The Packet Guide to Core Network Protocols . Both books stand on their own, but this book assumes that you understand the concepts and protocols explained previously, including ARP, ICMP, IP, equipment, Ethernet, and masking. Occasionally Ill throw in a little review, but these sections will be few and far between.
Contents of This Book
This chapter ties the book together, covering the integrated nature of the forwarding decisions made on the network and introduces many of the concepts that form the basis of later chapters. The chapter addresses key ideas, including classification of protocols, static versus dynamic topologies, and the reasons for installing a particular route.
This chapter picks up where the discussion of masks in leaves off. Hosts are like routers in many ways, and possessing a routing table is just one of them. Reading this chapter will show you how to process a host routing table and how traffic starts out across a network. Conversations crossing routers will also be examined, with special attention paid to addressing and frame construction.
Loops are problematic for Ethernet networks. The Spanning Tree Protocol is an integral part of every network containing switches and works to protect the topology against them. It can also affect the performance of your network and consume bandwidth. This chapter covers Spanning Tree and the faster Rapid Spanning Tree protocol.
As good as switches have been for modern communication topologies, once the Layer 2 network grows beyond a certain size, bottlenecks and security concerns start to assert themselves. VLANs are a valuable tool used to address these problems. This chapter covers the design and operation of VLANs and includes sections for trunking protocols that allow VLANs to spread out over many switches.
One of the first distance vector protocols, RIP is often used as a basis for understanding dynamic routing. However, RIP also has a place in small, modern communication networks. This chapter addresses the operation and structure of RIP. Also discussed are improvements to simple dynamic routing, including split horizon, poisoning, count to infinity, and triggered updates.
OSPF is a link state protocol, and as such, is generally considered superior to protocols like RIP. This chapter will explain the operation of link state protocols and why convergence times are improved over distance vector. The protocol structure, addressing, and operation will be covered with support from packet captures.
Conventions Used in This Book
The following typographical conventions are used in this book:
Plain text
Indicates menu titles, menu options, menu buttons, and keyboard accelerators (such as Alt and Ctrl).
ItalicIndicates new terms, URLs, email addresses, filenames, file extensions, pathnames, directories, and Unix utilities.
Constant width
Indicates commands, options, switches, variables, attributes, keys, functions, types, classes, namespaces, methods, modules, properties, parameters, values, objects, events, event handlers, XML tags, HTML tags, macros, the contents of files, or the output from commands.
Constant width bold
Shows commands or other text that should be typed literally by the user.
Constant width italic
Shows text that should be replaced with user-supplied values.
Note
This icon signifies a tip, suggestion, or general note.
Warning
This icon indicates a warning or caution.
Using Code Examples
This book is here to help you get your job done. In general, you may use the code in this book in your programs and documentation. You do not need to contact us for permission unless youre reproducing a significant portion of the code. For example, writing a program that uses several chunks of code from this book does not require permission. Selling or distributing a CD-ROM of examples from OReilly books does require permission. Answering a question by citing this book and quoting example code does not require permission. Incorporating a significant amount of example code from this book into your products documentation does require permission.
We appreciate, but do not require, attribution. An attribution usually includes the title, author, publisher, and ISBN. For example: