SlideShare a Scribd company logo
1
MulticastMulticast IPIP
Jean-Louis Rougier
ENST – Dpt. INFRES
rougier@infres.enst.fr
Anthony Busson
IEF – Université Paris Sud
anthony.busson@u-psud.fr
ENST-U-PSUD 22
VocabularyVocabulary
• Unicast:
Point to point Transmission
• Broadcast:
Global transmission
• Multicast:
Transmission to a group (a subset of nodes).
Multipoint to Multipoint communication or
Point to Multipoint communication.
• Anycast:
Point to Point Transmission to a member (not
specified by the user) of a group.
2
ENST-U-PSUD 33
MotivationsMotivations
• Network resources optimization.
Source
Unicast
Source
Multicast
Multiplication
3
2
ENST-U-PSUD 44
Multicast problems : first visitMulticast problems : first visit
The previous example shows that we need:
• A new addressing scheme.
– What must be the destination address of a multicast
packet? It is necessary to define the notion of groupe
address : GDA concept (Group Destination Address)
– It is different of the paradigm : “one interface = one
address”.
• The capacity “to multiply” the packet (multiplication) in
the routers and in the layer 2 devices.
3
ENST-U-PSUD 55
MulticastMulticast AddressesAddresses
• IANA has allocated a prefix for the multicast.
– In IPv4, it is the class D, i.e.
224.0.0.0 — 239.255.255.255.
– Addresses 224.0.0.0/8 are reserved (« Well-Known Addresses »)
• There is no address allocation algorithm defined.
– Possibility of collisions.
1110
Group ID
28 bits
ENST-U-PSUD 66
Multicast problems: second visit (1)Multicast problems: second visit (1)
The multicast suffers from scalability issues
• States to store:
– It is not possible to store locations of the different group members (too
much information). Therefore, the multicast tree must be built without the
knowledge of the member locations!!!
• Complexity of the management plane:
– Is a Specific control protocol required to build the multicast tree?
Source
4
ENST-U-PSUD 77
TheThe DeeringDeering modelmodel
• The multicast has been introduced by a PhD student named Steven
Deering in 1988. The model is the following:
– Datagram paradigm « like IP »:
• Connectionless oriented
• Best-Effort
– Groups are open.
• No knowledge of the group or its member is necessary to transmit to
this group.
• Anyone can transmit to the group (even if it is not a member).
– Groups are dynamic.
• No registration is necessary to participate to a a group.
• There is no centralized management of the groups.
• Any host can join a group.
Conclusion: the multicast is open, OK for a campus network but the
service model does not fit with the security required in a
commercial network (as is the Internet today).
MulticastMulticast in a LANin a LAN
5
ENST-U-PSUD 99
Multicast IP in a LANMulticast IP in a LAN
• LAN technologies has (in general) multicast capabilities.
• There are MAC Multicast address:
01 – 00 – 5E Group ID (23bits)
• IANA has defined a very simple algorithm to map an IPv4 multicast
address in a MAC multicast address (the last 23 bits of the IP multicast
address are mapped in the MAC address):
01–00–5E Group ID (23bits)
1110
Group ID - 28 bits
23 bits
ENST-U-PSUD 1010
MulticastMulticast in an Ethernet LAN (1)in an Ethernet LAN (1)
• There is a link-layer filtering of the multicast frame.
• On a bus, multicast frames are broadcasted, and thus received
by all the stations
+ +
+ +
6
ENST-U-PSUD 1111
MulticastMulticast in an Ethernet LAN (2)in an Ethernet LAN (2)
• On a switched network, the switch retransmits the multicast frame on
all its ports (except the port on which it receives the frame).
H1 H2 H3 H4
Router
Switch
+ +
ENST-U-PSUD 1212
MulticastMulticast andand EthernetEthernet
• [RFC 4541] : When processing a packet whose destination MAC address is a
multicast address , the switch will forward a copy of the packet into each of the
remaining network interfaces that are in the forwarding state.
Router
H1 H2 H3 H4
+ +
H9 H10
+
H5 H6 H7 H8
7
ENST-U-PSUD 1313
MulticastMulticast et Ethernetet Ethernet
• [RFC 4541] : When processing a packet whose destination MAC address is a
multicast address , the switch will forward a copy of the packet into each of the
remaining network interfaces that are in the forwarding state.
Router
H1 H2 H3 H4
+ +
H9 H10
+
H5 H6 H7 H8
ENST-U-PSUD 1414
MulticastMulticast on aon a WifiWifi LAN (1)LAN (1)
• The mapping IP multicast address MAC multicast address is the
same (MAC addresses are the same in wifi and Ethernet).
• There are two steps with the multicast frame transmission:
– unicast transmission of the frame from station to the access point
Access Point
Router
Ethernet
H1
H2
H3
H4
ACK
+
+
8
ENST-U-PSUD 1515
MulticastMulticast on aon a WifiWifi LAN (2)LAN (2)
• The mapping IP multicast address MAC multicast address is the
same (MAC addresses are the same in wifi and Ethernet).
• There are two steps with the multicast frame transmission:
– unicast transmission of the frame from station to the base station
– multicast transmission (broadcast) from the access point on the Wifi
network and on the Ethernet network.
• Problems:
– The frame is sent even if there is members on the Wifi network,
– The frame is sent at the lowest data-rate.
Access Point
Router
Ethernet
H1
H2
H3
H4
+
+
IGMPIGMP
Internet GroupInternet Group MembershipMembership ProtocolProtocol
9
ENST-U-PSUD 1717
Internet GroupInternet Group MembershipMembership ProtocolProtocol
• IGMP (Internet Group Membership Protocol) :
• A host which wants to be member of a multicast group (received packets
transmit on this group) has to inform its router.
• This allows the router to know if there are members of a given group on a link
(an interface).
– The protocol is based on a polling system:
• The router send periodically IGMP-Query message.
• For each IGMP-Query, the Hosts send an answer (IGMP-reply message) for each
multicast group they participate.
H1 H2 H3 H4
Router
Switch
IGMP.reply
+
ENST-U-PSUD 1818
Internet GroupInternet Group MembershipMembership ProtocolProtocol
• IGMP (Internet Group Membership Protocol) :
• A host which wants to be member of a multicast group (received packets
transmit on this group) has to inform its router.
• This allows the router to know if there are members of a given group on a link
(an interface).
– The protocol is based on a polling system:
• The router send periodically IGMP-Query message.
• For each IGMP-Query, the Hosts send an answer (IGMP-reply message) for each
multicast group they participate.
H1 H2 H3 H4
Router
Switch
+
10
ENST-U-PSUD 1919
Internet GroupInternet Group MembershipMembership ProtocolProtocol
• IGMP (Internet Group Membership Protocol) :
• A host which wants to be member of a multicast group (received packets
transmit on this group) has to inform its router.
• This allows the router to know if there are members of a given group on a link
(an interface).
– The protocol is based on a polling system:
• The router send periodically IGMP-Query message.
• For each IGMP-Query, the Hosts send an answer (IGMP-reply message) for each
multicast group they participate.
H1 H2 H3 H4
Router
Switch
IGMP.reply
+
ENST-U-PSUD 2020
Internet GroupInternet Group MembershipMembership ProtocolProtocol
• IGMP (Internet Group Membership Protocol) :
• A host which wants to be member of a multicast group (received packets
transmit on this group) has to inform its router.
• This allows the router to know if there are members of a given group on a link
(an interface).
– The protocol is based on a polling system:
• The router send periodically IGMP-Query message.
• For each IGMP-Query, the Hosts send an answer (IGMP-reply message) for each
multicast group they participate.
H1 H2 H3 H4
Router
Switch
+ +
IGM
P.Query
Switch
11
ENST-U-PSUD 2121
Internet GroupInternet Group MembershipMembership ProtocolProtocol
• IGMP (Internet Group Membership Protocol) :
• A host which wants to be member of a multicast group (received packets
transmit on this group) has to inform its router.
• This allows the router to know if there are members of a given group on a link
(an interface).
– The protocol is based on a polling system:
• The router send periodically IGMP-Query message.
• For each IGMP-Query, the Hosts send an answer (IGMP-reply message) for each
multicast group they participate.
H1 H2 H3 H4
Router
Switch
+ +
Protocole IGMPProtocole IGMP
Internet Group managementInternet Group management ProtocolProtocol
Version 2 (RFC 2236)Version 2 (RFC 2236) andand 3 (RFC 3376)3 (RFC 3376)
12
ENST-U-PSUD 2323
IGMPv2IGMPv2 OperationsOperations
• The router maintains a table for each interface. This table contains the list of
multicast groups for which there is at least one member (on this interface).
Example:
– Interface eth0: (@multicast , receveir yes/no).
– It does not keep the members list nor the number of members.
• Join a group
– The router emits periodically an IGMP-Query message on every link.
– Upon reception of a IGMP-Query, a Host triggers a timer for each groups it belongs.
The duration of this timer is random.
• If this Host receives an IGMP-reply coming from another Host for a group it
belongs, it cancels the corresponding timer and do nothing else.
• If this Host has not received an IGMP-reply from another Host at the expiration
of the timer, it send an IGMP-reply.
– When a Host join a new group, it has to emit an unsolicited IGMP-reply.
• Leave a group
– A Host that do not want to participate to a group send an IGMP-leave message to the
router.
– The router MAY send an IGMP-query specific to the group. This allows the router to
verify if there are members for this group.
ENST-U-PSUD 2424
IGMPv2 message FormatIGMPv2 message Format
• The IGMP Message are encapsulated in IP packets:
• 4 types are defined:
– 11 - 00001011 – Request to identify if the active groups (Membership Query message
=IGMP-Query).
– 12 - 00001100 – Membership report; It is send by an active members (Membership
Report = IGMP-reply used in IGMP version 1).
– 16 - 00010000 –Membership report; It is send by an active members (IGMP-reply used
in IGMP version 2).
– 17 - 00010001 – Used by an active member to announce that it leaves a group.
• Max Resp Time : the active members have to answer before this time.
• Group address
– In the router request (Membership Query message ) this field is 0
– In the answers from the Hosts (Membership Report or Leave Group message), this
field contains the address of the reported/left group.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Max Resp Time | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Group Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
13
ENST-U-PSUD 2525
IGMPv3 request formatIGMPv3 request format
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| Type = 0x11 |Max Resp Code| Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| Group Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| Resv |S| QRV | QQIC | Number of Sources (N) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| Source Address [1] |
+- -+
| Source Address [2] |
+- . -+
. .
. .
. .
+- -+
| Source Address [N] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
ENST-U-PSUD 2626
IGMPv3 report formatIGMPv3 report format
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x22 | Reserved | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Number of Group Records (M) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. .
. Group Record [1] .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. .
. Group Record [2] .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . |
. . .
| . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. .
. Group Record [M] .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Record Type | Aux Data Len | Number of Sources (N) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Multicast Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address [1] |
+- -+
| Source Address [2] |
+- -+
. . .
. . .
. . .
+- -+
| Source Address [N] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. .
. Auxiliary Data .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
14
IGMPIGMP SnoopingSnooping
ENST-U-PSUD 2828
IGMPIGMP snoopingsnooping (1)(1)
• IGMP-snooping: IGMP message are intercepted by the Ethernet switch.
– First, IGMP-Query from the router are intercepted. It allows the switch to
maintain a « router ports » table.
H1 H2 H3 H4
Router
Switch
+ +
IGM
P.Query
Router ports
24
Port 1 Port 8 Port 24
15
ENST-U-PSUD 2929
IGMPIGMP snoopingsnooping (2)(2)
• IGMP-snooping: IGMP message are intercepted by the Ethernet switch.
– First, IGMP-Query from the router are intercepted. It allows the switch to
maintain a « router ports » table.
– The « IGMP Snooping table » indicates on which interfaces IGMP-reply have
been received. The table contains an entry for each active multicast group.
H1 H2 H3 H4
Router
Switch
IGMP.reply
+ +
Port 1 Port 8 Port 24 IGMP Snooping table
Adresse multicast (Ethernet)
liste des ports
01-00-5e-00-00-01 1; 24
Router ports
24
ENST-U-PSUD 3030
IGMPIGMP snoopingsnooping (3)(3)
• IGMP-snooping: IGMP message are intercepted by the Ethernet switch.
– First, IGMP-Query from the router are intercepted. It allows the switch to maintain a
« router ports » table.
– The « IGMP Snooping table » indicates on which interfaces IGMP-reply have been
received. The table contains an entry for each active multicast group.
– IGMP-reply are not retransmitted on all ports in order to receive IGMP-report from all
the active members.
• Proxy IGMP: the switch can filter the IGMP-reply and send only one IGMP-reply
for each active group.
H1 H2 H3 H4
Router
Switch
IGMP.reply
IGMP.reply
+ +
Port 1 Port 8 Port 24 IGMP Snooping table
Adresse multicast (Ethernet)
liste des ports
01-00-5e-00-00-01 1; 24; 8
Router ports
24
16
ENST-U-PSUD 3131
““IGMP SnoopingIGMP Snooping”” : switching (1): switching (1)
H1 H2 H3 H4
Router
Switch
+ +
IGMP Snooping table
Adresse multicast (Ethernet)
liste des ports
01-00-5e-00-00-01 1; 24; 8
• Upon reception of a multicast packet, the switch lookup its « IGMP snooping
table »,
– If there is an entry, it forwards the multicast frame on all the “listed port” and on the
« router ports » except the interface on which it receives the frame,
– If there is no entry, it broadcasts the multicast frame on all the ports except the
interface on which it receives the frame.
ENST-U-PSUD 3232
““IGMP SnoopingIGMP Snooping”” : switching (2): switching (2)
H1 H2 H3 H4
Router
Switch
+ +
IGMP Snooping table
Adresse multicast (Ethernet)
liste des ports
01-00-5e-00-00-01 1; 24; 8
• Upon reception of a multicast packet, the switch lookup its « IGMP snooping
table »,
– If there is an entry, it forwards the multicast frame on all the “listed port” and on the
« router ports » except the interface on which it receives the frame,
– If there is no entry, it broadcasts the multicast frame on all the ports except the
interface on which it receives the frame.
17
ENST-U-PSUD 3333
«« IGMPIGMP SnoopingSnooping »» : Optimal: Optimal treetree
• If all the Ethernet switch implement IGMP snooping , an optimal
multicast tree is built for each multicast group.
Router
H1 H2 H3 H4
+ +
H9 H10
+
H5 H6 H7 H8
IGMP
reply
IGMP
reply
IGMP
reply
IGMP
reply
IGMP reply
ENST-U-PSUD 3434
«« IGMPIGMP SnoopingSnooping »» : Optimal: Optimal treetree
• If all the Ethernet switch implement IGMP snooping , an optimal
multicast tree is built for each multicast group.
Router
H1 H2 H3 H4
+ +
H9 H10
+
H5 H6 H7 H8
18
MulticastMulticast IPv6IPv6
MLD (MLD (MulticastMulticast ListenerListener DiscoveryDiscovery))
ENST-U-PSUD 3636
AdressageAdressage MulticastMulticast en IPv6en IPv6
• The address range for multicast is FF00::/8
• The first byte is 11111111 (0xFF)
• The flags (Figure below) must have the first 3 bits equal to 0 (reserved) and the
fourth
– equal to 1for temporary addresses (temporary multicast group : videoconference, etc.)
– equal to 0 for permanent group (used by a protocol or a determined group)
• The field “scope” defined the address scope:
– local
– link local
– site
– organization
– global
FF00
Group ID
112 bits
flags de 4 bits
scope (4 bits)
19
ENST-U-PSUD 3737
MulticastMulticast IPv6 :IPv6 : mappingmapping IPv6IPv6 EthernetEthernet
33-33 Identifiant du groupe (32 bits)
FF00
Group ID - 112 bits
32 bits
ENST-U-PSUD 3838
MLD:MLD: MulticastMulticast ListenerListener DiscoveryDiscovery
• MLDv1 : close to IGMPv2 operations
– Polling from the router
– Random timer before sending a MLD report message
– Leave message from a leaving Host and solicitation from the router for this
group.
– etc.
• MLDv2 : close to IGMPv3 operations
IPv6 Header ICMPv6 Header MLD message
@Source: link local
@dest: everybody (FF02::1) or multicast
address multicast of a group
20
ENST-U-PSUD 3939
Special AddressesSpecial Addresses
• Solicited multicast addresses are built from the IPv6 address of an
Interface.
• They are used, for example, by the ICMP Neighbor Discovery
operations.
FF02::1:FF00:0
104 bits are predetermined
xxxx:yyyy:zzzz
The last 24 bits of the unicast
address
MulticastMulticast IP :IP :
routingrouting
21
ENST-U-PSUD 4141
MulticastMulticast IPIP
Router
Router
Router
Router
Router
+ +
+
+ +
+
ENST-U-PSUD 4242
MulticastMulticast IPIP
Router
Router
Router
Router
Router
22
ENST-U-PSUD 4343
Multicast tree implementations : two approaches.Multicast tree implementations : two approaches.
• Number of entries in the routing table:
– The routing table size may be huge with source-specific tree. A solution
consists in using a shared tree. There is only one tree whatever the number
of sources (emitters).
Source-specific tree.
Number of entries: O(S*G)
Shared tree.
Number of entries: O(G)
Multicast Routing Table
-----------------------------------------------------
…
( * , 225.23.53.1) Eth0, Eth1
…
Multicast Routing Table
-----------------------------------------------------
…
( * , 225.23.53.1) Eth0, Eth1
…
Multicast Routing Table
-----------------------------------------------------
…
(S1, 225.23.53.1) Eth0, Eth1
(S2, 225.23.53.1) Eth1
…
Multicast Routing Table
-----------------------------------------------------
…
(S1, 225.23.53.1) Eth0, Eth1
(S2, 225.23.53.1) Eth1
…
ENST-U-PSUD 4444
MulticastMulticast routingrouting table:table: SourceSource--specificspecific treetree (1)(1)
Multicast Routing Table
-----------------------------------------------------
S G Incoming Interface Outgoing Interface(s)
129.175.237.21 225.23.53.1 Eth0 Eth1, Eth2
132.134.27.11 225.23.53.1 Eth3 Eth2, Eth1
132.134.27.11 245.213.126.12 Eth3 Eth1, Eth4
…
Multicast Routing Table
-----------------------------------------------------
S G Incoming Interface Outgoing Interface(s)
129.175.237.21 225.23.53.1 Eth0 Eth1, Eth2
132.134.27.11 225.23.53.1 Eth3 Eth2, Eth1
132.134.27.11 245.213.126.12 Eth3 Eth1, Eth4
…
IP Address of the
source
Multicast IP Address
(the group)
Interface on which packets
arrive.
Interfaces on which packets are
multiplied/forwarded.
23
ENST-U-PSUD 4545
Multicast routing table: Shared tree (1)Multicast routing table: Shared tree (1)
Multicast Routing Table
---------------------------------------------------------------
G Incoming Interface
225.23.53.1 Eth1, Eth2, Eth3
225.23.53.34 Eth2, Eth1
245.213.126.12 Eth1, Eth4, Eth0
…
Multicast Routing Table
---------------------------------------------------------------
G Incoming Interface
225.23.53.1 Eth1, Eth2, Eth3
225.23.53.34 Eth2, Eth1
245.213.126.12 Eth1, Eth4, Eth0
…
Multicast IP address
(the group)
List of the Interfaces which belong to
the shared tree.
SourceSource--specific tree:specific tree:
DVMRP and PIMDVMRP and PIM--DMDM
24
ENST-U-PSUD 4747
DeeringDeering’’ss worksworks
• Deering’s works:
– Emulate the broadcast (that exists in link-layer technologies) in IP network.
– Definition of the RPF algorithm (Reverse Path Flooding)
1
2
3
Accepted, Accepted, Refused, etc.
ENST-U-PSUD 4848
DeeringDeering’’ss worksworks (2)(2)
• Deering’s works:
– Definition of the RPB (Reverse Path Broadcasting) algorithm. The routing
tables of the neighbors are analyzed.
• If we are not on the path between a neighbor router and the source,
the packet is not forwarded toward this neighbor.
• Note: a distance vector protocol is required.
The RPB algorithm build a spanning tree centered on the source.
25
ENST-U-PSUD 4949
DeeringDeering’’ss worksworks (3)(3)
– Definition of the TRPB algorithm (Truncated Reverse Path Broadcasting).
• It uses IGMP information.
• A multicast stream is not emitted on an Interface if there is no member
for this group and if there is no neighbor router (RPB algorithm).
The RPB algorithm build a spanning tree centered on the source.
IGMP
ENST-U-PSUD 5050
Mbone: TunnelsMbone: Tunnels
– Vision des tunnels en 1996 (source: www.caida.org)
⇐
26
ENST-U-PSUD 5151
MM--BoneBone:: MulticastMulticast sessions managementsessions management
• Multicast sessions: managed by sdr (session directory)
– SDP: Session Directory Protocol.
– SAP: Session Announcement Protocol.
– SIP: Session Initiation Protocol.
ENST-U-PSUD 5252
Example of multicast session in the MExample of multicast session in the M--bonebone
• Progress of a multicast session
create session
and begin to
transmit
SDP
RTP
IGMP
Routage
RTP
join session
Reception of the stream
emitted by
launch SDRIGMP
RoutageRTP
SDP
27
SharedShared treetree::
PIMPIM--SMSM
ENST-U-PSUD 5454
MulticastMulticast routingrouting: PIM: PIM--SMSM
• PIM-SM: Sparse Mode. RFC 2362.
– No periodical broadcast: Definition of control messages (soft-state) to build the
tree.
– Two phases:
• Sources discovering. A CBT (Core Based Tree) is built based on a
Rendezvous point. The tree is used to discover active sources (packets
forwarding as long as the Shortest Path Tree – SPT is built).
• Data transfer. Source-specific tree (and SPT) are built for the data transfer.
– Comment:
• RPs are administratively positioned
• Groups may be split among several RPs. A hash function is used, and a
subset of the multicast addresses is allocated to a given RP.
• Bootstraps of the RPs.
• Acronyms:
– CBT: Core Based Tree
– SPT: Shortest Path Tree
– PIM-SM: Protocol Independent Multicast – Sparse Mode
28
ENST-U-PSUD 5555
MulticastMulticast routingrouting: PIM: PIM--SM (2)SM (2)
• First phase. A CBT tree is built. A branch is built toward the core.
• When a router receives a join for a multicast group, it checks if it has an entry
for this group
• If yes, it adds the incoming interface (for the join) in the list of the Interfaces in
the corresponding routing table entry.
• If no, it creates a new entry in the routing table and
– it adds the incoming interface (for the join) in the list of the Interfaces in the
corresponding routing table entry
– It checks in this unicast routing table what is the next hop to join the core, it forwards
the join to this next hop and add the corresponding interface in the multicast table
entry.
– Join are send periodically (Soft-state protocol).
RP
IGMP
IGMP
Join (*,G)
Join (*,G)
Join (*,G) Join (*,G)
ENST-U-PSUD 5656
MulticastMulticast RoutingRouting : PIM: PIM--SM (3)SM (3)
• Emission on the CBT
– The leaf router send a multicast packet encapsulated in an unicast packet
directly to the core via a register message.
– A branch is built from the core to the leaf router. It is source-specific
branch. It means that the source will not receive the multicast IP packets
from the other sources.
– Reminder: Any Host can send multicast packets on the multicast tree, the
source has not to belong to the tree.
Source DRRegister
29
ENST-U-PSUD 5757
MulticastMulticast RoutingRouting : PIM: PIM--SM (4)SM (4)
• Data transfer: A source-specific multicast tree (SPT) is built for each
active source.
– When a leaf router detects a new active source, it builds a branch to this
source. It uses the same mechanisms that for the CBT except that the core
is now the source itself (the DR of the source).
– We prevent the transmission on the CBT branch by the use of
« prune(S,G) » message.
RPJoin (S,G)
Join (S,G)
Prune (S,G)
Prune (S,G)
Source
ENST-U-PSUD 5858
PIMPIM--SM routing tableSM routing table
• We check if there is a (@S,@G) entry the packet is forwarded
– a flag indicates if this entry is used to forward or to filter.
• If there is no (@S,@G) entry, we check if there is a (*,@G) entry
Multicast Routing Table
-----------------------------------------------------
S G Incoming Interface Outgoing Interface(s) Flag
129.175.237.21 225.23.53.1 Eth0 Eth1, Eth2
132.134.27.11 225.23.53.1 Eth3 Eth2, Eth1
132.134.27.11 245.213.126.12 Eth3 Eth1, Eth4
* 245.213.126.12 Eth2 Eth1, Eth2
…
Multicast Routing Table
-----------------------------------------------------
S G Incoming Interface Outgoing Interface(s) Flag
129.175.237.21 225.23.53.1 Eth0 Eth1, Eth2
132.134.27.11 225.23.53.1 Eth3 Eth2, Eth1
132.134.27.11 245.213.126.12 Eth3 Eth1, Eth4
* 245.213.126.12 Eth2 Eth1, Eth2
…
The Interface on which
multicast packets are
supposed to arrive.
Interfaces on which multicast packets are
duplicated.
30
ENST-U-PSUD 5959
MSDP :MSDP : PeeringPeering
• MSDP:
– Two RPs communicate with a TCP connection (« MSDP peering »).
– The SA (Source Advertisement) are transmitted from RP to RP.
– SA are generated after the reception of a « Register » message.
– Sa are broadcast by the RPF algorithm, periodically or on request.
Register
MSDP Peering
SA
SA
SA
⇒
RP
RP
RP
RP
ENST-U-PSUD 6060
MSDP : Interaction with PIMMSDP : Interaction with PIM--SMSM
• MSDP:
– If receivers for a group are present in the AS, they will join the SPT tree
(S,G).
MSDP Peering
⇒
RP
RP
RP
RP
31
ENST-U-PSUD 6161
Conclusions on routingConclusions on routing
• Today, routing is based on the « ASM » (Any Source Multicast)
paradigm
– no statistics on the number of receivers (billing, etc.),
– No control on the sources (any Host can emit),
– The uniqueness of the multicast address is not guarantee. Addresses
duplication is possible.
• Weakness of the protocols:
– Security:
• Denis of Service (address scanning,…)
– Scalability issues:
• MSDP is not a long-term solution (for routing at the Internet scale).
• Remarks: However, Multicast deployment is possible :
– The access control (for receivers) may be solved if it is not the receivers
themselves which manage IGMP (for example, IGMP may be controlled by a
set-top box).
– Security: Routers can filter multicast packets (for example, only certain
sources are permitted)
– Scalability issues : Not a problem within an Intranet, or within an ISP (for
multicast session where both receivers and source are in this ISP).
Multicast IP:Multicast IP:
toward a controlled Multicast IPtoward a controlled Multicast IP
(SSM: Source Specific Multicast)(SSM: Source Specific Multicast)
SSM
32
ENST-U-PSUD 6363
SSM: architecture presentationSSM: architecture presentation
• Notion of « channel »:
– a channel is identified by a multicast IP address G and a Source IP address
S (unicast).
• Benefits of the approach :
– Address allocation : no more « collisions »
– Access control : only the source S can emit on a channel.
– SPT on the Source.
• Implementation
– It is necessary to know the IP address of the source
– IGMPv3 (source specific Query)
– PIM-SSM (PIM-SM extension)
– A specific address range has been allocated for SSM. PIM-SM and PIM-SSM
may co-exist.
⇒
ENST-U-PSUD 6464
Implementation: PIMImplementation: PIM--SSMSSM
• Example of interaction IGMPv3/PIM-SSM
Source DR
⇒
S
R
Join
(S,G)
IGMP.Query (S,G)
R
Emission
on (S,G)
Destroy
33
MulticastMulticast IPIP
ExampleExample:: thethe videovideo inin xDSLxDSL NetworkNetwork
ENST-U-PSUD 6666
DSLAM
IP Network
ATM
Network
BAS
X
X
X
X
DSL Access Network : Architecture example (1)DSL Access Network : Architecture example (1)
• Case 1: ATM DSLAM, possibilities to establish « Switched VC »
(UNI.3.1/4.0/4.1).
– IGMP Messages are transmitted from the ‘‘Set-top Box’’ and the BAS
(Broadband Access Server)
– Point to Multipoint Switched VC are established by the BAS with regard to the
received IGMP messages.
– Problems : great load on the BAS (IGMP Sig. UNI). Response time may be
great when a Host changes its channel (multicast group).
PIM-SMIGMP
34
ENST-U-PSUD 6767
DSLAM
IP Network
ATM
Network
BAS
X
X
X
X
• Case 2: ATM DSLAM, but the DSLAM listen IGMP messages (IGMP
snooping).
– The DSLAM listen IGMP messages exchanged between the « Set-top Box » and
the BAS (proprietary solution).
– Point to Multipoint Switched VC are established by the BAS with regard to the
received IGMP messages.
IGMP (proxy)
IGMP
PIM-SM
DSL Access Network : Architecture example (2)DSL Access Network : Architecture example (2)
ENST-U-PSUD 6868
Ethernet
DSLAM IP Network
Ethernet
Access
Network
BAS
X
X
X
X
• Case 3: Ethernet DSLAM (deployment since 2005).
– IGMP between the ‘‘Set-top Box’’ and the Bas, and « IGMP snooping » for the
DSLAM
– Used of multicast Ethernet/IP multicast in the Ethernet Access Network.
IGMP (Proxy)
IGMP
PIM-SM
DSL Access Network : Architecture example (3)DSL Access Network : Architecture example (3)
35
ENST-U-PSUD 6969
Ethernet/IP
DSLAM IP Network
Ethernet/IP
Access
Network
BAS
X
X
X
X
• Case 4 : IP-DSLAM.
– IGMP between the ‘‘Set-top Box’’ and the DSLAM.
– DSLAM implements the routing protocol PIM-SM.
– Used of IP multicast in the access network.
PIM-SM
IGMP
PIM-SM
DSL Access Network : Architecture example (4)DSL Access Network : Architecture example (4)
TransportTransport MulticastMulticast
36
ENST-U-PSUD 7171
Technology LayersTechnology Layers
Transport
Routing
Applications
TCP
IP IP Multicast
Network Layers
Application
Reliable Multicast
Unicast Multicast
From Brian Whetten, “Transport and Application level Multicast”,
Network Group Communications 2000, Stanford, Palo Alto, USA
ENST-U-PSUD 7272
source
ACKs
source
000
1 1
1 1 1
2 2 33
2
Feedback implosion
Source multicasts
retransmissions
Problems with the transport multicastProblems with the transport multicast
37
ENST-U-PSUD 7373
Other problems : rate controlOther problems : rate control
• The source does not know the receivers (number, access rate, etc.)
• How the source does compute the emission rate?
– If the source chooses the lowest rate
• all the receivers are penalized, and
• it required a feedback from the receivers (RTT, loss rate, etc.).
– If the source chooses the man or the highest rate
• it may cause congestion, and
• it required a feedback from the receivers (RTT, loss rate, etc.).
• It is necessary that the source adapts its rate to the network
congestion state.
ENST-U-PSUD 7474
IETF StandardsIETF Standards
• Loss recovery
– NORM : Negative-acknowledgment (NACK)-Oriented Reliable Multicast
Protocol (RFC 3940).
– FEC Forward Error Correction (RFC 3452, 3453, 3695)
• Evaluation and control of the emission rate
– TFMCC: TCP-Friendly Multicast Congestion Control (RFC 4654)
– WEBRC: Wave and Equation Based Rate Control (RFC 3738)
38
ENST-U-PSUD 7575
NORM:NORM:
– Approche basée sur des temporisateurs (« timers »)
• Ex: SRM (Scalable Reliable Multicast) utilisé dans wb.
• Basé sur des temps d’attente aléatoires, avant transmission d ’un NACK.
• Les NACKs sont diffusés dans tout le groupe.
• Envoie du NACK annulé si un NACK identique est détecté.
• Tout nœud peut ré-émettre une information à la réception d’un NACK, s’il
dispose de cette information.
• Retransmissions diffusées dans tout le groupe.
• Temps d’attente aléatoire avant de ré-émettre.
– Remarques:
• Ajustement des temporisateurs délicats.
– Envoyer les NACKs en unicast à la source
• NACK envoyés à l’expiration d’un temporisateur
• Envoi d’un message de la source qui supprime les NACKs
ENST-U-PSUD 7676
Losses
Multipoint TransportMultipoint Transport
– How it works : Code (n,k)
• Original packets can be recovered if at least n packets among n are
properly received.
– Advantages of FEC code (Forward Error Correction):
• Preventive control (reduce the number of emitted ACKs)
• Curative control (Retransmissions are more efficient)
k RS n
Parity packets
Transmission k RS
n-k
39
ENST-U-PSUD 7777
TFMCC:TFMCC: TCPTCP--FriendlyFriendly MulticastMulticast Congestion ControlCongestion Control
• TCP Friendly: doit effectuer un partage équitable de la bande passante avec les
sources TCP (unicast)
• Pour éviter un retour des récepteurs, ce sont les récepteurs qui estiment le débit a
appliqué
• Ce débit correspond au débit que l’utilisateur aurait si la source utilisait TCP
• Il est estimé à partir du taux de perte « p » et du temps aller retour « RTT »:
• Chaque récepteur calcul son débit théorique maximum
• La source émet le plus petit débit qu’on lui annoncé.
• Seul les récepteurs ayant des débit aussi faible ou plus faible annoncent leur débit
à la source. Le retour d’information est donc minimisé.
2
321
8
3
12
3
2
*
_8
p
p
p
p
RTT
sizepacket
Débit
+





