Post on 15-Sep-2018
■ Multicast Routing■
1
I-Caire/Cours/3.multicast-routing.fm- 24 April 2002 14:56)
____Bernard Cousin - © IFSIC - Université Rennes I
Multicast Routing
(/udd/bcousin/IT
PLAN
• Generalities on multicast
• Multicast addressing
• Multicast trees
• IGMP protocol
• Multicast Routing
• Conclusion
■ Multicast Routing■
2
s. Kluwer academic publishers, 1998
ns. InterEditions, 1998
rotocols and Applications. Morgan
____Bernard Cousin - © IFSIC - Université Rennes I
Bibliography
• S. Paul. Multicasting on the Internet and its application
• C. Huitema. Routing in the Internet, Prentice Hall, 2001
• W. Stallings. High Speed Networks. Prentice Hall, 1998
• C. Comer. TCP/IP: architectures, protocoles, applicatio
• R.Wittmann, M.Zitterbart. Multicast Communication : PKaufmann publishers, 2001
■ Multicast Routing■
3
s:
, etc.
tc.
____Bernard Cousin - © IFSIC - Université Rennes I
1. Generalities on multicast
1.1. Presentation
Many applications broadcast informations toseveral destination
• Audioconference, videoconference, web radio, etc.
- ex: CU-SeeMe, IVS, Netmeeting, web phone
• Group oriented applications: whiteboard, group editing
• Data distribution: news-group, distributed computing, e
To build a broadcasting network:
• atapplication level:
- many copies, sub-optimal, bipoint link, server based
. - e.g.: CU-SeeMe reflectors
• atnetworklevel:
- multicast forwarding = multicasting
- the network knows the best route!
. good efficiency
■ Multicast Routing■
4
host
group member
router
____Bernard Cousin - © IFSIC - Université Rennes I
Some broadcasting techniques:
Total broadcastingMulti- single transmission
Broadcast server Multicasting
■ Multicast Routing■
5
), MTP (Multicast Transport Protocol), RMP (Reliable
lticast Transport Protocol), RAMP (Reliable Adaptive
____Bernard Cousin - © IFSIC - Université Rennes I
1.2. Multicast protocols types
Multicast routing protocols
• Network layer
• Multicast routing data
• e.g.: (IGMP), DVMRP, MOSPF, CBT, PIM, etc.
Multicasting protocols
• Transport or above layer
• End-to-end multicast data transmission
- congestion and error control
. e.g.:UDP!, ST2 (Stream Transport v2), XTP (eXpress Transport Protocol
Multicast Protocol), SRP (Scalable Reliable Protocol), RMTP (Reliable MuMulticast Protocol), etc.
■ Multicast Routing■
6
l) HTML oriented, SDP (Session Description Protocol),
col), QoSPF (QoS extension to OSPF), etc.
____Bernard Cousin - © IFSIC - Université Rennes I
Other protocols:
• group management protocols
- e.g.:SAP (Session Announcement Protocol), SIP (Session Initiation Protoco
etc.
• QoS management protocols
- e.g.:RSVP (ReSerVation Protocol), RTP & RTCP (Real Time &Control Proto
• application-oriented protocols
- e.g.:MFTP (Multicast File Transfer Protocol): MCP + MDP (Control + Data)
• multicast address management
- e.g.:MSDP (Multicast Source Distribution Protocol)
☞ Multicast routing protocols
■ Multicast Routing■
7
le
A
D
____Bernard Cousin - © IFSIC - Université Rennes I
1.3. Unicast forwarding
• datagram forwarding
➱ next router selection (next-hop).
• routing table update
➱ routing protocols
(@B<-@A [data])
destination : next router
. . @A . . : . . @Z . .
. . @B . . : . . @X . .
. . @C . . : . . @X . .
. . @D . . : . . @Z . .
. . @E . . : . . @Y . .
X
Y
W
datagram forwarding
routing tabof router W
B
C
E
Z
■ Multicast Routing■
8
uting table
A, g1
D, g3
____Bernard Cousin - © IFSIC - Université Rennes I
1.4. Multicast routing
• multicast forwarding
➱ next routers selection (“next-hops”)
• multicast table update
➱ multicast routing protocols
(@g2<-@A [data])
destination : next routeurs
. . @g1 . . : . . @Z, @X, @Y. .
. . @g2 . . : . . @X, @Y. .
. . @g3 . . : . . @Z, @Y. .X
Y
W
multicast data forwarding
multicast roof router W
B, g1, g2
C
E, g1, g2, g3
Z
■ Multicast Routing■
9
____Bernard Cousin - © IFSIC - Université Rennes I1.5. Scalability
Routers process thousands of packets per second
• forwarding process optimization
- processing time is function of the routing table size
. search algorithm complexity: n log(n)
. n: number of destination hosts ==> billions!
Solutions:
• Aggregation
• Hierarchisation
■ Multicast Routing■
10
subnet (“netid”)
ame subnet
secutive IP addresses reached by the
5.255.255]
ity of group members!
0.0.7
4.10.0.9.0/24
____Bernard Cousin - © IFSIC - Université Rennes I
1.6. Aggregation
• Subnetworking
- hosts sharing an address prefix belong to the same
- e.g.: hosts on an Ethernet LAN could belong to the s
• CIDR (“Classless Inter Domain Routing”)
- extension of the previous concept
- one routing table entry for all destinations having consame next router
. european prefix: 194.0.0.0/7 = [194.0.0.0, 195.25
➱ inapplicable to multicast forwarding: no local
194.10.0.7
194.10.0.9
194.10.0.6
194.10.0.8
Ethernet
194.1
19
194.10.0.6
194.10.0.8subnet 194.10.0
Internet
194.10.0.1 194.10.0.1
■ Multicast Routing■
11
l subnets. IGMP messages are sent
manage routing data sent between
ting data sent between routers into
IGMPF
ting domain
____Bernard Cousin - © IFSIC - Université Rennes I
1.7. Hierarchical levels of multicast routing
3 multicast routing levels:
• IGMP protocol monitors group existence on its locabetweengroup hosts and multicast routers.
• Interior multicasting protocols (e.g.: DVMRP or MOSPF)routers into a routing domain.
• Exterior multicasting protocols (e.g.: MBGP) manage routhe backbone domain.
☞ Hierarchy assists scalability.
IGMP
DVMRP
data transmission
MBGP MOSP
backbone rourouting domain
group host router
■ Multicast Routing■
12
packets with the multicast address (as
ng to the group.
lications. Every multicast packets are received by
____Bernard Cousin - © IFSIC - Université Rennes I
2. Multicast addressing
2.1. Introduction
Each IP multicast addressidentifies a group (of hosts)
• IP address of class D: address prefix = “11102”,
• Address range = [224.0.0.0, 239.255.255.255]
Reception:
• Hosts with a multicast address receive every multicastdestination address).
Emission:
• To send a multicast packet to a group, no need to belo
Beware:• never use multicast address as source address.
• No group management: outside IP scope.
• One multicast address can be use simultaneously by several appall hosts of all applications. Multicast packet filtering is required
Multicast packet: a packet with a multicast address
■ Multicast Routing■
13
urce subnet)
5.255, netid-C.255
distant subnet)
____Bernard Cousin - © IFSIC - Université Rennes I
2.2. Reserved multicast address
2.2.1 Broadcast address
• Full “1”!
- Local broadcasting: 255.255.255.255
. broadcasting to every hosts in the local subnet (so
- Distant broadcasting: netid-A.255.255.255, netid-B.25
. broadcasting to every hosts in the “netid” subnet (
local broadcasting distant broadcasting
■ Multicast Routing■
14
s.
dcasting of messages
____Bernard Cousin - © IFSIC - Université Rennes I
2.2.2 Specific multicast address
Specific services could be identified using multicast addres
• Optimization:
- less inopportune processor interruptions due to broa
Examples:
- 224.0.0.1: every hosts on the local subnet
- 224.0.0.2: every routers on the local subnet
- 224.0.0.9: every RIP-2 routers on the local subnet
- etc.
■ Multicast Routing■
15
ual to LAN broadcasting cost
carded it!
ork, so processing of unwanted frames
.
C D+G
A->G
adcasting
____Bernard Cousin - © IFSIC - Université Rennes I
2.3. Broadcasting in Local Area Network
Broadcasting is natural on Lan
☞ LAN == shared medium.
• All LAN hosts received a copy of any LAN frames.
• frame emission cost to a single destination is strictly eq
• Network access card receiving an unwanted frame, dis
. note : Network access cards are dedicated to netwdoes not hinder the CPU
. Bit G of LAN address identifies group address type
Ethernet card
Hosts
Ethernet LAN
A B C D
A->C
A B+G
Single frame emission LAN bro
■ Multicast Routing■
16
one IEEE 802 address
s tuvw
tuvw
bits
____Bernard Cousin - © IFSIC - Université Rennes I
2.4. Multicast address resolution
• multicast IP address☞ MAC group address
Note:
- several (16) multicast addresses are associated with
. e.g.: 224.1.2.3 ou 225.129.2.3⇒ 01 00 5Ε 01 02 03
1110 xxxx x abc defg hijk lmno pqr
- IEEE 802groupe address:0000 0001 0000 0000 0101 1110 0 abc defg hijk lmno pqrs
23 least significant
- multicast address:
■ Multicast Routing■
17
F16):
____Bernard Cousin - © IFSIC - Université Rennes I
2.5. Adressage multicast IPv6
2.5.1 Presentation
IPv6 address proposes a multicast address type (specificprefix: F
• Flag field [4 bits]:
- permanent address or not
- T=0: permanent
- T=1: non-permanent
• Scope field [4 bits]
. 0, F: reserved; 3: subnet scope; 4, 6, 7, 9, A, B, C, D: unused
. substituted for IPv4 TTL field.
• Group identifier field [14 octets]
0xFF flagscope
group identifier
address IPv6 : 16 bytes112 bits8 bits 4 bits 4 bits
- 1 : node-local scope - 2 : link-local scope - 5 : site-local scope - 8 : organization-local scope - E : global scope
■ Multicast Routing■
18
____Bernard Cousin - © IFSIC - Université Rennes I2.5.2 Reserved multicast addresses
• Discovery process optimization
• Examples:
- No host group:
. FF0s::0
- All nodes group:
. FF0s::2 avec s={1, 2, 5, 8, E}
. e.g.: all organization nodes: FF08::1
- All hosts group:
. FF0s::2 avec s={1, 2, 5, 8, E}
. all node interfaces = FF01::2
- All routers group:
. FF0s::3 avec s={1, 2, 5, 8, E}
. e.g.: all site-local routers = FF05::3
- All NTP servers group
. FF0s::43 avec s={1, 2, 5, 8, E}
■ Multicast Routing■
19
, many multicasts trees could be build.
____Bernard Cousin - © IFSIC - Université Rennes I
3. Multicasts trees
3.1. Introduction
Multicast tree:
• The Source host is the root of the tree
• The Destination hosts are the tree leaves
• Network routers are the tree nodes
Given a network topology, given a source and destinations
Multicast tree properties:
• Shortest path tree
• Optimum tree
■ Multicast Routing■
20
the tree
____Bernard Cousin - © IFSIC - Université Rennes I
3.2. Optimum tree
Optimum Spanning tree:
- to minimize the resource cost: link utilization
• all tree nodes belong to the group:
➱ Total spanning tree
• not all tree nodes belong to the group:
➱ Steiner tree
Global optimization of network resources.
- criterion: global cost = total number of links used by
Algorithm complexity of optimum tree building:
• NP-complete problem!
■ Multicast Routing■
21
+2
group member
router
1
____Bernard Cousin - © IFSIC - Université Rennes I
Example:unity cost function, global cost = 7+7, maximum path length = 5
Optimum tree instability:
S
R1
R2
R3
R4
R5 R6
R7 R10
R8
R9 R1
A
B
D
EF G
■ Multicast Routing■
22
rce to each destination
h = 3+2
ls
group member
router
1
____Bernard Cousin - © IFSIC - Université Rennes I
3.3. Shortest path tree
SPF (“shortest path tree”):
• multicast packets follow the shortest path from the sou
• minimum delay (usual application requirement)
- criterion: maximum path length
• Example:unity cost function, global cost = 9+7, maximum path lengt
➱ used by current multicast routing protoco
S
R1
R2
R3
R4
R5 R6
R7 R10
R8
R9 R1
A
B
D
EF G
■ Multicast Routing■
23
tion on root links
management
p:source S1
source S2
2 trees:<S1,G>+<S2,G>
G
G
G
source S1
source S21 sharedtree:<*,G>
G
G
G
____Bernard Cousin - © IFSIC - Université Rennes I
3.4. Shared tree
Sharing of trees:
• one tree for all groups
- total network spanning tree
- e.g.: Spanning Tree protocol for LAN bridging
- drawbacks: non optimal forwarding, traffic concentra
• trees for each group
- e.g.: Internet multicasting tree
- drawbacks: numerous trees, difficult multicast route
Sharing of source-based trees belonging to the same grou
• for a group, different sources produce different trees
- source based tree: <S,G>
. shorter path but resource waste
- shared tree: <*,G>
. resource is more efficiently used but longer path
■ Multicast Routing■
24
ackets: current Internet
n IP):
icast island
b, G
c, G
a -> G
____Bernard Cousin - © IFSIC - Université Rennes I
3.5. Mbone infrastructure
Multicast Backbone: multicast network interconnection
• every multicast network is an multicast island
• interconnected by “tunnels”
- virtual link between multicast networks
• the transit network isn’t required to forward multicast p
Multicast datagram encapsulation in unicast datagrams (IP i
• encapsulation in ingress router of transit network
• dis-encapsulation in egress router
multicast subnetwork transit network
mult
multicast host
a -> G
a
X Y
a -> G X -> Y
tunnelling
encapsulation
■ Multicast Routing■
25
s on their LAN interfaces.
er of this group.
____Bernard Cousin - © IFSIC - Université Rennes I
4. IGMP Protocol
4.1. Introduction
Routers use IGMP protocol to monitor the activity of group
• IGMP: “Internet Group Management Protocol”
• rfc 1112: “Host extensions for IP multicasting”
Definition:
• an active group is detect on a LAN iff a host is a memb
IGMP messages are encapsulated into IP datagrams:
- datagram Protocol field = 2
- note: ICMP has been merged into IGMP for IPv6
routerhost
Internet
(LAN) IGMP
■ Multicast Routing■
26
.
ram with “Destination address” is the
t
is repeated after a random delay
____Bernard Cousin - © IFSIC - Université Rennes I
4.2. Principle
4.2.1 Membership
When a host want to join a group:
• the host sends an “IGMP report” message
- its “Group Address” field contains the group address
• the “IGMP report” message is encapsulated in a dataggroup address
☞ multicast routers listen to any multicast packe
• without response, IGMP report message transmission
☞ loss recovery
■ Multicast Routing■
27
mn
ms with All Nodes Destination address
o monitoring is required for that particular group.
ams with “Destination address” = the
s received by the group member, the
ctive group (traffic minimization)
____Bernard Cousin - © IFSIC - Université Rennes I
4.2.2 Active group lists
Multicast router monitors group activity.
• routeurs send “IGMP query” message
- periodically (but not too often to limit overhead): > 1
- entry which is not refresh in time is discarded
☞ host failure
• “IGMP query” messages are encapsulated into datagra(= 224.0.0.1) and TTL field = 1.
Every node is a member of the group 224.0.0.1. This group is always active. N
Any group member, for each group, sends back:
• an “IGMP report” message after arandom delay[0 - 10 s]!
• “IGMP report” messages are encapsulated into datagrgroup address
• when an IGMP report message on the same group idelayed IGMP report messages is discarded
☞ one IGMP report, each period and for every a
■ Multicast Routing■
28
ery, the router will received no report
is transient phase
G2G1
G1
G1
Report
____Bernard Cousin - © IFSIC - Université Rennes I
4.2.3 Group leave
When a hostleaves a group:
• just do nothing: cease all message group activity
• if the host is the last group member, when the next qufor that group.
☞ multicast routing will be sub-optimal during th
G1 G2G1
G1
G1
Immediat report Querystation
router
■ Multicast Routing■
29
rfc 988)
. . . . . . . . 31 bits
____Bernard Cousin - © IFSIC - Université Rennes I
4.3. IGMP message format
Message length: 8 octets
Version:
- Current version = 1: rfc 1112, 1989 (old version = 0:
Two IGMP message types:
- “Host membershipquery” =1
- “Host membershipreport” = 2
Checksum processing:
- 1-complement addition of the 16 bit words
- same processing than TCP, UDP or IP checksum.
“Group address”:
- multicast IP address identifying the group
version type unused checksum
group address
0 . . . . 4 . . . . . 7. . . . . . . . . . . . 15. . . . . . . . . . . . . . . .
■ Multicast Routing■
30
ed by redundant routers
____Bernard Cousin - © IFSIC - Université Rennes I
4.4. Error Management
Corruption
• Corrupted datagrams are silently discarded.
Loss
• message retransmission on timeout:
☞ datagram forwarding may be inconstant
Failure
• Designated routeur failures can be detected and replac
■ Multicast Routing■
31
ge.
____Bernard Cousin - © IFSIC - Université Rennes I
4.5. IGMP versions
Version 2:
• hosts can send explicit IGMP leave message.
• IGMPv2: rfc 2236, 1997
Version 3:
• any host can send source-specific IGMP report messa
■ Multicast Routing■
32
group G is active (except the subnet
s for all of its interface.
X
[a ⇒ G1] [a ⇒ G1]
a
1,G2 d,G1 e,G1
f,G1
b
[a ⇒ G1]
Multicast packet sending
____Bernard Cousin - © IFSIC - Université Rennes I
4.6. Multicasting on IP subnet
When a router receives a multicast packet for a group G
• it broadcasts the packets on every subnet where thewhere the packet has come from).
Multicast routers monitor group activity.
☞ every IGMP router keeps a list of active group
X
c,G1,G2 d,G1
f,G1
e,G1
<G1,G2> <G1>
<G1,G3,G4,G5,...>
X
[s ⇒ G2]
[s ⇒ G2]
IGMP router
host
s : external source
c,G1,G2 d,G1 e,G1 c,G
f,G1aa
b b
Active group lists Multicast packet reception
■ Multicast Routing■
33
rotocols
____Bernard Cousin - © IFSIC - Université Rennes I
5. Multicast routing
Building of a broadcast tree is costly and complex.
Some solutions:
• network topology knowledge
- information coming from “link state” unicast routing p
. e.g.: OSPF => MOSPF
• routing information:
- information coming fromunicast routing table
- 2 main techniques:
. “Reverse Path Forwarding”
. “Core Based Tree”
☞ RPM =>DVMRP
■ Multicast Routing■
34
, except the input interface
ket copies!
er
t flooding
____Bernard Cousin - © IFSIC - Université Rennes I
5.1. Flooding
• Flooding broadcast
- received packets are forwarded to all output interface
- simple, reliable, optimal (!)
- destination location independent: imprecise
- many problems: congestion, cycles and multiple pac
multicast source
multicast router
interfaces
source rout
packe
!
■ Multicast Routing■
35
her interfaces.
l as the (shortest) path from the router
er
acket forwarding
iscarding
____Bernard Cousin - © IFSIC - Université Rennes I
5.2. Reverse Path Forwarding
Cycle suppression added to flooding.
Principle:
• every packet receivedon root interface is broadcast to all ot
• every packet received onother interfaces are discarded.
For each source, the root interface of a router is:
• the interface designated by the unicast routing protocoto the source.
multicast source S router
root interface to S
other interfacessource S rout
source Srouteur
RPF p
RPF packet d
■ Multicast Routing■
36
dcasting, then:
eceives a copy (at less) of every
ee to S
ts coming from S
____Bernard Cousin - © IFSIC - Université Rennes I
5.3. Reverse Path Broadcasting
If every network router in network uses Reverse Path Broa
• RPB tree
• algorithm with no additional states
• any routers, any LAN host (regardless of its membership) rpacket
G G
G
G
host member router
RPB tr
G
G
root interface flooding packe
multicast source S
host station
Gof group G
■ Multicast Routing■
37
bers of the group.
on every router interface.
c
dG-truncated LAN
____Bernard Cousin - © IFSIC - Université Rennes I
5.4. Truncated Reverse Path Broadcasting
To truncate inactive LANs from the broadcast tree.
For a group, a LAN is inactive iff there is no LAN host mem
• IGMP protocol is designated to monitor Group activity
multicast source
designated
G
LAN
host
a
c
d
XY
b
IGMP multicast source
Ga
XY
b
G-fed LAN
IGMP
host member of group GG
router
■ Multicast Routing■
38
broadcast tree S
____Bernard Cousin - © IFSIC - Université Rennes I
5.5. Improved broadcast tree
G G
G
G
host router
Truncated
G
G
for source
Source S
■ Multicast Routing■
39
ters:
of every packets.
:
ugh router specific message exchanges:
rce
Gb
____Bernard Cousin - © IFSIC - Université Rennes I
5.6. Multi router LAN
LAN may have redundant connections through several rou
• Hosts on multi-connected LAN receive multiple copies
A router is designated to feed the shared LAN. This router
• is on the shortest pathto the source
• has the lowest address(in case of length equality)
- same technique used by “Spanning Tree” protocol
Routers could deduce other routers presence on a LAN thro
- routing protocol
- IGMP protocol
multicast source
router
G
hosta b
multicast sou
a
routeurdesignated
■ Multicast Routing■
40
everse Path Broadcasting
ed RPB tree
broadcast tree forsource S
____Bernard Cousin - © IFSIC - Université Rennes I
5.7. Truncated-Reverse Path Broadcasting
➱ Truncated tree without message duplication based on R
G G
G
G
host routeur
Truncat
G
G
multicast source S
non-designated router interface
■ Multicast Routing■
41
source to a group G and, if
interface toward S.
erfaces:
roup membermulticast data packet
pruning message
multicast tree link
runed link
____Bernard Cousin - © IFSIC - Université Rennes I
5.8. Pruning
Some broadcast tree branchesdo not feed any group member!
• T-RPB tree is a Total network spanning tree.
Specific messages will prune useless branches.
When a router receives a multicast data packet sent from a
all router interfaces are G-inactive,
• the router sends back a G-prune message on the root
When a router receives a G-prune message on all of its int
• it forwards the G-prune message on the root interface.
multicast sourceg
p
■ Multicast Routing■
42
e
____Bernard Cousin - © IFSIC - Université Rennes I
5.9. RPM tree
➱ Reverse Path Multicasting
- T-RPB + pruning
G G
G
G
host router
RPM tre
G
G
multicast source
RPM link
■ Multicast Routing■
43
ity of groups have to be monitor-
t will be received
____Bernard Cousin - © IFSIC - Université Rennes I
5.10. RPM evaluation
Scalability
• on every router interface, for every network group, the activing
- many and long active group lists
Tree monitoring is required due to
• topology modification:
- link or router failures or insertions
• group membership join or leave
Trial and error
- a timer is associated with each list entry
. when the timer expires the entry is canceled
- group list entries are managed as soft state
- an entry will be recreated when multicast data packe
- entry cancellationleads to multicast data flooding
☞Core Based Tree protocols
■ Multicast Routing■
44
unknown of users)
icasting (fact deliberately ignored by
nicast sea.
____Bernard Cousin - © IFSIC - Université Rennes I
6. Conclusion
Many operating systems integrate multicast IP driver (fact
Most routers integrate multicast functions required by multsome network administrators whose don’t want to know).
Many applications could benefit from multicasting.
Slowly the Mbone is spreading:
- through tunneling between multicast islands into a u
Reliable multicast data transmission is required.