Multicasting

Download Report

Transcript Multicasting

Multicasting
Anthony Choi
David Strole
Werner Kalyan Landeck
1
Broadcasting: Delivering one packet to each destination
Multicasting: Allows each system to choose whether it
wants to participate in a given multicast
A multicast address identifies an arbitrary set of
listeners, so forwarding mechanism must propagate
the packet to all segments
2
Ethernet Multicast: the low order bit of the highorder octet distinguishes conventional unicast
address (0) from multicast address (1)
01-00-00-00-00-0016
3
IP Multicasting:
The Internet abstraction of hardware multicasting. The subset of
systems that are receiving a multicast is called multicast group
General Characteristics
•Group Address: Each multicast group is a unique class D address
•Number of Groups: IP provides for up to 228 simultaneous
multicast groups
•Dynamic Group Membership: A host can join or leave an IP
multicast at any time
•Use of hardware: IP uses hardware multicast to send IP multicast,
if hardware supports multicast, otherwise, it uses broadcast or
unicast to deliver IP multicast
4
General Characteristics
(continued)
•Inter-network Forwarding: Special multicast routers are used
to forward multicasts to systems in different physical networks
•Delivery Semantics: IP multicast uses the same best-effort
delivery semantics as other IP datagrams
•Membership And Transmission: An arbitrary host may send
datagrams to any multicast group; group membership is only
used to determine whether the host receives datagrams sent to
the group
5
Three Conceptual Pieces
1. Addressing Scheme
2. Effective notification and delivery system
3. Efficient internetworking forwarding facility
6
Multicasting Addresses
Two kinds – Permanent (well known) or Create when needed (transient)
1 1 1 0
Group Identification
Multicast Address Range: 224.0.0.0 to 239.255.255.255
7
Example of permanent IP multicast address assignments
Address
Meaning
224.0.0.0
Base Address (Reserved)
224.0.0.1
All Systems on this Subnet
224.0.0.2
All Routers on this Subnet
224.0.0.3
Unassigned
224.0.0.4
DVMRP Routers
224.0.0.5
OSPFIGP All Routers
224.0.0.6
OSPFIGP Designated Routers
224.0.0.7
ST Routers
224.0.0.8
ST Hosts
224.0.0.9
RIP2 Routers
224.0.0.10
IGRP Routers
224.0.0.11
Mobile-Agents
224.0.0.12
DHCP Server / Relay Agent
224.0.0.13
All PIM Routers
224.0.0.14
RSVP-Encapsulation
224.0.0.15
All-CBT-Routers
224.0.0.16
Designated-Sbm
224.0.0.17
All-Sbm
8
Example of permanent IP multicast address assignments
(continued)
Address
Meaning
224.0.0.18
VRRP
through
244.0.0.255
Other Link Local Address
224.0.1.0
Through
238.255.255.255
Globally Scoped Addresses
239.0.0.0
Through
239.55.255.255
Scope restricted to one organization
9
To map an IP multicast address to the corresponding Ethernet multicast
address, place the low-order 23 bits of the IP multicast address into the
low-order 23 bits of the special Ethernet multicast address:
01-00-5E-00-00-0016
Example: 224.0.0.2 becomes 01-00-5E-00-00-0216
The mapping of IP to Ethernet multicast address is NOT unique
It is up to the host to disregard unwanted multicast datagrams
Primary difference between local and nonlocal multicast lies
in multicast routers, not in hosts
10
Multicast Scope
Scope refers to the range of group members
Two techniques to control multicast scope
•The Time To Live (TTL) field
•Limiting the number of hops allowed
•e.g. 1 to never leave a network, 0 to never leave host
•Administrative scoping
•Reserving parts of the address space for groups that
are local to a given site or local to a given organization
•Assign the group an address that has local scope
11
A host can join a multicast in three different levels:
•Level 1: Can neither receive nor send IP multicast
•Level 2: Can send but not receive IP multicast
•Level 3: Can send and receive IP multicast
Hosts join specific IP multicast groups on specific
networks
A host must have multicast capability software and
a multicast router would be needed if a multicast
spans multiple networks
12
Internet Group Management Protocol (IGMP)
•Multicast routers and hosts must use IGMP to communicate
•Although IGMP uses IP datagrams to carry messages, it is
thought of as an integral part of IP, not a separate protocol
•IGMP is standard for TCP/IP
•Two phases
•Phase 1
•A host sends an IGMP message to the group to declare
its membership when joining
•Local multicast routers propagate the membership
information to the rest of the internet
•Phase 2
•Local multicast routers must poll hosts to determine if a
host is still a member, due to dynamic membership
•Source address filter
13
IGMP Implementation
Five ways IGMP use to minimize its traffic on the network:
• All communications between hosts and multicast routers use
IP multicast
•When polling, a multicast router sends a single query about all
groups instead of sending a separate message to each
•If multiple multicast routers attach to the same network, they
quickly and efficiently choose a single router to poll host
membership
•Hosts do not respond to a router’s IGMP query at the same
time
•Spaced randomly over 10 seconds.
•Reports for multiple group memberships sent in a single packet
14
Group Membership State Transitions
15
IGMP Membership Query Message
TYPE (0x11) RESP CODE
CHECKSUM
GROUP ADDRESS
RES S QRV
QQIC
NUM SOURCES
SOURCE ADDRESS 1
SOUCRE ADDRESS 2
…
SOUCRE ADDRESS N
16
TYPE (0X22)
RESERVED
RESERVED
CHECKSUM
NUM GROUP RECORDS (K)
GROUP RECORD 1
GROUP RECORD 2 …
GROUP RECORD K
REC TYPE
ZEROES
NUM OF SOURCES
MULTICAST ADDRESS
SOURCE ADDRESS 1
SOURCE ADDRESS 2 …
SOURCE ADDRESS N
17
Multicast Forwarding and Routing
•Unlike unicast forwarding in which routes change only when the
topology changes or equipment fails, multicast routes can change
simply because an application program joins or leaves a multicast
•Multicast forwarding requires a router to examine more than the
destination address
•A multicast datagram may originate on a computer that is not part
of the multicast group, and may be forwarded across networks that
do not have any group members attached
18
Multicast Forwarding Paradigms
A multicast destination is a set of hosts, an optimal forwarding
system will reach all of it destinations without sending a
datagram across a given network twice.
Reverse Path Forwarding (RPF) – uses the source address to
avoid loops.
• Not used alone because it still does not solve the
problem of multicast datagram being sent to non
member groups
19
Multicast Forwarding Paradigms (cont’d)
Truncated Reverse Path Forwarding (TRPF) – follows the
basic RPF algorithm, but avoids (truncates) paths that do
not lead to group members.
• To use TRPF, router needs 2 pieces of information
•Conventional routing table
•List of reachable multicast groups of each interface
• For the TRPF algorithm, first RPF is used
• If no group members are reachable over an interface, the
router skips over the interface, checking the next one
20
Multicast Forwarding Paradigms (cont’d)
Consequences of TRPF
• Because it relies on RPF to prevent loops, it delivers an
extra copy of datagrams to some networks just like
conventional RPF
•Delivery depends on a datagram’s source
21
Multicast Forwarding Paradigms (cont’d)
Multicast Trees – the other paradigm
•Multicast router – node to the tree
•Connection between routers – edge to the tree
•Last router along each of the paths from the source – leaf of the tree
A multicast forwarding tree is defined as a set of paths through
multicast routers from a source to all members of a multicast
group. For a given multicast group, each possible source of
datagrams can determine a different forward tree
Forwarding protocols use a network prefix as a source
22
Reverse Path Multicasting
• More important to ensure that a multicast datagram
reaches each member of the group than to eliminate
unnecessary transmission
•Multicast routers each contain a conventional routing table
that has correct information
•Multicast routing should improve inefficiency when
possible
•Two step process
•Uses RPF scheme to send a copy of each datagram
across all networks in the net.
•Simultaneously have multicast routers to inform one
another about paths that do not lead to group members
23
• RPM propagates membership information bottom-up
• A multicast router only knows about local group members
• If a leaf network contains no members for a given group
the router connecting that network to the rest of the internet
does not forward on the network
• RPM is called a broadcast and prune strategy because a
router broadcasts until it receives information that allows it
to prune a path
•Also known as data driven because router does not send
group information until a datagram arrives for that group
24
Multicast Routing Protocols
•Multiple Multicast Routing Protocols exists, but none of
them is a required standard.
•Distance Vector Multicast Routing Protocol (DVMRP)
•Core Based Trees (CBT)
•Protocol Independant Multicast (PIM)
•Multicast extensions to OSPF (MOSPF)
25
Distance Vector Multicast Routing Protocol (DVMRP)
•Uses Data-Driven Paradigm
•Allows for Multicast Router to pass along group
membership and routing imformation to other Multicast
Routers
•Resembles the RIP protocol, but it has been extended for
Multicasting.
•Basically the protocol passes information about current
multicast group membership as well as the cost to
transfer datagrams between routers
•A forwarding tree is imposed on top of the physical
interconnection for every possible (group, sorce) pair.
So when a datagram destined for an IP multicast group
is received by a router, it will send a copy of the
datagram to very network link corresponding to a
branch in the forwarding tree.
26
Distance Vector Multicast Routing Protocol (DVMRP) (cont’d)
•DVMRP is implemented by a Unix program named
mrouted which uses a special multicast kernel
•Uses multicast tunneling to forward multicasts acroos
the World Wide Web
•At each site an mrouted tunnel to other sites has to be
configured manually
•The mrouted tunnel uses IP in IP encapsulation to send
multicasts.
•When a multicast datagram is generated it is
encapsulated in a unicast datagram and then
forwared to other sites
•When a unicast datagram is received through one
of the tunnels, the multicast datagram is extracted
and forwarded according to the multicast routing
table
27
Core Based Trees (CBT)
•Uses Demand-Driven Paradigm
•Avoids broadcasting and allows all sources to share the
same forwarding tree if possible
•Does not forward multicasts until at least one host
along the path joins the multicast group
•When a host uses IGMP to join a multicast group, the
host does not receive data until the local router has
propagated the new hosts information to the other
routers
•CBT uses a combination of static and dynamic algorithms
to build a multicast forwarding tree. In order to make this
scheme scalable CBT devides the underlying internet into
regions of a size specified by the network administrator
•Each region has a designated core router and all other
routers in the region have to know about the core router
28
Core Based Trees (CBT) (cont‘d)
•The use of a core router in each region allows for the
region to have a shared tree
•So router in a region dynamically build the forwarding
trees by sending join requests to the core router
29
Protocol Independant Multicast (PIM)
•Actually is 2 independant protocols, which have little in
common exept for the name and message header
•PIM – Defense Mode (PIM – DM)
•Designed for LAN environments in which all or
almost all networks have hosts which are lisening to
each of the multicast group
•PIM – Sparse Mode (PIM – SP)
•Designed for a wide area environment in which the
member of a given multicast group occupy a small
subset of all possible networks
•2 Independant Protocols exists, because neither works well
for all situations
30
Protocol Independant Multicast (PIM) (cont‘d)
•PIM functions independantly from the unicast routing
protocol or protocols that a rounter uses, because PIM does
not specify a routing table form. Thus PIM can use an
arbitary routing protocol
•To accomandate many listenners:
•PIM-DM uses a broadcast and prune approach.
Datagrams are forwarded to all routers using RPF until
a router sends an explicit request
•PIM-SM designates a router, called a Renderview
Point (RP), which functions similar to the CBT core
Router
31
Multicast extensions to OSPF (MOSPF)
•The idea behind MOSPF is when the router know the
topology of its OSPF area, MOSPF can use this to compute
a forwarding tree.
•MOSPF is Demand-Driven , so traffic will not be
propagted until requested
•Problems with this scheme are that all router must
maintain the membership information of all groups and the
information has to be synchronized to ensure every router
has the exatly same database
32
Reliable Multicast and ACK Implosions
•Reliable Multicast referes to a system which provides
multicast delivery and guarantees that all members of the
group receive the data in order without any loss,
duplication or corruption.
•In theory sound greath but hard to implement, since
many problems arise:
•If a multicast group has multiple sender datagram
arrival in sequence becomes meaning less
•Widely used multicast forwarding schemes, such
as RPF, produce duplication even on small internets
•Applications like audio or video expect relioable
systems to bound the delay and jitter
33
Reliable Multicast and ACK Implosions (cont‘d)
•Reliabiliy requires acknowledgements, since
multicastr groups can have an arbitary number of
members, traditional reliable protocols require the
sender to handle an arbitary number of
acknowledgements. This problem is refered to as
the ACK Implosion, since no computer has enough
processing power to handle this problem.
•How to overcome ACk implosion
•Reliable multicost protocols restrict multicating to a
single source. Before data is sent a forwarding tree is
established from the source to all group members and
acknowledgement points need to be established.
34
Reliable Multicast and ACK Implosions (cont‘d)
•An acknowledgement point, also know as
acknowledgement aggregator or designated route
(DR), is a router that agrees to cache copies of the
data and process acknowledgements from routers
and hosts further down the forwarding tree. If a
retransmission is need it is taken from the routers
cache. This occurs when the host or router send a
NACK. The NACK will propogate up the tree until
a acknowledgement point or the source is reached.
•The selection of sufficient acknowledgement is
important, since an insufficient number points will
cause an ACK Implosion. Thus reliable multicast
protocols require manual configuratio, as a result if
you have a fast growing network this can be a
problem
35
Reliable Multicast and ACK Implosions (cont‘d)
•Other methos of reliable multicast are still theoretical or
experimental. Here are 2 protocols being considered.
•One was is to send multiple copies to reduce the need
for retransmission
•Works good with Random Early Discard (RED),
since the probability of more than one copy being
discarded is extremly small
•Another way is to incorporate forward error-correcting
codes
36