+
=
ENST-U-PSUD 7878
AsynchronousAsynchronous LayerLayer CodingCoding
– If the source emits at the lowest rate (adapts its emission to the lowest
receiver), congestion is avoided but most of receivers are « damage ».
– Idea: Use several multicast channels with different emission rates.
– Receivers join a certain number of channels with regard to their reception
capacity.
– Channel are not redundant (coding).
4kb/s
4kb/s
8kb/s
4kb/s
16kb/s
8kb/s
40
ENST-U-PSUD 7979
WEBRC:WEBRC: WaveWave andand equationequation BasedBased Rate Control (1)Rate Control (1)
• Les récepteurs calcul le débit possible en réception (fonction de la
probabilité de perte et du RTT: TCP-Friendly)
• La source émet sur plusieurs canaux (plusieurs adresses multicast)
• Chaque récepteur joint un certain nombre de canaux. Ce nombre est
fonction de ses capacités de réception.
• Le contrôle de congestion se fait indépendamment pour chaque
récepteur et n’a aucun impact sur la source.
ENST-U-PSUD 8080
WEBRC:WEBRC: WaveWave andand equationequation BasedBased Rate Control (2)Rate Control (2)
• Il y a N canaux (1 de base + N-1 « wave channels »)
• Chacun de ces canaux à un débit décroissant avec le temps.
• Ce processus se répète de manière cyclique (un cycle dure un certain nombre de
slots)
temps
débit
N slots
41
ENST-U-PSUD 8181
WEBRC:WEBRC: WaveWave andand equationequation BasedBased Rate Control (3)Rate Control (3)
• Soit le débit cible D. Pour garder ce débit constant à la réception, un récepteur joint
de manière régulière (tous les slots) un nouveau canal.
• Pour augmenter le débit, le récepteur joint plus de canaux.
Source des figures: Wave and Equation Based Rate Control Using Multicast Round Trip Time. M. Luby, V. Goyal, S. Skaria
and G. Horn. Proc. ACM SIGCOMM 2002.
ENST-U-PSUD 8282
Emission de fichiers sur plusieurs canaux (1)Emission de fichiers sur plusieurs canaux (1)
– Si on utilise plusieurs canaux pour envoyer un même fichier il faut éviter
d’envoyer les mêmes données en même temps sur les différents canaux.
– Si on reprend l’exemple précèdent:
– Un ordonnancement judicieux des paquets du fichier permet de recouvrir
l’intégralité de celui-ci en un minimum de temps.
4kb/s
4kb/s
8kb/s
C3: 4kb/s
C2: 16kb/s
C1: 8kb/s
0 1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 90 Canal à 8kbit/s
0 1 2 3 4 5 6 7 8 9 Canal à 4kbit/s
Canal à 4kbit/s
C2 C1 et C3
42
ENST-U-PSUD 8383
ÉÉmission de fichiers sur plusieurs canaux (2)mission de fichiers sur plusieurs canaux (2)
– Les paquets sont émis dans des ordres différents d’un canal à l’autre.
0 1 2 3 45 6 7 8 9
1 23 4 5 6 78 9 0 Canal à 8kbit/s
0 1 2 3 4 5 6 7 8 9 Canal à 4kbit/s
Canal à 4kbit/s
C2 C1 C3

More Related Content

What's hot

Introduction to IGMP for IPTV Networks
Introduction to IGMP for IPTV NetworksIntroduction to IGMP for IPTV Networks
Introduction to IGMP for IPTV Networks
Johnson Liu
 
Multicast Routing Protocols
Multicast Routing ProtocolsMulticast Routing Protocols
Multicast Routing Protocols
Ram Dutt Shukla
 
IP Multicasting
IP MulticastingIP Multicasting
Ipmulticasting
IpmulticastingIpmulticasting
Ipmulticasting
Sachith Walpita
 
Multicast routing protocols in adhoc networks
Multicast routing protocols in adhoc networksMulticast routing protocols in adhoc networks
Multicast routing protocols in adhoc networks
Pradeep Kumar TS
 
IP Multicast Routing
IP Multicast RoutingIP Multicast Routing
IP Multicast Routing
Pedro De Almeida
 
IP Multicasting
IP MulticastingIP Multicasting
IP Multicasting
Rumesh Hapuarachchi
 
Internet standard routing protocols
Internet standard routing protocolsInternet standard routing protocols
Internet standard routing protocols
Online
 
NetSim Technology Library- Advanced Routing
NetSim Technology Library- Advanced RoutingNetSim Technology Library- Advanced Routing
NetSim Technology Library- Advanced Routing
Vishal Sharma
 
