tep@helix.UUCP (Tom Perrine x404) (10/06/88)
Date: 2 Oct 88 15:17:08 GMT From: hamachi!eneevax.umd.edu!vidya (Vidya Rajagopalan) Organization: Elec. Eng. Dept., U of Maryland, College Park, MD 20742 Sender: hamachi!sri-nic.arpa!tcp-ip-request Can anybody on this net suggest some references to TCP/IP ? I am looking for some reading material regarding the protocols and standards as well as implementational details. I am particularly interested in a good introductory reference. I am planning to write a term paper on the subject and would appreciate any suggestions. I cannot say enough good things about "Internetworking with TCP/IP" by Douglas Comer. Everything I had to pick up by 4 years of reading RFCs and source code is clearly spelled out in this wonderful book. It is published by Prentice Hall. If you can't find it locally, try San Diego Technical Books (1-800-346-0071) which does *lots* of mail order. Tom Perrine Logicon(Tactical and Training Systems Division) San Diego CA (619) 455-1330 UUland: uunet!nosc!hamachi!tots!tep Internet: hamachi!tots!tep@NOSC.MIL
rich@RICE.EDU (Richard Murphey) (10/06/88)
take it from another novice, the book you want is: "Internetworking with TCP/IP: principles, protocols, and architecture," by Douglas Comer, published by Prentice Hall in 1988. The reasons I liked the book can be stated plainly: 1) It builds on concepts with a gentle approach, starting with the lowest layers (ARP and IP) and builds through TCP to the higher layers (Telnet and FTP). 2) The appendix is great! It is almost 100 pages and covers most of what you need to start using sockets in your own programs. See appendix 1, 4.3 BSD UNIX interface to the internet protocols, which includes an example `whois' client you can write. 3) It also has a good index and bibliography. Overall the organization of the book is what makes it so useful. Let's put it this way: Kernihan and Richie is a great C language book, but not much of a reference. This book is both an introduction and a reference. The book is $36. list and well worth it. Enjoy! richard Richard Murphey, Electrical & Computer Engineering Department Rice University P.O.Box1892 Houston,TX 77251 713-527-8101 X3649 Internet:crm@rice.edu Bitnet:crm%rice Uunet:uunet!rice.edu!crm
henry@utzoo.uucp (Henry Spencer) (10/12/88)
Sorry to everyone who's seeing this for the second time, but with the fall influx of new people, and some of the recent uncritical gushing over the Comer book [which is good and useful, but far from perfect], I thought it worth reposting this: ---------- Subject: review of Comer TCP/IP book Message-ID: <1988Jul8.012631.15892@utzoo.uucp> Date: Fri, 8-Jul-88 21:26:31 EDT I acquired a copy of "Internetworking with TCP/IP" at Usenix and finished reading it on assorted airplanes. I have sufficiently mixed feelings about it that I think it worthwhile to review it in detail. Background: I'm not a real TCP/IP guru, but might qualify as an apprentice guru. I learned about it originally by reading the RFCs (gak) and I work on and maintain our local version, a variant of the KA9Q implementation. I can't claim to be intimately familiar with all the details or to have read the whole Protocol Handbook, but I know the outlines of most of it and have combat experience with some of it. The book emphasizes overall understanding of the protocols, although it does cover a fair amount of detail. The really fine points are punted to the RFCs, for the most part. It is meant to be useful as both a textbook and a reference book, and generally strikes a happy medium. It contains coherent discussions of a number of issues that are hard to find in one place otherwise. Its appendix of implementation hints is worth the price of the book all by itself, if you're going to be implementing TCP/IP. It is competently produced, with few botches (although some that remain are serious, e.g. errors in RFC numbers in some of the Further-Reading sections and a disastrous typo in Figure 4.1, the ONLY place where the decoding of Internet addresses is explained precisely). I wish I could recommend this book unreservedly. Alas, I can't. The fact is, this book has serious flaws. First, most serious, and quite possibly the cause of the others, is that it appears to have been put together hastily as an expansion of a knowledgeable professor's skeletal lecture notes. The result is that while individual sections are okay, they are not tied together well. In particular, there are many cases where something is referred to as if it had already been explained, when in fact the explanation comes later or is entirely missing. The appendix on the Berkeley interface refers offhandedly to the fact that a connection is characterized by both its endpoints, and hence more than one connection can be active on the same port -- but this important and subtle concept is NEVER discussed in the text proper! The discussion of the name server protocol suddenly starts using variable-length strings without explaining how they are encoded... that comes later, in the section on the compressed name format! The chapter on ARP never does explain the PROTOCOL field. These are not isolated examples; this sort of thing happens continually, and makes the book very frustrating to read sequentially. I already knew enough to make this only an aggravating nuisance; a real novice would, I think, find it very troublesome without external help. Okay, so this hurts it as a textbook. Is it useful as a reference book? Same answer: yes and no. The trouble with it as a reference book is that too many details are left out. There are several references to the Karn algorithm for RTT estimation, but it is never discussed; describing it precisely and giving an outline of why it's good would take only a page or two. The three-way handshake for TCP connection establishment is explained, but the handshaking for closing a connection is never really explained; the state diagram from RFC 793 would take only a couple of pages to show and tersely explain, but this is never done. The urgent pointer is brushed off in one sentence that does not really explain how it works. While it isn't really realistic to expect a book of this size to replace the Protocol Handbook, this book would be an order of magnitude more useful as a reference if it included 10% more detail. A lesser, related problem is inconsistent level of detail. The lower- level protocols are explained in considerable detail, while the high-level ones are crowded into a chapter or two that permits only a hint at the overall flavor of a few of them. The level of detail is inconsistent even within discussions, with detailed message formats sometimes given and then accorded only a quick hand-waving explanation. One last annoyance in using the book as a reference is that the textbook- oriented exercises at the end of each chapter sometimes raise important points that one would hope a reference book would discuss more explicitly. The implementation-hints appendix resolves some, but not all, of these loose ends. Overall, this book would be acceptable as a textbook for a course taught by a knowledgeable professor who can fill in the gaps and smooth down the rough edges, or as a self-study text for a bright student who knows something about the topic already and has access to a copy of the Protocol Handbook. I cannot recommend it for self-study in general, and as a reference its usefulness is limited. It seems to me that many of the problems arise from it being prepared in haste. I would look forward eagerly to a second edition, slightly expanded, thoroughly revised for completeness, coherence, and consistency, and preferably tested on an unassisted novice before publication. That second edition could be a truly superb first book on TCP/IP; the first edition is rather mediocre, and is the clear choice only because there is no other. It's really unfortunate that the publishers are succumbing to the computer builders' bad habit of letting their customers debug their products. All that being said, this book *is* a lot better than nothing. I learned quite a bit from it, despite the problems. If you are considering buying it, either for yourself or a course, I would say "go ahead... cautiously". ---------- -- The meek can have the Earth; | Henry Spencer at U of Toronto Zoology the rest of us have other plans.|uunet!attcan!utzoo!henry henry@zoo.toronto.edu