1. Textbook
Hagit Attiya and Jennifer Welch, Distributed computing : fundamentals, simulations, and advanced topics, second edition. Wiley, 2004. QA76.9.D5 A75X 2004 (LC). ISBN 0-471-45324-2.
On-line version: http://dx.doi.org/10.1002/0471478210. (This may not work outside Yale.)
Errata: http://www.cs.technion.ac.il/~hagit/DC/2nd-errata.html.
2. Other books
Nancy A. Lynch, Distributed Algorithms. Morgan Kaufmann, 1996. ISBN 1558603484. QA76.9 D5 L963X 1996 (LC). Definitive textbook on formal analysis of distributed systems.
Ajay D. Kshemkalyani and Mukesh Singhal. Distributed computing : principles, algorithms, and systems. Cambridge University Press, 2008. QA76.9.D5 K74 2008 (LC). ISBN 9780521876346. A practical manual of algorithms with an emphasis on message-passing models.