Advanced Topics in IP Multicast Deployment
Advanced Topics in IP Multicast DeploymentAdvanced Topics in IP Multicast Deployment
Advanced Topics in IP Multicast Deployment
Arrive Technologies, Inc.
 
Igmp
IgmpIgmp
At8000 s configurando multicast
At8000 s configurando multicastAt8000 s configurando multicast
At8000 s configurando multicast
NetPlus
 
Multicasting and multicast routing protocols
Multicasting and multicast routing protocolsMulticasting and multicast routing protocols
Multicasting and multicast routing protocolsAbhishek Kesharwani
 
Unicast multicast & broadcast
Unicast multicast & broadcastUnicast multicast & broadcast
Unicast multicast & broadcast
NetProtocol Xpert
 
Multicastingand multicast routing protocols
Multicastingand multicast routing protocolsMulticastingand multicast routing protocols
Multicastingand multicast routing protocols
Iffat Anjum
 
IPv6 The Big Move
IPv6 The Big MoveIPv6 The Big Move
IPv6 The Big Move
frenildand
 
Multicastingand multicast routing protocols
Multicastingand multicast routing protocolsMulticastingand multicast routing protocols
Multicastingand multicast routing protocols
Iffat Anjum
 
internetworking operation
internetworking operationinternetworking operation
internetworking operation
Srinivasa Rao
 

What's hot (20)

Introduction to IGMP for IPTV Networks
Introduction to IGMP for IPTV NetworksIntroduction to IGMP for IPTV Networks
Introduction to IGMP for IPTV Networks
 
Multicast Routing Protocols
Multicast Routing ProtocolsMulticast Routing Protocols
Multicast Routing Protocols
 
IP Multicasting
IP MulticastingIP Multicasting
IP Multicasting
 
Ipmulticasting
IpmulticastingIpmulticasting
Ipmulticasting
 
Multicast routing protocols in adhoc networks
Multicast routing protocols in adhoc networksMulticast routing protocols in adhoc networks
Multicast routing protocols in adhoc networks
 
IP Multicast Routing
IP Multicast RoutingIP Multicast Routing
IP Multicast Routing
 
Ip multicast
Ip multicastIp multicast
Ip multicast
 
IP Multicasting
IP MulticastingIP Multicasting
IP Multicasting
 
Internet standard routing protocols
Internet standard routing protocolsInternet standard routing protocols
Internet standard routing protocols
 
NetSim Technology Library- Advanced Routing
NetSim Technology Library- Advanced RoutingNetSim Technology Library- Advanced Routing
NetSim Technology Library- Advanced Routing
 
Advanced Topics in IP Multicast Deployment
Advanced Topics in IP Multicast DeploymentAdvanced Topics in IP Multicast Deployment
Advanced Topics in IP Multicast Deployment
 
Igmp
IgmpIgmp
Igmp
 
At8000 s configurando multicast
At8000 s configurando multicastAt8000 s configurando multicast
At8000 s configurando multicast
 
Multicasting and multicast routing protocols
Multicasting and multicast routing protocolsMulticasting and multicast routing protocols
Multicasting and multicast routing protocols
 
Unicast multicast & broadcast
Unicast multicast & broadcastUnicast multicast & broadcast
Unicast multicast & broadcast
 
Multicastingand multicast routing protocols
Multicastingand multicast routing protocolsMulticastingand multicast routing protocols
Multicastingand multicast routing protocols
 
Ch14
Ch14Ch14
Ch14
 
IPv6 The Big Move
IPv6 The Big MoveIPv6 The Big Move
IPv6 The Big Move
 
Multicastingand multicast routing protocols
Multicastingand multicast routing protocolsMulticastingand multicast routing protocols
Multicastingand multicast routing protocols
 
internetworking operation
internetworking operationinternetworking operation
internetworking operation
 

Viewers also liked

Corporate gifts
Corporate giftsCorporate gifts
Corporate giftssuthanmp
 
Corporate gifts dubai
Corporate gifts dubaiCorporate gifts dubai
Corporate gifts dubai
suthanmp
 
4 digital communications_vn_compatibility_mode__9411
4 digital communications_vn_compatibility_mode__94114 digital communications_vn_compatibility_mode__9411
4 digital communications_vn_compatibility_mode__9411Ivan Ivanovich Ivanov
 
01 introduction to_communications_0372
01 introduction to_communications_037201 introduction to_communications_0372
01 introduction to_communications_0372
Ivan Ivanovich Ivanov
 
Hd radio how it compares to other digital radio technologies
Hd radio  how it compares to other digital radio technologiesHd radio  how it compares to other digital radio technologies
Hd radio how it compares to other digital radio technologiesIvan Ivanovich Ivanov
 
