This best-selling, conceptual introduction to TCP/IP internetworking protocols interweaves a clear discussion of fundamentals with the latest technologies. Leading author Doug Comer covers layering and shows how all protocols in the TCP/IP suite fit into the five-layer model. With a new focus on CIDR addressing, this revision addresses MPLS and IP switching technology, traffic scheduling, VOIP, Explicit Congestion Notification (ECN), and Selective ACKnowledgement (SACK). Includes coverage of Voice and Video Over IP (RTP), IP coverage, a discussion of routing architectures, examination of Internet application services such as domain name system (DNS), electronic mail (SMTP, MIME), file transfer and access (FTP, TFTP, NFS), remote login (TELNET, rlogin), and network management (SNMP, MIB, ANS.I), a description of mobile IP, and private network interconnections such as NAT and VPN. The new edition includes updates to every chapter, updated examples, a new chapter on MPLS and IP switching technology and an expanded TCP description that featuers Explicit Congestion Notification (ECN) and Selective ACKnowledgement (SACK). For network and web designers, implementers, and administrators, and for anyone interested in how the Internet works.
In order to cover for my (glaring) lack of knowledge in the basics of networking, I'm looking for a book which would ideally cover:
-> 1 or 2 chapters on the transport layer: tcp, udp...
-> 1 or 2 chapters on the application layer: http, dns...
-> rest of the book would be devoted to pratical way of sending data across the wire using Java-related technologies. This would involve discussions about existing products (eg. hessian, protobuf, thrift, tibco...) , performances comparisons, case studies...etc..
Does such a book exist ?
Edit: Thanks for all the answers so far... however most of the books listed focus heavily on the lower levels of the networking stack (ie. tcp/ip, network administration...). This is one-half of the answer only. I'm still eager to hear suggestions about the other half: discussions around the "state of the art" options available to the Java developer to ferry data around, what products/frameworks are available and how do they compare.
For a TCP/IP text (Not Java centric)
For a Java Networking book I would go with this. Most books are very dated and do not cover the newer stuff, this one covers NIO as well as uses generics in the examples.
If you are looking for improving upon basics on networking it would be better if you look at books which cover basics of networking. Once you are comfortable with the basics of networking you can start with the networking section in Java tutorial and explore the appropriate Java libraries. Networking is an area of its own whose understanding is independent of any programming language.
That said, some of the networking books which I have found helpful are :
Internetworking with TCP/IP, Vol 1 by Douglas Comer
TCP/IP Illustrated Vol.1 by W.Richard Stevens
Computer Networks by Andrew.S.Tanenbaum
As a primer on networking in general, I'd recommend TCP/IP Network Administration, Third Edition, by Craig Hunt. This book provides a chapter on the TCP/IP stack, another on Addressing and routing and the remainder of the book covers in reasonable depth most common network services and diagnostic tools.
For a heavyweight reference, get TCP/IP Illustrated, Vol 1: The Protocols, by Richard Stephens, if you become obsessed with networks buy or borrow volumes 2 and 3.
As far as Java specific networking introduction, I'd suggest Java Network Programming, Third Edition, by Elliotte Rusty Harold, this book does take some critiscim but I still believe it's a good introduction and is an approachable read.
It's a general book for Java beginners but the part about networking is very, VERY clear and easy to grasp.
I am looking for a primer to learn TCP/IP basic knowledge.
Can someone give me some suggestions on books or online resources?
// Update the title based on comments
Two books that I used in my studies:
Stevens' TCP/IP Illustrated is still a very good resource to learn the basics of protocols.
I'm starting a new job soon with a manufacturer and supplier of fibre-optic multiplexers. I'm not expected to be a techie, but can anyone recommend some books on networking (not necessarily just optical) that would give me a good foundation. My current networking knowledge is minimal.
For a basic introduction to the internet and the full-stack of technologies... Take a look at Stevens' TCP/IP Illustrated, Vol I or Doug Comer's Internetworking with TCP/IP, Vol I. You should be able to find either one in your public library...
For cabling and network technician's books: