Preface

It’s 4:45 p.m. on a Friday afternoon, and you’re looking forward to going home early for a change. All of a sudden the telephone rings. It’s one of your users, unable to connect to the email server, yet again. Worse, he has to send a report to his boss before he can go home, which means that you’ve got to get the problem sorted out before you can go home.

But before you can fix anything, you’ve got to know what the problem is exactly. Is the user providing the wrong username or password? Is the user running an old email client that’s incompatible with some new features on your brand-new server? Maybe the user’s mailbox is locked by another process? Or are there basic network-connectivity problems keeping the computers from even being able to communicate?

Unfortunately, the unprecedented success and wide-scale adoption of Internet protocols and application services has resulted in an equally unprecedented number of complexities. And although there is a wealth of literature and documentation on how to implement a specific vendor’s product, rarely can you find detailed information on how the underlying protocols used by those products are implemented. There’s likely to be reams of documentation on the nifty email filters, but not a word will be printed on which POP3 or SMTP commands are supported. This makes troubleshooting difficult, to say the least. Worse, when vendors start pointing fingers at each other, you’re stuck trying to figure out the problem on your own.

The point is, in order for you to be able to effectively design, implement, manage, and support different implementations of Internet-based, standards-centric protocols and services, you must educate yourself on how they actually work. Everything eventually boils down to the protocols (including the failed commands and the errors they generate). The fastest road to solution-ville is by understanding what’s going on at the protocol level.

It’s at times like this that you need to be able to capture the traffic on your network—and more importantly—be able to understand the packets that you’re looking at. The purpose of this book is to show you the ins-and-outs of the most common protocols found on today’s Internet-centric networks. Throughout this book, you’ll find background information on the design of each of the core protocols used on TCP/IP networks, as well as detailed reference information that discusses the options and parameters available with each of them. Additional volumes in this series will explore the application-layer protocols in the same manner. When used in conjunction with a protocol analyzer, this book will prove to be a lifesaver when you need to find out why something isn’t working exactly right.

Get Internet Core Protocols: The Definitive Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.