Backend do Iot com rethinkdb e python
Backend do Iot com rethinkdb e pythonBackend do Iot com rethinkdb e python
Backend do Iot com rethinkdb e python
Afonso Coutinho
 

Viewers also liked (9)

Resume (1)
Resume (1)Resume (1)
Resume (1)
 
Corporate gifts
Corporate giftsCorporate gifts
Corporate gifts
 
Corporate gifts dubai
Corporate gifts dubaiCorporate gifts dubai
Corporate gifts dubai
 
Digitalcomm day5 1575
Digitalcomm day5 1575Digitalcomm day5 1575
Digitalcomm day5 1575
 
4 digital communications_vn_compatibility_mode__9411
4 digital communications_vn_compatibility_mode__94114 digital communications_vn_compatibility_mode__9411
4 digital communications_vn_compatibility_mode__9411
 
01 introduction to_communications_0372
01 introduction to_communications_037201 introduction to_communications_0372
01 introduction to_communications_0372
 
Hd radio how it compares to other digital radio technologies
Hd radio  how it compares to other digital radio technologiesHd radio  how it compares to other digital radio technologies
Hd radio how it compares to other digital radio technologies
 
Routing
RoutingRouting
Routing
 
Backend do Iot com rethinkdb e python
Backend do Iot com rethinkdb e pythonBackend do Iot com rethinkdb e python
Backend do Iot com rethinkdb e python
 

Similar to Multicast eng

jpl-multicast.ppt
jpl-multicast.pptjpl-multicast.ppt
jpl-multicast.ppt
RicckySingh
 
11 group communication
11 group communication11 group communication
11 group communicationneel888
 
Distance Vector Multicast Routing Protocol (DVMRP) : Presentation
Distance Vector Multicast Routing Protocol (DVMRP) : PresentationDistance Vector Multicast Routing Protocol (DVMRP) : Presentation
Distance Vector Multicast Routing Protocol (DVMRP) : Presentation
Subhajit Sahu
 
Igmp presentation
Igmp presentationIgmp presentation
Igmp presentation
SamreenAkhtar8
 
NP - Unit 4 - Routing - RIP, OSPF and Internet Multicasting
NP - Unit 4 - Routing - RIP, OSPF and Internet MulticastingNP - Unit 4 - Routing - RIP, OSPF and Internet Multicasting
NP - Unit 4 - Routing - RIP, OSPF and Internet Multicasting
hamsa nandhini
 
IGMP
IGMPIGMP
Funtions of i pv6
Funtions of i pv6Funtions of i pv6
Funtions of i pv6
thanhthat1
 
Group Communication (Distributed computing)
Group Communication (Distributed computing)Group Communication (Distributed computing)
Group Communication (Distributed computing)Sri Prasanna
 
Transport Layer, Network layer.pptx
Transport Layer, Network layer.pptxTransport Layer, Network layer.pptx
Transport Layer, Network layer.pptx
MuhammadMoosaPanhwar
 
Internetworking - IP
Internetworking - IPInternetworking - IP
Internetworking - IP
selvakumar_b1985
 
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)micchie
 
Multicast routing
Multicast routingMulticast routing
Multicast routing
Gunasekara Reddy
 
Lecture number 5 Theory.pdf(machine learning)
Lecture  number  5 Theory.pdf(machine learning)Lecture  number  5 Theory.pdf(machine learning)
Lecture number 5 Theory.pdf(machine learning)
ZainabShahzad9
 
Congection control and Internet working
Congection control and Internet workingCongection control and Internet working
Congection control and Internet working
TharuniDiddekunta
 
Internet Protocol Version 4
Internet Protocol Version 4Internet Protocol Version 4
Internet Protocol Version 4
Purushottam Kamble
 
Multicast in computer Architecture
Multicast in computer ArchitectureMulticast in computer Architecture
Multicast in computer ArchitectureDinesh Kumar
 
Networking.ppt
Networking.pptNetworking.ppt
Networking.ppt
MayurJagtap53
 
CCNP Route EIGRP Overview
CCNP Route  EIGRP OverviewCCNP Route  EIGRP Overview
CCNP Route EIGRP Overview
Visalini Kumaraswamy
 
CCNP v6 Route: Implementing IP Routing Chapter 2
CCNP v6 Route: Implementing IP Routing Chapter 2CCNP v6 Route: Implementing IP Routing Chapter 2
CCNP v6 Route: Implementing IP Routing Chapter 2
Andy Juan Sarango Veliz
 
9 ipv6-routing
9 ipv6-routing9 ipv6-routing
9 ipv6-routing
Olivier Bonaventure
 

Similar to Multicast eng (20)

jpl-multicast.ppt
jpl-multicast.pptjpl-multicast.ppt
jpl-multicast.ppt
 
11 group communication
11 group communication11 group communication
11 group communication
 
Distance Vector Multicast Routing Protocol (DVMRP) : Presentation
Distance Vector Multicast Routing Protocol (DVMRP) : PresentationDistance Vector Multicast Routing Protocol (DVMRP) : Presentation
Distance Vector Multicast Routing Protocol (DVMRP) : Presentation
 
Igmp presentation
Igmp presentationIgmp presentation
Igmp presentation
 
NP - Unit 4 - Routing - RIP, OSPF and Internet Multicasting
NP - Unit 4 - Routing - RIP, OSPF and Internet MulticastingNP - Unit 4 - Routing - RIP, OSPF and Internet Multicasting
NP - Unit 4 - Routing - RIP, OSPF and Internet Multicasting
 
IGMP
IGMPIGMP
IGMP
 
Funtions of i pv6
Funtions of i pv6Funtions of i pv6
Funtions of i pv6
 
Group Communication (Distributed computing)
Group Communication (Distributed computing)Group Communication (Distributed computing)
Group Communication (Distributed computing)
 
Transport Layer, Network layer.pptx
Transport Layer, Network layer.pptxTransport Layer, Network layer.pptx
Transport Layer, Network layer.pptx
 
Internetworking - IP
Internetworking - IPInternetworking - IP
Internetworking - IP
 
Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)Recent advance in netmap/VALE(mSwitch)
Recent advance in netmap/VALE(mSwitch)
 
Multicast routing
Multicast routingMulticast routing
Multicast routing
 
Lecture number 5 Theory.pdf(machine learning)
Lecture  number  5 Theory.pdf(machine learning)Lecture  number  5 Theory.pdf(machine learning)
Lecture number 5 Theory.pdf(machine learning)
 
Congection control and Internet working
Congection control and Internet workingCongection control and Internet working
Congection control and Internet working
 
Internet Protocol Version 4
Internet Protocol Version 4Internet Protocol Version 4
Internet Protocol Version 4
 
Multicast in computer Architecture
Multicast in computer ArchitectureMulticast in computer Architecture
Multicast in computer Architecture
 
Networking.ppt
Networking.pptNetworking.ppt
Networking.ppt
 
CCNP Route EIGRP Overview
CCNP Route  EIGRP OverviewCCNP Route  EIGRP Overview
CCNP Route EIGRP Overview
 
CCNP v6 Route: Implementing IP Routing Chapter 2
CCNP v6 Route: Implementing IP Routing Chapter 2CCNP v6 Route: Implementing IP Routing Chapter 2
CCNP v6 Route: Implementing IP Routing Chapter 2
 
9 ipv6-routing
9 ipv6-routing9 ipv6-routing
9 ipv6-routing
 

