- Shopping Bag ( 0 items )
Best-selling author and leading computer networking authority Douglas Comer builds a comprehensive picture of the technologies that allow the Internet to provide application services such as web browsing and instant messaging. This edition includes new chapters on the use of Internet technology.
The book offers an incomparable tour that explains everything from Internet applications to the lowest levels of packet transmission. It shows how protocols are layered, and explains how a given layer provides services used by the next higher layer. KEY FEATURES
Revised and updated throughout, including:
Computer Networks and Internets and Computer Networks, 3rd Edition cover much of the same ground: discussing networking with primary emphasis on TCP/IP. They're both hardcover books, intended to be used as textbooks for course material. Both authors are professors (Comer at Purdue, Tanenbaum at Vrije Universiteit in Amersterdam). I've read many books by both authors of the years (Tanenbaum developed a teaching Unix-like system called Minix, Comer developed another system called Xinu [Xinu is not Unix]).
Comer's book has 32 chapters broken up into 4 sections:
Tanenbaum's book is broken up roughly the same way, with each chapter being very large and equating to Comer's sections:
Comer in the preface tells who the book is for: a one or two semester undergraduate course where the goal is breadth, not depth. But most student's objective is to learn how the internet works: this entails an understanding of how networks work, but on a somewhat superficial level.
Comer re-emphasizes his points with a short italicized paragraphs prefixed with to summarize spread throughout the text. I suppose these to summarize blocks come from Comer's personal experience of which points to emphasize to students. I would find them useful if I was studying the material for a test.
I found Comer's discussion of the programs ping and traceroute informative and useful. I also liked the discussion of fragmentation and packet reassembly. But as an experienced network programmer, they were superficial (concentrating on the concept, rather than the implementation).
Comer's book is not intended for electrical engineers, but people who want to learn how networks work. In Tanenbaum, physical mediums are discussed in depth, with a good discussion of topics such as Manchester encoding, wireless communications, the telephone company and how modems work, ISDN and ATM and 10 Mbit versus 100 Mbit ethernet. One of the things Tanenbaum does extremely well is put all these things into a historical perspective, giving background into how these things evolved (in addition to the technical aspects of how they work, along with numerous references).
Tanenbaum is full of wry (and sometimes side-splitting) humor. For example, there is a saying in the book when he discuss network carrier bandwidth:
"Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway." -- page 83
Such advice is both humorous and practical.
Comer has a chapter (12 pages) on the Berkeley socket API. Tanenbaum mentions the socket API briefly (1 page). From experience, if the reader wants to write source code, a more complete description is needed with examples (these are available in Comer/David Stevens' Internetworking with TCP/IP Volume III, Prentice-Hall, 1993 or Richard Stevens' Unix Network Programming, 2nd Edition, Prentice-Hall, 1997).
Both books cover a full range of network applications (DNS, email and SMTP, SMNP, http and java). Comer also covers basic protocols like ftp. They both cover network security, but Comer deals with it in about 5 pages, while Tanenbaum gives it almost 50 pages (giving a good elementary lesson in cryptography). I'm personally weak on cryptography and network authentication protocols (I still need to read Schneier's Applied Cryptography) Comer didn't touch on anything I didn't know about cryptography, giving a cursory overview of the topic. Tanenbaum presented the information in detail, discussing attacks and solutions in an informative and entertaining way.
Comer provides a good glossary and a 9 page bibliography. Tanenbaum provides a 20 page bibliography, and a good discussion of literature available in the field. A glossary would have been useful in Tanenbaum's book, there were a few acronyms I didn't previously know which weren't in the index.
In addition, Comer provides a CD-ROM, but I wonder how useful it is. Most of the CD are the images shown in the figures of the book. In addition, there are packet traces of binary data files from the Solaris tool snoop (which appears to leave it as an exercise to the reader to write a tool to decode them). With all the space available on the CD-ROM, I'm surprised ascii files aren't distributed. In addition, I feel it would be more useful to provide tcpdump traces (which has been around for 7 years (from ftp://ftp.ee.lbl.gov, runs on a large variety of Unix systems, and was even used for examples by Richard Stevens in TCP/IP Illustrated Volume 1. With all the space available on the CD-ROM, it could have been used to distribute the entire RFC collection (which aren't mentioned in Comer's text) along with sample programs. The contents of the CD-ROM also appear to be on the web at http://www.netbook.cs.purdue.edu.
Comer is a fine book for a course, but it will not suffice as a reference book. It is focused as a textbook on a specific course. As a consumer, I thoroughly enjoyed his Prentice-Hall title The Internet Book, which is smaller, much cheaper and is not a textbook (it is intended for curious internet users). Tanenbaum's is an excellent reference book (and might be somewhat intimidating for course material, there was significant increase in size between the 2nd and 3rd edition). I wouldn't hesitate to recommend Tanenbaum for one's bookshelf or engineering course work. Comer presents a smorgasbord approach to networks, Tanenbaum is a catered, seven course meal.--Dr. Dobb's Electronic Review of Computer Books
Previous editions of Computer Networks And Internets have generated excitement. In addition to the hundreds of U.S. schools using the text in their networking courses, professionals have written to praise its use in industry, and enthusiastic comments have arrived about the foreign translations. The success is especially satisfying in a market glutted with networking books. This book stands out because of its breadth of coverage, logical organization, explanation of concepts, focus on the Internet, and wealth of supplemental materials for both students and instructors on the CD-ROM and on the Web site:
The new edition has been completely revised and updated, with three new chapters (24, 26, 33) and additional glossary entries. The CD-ROM and Web site have also been expanded.
Each new chapter responds to requests from instructors and readers. Chapter 24 introduces UDP, Chapter 26 explains Network Address Translation, and Chapter 33 covers IP telephony. Chapter 33 is especially relevant; students are likely to use an IP telephone.
The text answers the basic question "how do computer networks and internets operate?" in the broadest sense. It provides a comprehensive, self-contained tour through all of networking that describes low-level details such as data transmission and wiring, network technologies such as LANs and WANs, internetworking protocols, and application software. It shows how protocols use the underlying hardware and how applications use the protocol stack to provide functionality for users.
Much has been written recently about how a study of networking should be organized. There are twoextremes: a strict bottom-up approach or a strict top-down approach. In bottom-up, one learns the lowest-level details, and then learns how the next higher levels use the lower-levels to provide expanded functionality. In top-down, one starts with a high-level application and only learns enough of the next lower layer to understand how the application can operate. Each approach has advantages. The traditional bottom-up approach presents the material in a logical manner so a reader understands how higher layers build on lower layers. A top-down approach begins with familiar applications (e.g., email), and provides a less rigorous introduction to the subject. We recommend a new, integrated approach that combines the best of top-down and bottom-up. The integrated approach provides early exposure to using and building network applications while simultaneously delivering the material in a logical order. To implement the integrated approach, the new edition of Computer Networks And Internets has a companion laboratory manual, Hands-On Networking. Computer Networks And Internets explains the concepts, and the exercises in Hands-On Networking show how the concepts apply to real networks.
The text is intended for upper-division undergraduates or beginning graduate students, who have little or no background in networking. It does not use sophisticated mathematics, nor does it assume a knowledge of operating systems. Instead, the text defines concepts clearly, uses examples and drawings to illustrate how the technology operates, and states results of analysis without providing mathematical proofs.
After an introduction that starts readers using and building network applications (Chapters 1-3), the body of the text is organized into four sections. The first section (Chapters 4-6) provides a brief explanation of how the underlying hardware works. The section explains the concept of a carrier signal, discusses modulating a carrier, and shows how a modem encodes data on a carrier wave for transfer. The section also discusses asynchronous, character-oriented data transmission, and defines terms such as bandwidth and baud that arise in later chapters.
The second section (Chapters 7-16) focuses on packet switching. The section introduces the motivation for using packets, and then describes basic network topologies and wiring schemes as well as the characteristics used to categorize networks as LANs, WANs, local loops, public or private, and connection-oriented or connectionless. The section also introduces the concepts of next-hop routing, switching, and protocol layering, with the terminology used for each. Finally, the section uses several common network technologies as examples, including Ethernet, ATM, and DSL.
The third section (Chapters 17-27) focuses on the Internet protocols. After discussing the motivation for internetworking, the section describes internet architecture and routers, internet addressing, address binding, and the TCP/IP protocols. Protocols such as IP, TCP, UDP, ICMP, and ARP are reviewed in more detail, allowing students to understand how the concepts relate to practice. Chapter 25 on TCP covers the important and deep topic of reliability in transport protocols.
The text is ideally suited for a one-semester introductory course on networking taught at the senior level. Designed for a comprehensive course, it covers the entire subject from wiring to applications. In the undergraduate course at Purdue, for example, students have weekly lab assignments that cover a wide range of topics: network measurement, packet analysis, and network programming. By the time they finish our course, each student is expected to: know how an IP router uses a routing table to forward IP datagrams; describe how a datagram crosses the Internet; explain the difference between an Ethernet hub and an Ethernet switch; know how TCP identifies a connection and why a concurrent Web server can handle multiple connections to port 80; describe the conceptual differences between a bridge and an IP router; compute the length of a single bit as it travels across a 100BaseT network; explain why TCP is classified as end-to-end; distinguish between the CSMA/CD media access mechanism used by Ethernet and a token passing scheme; and know how DSL can send data over wires that are also being used for an analog telephone call.
The goal of a single course is breadth, not depth—to cover the subject, one cannot focus on a few technologies or a few concepts. Thus, the key to a successful course lies in maintaining a quick pace. To cover the fundamental topics in a semester, the lower-layer material in Part 2 can be condensed into a week, and the sections on networks and internetworking can be allocated five weeks each, leaving a few weeks for the section on applications and topics such as network management and security.
Instructors should impress on students the importance of concepts and principles: specific technologies may become obsolete in a few years, but the principles will remain. In addition, instructors should give students a feeling for the excitement that pervades networking.
Although no single topic is challenging, students may find the quantity of material daunting. In particular, students are faced with a plethora of new terms. Networking acronyms and jargon can be especially confusing; students spend much of the time becoming accustomed to using proper terms. To help students master terminology, Appendix 1 contains a glossary of terms and acronyms. To provide additional clarification, definitions in the glossary have been written independently rather than being taken verbatim from the text.
Because programming and experimentation are crucial to helping students learn about networks, laboratory experience is an essential part of any networking course. The lab manual, Hands-On Networking, describes experiments that can be performed on a variety of hardware, including a single computer or a set of computers on a local area network. Our curriculum at Purdue emphasizes packet analysis and socket programming. We begin the semester by having students construct client software to access the Web and extract data (e.g., write a program to print the current temperature). Chapter 3 explains the simple API that we give students; with our API, students can write working code before they learn about protocols, addresses, or sockets. Later in the semester, of course, students learn to use the socket API. Eventually, they write a concurrent Web ' server (support for server-side scripting is optional). In addition to application programming, students also use the lab facilities to capture packets from a live network. They t write programs that decode packet headers (e.g., Ethernet, IP, and TCP), and observe TCP connections.
Giving students access to a network builds enthusiasm and encourages experimentation—our experience shows that students who have access to a live network understand and appreciate the subject better. Thus, if a dedicated packet analyzer is not available, an analyzer can be created by installing appropriate shareware software on a standard PC.
The CD-ROM included with the text and the Web site both contain materials that will make teaching easier and help readers understand the material. For students without access to networking facilities, the CD-ROM contains examples of packet traces; students can write programs that read a trace and process packets as if they have been captured from the network. For instructors, the CD-ROM contains course materials, figures from the text that can be used in presentations, and animated figures that help clarify the concepts. The CD-ROM also contains materials not in the text, including photographs of network wiring and equipment as well as files of data that can be used as input to student projects.
To help both professors and students locate information, the CD-ROM includes a keyword search mechanism. When given a term, the search mechanism locates a definition from the online glossary as well as other items related to the term. Finally, the CD-ROM contains links to the Web site, which is updated continuously. Two electronic mailing lists have been established for the text: general information can be obtained from firstname.lastname@example.org; discussions about teaching the material occur on email@example.com. To join one of the mailing lists, send an e-mail message to firstname.lastname@example.org or email@example.com with the word subscribe in the body of the message. To avoid having the mail server send multiple copies of each message over the Internet, instructors are requested to establish a single local alias for all students at their site.
I thank all the people who have contributed to this edition of the book. Dennis Brylow and John Lin proofread chapters throughout the text. Jennifer Seitzer, Abdullah Abonamah, George Varghese, and Jim Griffioen reviewed earlier editions and made valuable comments. Mike Evangelista wrote the client and server application code in Chapter 3 as well as the API; he ported the API to Linux, Solaris, and Windows platforms. Ralph Droms prepared the CD-ROM, manages the Web materials, and reviewed several chapters. David Laverell created and manages the Web site for Hands On Networking. Special thanks go to my wife and partner, Christine, whose careful editing and helpful suggestions made many improvements throughout.
Douglas E. Comer
|Pt. I||Using And Building Internet Applications|
|Ch. 2||Motivation And Tools||7|
|Ch. 3||Network Programming And Applications||19|
|Pt. II||Data Transmission|
|Ch. 4||Transmission Media||47|
|Ch. 5||Local Asynchronous Communication (RS-232)||57|
|Ch. 6||Long-Distance Communication (Carriers, Modulation, And Modems)||69|
|Pt. III||Packet Transmission|
|Ch. 7||Packets, Frames, And Error Detection||83|
|Ch. 8||LAN Technologies And Network Topology||101|
|Ch. 9||Hardware Addressing And Frame Type Identification||123|
|Ch. 10||LAN Wiring, Physical Topology, And Interface Hardware||141|
|Ch. 11||Extending LANs: Fiber Modems, Repeaters, Bridges, and Switches||159|
|Ch. 12||Long-Distance And Local Loop Digital Technologies||177|
|Ch. 13||WAN Technologies And Routing||201|
|Ch. 14||Connection-Oriented Networking And ATM||221|
|Ch. 15||Network Characteristics: Ownership, Service Paradigm, And Performance||235|
|Ch. 16||Protocols And Layering||251|
|Ch. 17||Internetworking: Concepts, Architecture, and Protocols||273|
|Ch. 18||IP: Internet Protocol Addresses||285|
|Ch. 19||Binding Protocol Addresses (ARP)||305|
|Ch. 20||IP Datagrams And Datagram Forwarding||321|
|Ch. 21||IP Encapsulation, Fragmentation, And Reassembly||333|
|Ch. 22||The Future IP (IPv6)||343|
|Ch. 23||An Error Reporting Mechanism (ICMP)||355|
|Ch. 24||UDP: Datagram Transport Service||365|
|Ch. 25||TCP: Reliable Transport Service||375|
|Ch. 26||Network Address Translation||389|
|Ch. 27||Internet Routing||399|
|Pt. V||Network Applications|
|Ch. 28||Client-Server Interaction||421|
|Ch. 29||The Socket Interface||435|
|Ch. 30||Example Of A Client And A Server||449|
|Ch. 31||Naming With The Domain Name System||463|
|Ch. 32||Electronic Mail Representation And Transfer||481|
|Ch. 33||IP Telephony (VoIP)||499|
|Ch. 34||File Transfer And Remote File Access||513|
|Ch. 35||World Wide Web Pages And Browsing||529|
|Ch. 36||Dynamic Web Document Technologies (CGI, ASP, JSP, PHP, ColdFusion)||547|
|Ch. 38||RPC and Middleware||587|
|Ch. 39||Network Management (SNMP)||599|
|Ch. 40||Network Security||607|
|Ch. 41||Initialization (Configuration)||623|
|App. 1||Glossary Of Networking Terms And Abbreviations||637|
|App. 2||The ASCII Character Set||683|
|App. 3||Address Masks In Dotted Decimal||685|
|App. 4: How To Use The CD-ROM Included With This Book||687|
Posted June 25, 2004
This is a perfect book for nontechnicals who want a broad brush overview of networking and nothing more. One will get a good fill of TLAs. The text is so general that it would be of little use as a first course for those wanting to be IT professionals. The book may have been of some value if it presented one detailed example through the protocol stacks.Was this review helpful? Yes NoThank you for your feedback. Report this reviewThank you, this review has been flagged.