Top Banner
,30XOWLFDVW7XWRULDO Ahmed Helmy Assistant Professor of Computer Engineering University of Southern California [email protected] http://ceng.usc.edu/~helmy
182

Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Mar 27, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

����������� ������Ahmed Helmy

Assistant Professor of Computer Engineering

University of Southern [email protected]

http://ceng.usc.edu/~helmy

Page 2: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 2

�������- Motivation and Background

- Multicast vs. unicast

- Multicast Applications

- Delivery of Multicast- Local delivery and multicast addressing

- WAN delivery and its model

- Group Membership Protocol (IGMP)

- Multicast Algorithms and Concepts- Flooding, Spanning Tree, Reverse Path

Broadcasting (RPB), Truncated RPB, ReversePath Multicasting, Center-Based Trees

Page 3: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 3

- Multicast Routing Protocols- Dense vs. Sparse Multicast

- DVMRP

- MOSPF

- PIM (PIM-DM, PIM-SM)

- Multicast and the Internet- The MBONE

- Recent deployment

- Multicast and IP-Mobility

����������������

Page 4: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 4

Session 18:30-10:00

• Multicast vs. Unicast

• Multicast Applications

• Multicast Delivery and Host Model

Page 5: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 5

�����������������

• Multicast provides multipoint-to-multipointcommunication

• Today majority of Internet applications rely onpoint-to-point transmission (e.g., TCP).

• IP-Multicast conserves bandwidth by replicatingpackets in the network only when necessary

Page 6: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 6

�����������������S

R1

R2

R3R4

S

R1

R2

R3R4

Multiple unicasts Multicast

Page 7: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 7

• ����������� ��� ��– Stock ticker application transmits packets to 100

stations within an organization's network.

• Unicast transmits100 packets where many packetsmay traverse the same links.

• Multicast transmits one packet that is replicateddistributed by the multicast delivery tree.

Page 8: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 8

������������������������� ��• One-to-Many

– Scheduled audio/video distribution: lectures,presentations

– Push media: news headlines, weather updates– Caching: web site content & other file-based updates

sent to distributed replication/caching sites– Announcements: network time, configuration updates– Monitoring: stock prices, sensor equipment

Page 9: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 9

�������������������� ���� �����

• Many-to-One– Resource discovery

– Data collection and sensing

– Auctions

– Polling

Page 10: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 10

– Many-to-Many• Multimedia Teleconferencing (audio, video, shared

whiteboard, text editor)

• Collaboration

• Multi-Player Games

• Concurrent Processing

• Chat Groups

• Distributed Interactive Simulation

�������������������� ���� �����

Page 11: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 11

- Currently: The Multicast Backbone(MBONE) carries audio and videomulticasts of IETF meetings, NASA spaceshuttle missions,.. etc.

Page 12: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 12

� �� ! ����� ��" ������� ���#- The Session Directory (SD) tool lists active

multicast sessions on MBONE and allowsto join a conference using MBONE tools:- vat (visual audio tool), rat (robust audio tool)

- vic (video tool)

- wb (shared white board)

- nte (network text editor), .. etc.

Page 13: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 13

Page 14: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 14

Page 15: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 15

Page 16: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 16

Page 17: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 17

• Resource Discovery– Multicast may be used (instead of broadcast) to

transmit to group members on the same LAN.

– Multicast may be used for resource discoverywithin a specific scope using the TTL field inthe IP header.

� ����������� �����

Page 18: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 18

���������$� ��% ��� �&TTL Expanding-Ring Search

to reach or find a nearby subset of a group

s

1

2

3

Page 19: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 19

���������$� ��% ��� �&Administrative TTL Boundaries

to keep multicast traffic within anadministrative domain, e.g., for privacyreasons

an administrative domain

TTL threshold set oninterfaces to these links,greater than the diameterof the admin. domain

the rest of the Internet

Page 20: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 20

���������$� ��% ��� �&Administratively-Scoped Addresses

an administrative domain

address boundary set oninterfaces to these links

the rest of the Internet

– RFC 1112

– uses address range 239.0.0.0 — 239.255.255.255

Page 21: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 21

• Over the same (LAN):– The source addresses the IP packet to the

multicast group

– The network interface card maps the Class Daddress to the corresponding IEEE-802multicast address

– Receivers notify their IP layer to receivedatagrams addressed to the group.

– Key issue is ‘addressing’ & filtration

'��������� ����(���)��* +���������(��������

Page 22: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 22

• Over different subnets:– Routers implement a multicast routing protocol

that constructs the multicast delivery trees andsupports multicast data packet forwarding.

– Routers implement a group membershipprotocol to learn about the existence of groupmembers on directly attached subnets.

– Hosts implement the group membershipprotocol that provides the ‘IP-multicast hostmodel’

Page 23: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 23

����������

• Types of IP addresses:– Unicast: used to transmit packets to one destination.

– Broadcast: used to send datagrams to entire subnet.

– Multicast: used to deliver datagrams to a set ofhosts (members of a multicast group) in variousscattered subnets.

Page 24: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 24

• IP-Multicast is a “best-effort” service.– Reliable/ordered delivery are not guaranteed.

– Reliability may be provided by upper-layerprotocols (e.g., reliable multicast protocols).

• IP-Multicast packets include a "group address"(Class D) in the Destination field of the IPheader.

Page 25: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 25

�������������������

• An IP multicast group is identified by aClass D address.

• Multicast group addresses range from(224.0.0.0) to (239.255.255.255).

Page 26: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 26

• The Internet Assigned Numbers Authority(IANA) registers IP multicast groups.

• The block of multicast addresses rangingfrom (224.0.0.1) to (224.0.0.255) isreserved for local LAN multicast:– used by routing protocols and other low-level

topology discovery or maintenance protocols

– E.g., "all-hosts" group (224.0.0.1), "all-routers”group (224.0.0.2), "all DVMRP routers", etc.

• The range (239.0.0.0) to (239.255.255.255)are used for site-local "administrativelyscoped" applications.

Page 27: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 27

• All multicast addresses in IANA's reservedblock begin with 01-00-5E (hex)

• Mapping between a Class D and anEthernet multicast address is obtained by:– placing the low-order 23 bits of the Class D

address into the low-order 23 bits of IANA'sreserved address block.

�������%����(� ��!������������

Page 28: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 28

– How multicast group address 224.10.8.5 (E0-0A-08-05) ismapped into an Ethernet (IEEE-802) multicast address.

• The mapping may place up to 32 different IP groupsinto the same Ethernet address because the upperfive bits of the IP multicast group ID are ignored.

Page 29: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 29

• Hosts can join or leave a group at any time

• A host may be a member of multiple groups

• Senders need not be members of the group

• Participants do not know about each other

• The two components of IP-multicast:– the group membership protocol

– the multicast routing protocol

'!���������� ��� ���

Page 30: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 30

Page 31: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 31

• Routers need to learn about the presence ofgroup members on directly attached subnets

• When a host joins a group:– it transmits a group membership message for

the group(s) that it wishes to receive

– sets its IP process and network interface card toreceive packets sent to those groups.

,� �����"���!���� � � �

Page 32: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 32

• This receiver-initiated join process scaleswell:– as the group size increases, it becomes more

likely for a new member to locate a nearbybranch of the multicast distribution tree.

Page 33: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 33

- ���������� ������� � � ��– Run on routers and establish the multicast

distribution tree to forward packets from sender(s)to group members.

• Based on unicast routing concepts:– DVMRP is a distance-vector routing protocol,

– MOSPF is an extension to the OSPF link-stateunicast routing protocol.

• Center-based trees (e.g., CBT & PIM-SM)introduce the notion of the tree ‘core’.

Page 34: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 34

Session 210:15-12:00

• IGMP

• Multicast Algorithms

Page 35: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 35

��������,� �������������� � � ���,���

• IGMP runs between hosts and theirimmediately neighboring multicast routers.

• The protocol allows a host to inform its‘first-hop’ router that it wishes to receivepackets destined to a specific group.

Page 36: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 36

• Routers periodically query the LAN todetermine if group members are still active.

• One router per LAN is elected as "querier"to query for group members.

• Through IGMP a router determines whichmulticast traffic needs to be forwarded toeach of its "leaf" subnets.

� ����.������ ����,��

Page 37: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 37

�,��/���� �0

• RFC-1112

• To determine local group membership:– Multicast routers periodically transmit ‘Host

Membership Query’ messages

– Queries are ddressed to the all-hosts group(224.0.0.1) with TTL = 1 (i.e., not forwardedby any other multicast router).

Page 38: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 38

• Upon receiving a Query, a host responds with a‘Host Membership Report’ for each group that itwishes to Join

• Observation: The router only needs to know of atleast one group member on the leaf subnet

���1 �����,� ���

Page 39: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 39

��� ��$�������� ����!�����

• To avoid Report implosion:– Each host starts a random delay timer for its Reports.

– If during the delay period another Report is heard forthe same group, the host resets its timer

– Otherwise, the host transmits a Report causing othergroup members to reset their timers

• Thus, Reports are spread out over time and Reporttraffic is minimized

Page 40: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 40

– IGMP-Query Message

Page 41: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 41

• The querier periodically transmit Queries toupdate local membership

• If no Report is received for a group after anumber of Queries, the router assumes thatmembers are no longer present on that LAN– the group is removed from the membership list

of that interface/subnet

2�������� ������"���!��

Page 42: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 42

��������1 ��������*

• When a host first joins a group, itimmediately transmits a Report for thegroup rather than waiting for a routerQuery.

Page 43: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 43

• IGMP V2 was part of IP-mcast (V3.3-3.8)– spec <draft-ietf-idmr-igmp-v2-01.txt>

• IGMP V2 enhances IGMP V1– IGMP V2 elects one querier for each LAN, the

router with the lowest IP address.

– In V1, the querier election was done by themulticast routing protocol (different multicastrouting protocol used different methods).

����������������,��/3�

Page 44: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 44

• IGMP V2 defines a new Query message,the ‘Group-Specific Query’, to Query aspecific group rather than all groups

Page 45: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 45

• To reduce ‘leave latency’ V2 defines a ‘LeaveGroup’ message– When a host leaves a group, it sends a ‘Leave Group’

to the all-routers group (224.0.0.2) with the group fieldset to the group to be left.

– Upon receiving a Leave from a LAN, the queriersends Group-Specific Query on that LAN.

– If there are no Reports in response to the Group-Specific Query, the group is removed from themembership list of that subnet.

�����������)�������*

Page 46: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 46

• Observation: With IGMP V1 and V2, if ahost wants to receive any sources from agroup, the traffic from all sources for thegroup has to be forwarded onto the subnet.

Page 47: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 47

• Spec: <draft-ietf-idmr-igmp-v3-03.txt>

• IGMP V3 supports Group-Source Reports:– A host can elect to receive traffic from specific

sources of a multicast group.

