32
CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

Embed Size (px)

Citation preview

Page 1: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

CSC 600Internetworking

withTCP/IP

Unit 8: IP Multicasting

(Ch. 17)

Dr. Cheer-Sun Yang

Spring 2001

Page 2: 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

Page 3: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

Example Configuration

Page 4: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

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

Page 5: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

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

Page 6: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

Multicast Example

Page 7: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

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

Page 8: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

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

Page 9: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

1 1 1 0 Group Identification

0 1 2 3 4

The Format of Class D IP Addresses

Page 10: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001
Page 11: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001
Page 12: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001
Page 13: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001
Page 14: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

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.

Page 15: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

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.

Page 16: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

Multicast Routing Protocols

• Link-State Multicast

• Distance-Vector: – Reverse-Path Broadcast (RPB)– Reverse-Path Multicast(RPM)

• Protocol Independent Multicast (PIM)

Page 17: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

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.

Page 18: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

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.

Page 19: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

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.

Page 20: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

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.

Page 21: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

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.

Page 22: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

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.

Page 23: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001
Page 24: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

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.

Page 25: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

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

Page 26: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

IGMP Version 1 Format

Page 27: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

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

Page 28: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

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

Page 29: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

IGMP Version 2 Message Format

Page 30: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001
Page 31: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

Group Membership in IPv6

• Function of IGMP included in ICMP v6

• New group membership termination message to allow host to leave group

Page 32: CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001

Suggested Reading

• Comer, Chapter 17

• RFC 2236, 1075, 2362, 1585.