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.