ISBN 0-256-23044-7


Technologies related to networks and internetworking may be the fastest growing in our culture today. One of the ramifications of that growth is a dramatic increase in the number of professions where an understanding of these technologies is essential for success-and a proportionate increase in the number and types of students taking courses to learn about them.
This is a book about TCP/IP It provides the information necessary for students who seek a degree in data communications and networking. It is also reference for professionals who are supporting or preparing to work with networks based on TCP/IP. In short, this book is for anyone who needs to understand the TCP/IP protocols.
The book assumes the reader has no prior knowledge of the TCP/IP protocols, although a previous course in data communications is desirable.


This book is divided into five parts. The first part, comprising Chapters 1-3. Reviews the basic concepts and underlying technologies that, although independent from the TCP/IP protocols, are needed to support them.
The second part of the text discusses the protocols in the network and transport layer. Chapters 4 to 7 emphasize the IP protocol. Chapters 8 to 10 define protocols that give services to IP. Transport layer protocols are fully described in Chapters 11 and 12. Chapter 13 is devoted to a detailed description of routing protocols.
The text's third part discusses the application programs that use the network and transport layer protocols. Chapter 14 gives a brief review of the client-server paradigm and lays the foundation for Chapters 15 to 23, which discuss the application protocols.
The fourth part (Chapter 24) introduces network programming by giving a few examples using one of the interfaces, the socket interface. This chapter provides information to motivate those who intend to take courses in network programming.
The fifth part of the book (Chapter 25) is devoted to the next generation of TCP/IP. We describe IPv6, ICMPv6, and the transition strategies from version 4 to version 6.


Several features of this text are designed to make it particularly easy for students to understand TCP/IP.

Visual Approach

The book presents a highly technical subject matter without complex formulas by using a balance of text and figures. The approximately 550 figures accompanying the text provide a visual and intuitive opportunity for understanding the material. Figures are particularly important in explaining networking concepts, which are based on connections and transmission. These are both often more easily grasped visually than verbally.

Highlighted Points

We have repeated important concepts in boxes for quick reference and immediate attention.

Examples and Applications

Whenever appropriate, we have included examples that illustrate the concept introduced in the text. Also, we have added real-life applications throughout each chapter to motivate students.

Protocol Design

Although we have not tried to give the detailed code for implementing each protocol, many chapters contain a design section that discusses the general idea behind the implementation of each protocol. They are optional.


Each chapter ends with a summary of the material covered by that chapter. The summary is a bulleted overview of all the key points in the chapter.

Practice Set

Each chapter includes a practice set designed to reinforce salient concepts and encourage students to apply them. It consists of three parts: multiple-choice questions, exercises, and programming exercises. Multiple choice questions test students' grasp of basic concepts and terminology. Exercises require deeper understanding of the material. The programming exercises are for those students or readers who have taken one or two programming courses in C or a similar language. These exercises prepare students for client-server programming courses.


The appendices are intended to provide quick reference material or a review of materials needed to understand the concepts discussed in the book.

Glossary and Acronyms

The book contains an extensive glossary and a list of acronyms.

How to Use the Book
This book is written for both an academic and a professional audience. The book can be used as a self-study guide for interested professionals. As a textbook, it can be used for a one-semester or one-quarter course. The chapters are organized to provide a great deal of flexibility. The following are some suggestions:

Chapters 1 to 3 can be skipped if students have already taken a course in data communication and networking.
Chapters 4 through 13 are essential for understanding TCP/IP.
Chapters 14 to 23 can be covered in detail in a semester system and briefly in a quarter system.
Chapter 24 can be skipped if there are time constraints.
Chapter 25 can be used as a self-paced chapter.