– An inclusion Group-Source Report specifies thesources a host wants to receive.

– An exclusion Group-Source Report identifiesthe sources a host does not want to receive.

������������������������

Page 48: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 48

• IGMP v3 enhances support for LeaveGroup messages to support ‘Group-Source’Leave messages:– A host can leave an entire group or specific

(source, group) pair(s).

Page 49: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 49

���������4 ����������� ���!��

• A multicast routing protocol is responsiblefor the establishment of the multicastdistribution tree and for performing packetforwarding.

Page 50: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 50

• Several algorithms may be employed bymulticast routing protocols:• Flooding

• Spanning Trees

• Reverse Path Broadcasting (RPB)

• Truncated Reverse Path Broadcasting (TRPB)

• Reverse Path Multicasting (RPM)

• Core-Based Trees

Page 51: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 51

• These algorithms are implemented in themost prevalent multicast routing protocolsin the Internet today.• Distance Vector Multicast Routing Protocol

(DVMRP)

• Multicast OSPF (MOSPF)

• Protocol-Independent Multicast (PIM) [PIM-DM and PIM-SM]

Page 52: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 52

4� ����• The simplest technique for multicast delivery.

• When a router receives a multicast packet itdetermines whether or not this is the first timeit has seen this packet.– On first reception, a packet is forwarded on all

interfaces except the one on which it arrived.

– If the router has seen the packet before, it isdiscarded.

Page 53: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 53

• A router does not maintain a routing table, butneeds to keep track of recently seen packets.

• Flooding does not scale for Internet-wideapplication:- Generates a large number of duplicate packets and

uses all available paths across the internetwork.

- Routers maintain a distinct table entry for eachrecently seen packet (consumes memory).

Page 54: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 54

5$�������'���• More effective than flooding

• Defines a tree structure where one active pathconnects any two routers on the Internet.

• Spanning Tree rooted at R

Page 55: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 55

• A router forwards each multicast packet tointerfaces that are part of the spanning treeexcept the receiving interface.

• A spanning tree avoids looping of multicastpackets and reaches all routers in thenetwork.

Page 56: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 56

• A spanning tree algorithm is easy toimplement

• However, a spanning tree solution:– may centralize traffic on small number of links

– may not provide the most efficient pathbetween the source and the group members.

Page 57: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 57

��)�������!6� ������������6�

• More efficient than building a singlespanning tree for the entire Internet.

• Establishes source-rooted distribution treesfor every source subnet.

• A different spanning tree is constructed foreach active (source, group) pair.

Page 58: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 58

��6��� ���!�• For each (source, group) pair

– if a packet arrives on a link that the routerconsiders to be the shortest path back to the sourceof the packet

• then the router forwards the packet on all interfacesexcept the incoming interface.

– Otherwise, the packet is discarded.

Page 59: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 59

• The interface over which a router acceptsmulticast packets from a particular source iscalled the "parent" link.

• The outbound links over which a routerforwards the multicast packets are called the"child" links.

Page 60: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 60

• Reverse Path Broadcasting (RPB)Forwarding

Page 61: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 61

• Enhancement to reduce packet duplication:– A router determines if a neighboring router

considers it to be on the shortest path back tothe source.

– If Yes, the packet is forwarded to the neighbor.

– Otherwise, the packet is not forwarded on thatpotential child link.

Page 62: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 62

• To derive the parent-child information:– link-state routing protocol already has it (since

each router maintains a topological database forthe entire routing domain).

– distance-vector routing protocol uses ‘poisonreverse’:

• a neighbor can either advertise its previous hop forthe source subnet as part of its routing updatemessages or "poison reverse" the route.

Page 63: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 63

• ������� +��)�������!6� ���������

Page 64: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 64

6���+���

• Reasonably efficient and easy to implement.

• Does not require keeping track of previouspackets, as flooding does.

• Multicast packets follow the "shortest" pathfrom the source to the group members.

• Avoids concentration over single spanning tree

Page 65: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 65

�������� ��

• Does not take into account group membershipwhen building the distribution tree.

• As a result, packets may be unnecessarilyforwarded to subnets with no group members.

Page 66: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 66

'����������)�������!6� ����������'��6�

• Using IGMP, routers discover groupmembers and avoid forwarding packets ontoleaf subnets with no members.

• The spanning delivery tree is "truncated" ifa leaf subnet has no group members.

Page 67: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 67

• Truncated Reverse Path Broadcasting(TRPB)

Page 68: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 68

• TRPB eliminates unnecessary traffic on leafsubnets

• But it does not consider group membershipwhen building the branches of thedistribution tree.

Page 69: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 69

��)�������!�����������������

• RPM enhances TRPB.

• RPM creates a delivery tree that spans only:-Subnets with group members-Routers and subnets along the shortest pathto group members

• In RPM, non-member branches are pruned

• Packets are forwarded only along branchesleading to group members.

Page 70: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 70

���5.������ �

• The first multicast packet is forwarded(using TRPB) to all routers in the network.

• Routers at edges of the network with nodownstream routers are called ‘leaf’routers.

• A leaf router with no downstream memberssends a "prune" message on its parent linkto stop packet flow down that branch.

Page 71: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 71

• Prune messages are sent hop-by-hop backtoward the source.

• A router receiving a prune message storesthe prune state in memory.

• A router with no local members thatreceives prunes on all child interfaces sendsa prune one hop back toward the source.

• This succession of prune messages creates amulticast forwarding tree that contains onlybranches that lead to group members.

Page 72: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 72

• Reverse Path Multicasting (RPM)

