Download - CSE 401N:Computer Network
![Page 1: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/1.jpg)
1
CSE 401N:Computer Network
LECTURE-14MULTICAST ROUTING
![Page 2: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/2.jpg)
2
Chapter 4 roadmap
4.1 Introduction and Network Service Models4.2 Routing Principles4.3 Hierarchical Routing4.4 The Internet (IP) Protocol4.5 Routing in the Internet4.6 What’s Inside a Router?4.7 IPv64.8 Multicast Routing4.9 Mobility
![Page 3: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/3.jpg)
3
Multicast: one sender to many receivers
Multicast: act of sending a datagram to multiple receivers with single “transmit” operation
Question: how to achieve multicast
Multicast via unicast source sends N unicast
datagrams, one addressed to each of N receivers
multicast receiver (red)
not a multicast receiver (grey)
routersforward unicastdatagrams
![Page 4: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/4.jpg)
4
Multicast: one sender to many receivers
Question: how to achieve multicast
Application-layer multicast
receivers involved in multicast copy and forward unicast datagrams among themselves
![Page 5: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/5.jpg)
5
Multicast: one sender to many receivers
Question: how to achieve multicast
Network multicast Router actively participate
in multicast, making copies of packets as needed and forwarding towards multicast receivers
Only a single copy of a datagram will ever traverse a link
Multicastrouters (red) duplicate and forward multicast datagrams
![Page 6: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/6.jpg)
6
Multicast Groups
How to identify the receivers of a multicast datagram?
Let datagram carry the IP addresses of all the recipients Only workable with a small number of recipients Sender needs to know the addresses of all receivers Not a good solution!
Internet solution: use multicast group A multicast group identifies a set of receivers and has a
single identifier Packet sent to a multicast group are received by all
members in the group
![Page 7: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/7.jpg)
7
Internet Multicast Service Model
Multicast group in the Internet has its own Class D multicast address IP addresses 224.0.0.0 to 239.255.255.255 reserved
for multicast (IP addresses begin with 1110)
128.119.40.186
128.59.16.12
128.34.108.63
128.34.108.60
multicast group
226.17.30.197
![Page 8: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/8.jpg)
8
Internet Multicast Service Model
Host group semantics:o anyone can join/leave a multicast groupo anyone can send to a multicast groupo no network-layer identification of hosts that have joined
a multicast group Questions to answer:
How are hosts join/leave a group? A: Internet Group Management Protocol (IGMP) How do the routers deliver a multicast datagram to all
group members? A: multicast routing protocols
![Page 9: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/9.jpg)
9
IP multicasting: two-step process
local: host informs local router of desire to join a multicast group: IGMP
wide area: local router interacts with other routers to receive multicast datagrams many multicast routing protocols (e.g., DVMRP,
MOSPF, PIM)
IGMPIGMP
IGMP
wide-areamulticast
routing
![Page 10: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/10.jpg)
10
Internet Group Management Protocol (IGMP)
RFC 2236 Operate between a host and its directly
attached router Provide the means for:
A host to inform its attached router that it wants to join/leave a multicast group
A router to detect if a LAN has any members for a particular multicast group
![Page 11: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/11.jpg)
11
IGMP Messages
Three message types: membership query, membership report, leave group
General membership query Sent by a router to all nodes on the LAN Query multicast groups joined by attached hosts Multicast group address field set to 0
Specific membership query Sent by a router to all nodes on the LAN Query if a specific multicast group is joined by attached hosts Multicast group address field set to the multicast group address being
queried
Type
Max. Resp.
Time
Checksum
Multicast group address
![Page 12: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/12.jpg)
12
IGMP Messages (cont’d)
Membership report message Sent by host to all nodes on the LAN in response to a
membership query message or when first joins a multicast group
Contains the address of a group the host has joined A router only cares about whether one or more hosts
belong to a given group want to hear from only one of the hosts that belongs to each group Each membership query message includes a “maximum
response time” field A host waits a random time between 0 and maximum
response time before sending a membership report message Feedback suppression: if the host observes a membership
report message from some other host for the multicast group, discard its own pending membership report message
![Page 13: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/13.jpg)
13
IGMP Messages (cont’d) Leave group message:
sent by host to report leaving a group leave group message is optional
• Router periodically sends a membership query message
• A router infers that no hosts are joined to a group when no host responds to the query message
• Soft state protocol: state is removed via a timeout event if it is not explicitly refreshed
IGMP messages are encapsulated within an IP datagram
There is no control over who sends to the group and who joins the group
![Page 14: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/14.jpg)
Multicast Routing: Problem Statement
Goal: Given a multicast group, find a tree connecting routers having local multicast group members shared tree: a single tree used by all group members source-based tree: different tree for each sender
Shared tree Source-based trees
![Page 15: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/15.jpg)
Approaches for building mcast trees
group-shared tree: group uses one tree minimal cost (Steiner) tree center-based tree
source-based tree: one tree per source shortest path tree reverse path forwarding
…we first look at basic approaches, then specific protocols adopting these approaches
![Page 16: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/16.jpg)
Group-Shared Tree: Steiner Tree All multicast packets are
routed along the same tree, regardless of the sender
Steiner Tree: minimum cost tree connecting all routers with attached group members problem is NP-complete good heuristics exist
not used in practice: information about all links needed rerun whenever link costs change not able to use unicast routing
info
Router having attached group members
Router having no attached group members
4
1
11
2
22
3
![Page 17: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/17.jpg)
Group-Shared Tree: Center-based tree
single delivery tree shared by all one router identified as center of
tree to join:
router with attached group members sends unicast join message addressed to the center
join message “processed” by intermediate routers and forwarded towards center
join message either hits existing tree branch for this center, or arrives at center
path taken by join message becomes new branch of tree for this router
R1
R2
R3
R4
R5
R6 R7
2
3
1
router with attachedgroup member
router with no attachedgroup member
path order in which join messages generated
1
center
![Page 18: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/18.jpg)
18
Multicast Routing Using a Source-Based Tree
Construct a multicast routing tree for each source in the multicast group
Router maintains state for each (group, sender) pair
Shortest path tree: union of the shortest paths from source to each receiver Obtained by Dijkstra’s
algorithm
Router having attached group members
Router having no attached group members
A
B
D
E
C
F
![Page 19: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/19.jpg)
19
Steiner Tree v.s Shortest Path Tree
4
1
11
2
22
34
1
11
2
22
3
A A (source)
Steiner tree: minimize the sum of the link costs in the tree
Shortest path tree: minimize the cost from source to each receiver
![Page 20: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/20.jpg)
20
Compute Shortest Path Tree
Use link state algorithm: each router needs to know the state of each link in the network
Can we compute the tree without link state information?
A: use reverse path forwarding algorithm
![Page 21: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/21.jpg)
21
Reverse Path Forwarding (RPF)
Forward packet from source S to all interfaces (except the incoming one) iff the packet arrived on the link that is on its shortest path to S A router need only know
the next hop on its shortest path to the sender
result is a source-specific reverse shortest path tree
A
B
D
E
C
F
Packet that will be forwarded
Packet not forwarded beyond receiving router
G
![Page 22: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/22.jpg)
22
RPF: Pruning
forwarding tree contains subtrees with no mcast group members no need to forward
datagrams down subtree “prune” msgs sent
upstream by router with no downstream group members
• Router tells parent in the tree to stop forwarding
• Prune message propagate upstream
A
B
D
E
C
FG
Prune message
![Page 23: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/23.jpg)
23
Rejoining
If a router sends a prune message upstream, what should happen if it later needs to join the group? Send a graft message to upstream router Or, allow pruned branches to time-out and be
added again to the tree
![Page 24: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/24.jpg)
24
Issues in Wide-Area Multicast
Hosts may join and leave a multicast group dynamicallyneed to dynamically update routing tree
State information for a multicast connection must be established and maintained in routers Group-shared tree: per group state Source-based tree: per (group, source) state
![Page 25: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/25.jpg)
Internet Multicasting Routing: DVMRP
DVMRP: distance vector multicast routing protocol, RFC1075
flood and prune: source-based tree, reverse path forwarding each router uses a distance vector algorithm to
compute the next hop on its shortest path to each source
initial datagram to mcast group flooded everywhere via RPF
routers not wanting multicast datagram: send upstream prune messages
routers store state for each (source, group) pair
![Page 26: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/26.jpg)
DVMRP: continued…
soft state: DVMRP router periodically “forgets” branches are pruned: multicast data again flows down unpruned branch router: reprune or else continue to receive data
routers can quickly regraft to tree using graft message
odds and ends commonly implemented in commercial routers MBONE (Multicast Backbone) routing done using DVMRP
![Page 27: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/27.jpg)
Tunneling some Internet routers are not multicast-capable Internet MBONE: a virtual network of multicast-capable routers on top of
a physical network containing a mix of unicast and multicast routers
mcast datagram encapsulated inside unicast datagram unicast IP datagram sent thru “tunnel” via regular IP unicast to
receiving mcast router receiving mcast router extracts mcast datagram
physical topology logical topology
AB
C
A B
C
![Page 28: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/28.jpg)
PIM: Protocol Independent Multicast
not dependent on any particular underlying unicast routing protocol (works with all)
two different multicast distribution scenarios:
Dense mode: group members
densely located, many routers need to be involved in routing multicast datagrams
Sparse mode: # routers with attached
group members small wrt total # routers
![Page 29: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/29.jpg)
Consequences of Sparse-Dense Dichotomy
Dense mode group membership by
routers assumed until routers explicitly prune
data-driven construction of mcast tree (e.g., RPF)
Sparse mode routers not involved in
multicast distribution until explicitly join a group
receiver- driven construction of mcast tree (e.g., center-based)
![Page 30: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/30.jpg)
PIM - Dense Mode
flood-and-prune reverse path forwarding similar to DVMRP, but can interoperate with
any underlying unicast routing protocol
![Page 31: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/31.jpg)
PIM - Sparse Mode
center-based approach router sends JOIN msg to
rendezvous point (RP) to join the tree intermediate routers update
state and forward JOIN message toward RP
PRUNE message is sent when a router leaves a group
R1
R2
R3
R4
R5
R6R7
join
join
join
rendezvouspoint
![Page 32: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/32.jpg)
PIM - Sparse Mode
sender unicast data to RP, which multicasts down RP-rooted tree
RP can send STOP message to source if no routers are jointed to the tree “no one is listening!”
after joining RP, router can switch to source-specific tree
R1
R2
R3
R4
R5
R6R7
join
join
join
all data multicastfrom rendezvouspoint
rendezvouspoint
![Page 33: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/33.jpg)
33
Switch from group-shared tree to a source-specific tree
In group-shared tree, E sends to RP, then RP sends to A
when data rate from E exceeds a threshold A sends join message directly
to E A does not send prune
message towards RP so it can continue to receive from other sources
increased performance: less traffic concentration, shorter paths
source
receiverRP
Before switch
After switch
A B C
E
D
![Page 34: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/34.jpg)
34
MOSPF: Multicast Open Shortest Path First
Multicast extension to OSPF Routers flood group membership information
with Link State Advertisements Each router independently computes source-
specific, shortest-path trees for each multicast group
![Page 35: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/35.jpg)
35
Evaluating a Multicast Routing Protocol
Scalability: the amount of state required in the routers Group-shared tree: per
group state Source-based tree: per
group, per source state Excess traffic received?
Yes: DVMRP, PIM Dense Mode
No: MOSPF, PIM Sparse Mode
Traffic Concentration Group-shared tree tends
to concentrate traffic on a smaller number of links
Source-based trees tend to distribute multicast traffic more evenly
Optimality of forwarding paths Minimum cost multicast
tree not used in practice Shortest path trees and
center based trees are used
![Page 36: CSE 401N:Computer Network](https://reader036.vdocuments.site/reader036/viewer/2022062517/568139e7550346895da1a035/html5/thumbnails/36.jpg)
36
THANX.