Published on

1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Multicast routing Multicast Routing Prof. A. Sahoo KReSIT, IIT Bombay
  2. 2. Topics <ul><li>Multicasting for group communication </li></ul><ul><li>Mechanisms </li></ul><ul><ul><li>Wide area multicasting </li></ul></ul><ul><ul><ul><li>Multicast IP address </li></ul></ul></ul><ul><ul><ul><li>Reverse path forwarding (RPF), multicast shortest path tree, joining, pruning, cost of joining and pruning, Integration with Unicast protocol </li></ul></ul></ul><ul><ul><ul><ul><li>MOSPF ( Multicast extension of OSPF) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>MDVRP ( Multicast extension of distance vector) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Core based tree (CBT) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Protocol Independent Multicast ( PIM) </li></ul></ul></ul></ul><ul><ul><ul><li>Overlay Multicast network for Internet ( MBONE) </li></ul></ul></ul><ul><ul><li>Multicasting in Local Area Network </li></ul></ul><ul><ul><ul><li>Multicast address in 802 address space </li></ul></ul></ul><ul><ul><ul><li>Internet Group Management Protocol ( IGMP) </li></ul></ul></ul>
  3. 3. Multicasting ( Group Communication) <ul><li>Multiparty application </li></ul><ul><ul><li>Distance education </li></ul></ul><ul><ul><li>Video/voice conferencing </li></ul></ul><ul><ul><li>Resource discovery </li></ul></ul><ul><ul><li>All of these application require source send data to multiple receiver or multicast capability of sender. </li></ul></ul><ul><li>Different mode of packet communication in a network </li></ul><ul><ul><li>Broadcast, </li></ul></ul><ul><ul><li>Unicast </li></ul></ul><ul><ul><li>Multicast </li></ul></ul><ul><ul><li>Anycast </li></ul></ul><ul><li>Multicast group: </li></ul>
  4. 4. Multicast group <ul><li>Associates a set of senders and receivers with each other </li></ul><ul><ul><li>but they are independent of each other </li></ul></ul><ul><ul><li>group created either when a sender starts sending from a group </li></ul></ul><ul><ul><li>or a receiver expresses interest in receiving </li></ul></ul><ul><ul><li>even if no one else is there! </li></ul></ul><ul><li>Sender does not need to know receivers’ identities </li></ul><ul><ul><li>Multicast group address serves as a rendezvous point between potential senders and receiver of that group </li></ul></ul><ul><ul><ul><li>Can view as receivers waiting at the rendezvous point for some sender to send them information , and the network takes care of distributing every packet that arrives at the rendezvous point to every registered receiver . </li></ul></ul></ul>
  5. 5. Addressing <ul><li>Multicast group in the Internet has its own Class D address </li></ul><ul><ul><li>looks like a host address, but isn’t </li></ul></ul><ul><ul><li>Class D address in IP address space are used as multicast destination address </li></ul></ul><ul><ul><li> to, 28 bits can be used, over 250 million groups possible </li></ul></ul><ul><ul><li>Multicast address can appear only as destination address, never as source address </li></ul></ul><ul><ul><li>When send to a multicast address, the packet reaches to all host who are currently belonging to that group </li></ul></ul><ul><li>Senders send to the address </li></ul><ul><li>Receivers anywhere in the world request packets from that address </li></ul><ul><li>“ Magic” is in associating the two: dynamic directory service </li></ul><ul><li>Four problems: </li></ul><ul><ul><li>which groups are currently active </li></ul></ul><ul><ul><li>how to express interest in joining a group </li></ul></ul><ul><ul><li>discovering the set of receivers in a group </li></ul></ul><ul><ul><li>delivering data to members of a group </li></ul></ul>
  6. 6. Multicast flavors <ul><li>Unicast: point to point </li></ul><ul><li>Multicast: </li></ul><ul><ul><li>point to multipoint </li></ul></ul><ul><ul><li>multipoint to multipoint </li></ul></ul><ul><li>Can simulate point to multipoint by a set of point to point unicasts </li></ul><ul><li>Can simulate multipoint to multipoint by a set of point to multipoint multicasts </li></ul><ul><li>The difference is efficiency </li></ul><ul><ul><li>Ideally we need to send a packet only once over a link that is one the way of one or more receiver for a certain group </li></ul></ul>
  7. 7. Example <ul><li>Suppose A wants to talk to B, G, H, I, B to A, G, H, I </li></ul><ul><li>With unicast, 4 messages sent from each source </li></ul><ul><ul><li>links AC, BC carry a packet in triplicate </li></ul></ul><ul><li>With point to multipoint multicast, 1 message sent from each source </li></ul><ul><ul><li>but requires establishment of two separate multicast groups </li></ul></ul><ul><li>With multipoint to multipoint multicast, 1 message sent from each source, </li></ul><ul><ul><li>single multicast group </li></ul></ul>
  8. 8. Shortest path tree <ul><li>Ideally, want to send exactly one multicast packet per link </li></ul><ul><ul><li>forms a multicast tree rooted at sender </li></ul></ul><ul><li>Optimal multicast tree provides shortest path from sender to every receiver </li></ul><ul><ul><li>shortest-path tree rooted at sender </li></ul></ul>
  9. 9. Issues in wide-area multicast <ul><li>Difficult because </li></ul><ul><ul><li>sources may join and leave dynamically </li></ul></ul><ul><ul><ul><li>need to dynamically update shortest-path tree </li></ul></ul></ul><ul><ul><li>leaves of tree are often members of broadcast LAN </li></ul></ul><ul><ul><ul><li>would like to exploit LAN broadcast capability </li></ul></ul></ul><ul><ul><li>would like a receiver to join or leave without explicitly notifying sender </li></ul></ul><ul><ul><ul><li>otherwise it will not scale </li></ul></ul></ul>
  10. 10. Multicast in a broadcast LAN <ul><li>After reaching edge router D ( refer last slide), how should the packet reach all multicast reveiver in the broadcast LAN? </li></ul><ul><li>Wide area multicast can exploit a LAN’s broadcast capability </li></ul><ul><ul><li>E.g. Ethernet will multicast all packets with multicast bit set on destination address ( see next slide) </li></ul></ul><ul><li>Two problems: </li></ul><ul><ul><li>what multicast MAC address corresponds to a given Class D IP address? </li></ul></ul><ul><ul><li>does the LAN contain any members for a given group (why do we need to know this?) </li></ul></ul><ul><ul><ul><li>How to inform the network that there are receiver for group x in this LAN </li></ul></ul></ul>
  11. 11. Multicasting in Ethernet LAN <ul><li>Instead of sending multiple link layer packets to each host, or to avoid broadcasting, link/mac level multicast address should be used. </li></ul><ul><li>In Ethernet, a portion of 6 byte Ethernet address is used to identify multicast groups in local LAN </li></ul><ul><li>The lowest bit of most significant byte is set to 1 to designate multicast address at Ethernet MAC address space </li></ul><ul><li>802 hosts can configure their host adaptor cards to listen to MAC layer multicast packets ( usually 16 or 32 in number) </li></ul>Multicast Bit 23 Bits Reserved 6 byte 802 address
  12. 12. Class D to MAC translation <ul><li>Multiple Class D addresses map to the same MAC address </li></ul><ul><li>Well-known translation algorithm => no need for a translation table </li></ul>01 00 5E 23 bits copied from IP address IEEE 802 MAC Address Class D IP address Ignored ‘ 1110’ = Class D indication Multicast bit Reserved bit
  13. 13. Internet Group Management Protocol <ul><li>Detects if a LAN has any members for a particular group </li></ul><ul><ul><li>If no members, then we can prune (cut-off) the parent router from the shortest path tree for that group by updating upstream parent </li></ul></ul><ul><li>Two type of IGMP message: </li></ul><ul><ul><li>Router periodically broadcasts a query message </li></ul></ul><ul><ul><li>Hosts reply with the list of groups they are interested in </li></ul></ul><ul><li>To suppress traffic </li></ul><ul><ul><li>reply after random timeout </li></ul></ul><ul><ul><li>broadcast reply </li></ul></ul><ul><ul><li>if someone else has expressed interest in a group, drop out </li></ul></ul><ul><li>To receive multicast packets: </li></ul><ul><ul><li>translate from class D to MAC and configure adapter </li></ul></ul>
  14. 14. Simplest solution <ul><li>Flood packets from a source to entire network </li></ul><ul><li>If a router has not seen a packet before, forward it to all interfaces except the incoming one </li></ul><ul><li>Pros </li></ul><ul><ul><li>simple </li></ul></ul><ul><ul><li>always works! </li></ul></ul><ul><li>Cons </li></ul><ul><ul><li>routers receive duplicate packets </li></ul></ul><ul><ul><li>detecting that a packet is a duplicate requires storage, which can be expensive for long multicast sessions </li></ul></ul>
  15. 15. A clever solution <ul><li>Reverse path forwarding (RFP) </li></ul><ul><li>Rule </li></ul><ul><ul><li>forward packet from S to all interfaces if and only if packet arrives on the interface that corresponds to the shortest path to S </li></ul></ul><ul><ul><li>no need to remember past packets </li></ul></ul><ul><ul><li>C need not forward packet received from D </li></ul></ul>
  16. 16. Cleverer <ul><li>Don’t send a packet downstream if you are not on the shortest path from the downstream router to the source </li></ul><ul><li>C need not forward packet from A to E </li></ul><ul><li>Potential confusion if downstream router has a choice of shortest paths to source (see figure on previous slide) </li></ul>
  17. 17. Pruning <ul><li>RPF does not completely eliminate unnecessary transmissions </li></ul><ul><li>B and C get packets even though they do not need it </li></ul><ul><li>Pruning => router tells parent in tree to stop forwarding </li></ul><ul><li>Can be associated either with a multicast group or with a source and group </li></ul><ul><ul><li>trades selectivity for router memory </li></ul></ul>
  18. 18. Rejoining <ul><li>What if host on C’s LAN wants to receive messages from A after a previous prune by C? </li></ul><ul><ul><li>IGMP lets C know of host’s interest </li></ul></ul><ul><ul><li>C can send a join(group, A) message to B, which propagates it to A </li></ul></ul><ul><ul><li>or, periodically flood a message; C refrains from pruning. </li></ul></ul><ul><ul><li>The later is called Flood and Prune approach to multicast tree management. </li></ul></ul><ul><ul><li>Flood and Prune was used in first implementation of multicast in Internet </li></ul></ul>
  19. 19. Contd… <ul><li>Cost of pruning and joining </li></ul><ul><ul><li>Prunes can be associated with a multicast group or a particular [multicast group & source] </li></ul></ul><ul><ul><li>In first case: </li></ul></ul><ul><ul><ul><li>Routers need to store only one prune indication per output interface per group </li></ul></ul></ul><ul><ul><ul><li>Receivers the prunes message from one source cannot receive message from other source in the same group </li></ul></ul></ul><ul><ul><li>In second case: </li></ul></ul><ul><ul><ul><li>Routers need to store prune indication per source per group for each interface. </li></ul></ul></ul><ul><ul><li>Second case is much costly with regard to storage space. </li></ul></ul>
  20. 20. Internet Multicast Protocol <ul><li>MOSPF & DVMRP </li></ul><ul><ul><li>What modification is required in link state routing and distance vector routing to support multicasting </li></ul></ul><ul><ul><li>What if not all routers but only a subset of routers in Internet supports multicasting mechanism </li></ul></ul><ul><li>Multicast version of OSPF </li></ul><ul><ul><li>In link state each router monitors it’s directly connected links and broadcasts to all other routers whenever a change in link state occurs </li></ul></ul><ul><ul><li>The extension requires to support multicasting is following: </li></ul></ul><ul><ul><li>- The link state part also contains all multicast groups for which the link has member(s) </li></ul></ul><ul><ul><li>-with this information each router can compute the shortest path multicast tree for each source of each group </li></ul></ul><ul><ul><li>Since router has to store this tree for each source for each group, overhead is high, hence not scalable </li></ul></ul>
  21. 21. Internet Multicast Protocol <ul><li>MOSPF & DVMRP </li></ul><ul><ul><ul><li>What modification is required in link state routing and distance vector routing to support multicasting </li></ul></ul></ul><ul><ul><ul><li>What if not all routers but only a subset of routers in Internet supports multicasting mechanism </li></ul></ul></ul>
  22. 22. DVMRP <ul><li>DVMRP ( Distance vector multicast routing protocol) </li></ul><ul><ul><li>Very similar to RIP </li></ul></ul><ul><ul><ul><li>distance vector </li></ul></ul></ul><ul><ul><ul><li>hop count metric </li></ul></ul></ul><ul><ul><li>reverse-path forwarding (to decide where to forward a packet) </li></ul></ul><ul><ul><li>Used in conjunction with </li></ul></ul><ul><ul><ul><li>flood-and-prune (to determine memberships) </li></ul></ul></ul><ul><ul><ul><ul><li>prunes store per-source and per-group information </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Each router stores prune information for reverse path multicasting I.e. selective forwarding. ( per source, per group for each interface) </li></ul></ul></ul></ul><ul><ul><li>explicit join messages to reduce join latency (but no source info, so still need flooding) </li></ul></ul>
  23. 23. MOSPF <ul><li>MOSPF (Multicast OSPF) </li></ul><ul><ul><li>Multicast extension to OSPF </li></ul></ul><ul><ul><li>Routers flood group membership information with LSPs (LSP extended) </li></ul></ul><ul><ul><li>Each router independently computes shortest-path tree that only includes multicast-capable routers </li></ul></ul><ul><ul><ul><li>no need to flood and prune </li></ul></ul></ul><ul><ul><ul><li>Group joining and leaving information gets updated in all router through Link State Update </li></ul></ul></ul><ul><ul><li>Complex </li></ul></ul><ul><ul><ul><li>interactions with external and summary records </li></ul></ul></ul><ul><ul><ul><li>need storage per group per link </li></ul></ul></ul><ul><ul><ul><li>need to compute shortest path tree per source and group </li></ul></ul></ul><ul><ul><li>Since router has to store this tree for each source for each group, overhead is high, hence not scalable </li></ul></ul>
  24. 24. Core based tree Multicasting <ul><li>DVMRP and MOSPF were source based multicast tree </li></ul><ul><ul><li>Each source uses different source specific shortest path tree for data forwarding </li></ul></ul><ul><ul><li>Cost of group formation with these schemes: join/prune information store per source per group per interface in each router. </li></ul></ul><ul><ul><li>Both suffer from scaling problems. Building trees installs state in the routers. It is easy to observe that both does not scale well when a relatively small proportion (sparse mode) of routers wants to receive packet from a particular group. CBT and PIM( see next slides) are primarily for sparse mode situation. </li></ul></ul>
  25. 25. Core based tree Multicasting <ul><li>Core based Tree: </li></ul><ul><ul><li>Key idea with core-based tree </li></ul></ul><ul><ul><li>coordinate multicast with a core router </li></ul></ul><ul><ul><li>host sends a join request to core router </li></ul></ul><ul><ul><li>routers along path mark incoming interface for forwarding. </li></ul></ul>
  26. 26. Example <ul><li>Pros </li></ul><ul><ul><li>routers not part of a group are not involved in pruning </li></ul></ul><ul><ul><li>explicit join/leave makes membership changes faster </li></ul></ul><ul><ul><li>router needs to store only one record per group </li></ul></ul><ul><li>Cons </li></ul><ul><ul><li>all multicast traffic traverses core, which is a bottleneck </li></ul></ul><ul><ul><li>traffic travels on non-optimal paths </li></ul></ul>
  27. 27. Protocol independent multicast (PIM) <ul><li>Tries to bring together best aspects of CBT and DVMRP </li></ul><ul><li>Choose different strategies depending on whether multicast tree is dense or sparse </li></ul><ul><ul><li>In dense mode the receivers are densely situated and most f the routes need to participate in the multicast forwarding </li></ul></ul><ul><ul><li>flood and prune good for dense groups </li></ul></ul><ul><ul><ul><li>only need a few prunes </li></ul></ul></ul><ul><ul><ul><li>CBT needs explicit join per source/group </li></ul></ul></ul><ul><ul><li>In sparse mode receivers are sparsely situated, Flood and prune is a wastage. Too many prune message. Join and prune is better </li></ul></ul><ul><ul><li>CBT good for sparse groups </li></ul></ul><ul><li>Dense mode PIM == DVMRP </li></ul><ul><li>Sparse mode PIM is similar to CBT </li></ul><ul><ul><li>but receivers can switch from CBT to a shortest-path tree </li></ul></ul>
  28. 28. Protocol independent multicast (PIM) <ul><li>PIM uses a notion of central node (rendezvous point) RP for each group, which maintains multicast shortest path tree for each group </li></ul><ul><li>We assume in a domain of routers each router knows the unicast IP address for RP of a particular group </li></ul><ul><li>In PIM sparse there are two type of trees : shared tree for a group and source specific tree </li></ul><ul><li>Typically shared tree is built first and then source specific tree if required </li></ul>
  29. 29. Protocol independent multicast (PIM) <ul><li>R4 send a join message ( *, G) to RP of G. * denotes all senders. </li></ul><ul><li>All routers in path make an entry in multicast forwarding table for (*, G) on the incoming link R2-R4 </li></ul><ul><li>Then R2 selects a link for forwarding the join request to RP, ( here R2-RP). This will be only acceptable incoming interface for incoming packets sent to this group. </li></ul><ul><li>This completes the a branch of the shared tree installation at RP and in all routers required to reach receiver R4 </li></ul><ul><li>Joining request from R5 for group G needs only to go up to router router R2, this is another branch of shared tree for receiver R5 </li></ul>R1 R5 R4 R2 R3 RP join R1 R5 R4 R2 R3 RP join
  30. 30. Protocol independent multicast (PIM) <ul><li>Problem: cost of encapsulation and de-encapsulation </li></ul><ul><ul><li>When R1 wants to send to packet to group G, R1 tunnels it through unicast IP packet to RP, RP then forwards the packet with the help of shared tree for group G rooted in it </li></ul></ul><ul><li>Approach: for long lived session RP sends a join message to R1 which installs state in R3, Then R1 can send native multicast packets </li></ul><ul><li>This join message from RP is sender specific (S,G) ( the previous join message from R4 and R5 were not) and installs sender specific state in R3 </li></ul><ul><li>So, source specific tree till RP and then not-source specific tree from RP upto receivers </li></ul>join R1 R5 R4 R2 R3 RP
  31. 31. Protocol independent multicast (PIM) <ul><li>Further Optimization : </li></ul><ul><li>Clearly the route from R1 to R4 is is not the shortest one. </li></ul><ul><li>So entire shared tree can be replaced by source specific tree for long sessions </li></ul><ul><li>R4 can send a join request of the form to R1, which takes the shortest path installing state ( S, G) in all intermediate routers. Thus bypassing RP completely for sender S </li></ul><ul><li>But the shared tree for (*,G) remains at RP for all receivers to handle the situation for any new sender in the group. </li></ul><ul><li>This is called protocol independent as it works any unicast routing mechanism in the internet </li></ul>join R1 R5 R4 R2 R3 RP R1 R5 R4 R2 R3 RP join join
  32. 32. More on core <ul><li>Renamed a rendezvous point </li></ul><ul><ul><li>because it no longer carries all the traffic like a CBT core </li></ul></ul><ul><li>Rendezvous points periodically send “I am alive” messages downstream </li></ul><ul><li>Leaf routers set timer on receipt </li></ul><ul><li>If timer goes off, send a join request to alternative rendezvous point </li></ul><ul><li>Problems </li></ul><ul><ul><li>how to decide whether to use dense or sparse mode? </li></ul></ul><ul><ul><li>how to determine “best” rendezvous point? </li></ul></ul>
  33. 33. Factors evaluating multicast protocol <ul><li>Scalability </li></ul><ul><ul><li>What is the amount of state required in routers? Or how dies the amount of state change with the number of nodes leaving or joining the group </li></ul></ul><ul><li>Reliance on underlying unicast protocol </li></ul><ul><ul><li>To what extent in relies on information available by underlying unicast protocol? </li></ul></ul><ul><ul><ul><li>MOSPF, PIM </li></ul></ul></ul><ul><li>Un-needed traffic received </li></ul><ul><ul><li>Router chould not receive traffic if it does not have a member for the particular group </li></ul></ul><ul><li>Traffic Concentration </li></ul><ul><ul><li>Group shared tree tend to use specific links while source based trees distribute traffic </li></ul></ul><ul><li>Optimality of forwarding path </li></ul><ul><ul><li>Minimum cost multicast tree finding is hard ( Solving Steiner Tree), center based tree is not optimal </li></ul></ul>
  34. 34. Some References <ul><li>Research Directions: </li></ul><ul><ul><li>Congestion/Rate control in multicast tree, session maintenance, error control. Security is a major issue </li></ul></ul><ul><ul><li>Inter AS Multicast protocol ( IDMR Work group of IETF) </li></ul></ul><ul><li>References </li></ul><ul><li>S.E. Deering and D.R. Cheriton, Multicast Routing in Datagram Internetworks and Extended LANs, ACM Trans. On Comp. Sys., Vol 8, No 2, May 1990, pp 85-110. </li></ul><ul><li>S.E. Deering, et.al., An Architecture for Wide-Area Multicast Routing, Proc. SIGCOMM ‘94, London, England, August 1994. </li></ul><ul><li>V. Johnson and M. Johnson, Introduction to IP Multicast Routing, http://www.ipmulticast.com/community/whitepapers/introrouting.html. </li></ul><ul><li>S. Deering, D. Estrin, D. Farinacci, V. Jacobson, C. Liu, and L. Wei, Protocol Independent Multicasting </li></ul><ul><li>Scalable Multicast Key Distribution (1994)   Tony Ballardie </li></ul><ul><li>Scalable Secure Group Communication over IP  Multicast Suman Banerjee, Bobby Bhattacharjee </li></ul><ul><li>L wei, D. Estreen, : A comparison of multicast trees and algorithms: Technical report USC. </li></ul>
  35. 35. Some References <ul><li>Multicasting Tools </li></ul><ul><li>SDR, VIC and RAT for Sun, Linux and Windows multicasting. Quicktime will be the Macintosh application for viewing multicast sessions. </li></ul><ul><li>Products: </li></ul><ul><li>Apple's QuickTime Conferencing software. </li></ul><ul><li>ICAST Express Media, video, audio and text clients and servers, beta version available on request. </li></ul><ul><li>Merit Network's mrouted, multicast router daemon (server). </li></ul><ul><li>Microsoft's NetShow-- Windows video/audio client and server. Multicast-capable. </li></ul><ul><li>Precept's IP/TV -- Windows client for receiving video/audio/slide broadcasts. </li></ul><ul><li>Van Jacobson's popular multimedia multicasting tools for a Unix X Window server: video (VIC), and audio (VAT). </li></ul>
  36. 36. Multicast Overlay <ul><li>Reverse path forwarding requires a router to know shortest path to a source </li></ul><ul><ul><li>known from routing table </li></ul></ul><ul><li>Doesn’t work if some routers do not support multicast </li></ul><ul><ul><li>virtual links between multicast-capable routers </li></ul></ul><ul><ul><li>shortest path to A from E is not C, but F </li></ul></ul>
  37. 37. Overlay (contd.) <ul><li>Two problems </li></ul><ul><ul><li>how to build virtual links </li></ul></ul><ul><ul><li>how to construct routing table for a network with virtual links </li></ul></ul><ul><li>TUNNELS </li></ul><ul><ul><li>Why do we need them </li></ul></ul><ul><ul><li>Consider packet sent from A to F via multicast-incapable D </li></ul></ul><ul><ul><li>If packet’s destination is Class D, D drops it </li></ul></ul><ul><ul><li>If destination is F’s address, F doesn’t get to know multicast address! </li></ul></ul><ul><ul><li>So, put packet destination as F, but carry multicast address internally </li></ul></ul><ul><ul><li>Encapsulate IP in IP => set protocol type to IP-in-IP </li></ul></ul><ul><ul><li>DVMRP is capable of making virtual links. </li></ul></ul>
  38. 38. Reference for MBONE: <ul><ul><li>Michael R. Macedonia and Donald P. Brutzman. MBONE provides audio and video across the Internet. IEEE Computer , vol. 2Z(no. 4):30-36, April 1994. available at 44 </li></ul></ul><ul><ul><li>Hans Eriksson. MBONE: The multicast backbone. Communications of the ACM , vol. 37(no. 8), August 1994. available at </li></ul></ul><ul><ul><li>Stephen Casner and Stephen Deering. First IETF Internet audiocast. ACM Sigcomm Computer Communication Review , vol. 22(no. 23):92-97, July 1992. available at ftp://venera.isi.edu/pub/ietf-audiocast.article.ps . </li></ul></ul><ul><ul><li>Stephen Casner. Are you on the MBone? IEEE Multimedia , vol. 1(no. 2):76-79, 1994. available at </li></ul></ul><ul><ul><li>Mark Handley and Van Jacobson. SDP: Session description protocol, 1996. Internet draft, currently available at http://ds.internic.net/internet-drafts/draft-ietf-mmusic-sdp- </li></ul></ul><ul><ul><li>Mark Handley. SAP: Session announcement protocol, 1996. Internet draft, </li></ul></ul><ul><ul><li>M. Handley, H. Schulzrinne, and E. Schooler. SIP: Session invitation protocol, 1996. Internet draft. </li></ul></ul>