Page 73: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 73

• To adapt to membership/network dynamics,the prune state is timed out periodically, andpackets are broadcast throughout the network.

• This may result in a burst of prune messages.

Page 74: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 74

�������� ��

• Despite improvements over RPM, there arescaling issues and limitations:– Multicast packets are periodically forwarded to

every router in the network.

– Routers maintain prune state off-tree for all(source,group) pairs.

• These limitations are amplified with increasein number of sources and groups.

Page 75: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 75

%�����7% ���6����'�����%6'�

• Earlier algorithms build source-based trees

• CBT builds a single delivery tree (rooted at thecore) that is shared by all group members.

• Multicast traffic for each group is sent andreceived over the shared tree, regardless of thesource.

Page 76: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 76

• A core-based tree involves one or morecores in the CBT domain.

• Each leaf-router of a group sends a hop-by-hop "join" message toward the "core tree"of that group.

• Routers need to know the group core tosend the join request.

%6'.������ �

Page 77: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 77

• Intermediate routers process the join request:– The interface on which the join was received is

added to the delivery tree.

• Intermediate routers forward join requeststoward the core until the join reaches a core ora router on the distribution tree.

• Senders unicast their packets toward the core.

• When the unicast packet reaches a member ofthe delivery tree, the packet is multicast to alloutgoing interfaces that are part of the tree.

Page 78: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 78

6���+���

• Advantages over RPM, in terms of scalability:– A router maintains state information for each

group, not for each (source, group) pair.

– Multicast packets only flow down branchesleading to members (not periodically broadcast).

– Only join state is kept on-tree

Page 79: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 79

�������� ��• CBT may result in traffic concentration near the

core since traffic from all sources traverses thesame set of links as it approaches the core.

• A single shared delivery tree may create sub-optimal routes resulting in increased delay.

• Core management issues– dynamic core selection

– core placement strategies

Page 80: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 80

Session 31:00-2:15

• Multicast Routing Protocols– Dense vs. Sparse Multicast

– DVMRP

– MOSPF

Page 81: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 81

���������� ������� � � ��

• In general, there are two classes of multicastrouting protocols:– Dense-mode protocols (broadcast-and-prune)

• DVMRP, PIM-DM, (MOSPF!)

– Sparse-mode protocols (explicit-join)• PIM-SM, CBT, BGMP

Page 82: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 82

(����)��$������ �����������

R1

R2

R3R4

S

Dense-Mode Multicast

Page 83: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 83

(����)��$������ �����������

S

R1

R2

R3R4

RootR1

R2

R3R4

S

Dense-Mode Multicast Sparse-Mode Multicast

Page 84: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 84

