2020/2021
Multicasting 1/21
Multicast routing
What you will learn
Broadcast routing algorithms Multicasting
• Multicast routing algorithms
• IGMP
• Multicast routing in the Internet
GC
2020/2021
Multicasting 2/21
Unicasting
One source node and one destination node
Each router in the path of the packet tries to forward it on one and only one of its interfaces
Network to which the destination node is attached
2020/2021
Multicasting 3/21
Multicasting
One source and a group of destinations
The destination address is a group address (a multicast address) A multicast router may have to send out copies of the same packet through more than one interface
GC
2020/2021
Multicasting 4/21
Need for multicast addresses
A host, which is a member of n groups, actually has (n + 1) addresses
2020/2021
Multicasting 5/21
Multicasting versus Multiple Unicasting
Multicasting could be emulated with multiple unicasting, but
multicasting requires less bandwidth than multiple unicasting in multiple unicasting, the packets are created by the source with a relative delay between packets; in multicasting there is no delay because only one packet is created
GC
2020/2021
Multicasting 6/21
Why are we interested in multicasting?
Multicasting is important for many applications
Access to distributed databases
• A user’s request is multicast to all the database locations and the location that has the information responds
Information dissemination
• Businesses can easily disseminate news to their customers through multicasting
Teleconferencing
• The individuals attending a teleconference all need to receive the same information at the same time
Distance learning
• Lessons taught by one professor can be received by a specific group of students
…
2020/2021
Multicasting 7/21
Broadcasting
Broadcasting means one-to-all communication: a host sends a packet to all hosts in an internet Broadcasting in this sense is not provided at the Internet level
it might create a huge volume of traffic and use a huge amount of bandwidth
Partial broadcasting is done in the Internet
A form of sequence-number controlled flooding (see later) is used to broadcast link-state advertisements (LSAs) in the OSPF routing protocol
GC
2020/2021
Multicasting 8/21
Broadcasting: uncontrolled flooding
Broadcasting can be achieved by a floodingapproach:
the source sends a copy of the broadcast packet to all of its neighbours
when a router receives a broadcast packet, it forwards a copy of the packet to all of its neighbours (except the neighbour from which it received the packet)
Problems with uncontrolled flooding in case the graph has cycles:
Endless cycling Broadcast storm
The flooding should be controlled
• A router chooses when to flood a packet and when not to flood it
2020/2021
Multicasting 9/21
Broadcasting: controlled flooding
Sequence-number controlled flooding
A source node puts its address (or some other unique identifier) as well as a sequence number into a broadcast packet
A router keeps track of packets already broadcast and broadcasts a packet only if the packet has not been previously forwarded
Reverse path forwarding (RPF)
A router forwards a packet on all of its outgoing links (except the link on which it was received) only if the packet arrived on the link that is on its own shortest unicast path back to the source
Packet that will be forwarded R1
R2
R3
R4
R5
R6 R7
S: source
Packet that will not be forwarded
GC
2020/2021
Multicasting 10/21
Spanning-Tree broadcast
Ideally, every node should receive only one copy of the broadcast packet
If a broadcast packet were forwarded only along links within a tree, each and every node would receive exactly one copy of the packet
A spanning tree can be used by any node to begin a broadcast
A source node sends the broadcast packet out on all of the incident links that belong to the spanning tree
A node has to forward a packet to all its neighbours in the spanning tree
A B
G D E
c
F
A B
G D E
c
F
(a) broadcast initiated at A (b) broadcast initiated at D
2020/2021
Multicasting 11/21
Broadcasting: Spanning-Tree creation
Center-based approach to build a spanning tree
A center node(a.k.a. rendezvous pointor core) is defined Nodes send (in unicast) join messages to the center node A join message is forwarded using unicast routing until it either arrives at a node already belonging to the spanning tree or arrives at the center node
The path that the join message has followed is grafted onto the existing tree
A B
G D E
c
F 1
2 3
4
5
(a) stepwise construction of spanning tree (center: E)
A B
G D E
c
F
(b) constructed spanning tree
GC
2020/2021
Multicasting 12/21
Multicasting (in the Internet)
Components:
Multicast addressing
A protocol for collecting information about groups
Internet Group Management Protocol (IGMP)
Multicast routing protocols
2020/2021
Multicasting 13/21
Multicast addresses in IPv4
Mapping a multicast IPv4 address to a MAC address
IP multicast address
MAC multicast address
23 bits 5 bits
unused
GC
2020/2021
Multicasting 14/21
IGMP
Queryand reportmessages in IGMP version 3:
A query message is periodically sent by a router to all hosts attached to it to collect information about their membership
A report message is sent by a host as a response to a query message If a host needs to join a group, it waits until it receives a query message and then sends a report message
If a given host intends to leave a group, simply it does not respond to a query message
Then the router infers that the host is no longer a member of that group and removes the related state information
IGMP messages are encapsulated within IP datagrams with the destination address 224.0.0.1 for a query message or 224.0.0.22 for a report message, the protocol field set to 2 and the TTL field set to 1
IP
ARP RARP IGMP
ICMP ROUTING
PROTOCOLS Network
2020/2021
Multicast hosts, their attached routers, and other routers
Multicasting 15/21
Multicast routing algorithms
Goal of multicast routing: to find a tree of links (multicast tree) that connects all the routers that have attached hosts belonging to a given multicast group
Two approaches:
Group-shared Tree Source-based Tree
GC
2020/2021
Multicasting 16/21
Group-shared Tree approach
Only a single shared routing tree is constructed for the entire multicast group (regardless of the sender) A center-based approach (see broadcasting) is used to build the multicast routing tree.
A router (center router) is designed to act as the representative for the group
2020/2021
Multicasting 17/21
Constructing a center-based multicast tree
Routers with attached hosts belonging to the multicast group send join messages addressed to the center router
A join message is forwarded using unicast routing towards the center router until it either arrives at a router that already belongs to the multicast tree or arrives at the center router The path that the join message has followed is grafted onto the existing multicast tree
Core router
GC
2020/2021
Multicasting 18/21
Source-Based Tree approach
A multicast routing tree is constructed for each individual source in the multicast group
In practice, an RPF algorithm (with source S) is used to construct a multicast tree for multicast datagrams originating at source S
Problem: D will forward packets to router G, even though router G has no attached hosts belonging to the multicast group
2020/2021
Multicasting 19/21
Solution: Pruning
A multicast router that receives multicast packets and has no attached hosts joined to that group (for
example, the router G in the figure) will send a prune messageto its upstream router
If a router receives prune messages from each of its downstream routers (for example, the router D in the figure), then it can forward a prune message upstream.
GC
2020/2021
Multicasting 20/21
Multicast routing in the Internet
Protocol-Independent Multicast (PIM) routing protocol
“De-facto”, PIM is the protocol used in almost all practical applications
PIM-Dense Mode(PIM-DM)
• the number of routers with attached group members is large with respect to the total number of routers
• Source-based tree approach
– It is reasonable to assume that most of the multicast routers need to be involved in routing multicast packets
PIM-Sparse Mode(PIM-SM)
• the number of routers with attached group members is small with respect to the total number of routers
• Group-shared tree approach
– A router should not be involved in multicast distribution unless it wants to join a multicast tree
2020/2021
Multicasting 21/21
Tunneling
How can multicast routing be employed in the Internet?
Multicast routers can be connected by a tunnel
In the outer IP header:
• Source IP address: IP address of the sending multicast router (at one end of the tunnel)
• Destination IP address: IP address of the multicast router at the other end of the tunnel
multicast router
unicast router