unit8 - WCU Computer Science
Download
Report
Transcript unit8 - WCU Computer Science
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
Example
Configuration
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
Multicast Example
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
1 1 1 0 Group Identification
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 Version 1 Format
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
IGMP Version 2 Message Format
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.