320 likes | 418 Views
CSC 600 Internetworking with TCP/IP. Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001. Multicasting. Addresses that refer to group of hosts on one or more networks Uses Multimedia “broadcast” Teleconferencing Database Distributed computing Real time workgroups.
E N D
CSC 600InternetworkingwithTCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001
Multicasting • Addresses that refer to group of hosts on one or more networks • Uses • Multimedia “broadcast” • Teleconferencing • Database • Distributed computing • Real time workgroups
Broadcast and Multiple Unicast • Broadcast a copy of packet to each network • Requires 13 copies of packet • Multiple Unicast • Send packet only to networks that have hosts in group • 11 packets
True Multicast • Determine least cost path to each network that has host in group • Gives spanning tree configuration containing networks with group members • Transmit single packet along spanning tree • Routers replicate packets at branch points of spanning tree • 8 packets required
Requirements for Multicasting (1) • Router may have to forward more than one copy of packet • Convention needed to identify multicast addresses • IPv4 - Class D - start 1110 • IPv6 - 8 bit prefix, all 1, 4 bit flags field, 4 bit scope field, 112 bit group identifier • Nodes must translate between IP multicast addresses and list of networks containing group members • Router must translate between IP multicast address and network multicast address
Requirements for Multicasting (2) • Mechanism required for hosts to join and leave multicast group • Routers must exchange info • Which networks include members of given group • Sufficient info to work out shortest path to each network • Routing algorithm to work out shortest path • Routers must determine routing paths based on source and destination addresses
The Format of Class D IP Addresses 0 1 2 3 4
Multicast Trees • Researchers use graph theory terminology to describe the set of paths from a given source to all members of a multicast group. • A multicast forwarding tree is defined as a set of paths through multicast routers to all members of a multicast group. • For a given multicast group, each possible source of datagrams can determine a different forwarding tree.
The Essence of Multicast Routing • A multicast group is a set of computers associated with the same multicast group address. • Hosts join a multicast group using a protocol called Internet Group Management Protocol (IGMP). They use this to notify a router on their local network of their desire to receive packets sent to a certain multicast group. • One perplexing question is how senders and receivers learn about the multicast addresses since members may join and leave dynamically. This is normally handles by out-of-band means.
Multicast Routing Protocols • Link-State Multicast • Distance-Vector: • Reverse-Path Broadcast (RPB) • Reverse-Path Multicast(RPM) • Protocol Independent Multicast (PIM)
Link-State Multicast • Recall that in a link-state routing, each router monitors the state of its directly connected links and sends an updated message to all of the other routers when even the state changes. • Since each router receives enough information to reconstruct the entire topology, it is able to use Dijkstra’s algorithm to compute the shortest-path spanning tree rooted at itself and reach all destinations.
Link-State Multicast • All we have to do to support multicasting is to add the set of groups that have members on a particular link (LAN) to the “state” for that link.
Distance-Vector Multicast • Reverse-Path Broadcast • Each router knows that the current shortest path to a given destination goes through a host NextHop. Thus when it receives a multicast packet from source S, the router forwards the packet on all outgoing links (except the incoming one) if and only if the packet arrived is on the shortest path to S.
Distance-Vector Multicast • Reverse-Path Multicast • We now prune the set of networks that receives each packet addressed to group G to exclude those that have no hosts that are member of G. First, we need to recognize when a leaf network has no group members. Second, we need to propagate the information that “no members in G” backward towards the root.
Protocol Independent Multicast • PIM divides the problem space into “sparse mode” and “dense mode”. PIM is particularly designed for “sparse mode”. • In PIM sparse mode, routers explicitly join and leave the multicast group using PIM protocol messages known as Join and Prune messages.
Protocol Independent Multicast • PIM assigns a rendezvous point. The group members all are aware of the IP address of the RP for a given group in order to talk to the RP.
Another Multicast Problem • Another group of researchers are focusing on how to optimize the total traffic in the network instead of how to deliver packets efficiently. • They showed that the optimum routing of multicasting streams can be formulated as an integer programming program.
IGMP • Internet Group Management Protocol • RFC 1112 • Host and router exchange of multicast group info • Use broadcast LAN to transfer info among multiple hosts and routers
IGMP Fields • Version • 1 • Type • 1 - query sent by router • O - report sent by host • Checksum • Group address • Zero in request message • Valid group address in report message
IGMP Operation • To join a group, hosts sends report message • Group address of group to join • In IP datagram to same multicast destination address • All hosts in group receive message • Routers listen to all multicast addresses to hear all reports • Routers periodically issue request message • Sent to all-hosts multicast address • Host that want to stay in groups must read all-hosts messages and respond with report for each group it is in
Group Membership in IPv6 • Function of IGMP included in ICMP v6 • New group membership termination message to allow host to leave group
Suggested Reading • Comer, Chapter 17 • RFC 2236, 1075, 2362, 1585.