We believe someone who is a relative novice to the field ought to be able to read this book. But readability doesn’t mean lack of technical depth. We try to go beyond the information one might find in specifications. The goal is not just to describe exactly how the various standards and de facto standards work, but to explain why they are the way they are, why some protocols designed for similar purposes are different, and the implications of the design decisions. Sometimes engi- neering tradeoffs were made. Sometimes the designers could have made better choices (they are human after all), in which case we explain.