(�������/��� ����������� ������� � � ��(/����

• DVMRP constructs source-rooted treesusing variants of RPM.

• Many MBONE routers run DVMRP

• DVMRP was first defined in RFC-1075.– The original spec was derived from the Routing

Information Protocol (RIP) and used TRPB.

– Mrouted version 3.8 uses RPM.

Page 85: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 85

• Physical/Tunnel Interfaces and Scoping:– The ports of a DVMRP router may be either

• a physical interface to a directly attached subnet or

• a tunnel interface to another multicast island.

• Interfaces are configured with a TTL thresholdthat limits the scope of a multicast transmission.

• Each tunnel interface is configured with the IPaddress of the remote router's interface.

Page 86: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 86

• A router forwards a packet only if:– TTLPacket > TTLthreshold of interface

TTL Scope Values

Page 87: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 87

(/���6����.������ �

• DVMRP implements RPM.

• The first packet for any (source, group) pairis broadcast to the entire network, providingthe packet's TTL permits.

• Leaf routers with no local members sendprune messages back toward the source.

Page 88: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 88

• Prune messages cause the removal ofbranches that do not lead to group members

• The result is source-specific shortest pathtree with all leaves having group members.

• After a period of time, the pruned branchesgrow back and the packets are broadcastthroughout the network.

• A “graft” mechanism helps to quickly re-establish previously pruned branches.

Page 89: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 89

• A new member joining the group causesthe first-hop router to send a graft messageto the group's previous-hop router.

• When an upstream router receives a graftmessage, it removes the prune state.

• Graft messages may cascade back towardthe source allowing previously prunedbranches to be restored.

Page 90: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 90

�������(/���$������ g g

s

g

Page 91: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 91

�������6� �����������'��������6� ������

g g

s

g

Page 92: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 92

������ �����"��"����!��g g

s

prune (s,g)

prune (s,g)

g

Page 93: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 93

graft (s,g)

graft (s,g)

,��+�������"���g g

s

g

g

report (g)

Page 94: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 94

(/���(�����"��� �'���g g

s

g

g

Page 95: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 95

�) ������ �� ����• To avoid duplicates, one router per LAN is

elected the Dominant Router

Page 96: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 96

• The router with lowest metric to the sourcesubnet (with the lowest IP address as tiebreaker) becomes the Dominant router

• A dominant router is ‘the’ forwarder for theLAN for traffic from the source subnet

Page 97: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 97

• Entries in a typical DVMRP forwarding table:– Source Subnet

– Multicast Group

– InPort - The parent port for the (S, G) pair. A "Pr"indicates that a prune was sent to upstream.

– OutPorts - The child ports over which packets forthe (S, G) pair are forwarded. A ‘p’ indicates prunemessage received on that interface.

(/���4 ��������'�"��

Page 98: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 98

(/���4 ��������'�"��

Page 99: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 99

���������������� ��� .$�4��.$�4�

• OSPF V2 is defined in RFC-1583.

• OSPF is a unicast routing protocol thatdistributes topology information andcalculates routes for a single domain.

• MOSPF is defined in RFC-1584.

• MOSPF routers maintain a current image ofthe network topology through the unicastOSPF link-state routing protocol.

Page 100: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 100

• MOSPF does not support tunnels

• Basic MOSPF runs in a single OSPF domain

• MOSPF uses IGMP to discover members ondirectly attached subnets.

• The Designated Router (DR) is responsible forsending membership information to all routers inthe OSPF domain.

• The DR floods Group-Membership Link StateAdvertisements (LSAs) throughout the OSPFdomain.

Page 101: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 101

• The shortest path tree for (S, G) pair is built "ondemand" when a router receives the first packetfor (S,G).

• When the initial packet arrives, the sourcesubnet is located in MOSPF link state database.– MOSPF LS-DB = OSPF LS-DB + Group-Membership LSAs

6��������!�$! ��������!'���

Page 102: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 102

• Source-rooted shortest-path tree isconstructed using Dijkstra's algorithm.

• To forward packets to downstreammembers, each router determines itsposition in the shortest path tree

• After the tree is built, Group-MembershipLSAs are used to prune those branches thatdo not lead to group members.

Page 103: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 103

• All routers within an OSPF domaincalculate the same shortest path trees.

• MOSPF LS-DB allow a router to performRPM computation "in memory".

• No need for broadcast and prune.

Page 104: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 104

• Forwarding cache entry contains the(source, group) pair, the upstream node, andthe downstream interfaces.

• MOSPF Forwarding Cache

4 ��������%��!�

Page 105: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 105

• The forwarding cache contains:– Destination: The group address

– Source: The packet’s source subnet.

– Upstream: The interface from which (S,G)packets are received.

– Downstream: The interfaces to which (S,G)packets are forwarded

– TTL: min. number of hops a packet needs toreach the group members. [This allows therouter to discard packets with no chance ofreaching the members.]

Page 106: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 106

• The forwarding cache is not aged. Theforwarding cache will change when:• The topology of the OSPF network changes,

forcing all of the datagram shortest-path trees tobe recalculated.

• There is a change in the Group-MembershipLSAs indicating that the distribution ofindividual group members has changed.

Page 107: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 107

�������� ��

• Limited to OSPF domains

• Flooding membership information does notscale well for Internet-wide multicsat

Page 108: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 108

Session 42:30-3:45

• Protocol Independent Multicast (PIM)– PIM Dense Mode

– PIM Sparse Mode

– RP and Bootstrap Mechanisms

Page 109: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 109

�� � � ���������������������������

• Design Rationale:– Broadcast and prune keeps state off-tree and is

suitable when members are densely distributed

– Explicit join/center-based approach keeps stateon-tree and is suitable when members aresparsely distributed

– PIM attempts to combine the best of bothworlds

Page 110: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 110

(�����%! ����

• Shared trees or shortest path trees?– Both: use shared trees to ‘Rendezvous’ then

switch to shortest path to deliver

• DV or LS for routing?– Use routing tables regardless of which protocol

created them (hence the name ‘ProtocolIndependent’)

Page 111: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 111

���.������ �� ���

• PIM provides both dense-mode (DM) andsparse-mode (SM) protocols

• PIM-DM: similar to DVMRP but does notbuild its own routing table

• PIM-SM: similar to CBT but providesswitching to SPT and bootstrap mechanismfor electing the tree center dynamically

Page 112: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 112

�����(�� ���• Packets initially flow on broadcast tree

• Forwarded away from source using the RPFalgorithm– A router forwards a multicast datagram if received on

the interface used to send unicast datagrams to thesource

• Then, Prunes are sent up the tree to removebranches with no members

Page 113: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 113

�����(�� ���Source

Receiver 2

Receiver 1

D F

I

B

C

A

E

G

H

Page 114: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 114

�����(�� ���Source

Prune

Receiver 2Receiver 1

D F

I

B

C

A

E

G

H

Page 115: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 115

�����(�� ���Source

Asserts

Receiver 2Receiver 1

D F

I

B

C

A

E

G

H

Page 116: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 116

�����(�� ���Source

Receiver 2Receiver 1

D F

I

B

C

A

E

G

H

Page 117: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 117

�����(�� ���Source

Prune

Receiver 2Receiver 1

Join Override

Prune

D F

I

B

C

A

E

G

H

Page 118: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 118

�����(�� ���Source

Receiver 2Receiver 1

D F

I

B

C

A

E

G

H

Page 119: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 119

�����(�� ���Source

Graft

Receiver 2

Receiver 3

Receiver 1

D F

I

B

C

A

E

G

H

Page 120: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 120

�����(�� ���Source

Receiver 2

Receiver 3

Receiver 1

D F

I

B

C

A

E

G

H

Page 121: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 121

�����$�� ���

• A Rendezvous Point (RP) is chosen as tree centerper group to enable members and senders to“meet”

• Members send their explicit joins toward the RP

• Senders send their packets to the RP

• Packets flow only where there is join state

• (*,G) [any-source,group] state is kept in routersbetween receivers and the RP

Page 122: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 122

�����$�� ���• When should we use shared-trees versus source-

trees?– Source-trees tradeoff low-delay from source with

more router state

– Shared-trees tradeoff higher-delay from source withless router state

• Switch to the source-tree if the data rate is abovea certain threshold

Page 123: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 123

�����$�� ���Source

B

E

A D

C

RP

Receiver 2Receiver 1

Link

(*,G) Data

(S,G) Data

Control

Page 124: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 124

�����$�� ���

BA DRP

Source

Receiver 2Receiver 1

(*, G)Join

EC Link

(*,G) Data

(S,G) Data

Control

Page 125: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 125

�����$�� ���

BA DRP

Source

Receiver 2Receiver 1

EC Link

(*,G) Data

(S,G) Data

Control

Page 126: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 126

�����$�� ���

BA DRP

Receiver 2Receiver 1

Source

Register

EC Link

(*,G) Data

(S,G) Data

Control

Page 127: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 127

�����$�� ���

BA DRP

Receiver 2Receiver 1

Source

(S, G)Join

(S, G)Join

EC Link

(*,G) Data

(S,G) Data

Control

Page 128: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 128

�����$�� ���

BA DRP

Receiver 2Receiver 1

Source

Register-Stop

EC Link

(*,G) Data

(S,G) Data

Control

Page 129: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 129

�����$�� ���

BA DRP

Receiver 2Receiver 1

Source

(S, G) JoinEC Link

(*,G) Data

(S,G) Data

Control

Page 130: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 130

�����$�� ���

BA DRP

Receiver 2Receiver 1

Source

(S, G) RP Bit Prune

EC

(S, G) Prune

Link

(*,G) Data

(S,G) Data

Control

Page 131: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 131

�����$�� ���

BA DRP

Receiver 2Receiver 1

Source

EC(*, G) Join

Link

(*,G) Data

(S,G) Data

Control

Page 132: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 132

�����$�� ���

BA DRP

Receiver 2Receiver 1

Source

EC Link

(*,G) Data

(S,G) Data

Control

Page 133: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 133

Host

A B C

1. IGMP Host-

Membership Query

2. IGMP Host-Membership Report for G

3. Create (*,G) entry:Multicast address=G

RP-address=C,WC=1,RP=1outgoing interface list={1}

incoming interface=2

4. Send Join/Prune message to B:

Multicast address=GJoin={C,WC,RP}

Prune=Null

5. Create (*,G) entry:Multicast address=G

RP-address=C,WC=1,RP=1outgoing interface list={1}

incoming interface=3

6. Send Join/Prune message to C:

Multicast address=GJoin={C,WC,RP}

Prune=Null

D 7. Create (*,G) entry:Multicast address=G

RP-address=C,WC=1,RP=1outgoing interface list={1}incoming interface=Null

1 2 12

3 1...Receiver

LAN PIM DR/IGMPQuerier for LAN

Rendezvous Point (RP)for group G

�����)���1 ������!�$!����'���

Page 134: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 134

Host

A

C X

D Host

1. Data packets for G2. Create (S,G) entry

incoming interface=1

3. Encapsulate Datapackets in Register

messages and unicast to RP(C)

4. Initiate (S,G) packet counter

5. If (*,G) state exists thendecapsulate Registers and

forward packets to oiflist (*,G)

6. If Register data rate > Thresholdthen create (S,G) entry:

outgoing list=oiflist (*,G)-{2}incoming interface=2

RP=0,SPT=0

7. Send Join/Prunemessage to X:

Multicast address=GJoin={S}, Prune=Null 8. Create (S,G) entry:

outgoing list={1}incoming interface=2

9. Send Join/Prunemessage to D:

Multicast address=GJoin={S},Prune=Null

10. Update (S,G) entry:add 2 to outgoing

interface list

11. When receive (S,G) nativepackets set SPT bit for (S,G) entry,

& trigger Register-Stop message to D

12. When receiverRegister-Stop stop

encapsulating packets

Receiver

Source

LAN(B)

DR for LAN(B)

1

2

12

1

2

Rendezvous Point(RP for group G 1

2

��$������� �!�,� ��

Page 135: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 135

Host

A B C

1. Receive S’s packets on shared RP treeInitiate packet count

If data rate > Threshold then:Create (S,G) entry:

outgoing interface list={1}incoming interface=2RP=0,WC=0,SPT=0

2. Send Join/Prune message to B:

Multicast address=GJoin={S}

Prune=Null

3. Create (S,G) entry:outgoing interface list={1}

incoming interface=2RP=0,WC=0,SPT=0

6. After receiving packets from D:Set (S,G)’s SPT-bit=1 and,

send Join/Prune message to C:Multicast address=G

Join=NullPrune={S,RP-bit}

D

7. Create (S,G) entry:oif list=oif(*,G)-{1}

RP-bit=1

1 2 12

3 1Receiver

LAN PIM DR/IGMPQuerier for LAN

Rendezvous Point (RP)for group G

4. Send Join/Prune message to D:

Multicast address=GJoin={S}

Prune=Null

5. Add interface 2to the outgoing interface

list of (S,G) entry

2

12

HostSource (S)

First Hop Router for S

$����!���� �!�$! ��������!'���

Page 136: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 136

'!���6 �������� "���• Which router to use as RP for a group?

– A set of well-connected routers are configured asCandidate-RPs for group(s) per domain

– A manageable number of RPs is chosen

– RPs advertise candidacy for group-prefix (notper group), for scalability

– Periodic advertisement of candidacy to capturedynamics and unreachability

• Who maintains/updates/distributes this info?

Page 137: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 137

��6 ������(��������� ����• Host model:

– hosts need only “logical” multicast group addressto send or receive

• RP address is network (not logical) address

• Routers should map group address to RP addressand adapt to unreachability/change of RP

Page 138: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 138

��6 ������(��������� ����• No “on-demand” retrieval of RP info to avoid

start-up phase• can’t join or send until DR gets RP address

• “bursty source” problem:• packets are lost until DR identifies active RP

• global distribution of explicit group to RPmapping and reachability not scalable

• Use a-priori status distribution• like unicast routing, periodic liveness tracking

• distribute RP-list throughout the domain

Page 139: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 139

%! �������&'!�6 ���������!�����

• PIMv2 has a Bootstrap router election procedure– The Bootstrap router receives Candidate-RP messages

from potential RPs

– Bootstrap router sends Bootstrap messages whichcontain a list of reachable Candidate-RPs

– All PIM routers receive these Bootstrap messages

– DRs obtain group-to-RP mapping (when hosts join orsend to the group) through a hash algorithm

Page 140: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 140

��6 ���������!�����

• RP location need not be optimized, butconsistent RP mapping and adaptation tofailures is criticial– all routers (within PIM domain) must associate

a single active RP with a multicast group

• Routers use ‘algorithmic mapping’ ofGroup address to RP from manageably-small set of RPs known throughout domain

Page 141: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 141

��6 ����������!�����• Each candidate RP indicates liveness to the

Bootstrap Router in the PIM domain

• Bootstrap Router distributes set of reachablecandidate RPs to all PIM routers in domain.

• Each PIM router uses the same hashfunction and set of RPs to map a particularmulticast group address to that group’s RP.

Page 142: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 142

(*�����6 ������� ���������� �

• Simple bridge-like spanning-tree election algorithm

• A set of well-connected routers are configured asCandidate Bootstrap Routers (C-BSRs) per domain

• C-BSRs originate PIM hop-by-hop Bootstrap messageswith IP address and preference value.

• Bootstrap messages are exchanged by all PIM routerswithin domain (flooded with RPF check)

• Most preferred (or highest numbered) reachable C-BSRis elected

Page 143: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 143

� ��������!��!+����� �� ���,� ���������� ��

• Hash function– input: group address G and address of each candidate

RP in RP set (with optional Mask)

– output: Value computed per candidate RP in RP set

– RP with highest value is the RP for G

• Desirable characteristics– minimize remapping when RP reachability changes —

remap only those that lost RP

– load spreading of groups across RPs

Page 144: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 144

�������� �� ��2�����!�"����*• When Candidate RP fails/unreachable

– Bootstrap Router times it out

– Bootstrap message distributed with updated RPset

– Routers hash affected groups to different RP

Page 145: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 145

��+�������

• RFC 2362/2117

• http://catarina.usc.edu/pim

Page 146: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 146

Session 54:00-5:00

• Multicast and the Internet– The MBONE

– Recent Deployment

– BGMP

Page 147: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 147

�������������!���������

• Initially there was the MBONE

• Short-term inter-domain solution based onPIM-SM, MBGP and MSDP

• Longer-term architecture BGMP

Page 148: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 148

'!���������8����������6���" ����6.��

• The MBONE is an interconnect of subnetsand routers that support IP-multicast.

• The goal of the MBONE was:– initially: to construct an IP multicast test-bed

– as it became popular: gradual deployment ofmulticast applications without waiting for theubiquitous Internet multicast deployment

Page 149: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 149

• The MBONE is rapidly growing– 40 subnets in 4 countries in ‘92

– > 2800 subnets in over 25 countries in April ‘96

• The MBONE is a virtual network layered ontop of a subset of the Internet.

• It is composed of islands of multicast-capablerouters connected to other islands by virtualpoint-to-point links called “tunnels.”

Page 150: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 150

- Tunnels allow multicast traffic to passthrough the non-multicast-capable parts ofthe Internet.

- Multicast packets are encapsulated as IP-in-IP, so they look like normal unicast packetsto intermediate routers.

- Encapsulation is added on entry to a tunneland stripped off on exit from a tunnel.

'��������

Page 151: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 151

����������������� ��������!� ��!�������

Page 152: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 152

• The MBONE and the Internet have differenttopologies, so:– multicast routers execute a separate routing

protocol to forward multicast packets.

- Much of the MBONE routers run DVMRP

- Portions of the MBONE run:- MOSPF

- Protocol-Independent Multicast (PIM)

Page 153: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 153

Page 154: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 154

�6.��������� ��• “Mbone currently using DVMRP, which was

never intended for, and is ill-suited to, this task– known problems of DV with large networks

– broadcast & prune approach ‘undesirable’ forinterdomain routing”, S. Deering.

• Suggested solution:– Use sparse-mode concepts

– Use 2-level hierarchy (as in unicast)

Page 155: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 155

������(��� *����

• Use PIM-SM as intra-domain multicastrouting protocol

• Use MBGP (Multicast BGP) to distributeinter-domain multicast routes

• Use MSDP (Multicast Source DiscoveryProtocol) between RPs in different domains

Page 156: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 156

�6,�

• BGP (RFC 1771) used for unicast routing to:– aggregate and abstract routes for scalability

– provide inter-domain routing policies

• BGP4+ (RFC 2283) can carry multicast routes– multicast routers need only know

• - internal topology and - paths to reach other domains

– provides topology info for multicast routes thatmay be different than unicast routes

Page 157: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 157

�� "���% ������������$�� �����

( ����������$�� ( ����6�����$��

��� ��6$ �

$ ����������������!�����!���� ������������)���9 ��� ������!������!���� ����

��*+ ������)����� ����6� �� ��" ��� �������� ��������)���)����

Page 158: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 158

�$(�

• To tie PIM-SM trees in different domains– every RP has MSDP peers (RPs in other domains)

– when a source registers to the RP it conveys this infoto its MSDP peers through TCP and SA messages

– this info is RPF-flooded to other domains

– an RP with members in its domain joins towards src

Page 159: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

RP1

Source S

Last hop routersends (S,G) Register to RP1

RP1 CreatesState

RP2

Receiver R

(S,G)JoinstowardsRP2

AS 2 AS 1

����$�

Page 160: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

�������

RP1

Source S

RP2

Receiver R

MSDP PeeringMSDP Peering o Between RPs o Over TCP

Page 161: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

$������$�����

RP1

Source S

Last hop routersends (S,G) Register to RP1

RP1 CreatesState

RP2

Receiver R

RP1 Sends (S,G) SA message

(S,G)JoinstowardsRP2

MSDP Peering

Page 162: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

1 ������!�$ ����'���

RP1

Source S

Last hop routersends (S,G) Register to RP1

RP1 CreatesState

RP2

Receiver R

RP2 Joins (S,G) Source Tree

(S,G)JoinstowardsRP2

(S,G) Joins

Page 163: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

4 ���������������

RP1

Source S

RP2

Receiver R

Page 164: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 164

�������� ��

• Short-term solution that doesn’t scale well!

Page 165: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 165

��(�)�� ��������������( �������������� �����

• BGMP (Border Gateway Multicast Protocol):– PIM-SM-like inter-domain multicast routing protocol

– builds bi-directional shared trees of domains

– each tree has a ‘root domain’ (like an RP)

• MASC (Multicast Address Set Claim):– mechanism to associate addresses with root domains

• MBGP:– extends BGP to convey ‘address-range to root’ mapping

to border routers

Page 166: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 166

6,��• Bi-directional shared trees rooted at

domains

• Border routers send joins and data towardroot domain for mcast address in packet

• Mapping of multicast address to rootdomain obtained from BGP4+ MRIB

• Source specific branches only where“needed”

Page 167: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 167

ISP 1

Sender/Rcvr

Group Initiator

BGMP tree

AS1

Page 168: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 168

.�!�����������!�������( ����������������!��������

• Multicast address allocation

• Multicast state aggregation

• Security and authentication (always an issue!!)

• …

• For more references:

– Sigcomm ‘99 [Kumar et al.]– http://catarina.usc.edu/multicast

Page 169: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 169

Session 68:30-10:00

• Mobile IP

• Multicast and IP-Mobility

Page 170: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 170

� "�����• Each mobile node has a home network,

home address and home agent

Home Agent (HA)

Home Network

Mobile Node

Correspondent Node

Page 171: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 171

Home Agent

Home Network

Correspondent Node

Foreign Agent (FA)

Foreign Network

Mobile Node

• When mobile node (MN) moves to a foreign network it obtains acare-of-address (COA) from the foreign agent (FA) that registers it with the home agent (HA)• COA is used by HA to forward packets destined to MN

SolicitationAdvertisement (FA,COA)

Register (HA)

Register

Page 172: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 172

Home Agent (HA)

CorrespondentNode (CN)

Mobile Node (MN)

Packets to MN are picked up by the HAand tunneled to MN

Packets sent by MN godirectly to CN

• Triangle Routing in Mobile-IP

Page 173: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 173

���������������� "����*

• Common issues in both paradigms– Location independent communication/addressing

– Location discovery/management

– Packet forwarding

Page 174: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 174

� ���� ����������������������

• IP-Multicast– Single ‘logical’ multicast

group D-class address

– Senders do not knowwhere receivers are

– Receivers do not knowwhere senders are

• Mobile-IP– Permanent home address

– Temp care-of-address(es)

– Address mapping donethrough the home agent

Page 175: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 175

� ���� �����������

• IP-Multicast– Membership location

– Done thru IGMP & routing(e.g., RP)

– Meet through the multicasttree

• Mobile-IP– Mobile node location

– Done thru home agent

– Meet thru registrationof new address

Page 176: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 176

������4 ��������

• IP-Multicast– Multicast forwarding

– Tunnel through themulticast tree (e.g., RP)

• Mobile-IP– Unicast forwarding

– Tunnel through homeagent

Page 177: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 177

$����������������$!�+�&���������+ �� "����*

• Instead of obtaining a new COA andregistering with the new foreign agent (andsubsequently with the home agent) and de-registering the old one

• Use the same logical multicast groupaddress and join/leave the group as youmove

Page 178: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 178

(�����"��� ������*�������!���� �����

CHCH: Correspondent host (sender)

Wireless link

Mobile Node

Page 179: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 179

1 ��7������*������� � ��+*������"��� �CH

CH: Correspondent host (sender)

Wireless link

Mobile Node

Page 180: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 180

$� �! ���� ++

BS1 BS2

Page 181: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 181

� ���������)�������

• Avoiding ‘triangle routing’ problem

• Avoiding the need for home/foreign agents

• Smooth hand-off using standard join/prune

• Using shortest path by source-specific trees

Page 182: Ahmed Helmy Assistant Professor of Computer Engineering ...afn48922/downs/wireless/Multicast_Tutorial.pdf · – DVMRP is a distance-vector routing protocol, – MOSPF is an extension

Ahmed Helmy - USC 182

���������.���(������� ����

• Dynamics of the multicast tree during mobility

• Scoped multicast

• Crossing domain boundaries (inter-domainmovement)

• Join/Leave latency and smooth hand-off

• other issues…