1. Introduction; Part I. The Lossless Scenario: 2. Lossless multicast with a single source; 3. Lossless multicast of multiple uncorrelated sources; 4. Lossless multicast of multiple correlated sources; Part II. The Lossy Scenario: 5. Lossy source communication: an approach based on multiple-description codes; 6. Solving the rainbow network flow problem; 7. Continuous rainbow network flow: rainbow network flow with unbounded delay; 8. Practical methods for MDC design; 9. Using progressive codes for lossy source communication; 10. Lossy communication of multiple correlated sources.