Multicast eng

  • 1. 1 MulticastMulticast IPIP Jean-Louis Rougier ENST – Dpt. INFRES rougier@infres.enst.fr Anthony Busson IEF – Université Paris Sud anthony.busson@u-psud.fr ENST-U-PSUD 22 VocabularyVocabulary • Unicast: Point to point Transmission • Broadcast: Global transmission • Multicast: Transmission to a group (a subset of nodes). Multipoint to Multipoint communication or Point to Multipoint communication. • Anycast: Point to Point Transmission to a member (not specified by the user) of a group.
  • 2. 2 ENST-U-PSUD 33 MotivationsMotivations • Network resources optimization. Source Unicast Source Multicast Multiplication 3 2 ENST-U-PSUD 44 Multicast problems : first visitMulticast problems : first visit The previous example shows that we need: • A new addressing scheme. – What must be the destination address of a multicast packet? It is necessary to define the notion of groupe address : GDA concept (Group Destination Address) – It is different of the paradigm : “one interface = one address”. • The capacity “to multiply” the packet (multiplication) in the routers and in the layer 2 devices.
  • 3. 3 ENST-U-PSUD 55 MulticastMulticast AddressesAddresses • IANA has allocated a prefix for the multicast. – In IPv4, it is the class D, i.e. 224.0.0.0 — 239.255.255.255. – Addresses 224.0.0.0/8 are reserved (« Well-Known Addresses ») • There is no address allocation algorithm defined. – Possibility of collisions. 1110 Group ID 28 bits ENST-U-PSUD 66 Multicast problems: second visit (1)Multicast problems: second visit (1) The multicast suffers from scalability issues • States to store: – It is not possible to store locations of the different group members (too much information). Therefore, the multicast tree must be built without the knowledge of the member locations!!! • Complexity of the management plane: – Is a Specific control protocol required to build the multicast tree? Source
  • 4. 4 ENST-U-PSUD 77 TheThe DeeringDeering modelmodel • The multicast has been introduced by a PhD student named Steven Deering in 1988. The model is the following: – Datagram paradigm « like IP »: • Connectionless oriented • Best-Effort – Groups are open. • No knowledge of the group or its member is necessary to transmit to this group. • Anyone can transmit to the group (even if it is not a member). – Groups are dynamic. • No registration is necessary to participate to a a group. • There is no centralized management of the groups. • Any host can join a group. Conclusion: the multicast is open, OK for a campus network but the service model does not fit with the security required in a commercial network (as is the Internet today). MulticastMulticast in a LANin a LAN
  • 5. 5 ENST-U-PSUD 99 Multicast IP in a LANMulticast IP in a LAN • LAN technologies has (in general) multicast capabilities. • There are MAC Multicast address: 01 – 00 – 5E Group ID (23bits) • IANA has defined a very simple algorithm to map an IPv4 multicast address in a MAC multicast address (the last 23 bits of the IP multicast address are mapped in the MAC address): 01–00–5E Group ID (23bits) 1110 Group ID - 28 bits 23 bits ENST-U-PSUD 1010 MulticastMulticast in an Ethernet LAN (1)in an Ethernet LAN (1) • There is a link-layer filtering of the multicast frame. • On a bus, multicast frames are broadcasted, and thus received by all the stations + + + +
  • 6. 6 ENST-U-PSUD 1111 MulticastMulticast in an Ethernet LAN (2)in an Ethernet LAN (2) • On a switched network, the switch retransmits the multicast frame on all its ports (except the port on which it receives the frame). H1 H2 H3 H4 Router Switch + + ENST-U-PSUD 1212 MulticastMulticast andand EthernetEthernet • [RFC 4541] : When processing a packet whose destination MAC address is a multicast address , the switch will forward a copy of the packet into each of the remaining network interfaces that are in the forwarding state. Router H1 H2 H3 H4 + + H9 H10 + H5 H6 H7 H8
  • 7. 7 ENST-U-PSUD 1313 MulticastMulticast et Ethernetet Ethernet • [RFC 4541] : When processing a packet whose destination MAC address is a multicast address , the switch will forward a copy of the packet into each of the remaining network interfaces that are in the forwarding state. Router H1 H2 H3 H4 + + H9 H10 + H5 H6 H7 H8 ENST-U-PSUD 1414 MulticastMulticast on aon a WifiWifi LAN (1)LAN (1) • The mapping IP multicast address MAC multicast address is the same (MAC addresses are the same in wifi and Ethernet). • There are two steps with the multicast frame transmission: – unicast transmission of the frame from station to the access point Access Point Router Ethernet H1 H2 H3 H4 ACK + +
  • 8. 8 ENST-U-PSUD 1515 MulticastMulticast on aon a WifiWifi LAN (2)LAN (2) • The mapping IP multicast address MAC multicast address is the same (MAC addresses are the same in wifi and Ethernet). • There are two steps with the multicast frame transmission: – unicast transmission of the frame from station to the base station – multicast transmission (broadcast) from the access point on the Wifi network and on the Ethernet network. • Problems: – The frame is sent even if there is members on the Wifi network, – The frame is sent at the lowest data-rate. Access Point Router Ethernet H1 H2 H3 H4 + + IGMPIGMP Internet GroupInternet Group MembershipMembership ProtocolProtocol
  • 9. 9 ENST-U-PSUD 1717 Internet GroupInternet Group MembershipMembership ProtocolProtocol • IGMP (Internet Group Membership Protocol) : • A host which wants to be member of a multicast group (received packets transmit on this group) has to inform its router. • This allows the router to know if there are members of a given group on a link (an interface). – The protocol is based on a polling system: • The router send periodically IGMP-Query message. • For each IGMP-Query, the Hosts send an answer (IGMP-reply message) for each multicast group they participate. H1 H2 H3 H4 Router Switch IGMP.reply + ENST-U-PSUD 1818 Internet GroupInternet Group MembershipMembership ProtocolProtocol • IGMP (Internet Group Membership Protocol) : • A host which wants to be member of a multicast group (received packets transmit on this group) has to inform its router. • This allows the router to know if there are members of a given group on a link (an interface). – The protocol is based on a polling system: • The router send periodically IGMP-Query message. • For each IGMP-Query, the Hosts send an answer (IGMP-reply message) for each multicast group they participate. H1 H2 H3 H4 Router Switch +
  • 10. 10 ENST-U-PSUD 1919 Internet GroupInternet Group MembershipMembership ProtocolProtocol • IGMP (Internet Group Membership Protocol) : • A host which wants to be member of a multicast group (received packets transmit on this group) has to inform its router. • This allows the router to know if there are members of a given group on a link (an interface). – The protocol is based on a polling system: • The router send periodically IGMP-Query message. • For each IGMP-Query, the Hosts send an answer (IGMP-reply message) for each multicast group they participate. H1 H2 H3 H4 Router Switch IGMP.reply + ENST-U-PSUD 2020 Internet GroupInternet Group MembershipMembership ProtocolProtocol • IGMP (Internet Group Membership Protocol) : • A host which wants to be member of a multicast group (received packets transmit on this group) has to inform its router. • This allows the router to know if there are members of a given group on a link (an interface). – The protocol is based on a polling system: • The router send periodically IGMP-Query message. • For each IGMP-Query, the Hosts send an answer (IGMP-reply message) for each multicast group they participate. H1 H2 H3 H4 Router Switch + + IGM P.Query Switch
  • 11. 11 ENST-U-PSUD 2121 Internet GroupInternet Group MembershipMembership ProtocolProtocol • IGMP (Internet Group Membership Protocol) : • A host which wants to be member of a multicast group (received packets transmit on this group) has to inform its router. • This allows the router to know if there are members of a given group on a link (an interface). – The protocol is based on a polling system: • The router send periodically IGMP-Query message. • For each IGMP-Query, the Hosts send an answer (IGMP-reply message) for each multicast group they participate. H1 H2 H3 H4 Router Switch + + Protocole IGMPProtocole IGMP Internet Group managementInternet Group management ProtocolProtocol Version 2 (RFC 2236)Version 2 (RFC 2236) andand 3 (RFC 3376)3 (RFC 3376)
  • 12. 12 ENST-U-PSUD 2323 IGMPv2IGMPv2 OperationsOperations • The router maintains a table for each interface. This table contains the list of multicast groups for which there is at least one member (on this interface). Example: – Interface eth0: (@multicast , receveir yes/no). – It does not keep the members list nor the number of members. • Join a group – The router emits periodically an IGMP-Query message on every link. – Upon reception of a IGMP-Query, a Host triggers a timer for each groups it belongs. The duration of this timer is random. • If this Host receives an IGMP-reply coming from another Host for a group it belongs, it cancels the corresponding timer and do nothing else. • If this Host has not received an IGMP-reply from another Host at the expiration of the timer, it send an IGMP-reply. – When a Host join a new group, it has to emit an unsolicited IGMP-reply. • Leave a group – A Host that do not want to participate to a group send an IGMP-leave message to the router. – The router MAY send an IGMP-query specific to the group. This allows the router to verify if there are members for this group. ENST-U-PSUD 2424 IGMPv2 message FormatIGMPv2 message Format • The IGMP Message are encapsulated in IP packets: • 4 types are defined: – 11 - 00001011 – Request to identify if the active groups (Membership Query message =IGMP-Query). – 12 - 00001100 – Membership report; It is send by an active members (Membership Report = IGMP-reply used in IGMP version 1). – 16 - 00010000 –Membership report; It is send by an active members (IGMP-reply used in IGMP version 2). – 17 - 00010001 – Used by an active member to announce that it leaves a group. • Max Resp Time : the active members have to answer before this time. • Group address – In the router request (Membership Query message ) this field is 0 – In the answers from the Hosts (Membership Report or Leave Group message), this field contains the address of the reported/left group. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Max Resp Time | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Group Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • 13. 13 ENST-U-PSUD 2525 IGMPv3 request formatIGMPv3 request format 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | Type = 0x11 |Max Resp Code| Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | Group Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | Resv |S| QRV | QQIC | Number of Sources (N) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | Source Address [1] | +- -+ | Source Address [2] | +- . -+ . . . . . . +- -+ | Source Address [N] | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- ENST-U-PSUD 2626 IGMPv3 report formatIGMPv3 report format 0 1 2 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 0x22 | Reserved | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | Number of Group Records (M) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . . . Group Record [1] . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . . . Group Record [2] . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | . | . . . | . | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . . . Group Record [M] . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 1 2 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Record Type | Aux Data Len | Number of Sources (N) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Multicast Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Address [1] | +- -+ | Source Address [2] | +- -+ . . . . . . . . . +- -+ | Source Address [N] | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . . . Auxiliary Data . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • 14. 14 IGMPIGMP SnoopingSnooping ENST-U-PSUD 2828 IGMPIGMP snoopingsnooping (1)(1) • IGMP-snooping: IGMP message are intercepted by the Ethernet switch. – First, IGMP-Query from the router are intercepted. It allows the switch to maintain a « router ports » table. H1 H2 H3 H4 Router Switch + + IGM P.Query Router ports 24 Port 1 Port 8 Port 24
  • 15. 15 ENST-U-PSUD 2929 IGMPIGMP snoopingsnooping (2)(2) • IGMP-snooping: IGMP message are intercepted by the Ethernet switch. – First, IGMP-Query from the router are intercepted. It allows the switch to maintain a « router ports » table. – The « IGMP Snooping table » indicates on which interfaces IGMP-reply have been received. The table contains an entry for each active multicast group. H1 H2 H3 H4 Router Switch IGMP.reply + + Port 1 Port 8 Port 24 IGMP Snooping table Adresse multicast (Ethernet) liste des ports 01-00-5e-00-00-01 1; 24 Router ports 24 ENST-U-PSUD 3030 IGMPIGMP snoopingsnooping (3)(3) • IGMP-snooping: IGMP message are intercepted by the Ethernet switch. – First, IGMP-Query from the router are intercepted. It allows the switch to maintain a « router ports » table. – The « IGMP Snooping table » indicates on which interfaces IGMP-reply have been received. The table contains an entry for each active multicast group. – IGMP-reply are not retransmitted on all ports in order to receive IGMP-report from all the active members. • Proxy IGMP: the switch can filter the IGMP-reply and send only one IGMP-reply for each active group. H1 H2 H3 H4 Router Switch IGMP.reply IGMP.reply + + Port 1 Port 8 Port 24 IGMP Snooping table Adresse multicast (Ethernet) liste des ports 01-00-5e-00-00-01 1; 24; 8 Router ports 24
  • 16. 16 ENST-U-PSUD 3131 ““IGMP SnoopingIGMP Snooping”” : switching (1): switching (1) H1 H2 H3 H4 Router Switch + + IGMP Snooping table Adresse multicast (Ethernet) liste des ports 01-00-5e-00-00-01 1; 24; 8 • Upon reception of a multicast packet, the switch lookup its « IGMP snooping table », – If there is an entry, it forwards the multicast frame on all the “listed port” and on the « router ports » except the interface on which it receives the frame, – If there is no entry, it broadcasts the multicast frame on all the ports except the interface on which it receives the frame. ENST-U-PSUD 3232 ““IGMP SnoopingIGMP Snooping”” : switching (2): switching (2) H1 H2 H3 H4 Router Switch + + IGMP Snooping table Adresse multicast (Ethernet) liste des ports 01-00-5e-00-00-01 1; 24; 8 • Upon reception of a multicast packet, the switch lookup its « IGMP snooping table », – If there is an entry, it forwards the multicast frame on all the “listed port” and on the « router ports » except the interface on which it receives the frame, – If there is no entry, it broadcasts the multicast frame on all the ports except the interface on which it receives the frame.
  • 17. 17 ENST-U-PSUD 3333 «« IGMPIGMP SnoopingSnooping »» : Optimal: Optimal treetree • If all the Ethernet switch implement IGMP snooping , an optimal multicast tree is built for each multicast group. Router H1 H2 H3 H4 + + H9 H10 + H5 H6 H7 H8 IGMP reply IGMP reply IGMP reply IGMP reply IGMP reply ENST-U-PSUD 3434 «« IGMPIGMP SnoopingSnooping »» : Optimal: Optimal treetree • If all the Ethernet switch implement IGMP snooping , an optimal multicast tree is built for each multicast group. Router H1 H2 H3 H4 + + H9 H10 + H5 H6 H7 H8
  • 18. 18 MulticastMulticast IPv6IPv6 MLD (MLD (MulticastMulticast ListenerListener DiscoveryDiscovery)) ENST-U-PSUD 3636 AdressageAdressage MulticastMulticast en IPv6en IPv6 • The address range for multicast is FF00::/8 • The first byte is 11111111 (0xFF) • The flags (Figure below) must have the first 3 bits equal to 0 (reserved) and the fourth – equal to 1for temporary addresses (temporary multicast group : videoconference, etc.) – equal to 0 for permanent group (used by a protocol or a determined group) • The field “scope” defined the address scope: – local – link local – site – organization – global FF00 Group ID 112 bits flags de 4 bits scope (4 bits)
  • 19. 19 ENST-U-PSUD 3737 MulticastMulticast IPv6 :IPv6 : mappingmapping IPv6IPv6 EthernetEthernet 33-33 Identifiant du groupe (32 bits) FF00 Group ID - 112 bits 32 bits ENST-U-PSUD 3838 MLD:MLD: MulticastMulticast ListenerListener DiscoveryDiscovery • MLDv1 : close to IGMPv2 operations – Polling from the router – Random timer before sending a MLD report message – Leave message from a leaving Host and solicitation from the router for this group. – etc. • MLDv2 : close to IGMPv3 operations IPv6 Header ICMPv6 Header MLD message @Source: link local @dest: everybody (FF02::1) or multicast address multicast of a group
  • 20. 20 ENST-U-PSUD 3939 Special AddressesSpecial Addresses • Solicited multicast addresses are built from the IPv6 address of an Interface. • They are used, for example, by the ICMP Neighbor Discovery operations. FF02::1:FF00:0 104 bits are predetermined xxxx:yyyy:zzzz The last 24 bits of the unicast address MulticastMulticast IP :IP : routingrouting
  • 21. 21 ENST-U-PSUD 4141 MulticastMulticast IPIP Router Router Router Router Router + + + + + + ENST-U-PSUD 4242 MulticastMulticast IPIP Router Router Router Router Router
  • 22. 22 ENST-U-PSUD 4343 Multicast tree implementations : two approaches.Multicast tree implementations : two approaches. • Number of entries in the routing table: – The routing table size may be huge with source-specific tree. A solution consists in using a shared tree. There is only one tree whatever the number of sources (emitters). Source-specific tree. Number of entries: O(S*G) Shared tree. Number of entries: O(G) Multicast Routing Table ----------------------------------------------------- … ( * , 225.23.53.1) Eth0, Eth1 … Multicast Routing Table ----------------------------------------------------- … ( * , 225.23.53.1) Eth0, Eth1 … Multicast Routing Table ----------------------------------------------------- … (S1, 225.23.53.1) Eth0, Eth1 (S2, 225.23.53.1) Eth1 … Multicast Routing Table ----------------------------------------------------- … (S1, 225.23.53.1) Eth0, Eth1 (S2, 225.23.53.1) Eth1 … ENST-U-PSUD 4444 MulticastMulticast routingrouting table:table: SourceSource--specificspecific treetree (1)(1) Multicast Routing Table ----------------------------------------------------- S G Incoming Interface Outgoing Interface(s) 129.175.237.21 225.23.53.1 Eth0 Eth1, Eth2 132.134.27.11 225.23.53.1 Eth3 Eth2, Eth1 132.134.27.11 245.213.126.12 Eth3 Eth1, Eth4 … Multicast Routing Table ----------------------------------------------------- S G Incoming Interface Outgoing Interface(s) 129.175.237.21 225.23.53.1 Eth0 Eth1, Eth2 132.134.27.11 225.23.53.1 Eth3 Eth2, Eth1 132.134.27.11 245.213.126.12 Eth3 Eth1, Eth4 … IP Address of the source Multicast IP Address (the group) Interface on which packets arrive. Interfaces on which packets are multiplied/forwarded.
  • 23. 23 ENST-U-PSUD 4545 Multicast routing table: Shared tree (1)Multicast routing table: Shared tree (1) Multicast Routing Table --------------------------------------------------------------- G Incoming Interface 225.23.53.1 Eth1, Eth2, Eth3 225.23.53.34 Eth2, Eth1 245.213.126.12 Eth1, Eth4, Eth0 … Multicast Routing Table --------------------------------------------------------------- G Incoming Interface 225.23.53.1 Eth1, Eth2, Eth3 225.23.53.34 Eth2, Eth1 245.213.126.12 Eth1, Eth4, Eth0 … Multicast IP address (the group) List of the Interfaces which belong to the shared tree. SourceSource--specific tree:specific tree: DVMRP and PIMDVMRP and PIM--DMDM
  • 24. 24 ENST-U-PSUD 4747 DeeringDeering’’ss worksworks • Deering’s works: – Emulate the broadcast (that exists in link-layer technologies) in IP network. – Definition of the RPF algorithm (Reverse Path Flooding) 1 2 3 Accepted, Accepted, Refused, etc. ENST-U-PSUD 4848 DeeringDeering’’ss worksworks (2)(2) • Deering’s works: – Definition of the RPB (Reverse Path Broadcasting) algorithm. The routing tables of the neighbors are analyzed. • If we are not on the path between a neighbor router and the source, the packet is not forwarded toward this neighbor. • Note: a distance vector protocol is required. The RPB algorithm build a spanning tree centered on the source.
  • 25. 25 ENST-U-PSUD 4949 DeeringDeering’’ss worksworks (3)(3) – Definition of the TRPB algorithm (Truncated Reverse Path Broadcasting). • It uses IGMP information. • A multicast stream is not emitted on an Interface if there is no member for this group and if there is no neighbor router (RPB algorithm). The RPB algorithm build a spanning tree centered on the source. IGMP ENST-U-PSUD 5050 Mbone: TunnelsMbone: Tunnels – Vision des tunnels en 1996 (source: www.caida.org) ⇐
  • 26. 26 ENST-U-PSUD 5151 MM--BoneBone:: MulticastMulticast sessions managementsessions management • Multicast sessions: managed by sdr (session directory) – SDP: Session Directory Protocol. – SAP: Session Announcement Protocol. – SIP: Session Initiation Protocol. ENST-U-PSUD 5252 Example of multicast session in the MExample of multicast session in the M--bonebone • Progress of a multicast session create session and begin to transmit SDP RTP IGMP Routage RTP join session Reception of the stream emitted by launch SDRIGMP RoutageRTP SDP
  • 27. 27 SharedShared treetree:: PIMPIM--SMSM ENST-U-PSUD 5454 MulticastMulticast routingrouting: PIM: PIM--SMSM • PIM-SM: Sparse Mode. RFC 2362. – No periodical broadcast: Definition of control messages (soft-state) to build the tree. – Two phases: • Sources discovering. A CBT (Core Based Tree) is built based on a Rendezvous point. The tree is used to discover active sources (packets forwarding as long as the Shortest Path Tree – SPT is built). • Data transfer. Source-specific tree (and SPT) are built for the data transfer. – Comment: • RPs are administratively positioned • Groups may be split among several RPs. A hash function is used, and a subset of the multicast addresses is allocated to a given RP. • Bootstraps of the RPs. • Acronyms: – CBT: Core Based Tree – SPT: Shortest Path Tree – PIM-SM: Protocol Independent Multicast – Sparse Mode
  • 28. 28 ENST-U-PSUD 5555 MulticastMulticast routingrouting: PIM: PIM--SM (2)SM (2) • First phase. A CBT tree is built. A branch is built toward the core. • When a router receives a join for a multicast group, it checks if it has an entry for this group • If yes, it adds the incoming interface (for the join) in the list of the Interfaces in the corresponding routing table entry. • If no, it creates a new entry in the routing table and – it adds the incoming interface (for the join) in the list of the Interfaces in the corresponding routing table entry – It checks in this unicast routing table what is the next hop to join the core, it forwards the join to this next hop and add the corresponding interface in the multicast table entry. – Join are send periodically (Soft-state protocol). RP IGMP IGMP Join (*,G) Join (*,G) Join (*,G) Join (*,G) ENST-U-PSUD 5656 MulticastMulticast RoutingRouting : PIM: PIM--SM (3)SM (3) • Emission on the CBT – The leaf router send a multicast packet encapsulated in an unicast packet directly to the core via a register message. – A branch is built from the core to the leaf router. It is source-specific branch. It means that the source will not receive the multicast IP packets from the other sources. – Reminder: Any Host can send multicast packets on the multicast tree, the source has not to belong to the tree. Source DRRegister
  • 29. 29 ENST-U-PSUD 5757 MulticastMulticast RoutingRouting : PIM: PIM--SM (4)SM (4) • Data transfer: A source-specific multicast tree (SPT) is built for each active source. – When a leaf router detects a new active source, it builds a branch to this source. It uses the same mechanisms that for the CBT except that the core is now the source itself (the DR of the source). – We prevent the transmission on the CBT branch by the use of « prune(S,G) » message. RPJoin (S,G) Join (S,G) Prune (S,G) Prune (S,G) Source ENST-U-PSUD 5858 PIMPIM--SM routing tableSM routing table • We check if there is a (@S,@G) entry the packet is forwarded – a flag indicates if this entry is used to forward or to filter. • If there is no (@S,@G) entry, we check if there is a (*,@G) entry Multicast Routing Table ----------------------------------------------------- S G Incoming Interface Outgoing Interface(s) Flag 129.175.237.21 225.23.53.1 Eth0 Eth1, Eth2 132.134.27.11 225.23.53.1 Eth3 Eth2, Eth1 132.134.27.11 245.213.126.12 Eth3 Eth1, Eth4 * 245.213.126.12 Eth2 Eth1, Eth2 … Multicast Routing Table ----------------------------------------------------- S G Incoming Interface Outgoing Interface(s) Flag 129.175.237.21 225.23.53.1 Eth0 Eth1, Eth2 132.134.27.11 225.23.53.1 Eth3 Eth2, Eth1 132.134.27.11 245.213.126.12 Eth3 Eth1, Eth4 * 245.213.126.12 Eth2 Eth1, Eth2 … The Interface on which multicast packets are supposed to arrive. Interfaces on which multicast packets are duplicated.
  • 30. 30 ENST-U-PSUD 5959 MSDP :MSDP : PeeringPeering • MSDP: – Two RPs communicate with a TCP connection (« MSDP peering »). – The SA (Source Advertisement) are transmitted from RP to RP. – SA are generated after the reception of a « Register » message. – Sa are broadcast by the RPF algorithm, periodically or on request. Register MSDP Peering SA SA SA ⇒ RP RP RP RP ENST-U-PSUD 6060 MSDP : Interaction with PIMMSDP : Interaction with PIM--SMSM • MSDP: – If receivers for a group are present in the AS, they will join the SPT tree (S,G). MSDP Peering ⇒ RP RP RP RP
  • 31. 31 ENST-U-PSUD 6161 Conclusions on routingConclusions on routing • Today, routing is based on the « ASM » (Any Source Multicast) paradigm – no statistics on the number of receivers (billing, etc.), – No control on the sources (any Host can emit), – The uniqueness of the multicast address is not guarantee. Addresses duplication is possible. • Weakness of the protocols: – Security: • Denis of Service (address scanning,…) – Scalability issues: • MSDP is not a long-term solution (for routing at the Internet scale). • Remarks: However, Multicast deployment is possible : – The access control (for receivers) may be solved if it is not the receivers themselves which manage IGMP (for example, IGMP may be controlled by a set-top box). – Security: Routers can filter multicast packets (for example, only certain sources are permitted) – Scalability issues : Not a problem within an Intranet, or within an ISP (for multicast session where both receivers and source are in this ISP). Multicast IP:Multicast IP: toward a controlled Multicast IPtoward a controlled Multicast IP (SSM: Source Specific Multicast)(SSM: Source Specific Multicast) SSM
  • 32. 32 ENST-U-PSUD 6363 SSM: architecture presentationSSM: architecture presentation • Notion of « channel »: – a channel is identified by a multicast IP address G and a Source IP address S (unicast). • Benefits of the approach : – Address allocation : no more « collisions » – Access control : only the source S can emit on a channel. – SPT on the Source. • Implementation – It is necessary to know the IP address of the source – IGMPv3 (source specific Query) – PIM-SSM (PIM-SM extension) – A specific address range has been allocated for SSM. PIM-SM and PIM-SSM may co-exist. ⇒ ENST-U-PSUD 6464 Implementation: PIMImplementation: PIM--SSMSSM • Example of interaction IGMPv3/PIM-SSM Source DR ⇒ S R Join (S,G) IGMP.Query (S,G) R Emission on (S,G) Destroy
  • 33. 33 MulticastMulticast IPIP ExampleExample:: thethe videovideo inin xDSLxDSL NetworkNetwork ENST-U-PSUD 6666 DSLAM IP Network ATM Network BAS X X X X DSL Access Network : Architecture example (1)DSL Access Network : Architecture example (1) • Case 1: ATM DSLAM, possibilities to establish « Switched VC » (UNI.3.1/4.0/4.1). – IGMP Messages are transmitted from the ‘‘Set-top Box’’ and the BAS (Broadband Access Server) – Point to Multipoint Switched VC are established by the BAS with regard to the received IGMP messages. – Problems : great load on the BAS (IGMP Sig. UNI). Response time may be great when a Host changes its channel (multicast group). PIM-SMIGMP
  • 34. 34 ENST-U-PSUD 6767 DSLAM IP Network ATM Network BAS X X X X • Case 2: ATM DSLAM, but the DSLAM listen IGMP messages (IGMP snooping). – The DSLAM listen IGMP messages exchanged between the « Set-top Box » and the BAS (proprietary solution). – Point to Multipoint Switched VC are established by the BAS with regard to the received IGMP messages. IGMP (proxy) IGMP PIM-SM DSL Access Network : Architecture example (2)DSL Access Network : Architecture example (2) ENST-U-PSUD 6868 Ethernet DSLAM IP Network Ethernet Access Network BAS X X X X • Case 3: Ethernet DSLAM (deployment since 2005). – IGMP between the ‘‘Set-top Box’’ and the Bas, and « IGMP snooping » for the DSLAM – Used of multicast Ethernet/IP multicast in the Ethernet Access Network. IGMP (Proxy) IGMP PIM-SM DSL Access Network : Architecture example (3)DSL Access Network : Architecture example (3)
  • 35. 35 ENST-U-PSUD 6969 Ethernet/IP DSLAM IP Network Ethernet/IP Access Network BAS X X X X • Case 4 : IP-DSLAM. – IGMP between the ‘‘Set-top Box’’ and the DSLAM. – DSLAM implements the routing protocol PIM-SM. – Used of IP multicast in the access network. PIM-SM IGMP PIM-SM DSL Access Network : Architecture example (4)DSL Access Network : Architecture example (4) TransportTransport MulticastMulticast
  • 36. 36 ENST-U-PSUD 7171 Technology LayersTechnology Layers Transport Routing Applications TCP IP IP Multicast Network Layers Application Reliable Multicast Unicast Multicast From Brian Whetten, “Transport and Application level Multicast”, Network Group Communications 2000, Stanford, Palo Alto, USA ENST-U-PSUD 7272 source ACKs source 000 1 1 1 1 1 2 2 33 2 Feedback implosion Source multicasts retransmissions Problems with the transport multicastProblems with the transport multicast
  • 37. 37 ENST-U-PSUD 7373 Other problems : rate controlOther problems : rate control • The source does not know the receivers (number, access rate, etc.) • How the source does compute the emission rate? – If the source chooses the lowest rate • all the receivers are penalized, and • it required a feedback from the receivers (RTT, loss rate, etc.). – If the source chooses the man or the highest rate • it may cause congestion, and • it required a feedback from the receivers (RTT, loss rate, etc.). • It is necessary that the source adapts its rate to the network congestion state. ENST-U-PSUD 7474 IETF StandardsIETF Standards • Loss recovery – NORM : Negative-acknowledgment (NACK)-Oriented Reliable Multicast Protocol (RFC 3940). – FEC Forward Error Correction (RFC 3452, 3453, 3695) • Evaluation and control of the emission rate – TFMCC: TCP-Friendly Multicast Congestion Control (RFC 4654) – WEBRC: Wave and Equation Based Rate Control (RFC 3738)
  • 38. 38 ENST-U-PSUD 7575 NORM:NORM: – Approche basée sur des temporisateurs (« timers ») • Ex: SRM (Scalable Reliable Multicast) utilisé dans wb. • Basé sur des temps d’attente aléatoires, avant transmission d ’un NACK. • Les NACKs sont diffusés dans tout le groupe. • Envoie du NACK annulé si un NACK identique est détecté. • Tout nœud peut ré-émettre une information à la réception d’un NACK, s’il dispose de cette information. • Retransmissions diffusées dans tout le groupe. • Temps d’attente aléatoire avant de ré-émettre. – Remarques: • Ajustement des temporisateurs délicats. – Envoyer les NACKs en unicast à la source • NACK envoyés à l’expiration d’un temporisateur • Envoi d’un message de la source qui supprime les NACKs ENST-U-PSUD 7676 Losses Multipoint TransportMultipoint Transport – How it works : Code (n,k) • Original packets can be recovered if at least n packets among n are properly received. – Advantages of FEC code (Forward Error Correction): • Preventive control (reduce the number of emitted ACKs) • Curative control (Retransmissions are more efficient) k RS n Parity packets Transmission k RS n-k
  • 39. 39 ENST-U-PSUD 7777 TFMCC:TFMCC: TCPTCP--FriendlyFriendly MulticastMulticast Congestion ControlCongestion Control • TCP Friendly: doit effectuer un partage équitable de la bande passante avec les sources TCP (unicast) • Pour éviter un retour des récepteurs, ce sont les récepteurs qui estiment le débit a appliqué • Ce débit correspond au débit que l’utilisateur aurait si la source utilisait TCP • Il est estimé à partir du taux de perte « p » et du temps aller retour « RTT »: • Chaque récepteur calcul son débit théorique maximum • La source émet le plus petit débit qu’on lui annoncé. • Seul les récepteurs ayant des débit aussi faible ou plus faible annoncent leur débit à la source. Le retour d’information est donc minimisé. 2 321 8 3 12 3 2 * _8 p p p p RTT sizepacket Débit +      + = ENST-U-PSUD 7878 AsynchronousAsynchronous LayerLayer CodingCoding – If the source emits at the lowest rate (adapts its emission to the lowest receiver), congestion is avoided but most of receivers are « damage ». – Idea: Use several multicast channels with different emission rates. – Receivers join a certain number of channels with regard to their reception capacity. – Channel are not redundant (coding). 4kb/s 4kb/s 8kb/s 4kb/s 16kb/s 8kb/s
  • 40. 40 ENST-U-PSUD 7979 WEBRC:WEBRC: WaveWave andand equationequation BasedBased Rate Control (1)Rate Control (1) • Les récepteurs calcul le débit possible en réception (fonction de la probabilité de perte et du RTT: TCP-Friendly) • La source émet sur plusieurs canaux (plusieurs adresses multicast) • Chaque récepteur joint un certain nombre de canaux. Ce nombre est fonction de ses capacités de réception. • Le contrôle de congestion se fait indépendamment pour chaque récepteur et n’a aucun impact sur la source. ENST-U-PSUD 8080 WEBRC:WEBRC: WaveWave andand equationequation BasedBased Rate Control (2)Rate Control (2) • Il y a N canaux (1 de base + N-1 « wave channels ») • Chacun de ces canaux à un débit décroissant avec le temps. • Ce processus se répète de manière cyclique (un cycle dure un certain nombre de slots) temps débit N slots
  • 41. 41 ENST-U-PSUD 8181 WEBRC:WEBRC: WaveWave andand equationequation BasedBased Rate Control (3)Rate Control (3) • Soit le débit cible D. Pour garder ce débit constant à la réception, un récepteur joint de manière régulière (tous les slots) un nouveau canal. • Pour augmenter le débit, le récepteur joint plus de canaux. Source des figures: Wave and Equation Based Rate Control Using Multicast Round Trip Time. M. Luby, V. Goyal, S. Skaria and G. Horn. Proc. ACM SIGCOMM 2002. ENST-U-PSUD 8282 Emission de fichiers sur plusieurs canaux (1)Emission de fichiers sur plusieurs canaux (1) – Si on utilise plusieurs canaux pour envoyer un même fichier il faut éviter d’envoyer les mêmes données en même temps sur les différents canaux. – Si on reprend l’exemple précèdent: – Un ordonnancement judicieux des paquets du fichier permet de recouvrir l’intégralité de celui-ci en un minimum de temps. 4kb/s 4kb/s 8kb/s C3: 4kb/s C2: 16kb/s C1: 8kb/s 0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 90 Canal à 8kbit/s 0 1 2 3 4 5 6 7 8 9 Canal à 4kbit/s Canal à 4kbit/s C2 C1 et C3
  • 42. 42 ENST-U-PSUD 8383 ÉÉmission de fichiers sur plusieurs canaux (2)mission de fichiers sur plusieurs canaux (2) – Les paquets sont émis dans des ordres différents d’un canal à l’autre. 0 1 2 3 45 6 7 8 9 1 23 4 5 6 78 9 0 Canal à 8kbit/s 0 1 2 3 4 5 6 7 8 9 Canal à 4kbit/s Canal à 4kbit/s C2 C1 C3