Comer's book does an excellent job of mixing details and concepts. While Steven's book is perfect if you have to work directly with the code in the BSD network stack, it is full of cruft from other protocols and complexity due to years of code maintenance. The BSD code takes short cuts for major and minor speed improvements at the cost of clarity and understanding.
Comer, on the other hand, designs his systems to be understood. It is possible to understand the entire Xinu system from the high level down to the smallest details. Very few people can make the same claim about the BSD kernel. The layout of the book is excellent, describing the design trade-offs in writing the networking code. Rather than teaching someone how to use a specific implementation, it enables its reader to approach any implementation and understand why it was designed the way it was, and what impacts these decisions were made. In spite of that, it would be nice if Comer spent even more time explaining why certain decisions were made.
Now, I am using Steven's book as a reference as I am dealing with BSD networking code. However, I would be lost if I didn't learn the principles, concepts, and designs provided by Comer. If you can, get both books -- but start with this one.