CS 591R: Multicast Technologies
West Virginia University
Department of Computer Science and Electrical Engineering
Class Information
- Prerequisites: CS 453
- Instructor: Todd L. Montgomery
- Time and Location: T R, 8-9:15am, 105 MER-E
- Syllabus in PDF
Material
Multicast, especially IP multicast, is a developing network technology
that presents unique challenges both in theory and in
practice. Exposure to multicast applications is becoming an
oft-desired skill for working with many next generation network
architectures and data distribution systems. Natural broadcast media,
such as wireless and satellite, are a perfect fit for multicast and
are quickly becoming central portions of data distribution
architectures around the world. In this course, you will learn the
theory and practice of various aspects of multicast technology. The
instructor has almost 10 years experience with these various aspects
of multicast deployment and theory in commercial settings.
Grading
All graded material must be done individually and in accordance with
the University regulations on academic dishonesty and student code of
conduct. Grades will be based primarily on a Term Project, Term Paper, and a Final
Exam. In addition there is a strong possibility of a few pop quizzes
given solely at the instructors discretion. For these quizzes, there
will be no makeup examinations. If you provide a valid, written
medical excuse, your grade will be averaged based on your other
material. Term Projects may be done in a choice of languages (C, C++,
Java, etc.), but some restrictions may apply. All assignments will be
submitted at the start of class unless otherwise stated in class or by
email. Late assignments will not be accepted. Grades will be
awarded based on the following scale: 90-100 (A), 80-89 (B), 70-79
(C), 60-69 (D), less than 60 (F). You are responsible for all material
presented in class, presented on the course web page, and on the class
mailing list (if used).
Supplemental Texts
The class does not have any specific text. Instead, the topics will be
taken from a number of texts, IETF drafts, IETF RFCs, journal papers,
and conference papers. A reading list will be presented as the
semester progresses. For those interested, most of the material
will come from the following references.
- B. A. Forouzan, TCP/IP Protocol Suite, McGraw Hill, 2003 (2nd Edition), ISBN 0-07-246060-1
- B. Williamson, Developing IP Multicast Networks, Volume 1, Cisco Press, ISBN 1-57870-077-9
Term Project Lists
You must pick 2 unique projects to do. One must be in the
Paper List and one must be in the Programming List. The
combination must be unique. No other student may do the same
combination. Please sign up with me before the October 2nd
class.
Paper List
- Bi-driectional Shared Trees for PIM
- Layer 2 Multicast
- Inter-Domain Multicast Routing
- Multicast Routing Protocol Interoperability
- IPv6 Multicast
- Automated Tunnelling for Multicast
- Application Level Multicast
- Multicast Routing over Unidirectional Links
- Explicit Multicast
- Multicast Address Allocation
- NAK-based Reliable Multicast Transports
- Tree-based Reliable Multicast Transports
- Rotating Token Reliable Multicast Transports
- Congestion Control in Reliable Multicast Transports
- Forwared Error Correcting Codes used in Reliable Multicast
- Multicast Key Exchange Methods
- Another topic chosen by the student and allowed by the instructer
Programming List
- SNTP: RFC 2030 implementation of client and server. Clients
and server must operate in multicast and anycast modes.
- Service Location: Using RFC 2165 as a base, design a multicast protocol
for service location. Services will need to be registered and deregistered
as well as located using a request/response method that has suppression
built in.
- Multicast Beacon: Design your own protocol that is to be
used between multicast beacons. Each beacon must determine the round trip
time between its neighbors as well as the loss rate over time seen from
its neighbors. The information in the beacon must be accessible via
a web browser or client application.
- SRM: Design and implement a scalable reliable multicast
protocol with NAK operation per the SRM publication.
- User Tracker: Design your own multicast protocol that
can be used for determining the location(s) of a particular username
on a set of UNIX machines running a User Tracker daemon.
- Multicast Syslog: Using RFC 3164 messages, design and
implement a multicast proxy for Syslog messages. The proxy should
listen on a UNIX domain path and forward the messages to a multicast
group address. A server should be listen on the particular group
address and log the messages to disk.
- Another topic chosen by the student and allowed by the instructor
Schedule
- August 24: First Day of Class
- November 18: Term Project Due
- November 20-28: Thanksgiving Break
- December 13 (Mon): Final Exam Due (3-5pm)
Resources
Reading List
RFC and Internet Drafts are available at the IETF web site.
- RFC 1112: Host Extensions for IP Multicast
- RFC 2365: Administratively Scoped IP Multicast
- Internet Draft : IANA Guidelines for IPv4 Multicast Address Assignment
- RFC 1918: Address Allocation for Private Networks
- RFC 2236: Internet Group Management Protocol, Version 2
- RFC 3376: Internet Group Management Protocol, Version 3
- Example source code for a multicast sender
- Example source code for a multicast receiver
- Introduction to IP Multicast Routing(EXPIRED Internet Draft - but has good references and info)
- RFC 1075: Distance Vector Multicast Routing Protocol
- Internet Draft: Distance Vector Multicast Routing Protocol
- Source for mrouted, implementation of DVMRP.
- Internet Draft: Protocol Independent Multicast - Dense Mode (PIM-DM): Protocol Specification
- RFC 2362: Protocol Independent Multicast - Sparse-Mode (PIM-SM): Protocol Specification
- Internet Draft: Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)
- RFC 2189: Core Based Trees (CBT Version 2) Multicast Routing - Protocol Specification
- RFC 2201: Core Based Trees (CBT) Multicast Routing Architecture
- Internet Draft: Core Based Trees (CBT Version 3) Multicast Routing - Protocol Specification (Jul 1999)
- RFC 1584: Multicast Extensions to MOSPF
- RFC 2328: OSPF Version 2
- RFC 3569: An Overview of Source-Specific Multicast (SSM)
- RFC 2715: Interoperability Rules for Multicast Routing Protocols
- Internet Draft: Considerations for IGMP and MLD Snooping Switches
- Cisco Tech Notes: Multicast In a Campus Network: CGMP and IGMP Snooping
- RFC 2283: Multiprotocol Extensions for BGP-4
- RFC 3618: Multicast Source Discovery Protocol (MSDP)
- RFC 3913: Border Gateway Multicast Protocol (BGMP): Protocol Specification
- L. Lamport, "Time, Clocks, and the Ordering of Events in a Distributed System", Communications of the ACM, Vol. 21, No. 7, July 1978. Online version is here.
- L. Rizzo, "Effective Erasure Codes for Reliable Computer Communication Protocols", Computer Communications Review, April 1997. Online version is here.
- RFC 3453: The Use of Forward Error Correction (FEC) in Reliable Multicast
- Scalable Reliable Multicast web site is here.
- Floyd, S., Jacobson, V., Liu, C., McCanne, S., and Zhang, L., "A
Reliable Multicast Framework for Light-weight Sessions and
Application Level Framing", IEEE/ACM Transactions on Networking,
December 1997, Volume 5, Number 6, pp. 784-803. An earlier version
of this paper appeared in ACM SIGCOMM 95, August 1995,
pp. 342-356. Online version is here. CiteSeer info is here.
- J. Nonnenmacher, E. Biersack, "Optimal Multicast Feedback", Proceedings of
IEEE INFOCOMM, March 1998. CiteSeer info is here.
- Internet Draft: NACK-Oriented Reliable Multicast (NORM) Building Blocks
- Internet Draft: NACK-Oriented Realible Multicast Protocol (NORM)
- RFC 3208: PGM Reliable Transport Protocol Specification
- J. Gemmell, T. Montgomery, et.al., "The PGM Reliable Multicast
Protocol", IEEE Network, Vol. 17 No. 1, January/February 2003.
- J.C.Lin, S. Paul, "RMTP: A Reliable Multicast Transport Protocol", Proceedings of IEEE INFOCOM, March 1996. CiteSeer info is here.
- Internet Draft: The RMTP-II Protocol (EXPIRED, OLD, INCOMPLETE)
- D.D. Clark, D.L. Tennenhouse, "Architectural Considerations for a New Generation of Protocols", Proceedings of ACM SIGCOMM 1990, Computer Communications Review, 20(4):200-208, September 1990.
- RFC 3453: The Use of Forward Error Correction (FEC) in Reliable Multicast
- RFC 3695: Compact Forward Error Correction (FEC) Schemes
- RFC 3452: Forward Error Correction (FEC) Building Block
- Luigi Rizzo's Software FEC in computer communications web page. Includes his paper on Effective Erasure Codes and source code to his Reed-Solomon implementation.
- RFC 3451: Layered Coding Transport (LCT) Building Block
- RFC 3450: Asynchronous Layered Coding (ALC) Protocol Instantiation
- K. Birman, A. Schiper, P. Stephenson, "Lightweight Causal and Atomic Group
Multicast", ACM Transactions on Computer Systems, Vol. 9 No. 3, August 1991.
- K. Birman, "The Process Group Approach to Reliable Distributed Computing",
Communications of the ACM, Vol. 36 No. 12, December 1993.
- R. van Renesse, K. Birman, S. Maffeis, "Horus: A Flexible Group Communication
System", Communications of the ACM, Vol. 39 No. 4, April 1996.
- J.M. Chang, N.F. Maxemchuk, "Reliable Broadcast Protocols", ACM
Transactions on Computer Systems, Vol. 2 No. 3, August 1984.
- T. Montgomery, "Design, Implementation, and Verification of the
Reliable Multicast Protocol", Master's Thesis, West Virginia University, Dec. 1994.
- D. Agarwal, P. Melliar-Smith, L. Moser, "Totem: A Protocol for Messaging
Ordering in a Wide-Area Network", First ISMM International Conference on
Computer Communications and Networks, June 1992.
- L. Moser, P. Melliar-Smith, D. Agarwal, R. Budhia, C Lingley-Papadopoulos,
"Totem: A Fault-Tolerant Multicast Group Communication System",
Communications of the ACM, Vol. 39 No. 4, April 1996.
- D. Dolev, D. Malki, "The Transis Approach to High Availability
Cluster Communication", Communications of the ACM, Vol. 39 No. 4, April 1996.
- V. Jacobson, "Congestion Avoidance and Control", ACM SIGCOMM August 1988.
- T. Montgomery, "A Loss Tolerant Rate Controller for Reliable
Multicast", NASA/WVU Technical Report NASA-IVV-97-011, August 1997.
- L.Rizzo, "pgmcc: A TCP-Friendly Single-Rate Multicast Congestion Control
Scheme", Proceedings of ACM SIGCOMM August 2000.
- Internet Draft: TCP-Friendly Multicast Congestion Control (TFMCC): Protocol Specification
- J. Padhye, V. Firoiu, D. Towsley, and J. Kurose, "Modeling TCP
Throughput: A Simple Model and its Empirical Validation", Proc ACM
SIGCOMM 1998.
- S. McCanne, V. Jacobson, M. Vetterli, "Receiver-driven Layered Multicast",
Proceedings of ACM SIGCOMM, August 1996. CiteSeer link is here.
- RFC 3738: Wave and Equation Based Rate Control Buidling Block
- RFC 3740: The Multicast Security Architecture
- Internet Draft: GSAKMP (Group Secure Association Key Management Protocol)
- Internet Draft: MSEC Group Key Management Architecture
- Internet Draft: TESLA: Multicast Source Authentication Transform Introduction
- RFC 3547: The Group Domain of Interpretation
- RFC 2627: Key Management for Multicast: Issues and Architectures
Todd L. Montgomery (revised 11.10.2004)