Title: Multicast Routing
1Multicast Routing
2Multicasting
- Sending message to multicast address
- Multicast address refers to a group of hosts
- Multimedia
- Teleconferencing
- Databases
- Distributed computation
- Real-time workgroup
3Multicasting within LAN
- MAC level multicast addresses
- IEEE 802 uses highest order bit 1
- All stations that recognise the multicast address
accept the packet - Works because of broadcast nature of LAN
- Packet only sent once
- Much harder on internet
4Multicast one sender to many receivers
- Multicast act of sending datagram to multiple
receivers with single transmit operation - analogy one teacher to many students
- Question how to achieve multicast
5Multicast one sender to many receivers
- Multicast act of sending datagram to multiple
receivers with single transmit operation - analogy one teacher to many students
- Question how to achieve multicast
- Application-layer multicast
- end systems involved in multicast copy and
forward unicast datagrams among themselves
6Internet Multicast Service Model
128.59.16.12
128.119.40.186
multicast group 226.17.30.197
128.34.108.63
128.34.108.60
- multicast group concept use of indirection
- hosts addresses IP datagram to multicast group
- routers forward multicast datagrams to hosts that
have joined that multicast group
7Multicast groups
- class D Internet addresses reserved for
multicast - host group semantics
- anyone can join (receive) multicast group
- anyone can send to multicast group
- no network-layer identification to hosts of
members - needed infrastructure to deliver mcast-addressed
datagrams to all hosts that have joined that
multicast group
8Requirements for Multicasting (1)
- Router must forward two or more copies of
incoming packet - Addressing
- IPv4 uses class D
- Start 1110 plus 28 bit group id
- IPv6 uses 8 bit prefix of all 1s, 4 bit flags
field, 4 bit scope field 112 bit group id - Node must translate between multicast address and
list of networks containing members of group - Router must translate between IP multicast
address and subnet multicast address to deliver
to destination network
9Requirements for Multicasting (2)
- Multicast addresses may be permanent or dynamic
- Individual hosts may join or leave dynamically
- Need mechanism to inform routers
- Routers exchange information on which subnets
contain members of groups - Routers exchange information to calculate
shortest path to each network - Need routing protocol and algorithm
- Routes determined based on source and destination
addresses - Avoids unnecessary duplication of packets
10Joining a mcast group two-step process
- local host informs local mcast router of desire
to join group IGMP (Internet Group Management
Protocol) - wide area local router interacts with other
routers to receive mcast datagram flow - many protocols (e.g., DVMRP, MOSPF, PIM)
IGMP
IGMP
wide-area multicast routing
IGMP
11IGMP Internet Group Management Protocol
- IGMP is a group management protocol.
- It helps a multicast router create and update a
list of members related to each router interface. - Position of IGMP in the network layer
12IGMP Internet Group Management Protocol
- host sends IGMP report when application joins
mcast group to make itself known as member of
group to other hosts and routers - To join, send IGMP membership report message
- IP_ADD_MEMBERSHIP socket option
- host need not explicitly unjoin group when
leaving. - Note In IGMP, a membership report is sent twice,
one after the other.
report
13IGMP Internet Group Management Protocol
- router periodically issues IGMP query
- To all-hosts multicast address
- Hosts respond with report message for each group
to which it belongs - Only one host in group needs to respond to keep
group alive - Host keeps timer and responds if no other reply
heard in time
report
query
14IGMP
- IGMP v2 additions include
- group-specific Query
- Leave Group msg
- last host replying to Query can send explicit
Leave Group msg - router performs group-specific query to see if
any hosts left in group - RFC 2236
- IGMP v3 adds support for "source filtering",
that is, the ability for a system to report
interest in receiving packets only from
specific source addresses, or from all but
specific source addresses, sent to a particular
multicast address. RFC3376
- IGMP version 1
- router Host Membership Query msg broadcast on
LAN to all hosts - host Host Membership Report msg to indicate
group membership - randomized delay before responding
- implicit leave via no reply to Query
- RFC 1112
15IGMP Operation Example
Imagine there are three hosts in a network as
shown in the next slide.
- A query message was received at time 0
- the random delay time (in tenths of seconds) for
each group is shown next to the group address. - Show the sequence of report messages.
16IGMP Operation Example
17IGMP Operation Example
The events occur in this sequence Time 12 The
timer for 228.42.0.0 in host A expires and a
membership report is sent, which is received by
the router and every host including host B which
cancels its timer for 228.42.0.0. Time 30 The
timer for 225.14.0.0 in host A expires and a
membership report is sent, which is received by
the router and every host including host C which
cancels its timer for 225.14.0.0.
18IGMP Operation Example
Time 50 The timer for 251.70.0.0 in host B
expires and a membership report is sent, which is
received by the router and every host. Time 70
The timer for 230.43.0.0 in host C expires and a
membership report is sent, which is received by
the router and every host including host A which
cancels its timer for 230.43.0.0. Note that if
each host had sent a report for every group in
its list, there would have been seven reports
with this strategy only four reports are sent.
19Group Membership with IPv6
- Function incorporated in ICMPv6
- Includes all ICMPv4 plus IGMP
- Includes group membership query and report
- Addition of new group membership termination
message
20Multicast Routing Problem Statement
- Goal find a tree (or trees) connecting routers
having local mcast group members - tree not all paths between routers used
- source-based different tree from each sender to
rcvrs - shared-tree same tree used by all group members
21Approaches for building mcast trees
- Approaches
- source-based tree one tree per source
- shortest path trees
- reverse path forwarding
- group-shared tree group uses one tree
- minimal spanning (Steiner)
- center-based trees
we first look at basic approaches, then specific
protocols adopting these approaches
22Building multicast trees (cntd.)
- Source Based Trees
- Notation (S, G)
- specific sender
- In a source-based tree approach, the combination
of source and group determines the tree. - Uses more memory (O(SG)), but can give optimal
paths and delay. - Group Shared Trees
- Notation (, G)
- All senders
- In the group-shared tree approach, the group
determines the tree. - Uses less memory (O(G)) but suboptimal paths and
delays - Data-driven
- Build when data packets are sent
- Demand-driven
- Build when members join
23Shortest Path Tree
- mcast forwarding tree tree of shortest path
routes from source to all receivers - Dijkstras algorithm
S source
LEGEND
R1
R4
router with attached group member
R2
router with no attached group member
R5
link used for forwarding, i indicates order
link added by algorithm
R3
R7
R6
24Center-based trees an example
Suppose R6 chosen as center
LEGEND
R1
router with attached group member
R4
3
router with no attached group member
R2
2
1
R5
path order in which join messages generated
R3
1
R7
R6
25Multicast routing protocols