Ch12 Multicasting and Multicast Routing Protocols
Ch12 Multicasting and Multicast Routing Protocols
Ch12 Multicasting and Multicast Routing Protocols
Multicasting
And
Multicast
Routing
Protocols
1
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
OBJECTIVES:
To compare and contrast
1)unicasting,
2) multicasting, and
3)broadcasting communication.
To define multicast addressing space in IPv4 and show the
division of the space into several blocks.
To discuss the IGMP protocol, which is responsible for collecting
group membership information in a network. => for
multicasting
2
OBJECTIVES (continued):
To discuss multicast routing protocols(3 concepts )
I. To discuss the general idea behind multicast routing protocols and their
division into two categories based on the creation of the shortest path
trees.
1) To discuss multicast link state routing in general and its implementation in the
Internet: a protocol named MOSPF.
2) To discuss multicast distance vector routing in general and its implementation in the
Internet: a protocol named DVMRP.
4
12-1 INTRODUCTION
5
Topics Discussed in the Section
Unicasting
Multicasting
Broadcasting
6
communication between one destination and one
destination
Source Legend
Ethernet switch
Point-to-point WAN
Unicast router
4
R1 3
1 2
R2 R3 3 R4
1 2
Recipient
is here
N1 N2 N3 N4 N5 N6
Figure 12.1 Unicasting 7
Note
8
Multicasting
one-to-many communication.
Multiple destination addresses
belonging to one sender and one
destination group.
Sender address: Unicast address
Reciver address: Destination group address
(defining members within the group)
9
Some comments
A network designed to deliver a
multicast service using IGMP might use
this basic architecture:
10
Multicast Groups
The set of receivers for a multicast transmission is
called a multicast group
A multicast group is identified by a multicast address
A user that wants to receive multicast transmissions joins
the corresponding multicast group, and becomes a
member of that group
13
Legend
S1 Multicast router S1
Unicast router
Di Unicast destination
Gi Group member
G1 G1 G1 G1 D1 D2 D3 D4
14
Note
15
12-2 MULTICAST ADDRESSES
16
Multicast Application
Accessing Distributed Database
Send information
Send News
Remote Conference
A remote lecture
17
The IP Protocol Stack
IP Multicasting only supports UDP as
higher layer
There is no multicast TCP !
User Layer
Socket Layer
TCP UDP
IP IP Multicast
Network Interface
18
IP Multicasting
There are three essential components of the
IP Multicast service:
1. IP Multicast Addressing
2. IP Group Management
3. Multicast Routing
19
12-2 Multicast Address
20
Topics Discussed in the Section
Multicast Addresses in IPv4
Selecting Multicast Addresses
Delivery of Multicast Packets at Data Link Layer
21
1) Multicast Addressing
• All Class D addresses are multicast addresses:
Class From To
D 224.0.0.0 239.255.255.255
22
23
Network Control Block
The range of addresses between
224.0.0.0 and 224.0.0.255,
inclusive, is reserved for the use
of routing protocols 1)and other
low-level topology discovery 2) or
maintenance protocols 3)
24
Types of Multicast addresses
Local Network Control Block
The first block is called local network control block
(224.0.0.1/24).
The addresses in this block are used for protocol
control traffic.
They are not used forgeneral multicast
communication.
TTL= 1
Table 12.2 shows the assignment of some of these
addresses.
25
Types of Multicast addresses
Internetwork Control Block
The addresses in this block are also used for protocol control traffic
Stream Multicast Group Block
is allocated for stream multimedia.
SAP/SDP Block
is used for Session Announcement Protocol and Session Directory
Protocol (RFC 2974).
SSM Block
is used for Source Specific Multicasting. We discuss SSS later in the
chapter, when we introduce IGMPv3.
GLOP Block
This block defines a range of globally assigned addresses that can be use
inside an autonomous system (AS).
Administratively Scoped Block
Netstat Utility
can be used to find the multicast addresses supported by an interface.
26
Example 12.1
• We use netstat with three options, -n, -r, and -a. The -n option
gives the numeric versions of IP addresses, the -r option gives
the routing table, and the -a option gives all addresses (unicast
and multicast).
• Note that we show only the fields relative to our discussion. The
multicast address is shown in color.
27
Why Multicast Address Translation
As shown in the following figure, a Source
multicast packet must receive a Legend
Ethernet switch
single packet and be forwarded to
Point-to-point WAN
several multicast routers. Multicast router
R1 4 3
Each received router must derive an 1 2
IP packet of the same D class R2 R3
3 3
R4
address. 1 2 1 2
28
Figure 12.4 Mapping class D to Ethernet physical address
29
Multicast Address Mapping
Ethernet
00000001 00000000 01011110 0------- -------- -------- Address
30
Note
31
Example 12.2
Change the multicast IP address 232.43.14.7 to an Ethernet multicast
physical address.
Solution
We can do this in two steps:
a. We write the rightmost 23 bits of the IP address in
hexadecimal. This can be done by changing the rightmost 3 bytes to
hexadecimal and then subtracting 8 from the leftmost digit if it is
greater than or equal to 8. In our example the result is 2B:0E:07.
b. We add the result of part a to the starting Ethernet multicast address,
which is 01:00:5E:00:00:00. The result is
01005E16
32
Example 12.3
Change the multicast IP address 238.212.24.9 to an Ethernet
multicast address.
Solution
We can do this in two steps:
a. The rightmost 3 bytes in hexadecimal are D4:18:09. We need to
subtract 8 from the leftmost digit, resulting in 54:18:09.
b. We add the result of part a to the Ethernet multicast starting
address. The result is
33
Network with No Multicast Support
Multicast Filtering Switches
An IP Multicast aware switch can automatically
set up multicast filters so the multicast traffic is
only directed to the partcipateing end nodes.
34
Network with No Multicast Support
Tunneling
35
Figure 12.5 Tunneling
36
12-3 IGMP
38
IGMP Protocol(between a
multicast router and a host)
A host sends an IGMP report when it joins a multicast
group (Note: multiple processes on a host can join. A
report is sent only for the first process).
No report is sent when a process leaves a group
A multicast router regularly multicasts an IGMP query to
all hosts (group address is set to zero).
A host responds to an IGMP query with an IGMP report.
Multicast router keeps a table on the multicast groups
that have joined hosts. The router only forwards a
packet, if there is a host still joined.
Note: Router does not keep track which host is joined.
39
Topics Discussed in the Section
Group Management
IGMP Messages
IGMP Protocol Applied to host
IGMP Protocol Applied to Router
Role of IGMP in Forwarding
Variables and Timers
Encapsulation
Compatibility with other Versions
40
Figure 12.6 Position of IGMP in the network layer
41
Note
42
Figure 12.7 IGMP messages
43
Figure 12.8 Membership query message format
44
Figure 12.9 Three forms of query messages
45
Figure 12.10 Membership report message format
46
47
Example 12.4
• Figure 12.11 shows a host with three processes: S1, S2, and S3.
• The first process has only one record;
• the second and the third processes each have two
records.
• We have used lowercase alphabet to show the source
address.
48
Figure 12.11 Socket state
49
Duplicate information present in the Socket record
Different sockets have the same group record (226.14.5.2)
Each multicast group has only one record.
Ultimately, the group has one of the two record modes (include/exclude).
Different overlapping records should be combined in two ways.
Exclude mode filter
a : Apply the set intersection operation on all the address lists with exclusive filters.
b: Apply the set difference operation on the result of part a and all the address lists with
inclusive filters.
Include mode filter:
set union operations on all the address lists
50
Note
51
Example 12.5
We use the two rules described above to create the interface state
for the host in Example 12.4. First we found the list of source
address for each multicast group.
a. Multicast group 226.14.5.2 has two exclude lists and one
include list. The result is an exclude list as calculated
below. {b,c} – {a,b,d,e} = {c}
52
Figure 12.12 Interface state
53
Figure 12.13 Sending change state reports(for one group)
56
Timer Expiration(con’t)
3. If the expired timer is the group timer set after
a group-and-source-specific query received
then the host sends one membership report that
contains only one Current-State-Record for that
particular group if, and only if, the group is still active.
The type of the single record contained in the report
and source list depends on the filter mode of the group:
a. If the group filter is include, the record type is
Mode_Is_Include (type 1) and the source list is (A . B)
b. If the group filter is exclude, the record type is
Mode_Is_Exclude (type 2) and the source list is (B − A)
57
Figure 12.14 Router States
58
Figure 12.15 Change of state related to general query report
59
Figure 12.16 Change of state related to other report types
60
Role of IGMP in Forwarding
In previous versions of IGMP,
the forwarding recommendation was based only on the destination
multicast address of a packet.
in IGMPv3
based on both the destination address and the source address.
six different recommendations in fig 12.14
61
Figure 12.17 Calculation of maximum response time
65
Topics Discussed in the Section
Optimal Routing: Shortest Path Trees
66
Multicast Routing Protocols
Goal: Build a spanning tree between all
members of a multicast group
67
Objectives
68
Multicast routing as a graph
problem
69
Multicast routing as a graph
problem
Problem: Embed a tree such that all
multicast group members are connected by
the tree
Solution 2: Minimum-
Cost Tree Build a tree that
minimizes the total cost of
the edges
Good solution if there are multiple
senders
Very expensive to compute (not practical
for more than 30 nodes)
71
Multicast routing in practice
Routing Protocols implement one of two approaches:
2. Core-based Tree:
– Build a single distribution tree that is shared by all senders
– Does not use Solution 2 (because it is too expensive)
– Selects one router as a “core” (also called “rendezvous point”)
– All receivers build a shortest path to the core reverse shortest
path / reverse path forwarding
72
Note
73
Figure 12.18 Shortest path tree in multicast routing
74
Note
75
Note
76
Figure 12.19 Source-based tree approach
77
Note
78
Figure 12.20 Group-shared tree approach
79
12-4 ROUTING PROTOCOLS
80
Topics Discussed in the Section
Multicast Link State Routing: MOSPF
Multicast Distance Vector: DVMRP
Core-Based Tree: CBT
Protocol Independent Multicast: PIM
81
Figure 12.21 Taxonomy of common multicast protocols
82
Multicast routing protocols in
the Internet
Distance Vector Multicast Routing Protocol (DVMRP):
First multicast routing protocol
Implements flood-and-prune : (prune : remove)
Multicast Open Shortest Path First (MOSPF):
Multicast extensions to OSPF. Each router calculates a shortest-path
tree based on link state database
Not widely used
Core Based Tree (CBT):
First core-based tree routing protocol
Protocol Independent Multicast (PIM):
Runs in two modes: PIM Dense Mode (PIM-DM) and PIM Sparse
Mode (PIM-SM).
PIM-DM builds source-based trees using flood-and-prune
PIM-SM builds core-based trees as well as source-based trees with
explicit joins.
83
Multicast Routing protocols
Source based tree
1. DVMRP
Reverse path forwarding (RPF)
Reverse path Broadcasting (RPB)
Reverse path multicasting (RPM)
2. MOSPF
Core based Tree (CBT)
PIM ( Protocol Independent Multicast)
PIM-DM
PIM-SM
84
Note
85
Note
86
RPF(reverse path forwarding)
Flooding
• Flooding is the first strategy that comes to mind.
• A router receives a packet and without even looking at the
destination group address, sends it out from every interface except
the one from which it was received.
88
Figure 12.23 Problem with RPF
89
Figure 12.24 RPF versus RPB(Reverse Path Broadcasting)
91
Reverse Path Multicasting (RPM)
RPB does not multicast the packet, it broadcasts it.
the multicast packet must reach only those
networks that have active members for that
particular group.
This is called reverse path multicasting (RPM).
To convert broadcasting to multicasting, the
protocol uses two procedures,
pruning and grafting.
pruning : the router sends a prune message to the
upstream router so that it can prune the corresponding
interface.
Grafting :
The graft message forces the upstream router to resume
sending the multicast messages .
92
Figure 12.25 RPF, RPB, and RPM
93
Note
94
Figure 12.26 Group-shared tree with rendezvous router
95
Figure 12.27 Sending a multicast packet to the rendezvous router
96
Note
97
Note
98
Note
99
Note
100
Note
101
12-6 MBONE
102
Figure 12.28 Logical tunneling
103
Figure 12.29 MBONE
104