Ahmed Helmy Assistant Professor of Computer Engineering University of Southern California.

Similar documents
Why multicast? The concept of multicast Multicast groups Multicast addressing Multicast routing protocols MBONE Multicast applications Conclusions

What is Multicasting? Multicasting Fundamentals. Unicast Transmission. Agenda. L70 - Multicasting Fundamentals. L70 - Multicasting Fundamentals

Multicast Communications

Configuring IP Multicast Routing

Exercises to Communication Systems

Multicast Technology White Paper

IP Multicast Technology Overview

IP Multicast. What is multicast?

Developing IP Muiticast Networks

Configuring IP Multicast Routing

Multicast Communications. Slide Set were original prepared by Dr. Tatsuya Susa

DD2490 p IP Multicast routing. Multicast routing. Olof Hagsand KTH CSC

IP Multicast Technology Overview

CSE 123A Computer Networks

Table of Contents 1 PIM Configuration 1-1

PIM Configuration. Page 1 of 9

IP Multicast. Falko Dressler Regionales Rechenzentrum Grundzüge der Datenkommunikation IP Multicast

Multicast service model Host interface Host-router interactions (IGMP) Multicast Routing Distance Vector Link State. Shared tree.

ETSF10 Internet Protocols Routing on the Internet

Configuring IP Multicast Routing

Multicast routing protocols

IP Multicast Routing Protocols

Configuring IP Multicast Routing

IPv6 PIM. Based on the forwarding mechanism, IPv6 PIM falls into two modes:

Advanced Networking. Multicast

FSOS Multicast Configuration Guide

Multicast EECS 122: Lecture 16

ETSF10 Internet Protocols Routing on the Internet

Broadcast Routing. Multicast. Flooding. In-network duplication. deliver packets from source to all other nodes source duplication is inefficient:

IP Multicast. Overview. Casts. Tarik Čičić University of Oslo December 2001

Advanced Network Training Multicast

MULTICAST EXTENSIONS TO OSPF (MOSPF)

Configuring Bidirectional PIM

ETSF10 Internet Protocols Routing on the Internet

Table of Contents 1 MSDP Configuration 1-1

ITEC310 Computer Networks II

IP Multicast: PIM Configuration Guide, Cisco IOS Release 15S

IP Multicast: PIM Configuration Guide, Cisco IOS Release 12.4T

Multicast overview. Introduction to multicast. Information transmission techniques. Unicast

How did IP Multicast get so complicated?

Configuring PIM. Information About PIM. Send document comments to CHAPTER

Multicast VPN C H A P T E R. Introduction to IP Multicast

IP Multicast: PIM Configuration Guide, Cisco IOS Release 15SY

Network Working Group Request for Comments: Category: Experimental. A. Helmy USC

Multicast overview. Introduction to multicast. Information transmission techniques. Unicast

CSCE 463/612 Networks and Distributed Processing Spring 2018

Multicast H3C Low-End Ethernet Switches Configuration Examples. Table of Contents

IP Multicast: PIM Configuration Guide, Cisco IOS Release 15M&T

Today s Plan. Class IV Multicast. Class IV: Multicast in General. 1. Concepts in Multicast What is Multicast? Multicast vs.

Fundamentals of IP Multicast

CS 268: IP Multicast Routing

IP Multicast: PIM Configuration Guide, Cisco IOS XE Release 3S

IP MULTICAST EXPLAINED

Table of Contents 1 MSDP Configuration 1-1

Internet2 Multicast Workshop

Table of Contents Chapter 1 IPv6 PIM Configuration

FiberstoreOS IPv6 Multicast Configuration Guide

ASM. Engineering Workshops

IP Multicasting: Explaining Multicast Cisco Systems, Inc. All rights reserved. Cisco Academy

IPv6 PIM-DM configuration example 36 IPv6 PIM-SM non-scoped zone configuration example 39 IPv6 PIM-SM admin-scoped zone configuration example 42 IPv6

Configuring MSDP. MSDP overview. How MSDP works. MSDP peers

List of groups known at each router. Router gets those using IGMP. And where they are in use Where members are located. Enhancement to OSPF

Multicast Quick Start Configuration Guide

Configuring a Rendezvous Point

Implementing IPv6 Multicast

Configuring Basic IP Multicast

Module 7 Implementing Multicast

IP Multicast: PIM Configuration Guide

HP 5920 & 5900 Switch Series

Topic: Multicast routing

Internet Protocols Fall Lectures Inter-domain routing, mobility support, multicast routing Andreas Terzis

PIM-SM Multicast Routing

Configuring MSDP. Overview. How MSDP operates. MSDP peers

Muhammad Jaseemuddin Dept. of Electrical & Computer Engineering Ryerson University Toronto, Canada

Configuring Multicast Routing

Contents. Configuring MSDP 1

IPv6 Multicast: PIM Sparse Mode

IPv6 Multicast: PIM Sparse Mode

This chapter describes how to configure the Cisco ASA to use the multicast routing protocol.

Implementing IPv6 Multicast

Contents. Overview Multicast = Send to a group of hosts. Overview. Overview. Implementation Issues. Motivation: ISPs charge by bandwidth

ICS 351: Today's plan. routing protocol comparison encapsulation network dynamics multicasting in general IP multicasting IGMP PIM

Distributed Core Multicast (DCM): a multicast routing protocol for many groups with few receivers

DATA COMMUNICATOIN NETWORKING

Lecture 19: Multicast. CSE 123: Computer Networks Stefan Savage

HP 6125G & 6125G/XG Blade Switches

Viewing IP and MPLS Multicast Configurations

IP Multicast: PIM Configuration Guide

Institute of Computer Technology - Vienna University of Technology. L71 - IP Multicasting

Internet Multicast Routing

Lab 7-3 Routing IP Multicast with PIM Sparse Mode

Introduction to Multicast Routing View PDF

IP-Multicast Service-Model Summary. IP Multicasting. Agenda. IP Multicasting. L71 - IP Multicasting. L71 - IP Multicasting

Chapter 24 PIM Commands

Distributed Core Multicast (DCM): a multicast routing protocol for many groups with few receivers

Broadcast and Multicast Routing

IPv6 and Multicast. Outline. IPv6 Multicast. S Computer Networks - Spring 2005

Configuring Basic IP Multicast

HP 5500 HI Switch Series

IP Multicast Load Splitting across Equal-Cost Paths

Transcription:

,30XOWLFDVW7XWRULDO Ahmed Helmy Assistant Professor of Computer Engineering University of Southern California helmy@ceng.usc.edu http://ceng.usc.edu/~helmy

2XWOLQH - 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, Reverse Path Multicasting, Center-Based Trees Ahmed Helmy - USC 2

2XWOLQH&RQWG - 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 Ahmed Helmy - USC 3

Session 1 8:30-10:00 Multicast vs. Unicast Multicast Applications Multicast Delivery and Host Model Ahmed Helmy - USC 4

8QLFDVWYV0XOWLFDVW Multicast provides multipoint-to-multipoint communication Today majority of Internet applications rely on point-to-point transmission (e.g., TCP). IP-Multicast conserves bandwidth by replicating packets in the network only when necessary Ahmed Helmy - USC 5

8QLFDVWYV0XOWLFDVW S S R1 R2 R1 R2 R3 R4 R3 R4 Multiple unicasts Multicast Ahmed Helmy - USC 6

5HGXFLQJ1HWZRUN/RDG Stock ticker application transmits packets to 100 stations within an organization's network. Unicast transmits100 packets where many packets may traverse the same links. Multicast transmits one packet that is replicated distributed by the multicast delivery tree. Ahmed Helmy - USC 7

([DPSOH0XOWLFDVW$SSOLFDWLRQV 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 Ahmed Helmy - USC 8

,30XOWLFDVW$SSOLFDWLRQVFRQWG Many-to-One Resource discovery Data collection and sensing Auctions Polling Ahmed Helmy - USC 9

,30XOWLFDVW$SSOLFDWLRQVFRQWG Many-to-Many Multimedia Teleconferencing (audio, video, shared whiteboard, text editor) Collaboration Multi-Player Games Concurrent Processing Chat Groups Distributed Interactive Simulation Ahmed Helmy - USC 10

- Currently: The Multicast Backbone (MBONE) carries audio and video multicasts of IETF meetings, NASA space shuttle missions,.. etc. Ahmed Helmy - USC 11

+RZGRKRVWVNQRZDERXWQHZJURXSV" - The Session Directory (SD) tool lists active multicast sessions on MBONE and allows to 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. Ahmed Helmy - USC 12

Ahmed Helmy - USC 13

Ahmed Helmy - USC 14

Ahmed Helmy - USC 15

Ahmed Helmy - USC 16

0RUH$SSOLFDWLRQV Resource Discovery Multicast may be used (instead of broadcast) to transmit to group members on the same LAN. Multicast may be used for resource discovery within a specific scope using the TTL field in the IP header. Ahmed Helmy - USC 17

0XOWLFDVW6FRSH&RQWURO TTL Expanding-Ring Search to reach or find a nearby subset of a group s 1 2 3 Ahmed Helmy - USC 18

0XOWLFDVW6FRSH&RQWURO Administrative TTL Boundaries to keep multicast traffic within an administrative domain, e.g., for privacy reasons the rest of the Internet an administrative domain TTL threshold set on interfaces to these links, greater than the diameter of the admin. domain Ahmed Helmy - USC 19

0XOWLFDVW6FRSH&RQWURO Administratively-Scoped Addresses RFC 1112 uses address range 239.0.0.0 239.255.255.255 the rest of the Internet an administrative domain address boundary set on interfaces to these links Ahmed Helmy - USC 20

7UDQVPLVVLRQDQG'HOLYHU\RI 0XOWLFDVW'DWDJUDPV Over the same (LAN): The source addresses the IP packet to the multicast group The network interface card maps the Class D address to the corresponding IEEE-802 multicast address Receivers notify their IP layer to receive datagrams addressed to the group. Key issue is addressing & filtration Ahmed Helmy - USC 21

Over different subnets: Routers implement a multicast routing protocol that constructs the multicast delivery trees and supports multicast data packet forwarding. Routers implement a group membership protocol to learn about the existence of group members on directly attached subnets. Hosts implement the group membership protocol that provides the IP-multicast host model Ahmed Helmy - USC 22

$GGUHVVLQJ 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 of hosts (members of a multicast group) in various scattered subnets. Ahmed Helmy - USC 23

IP-Multicast is a best-effort service. Reliable/ordered delivery are not guaranteed. Reliability may be provided by upper-layer protocols (e.g., reliable multicast protocols). IP-Multicast packets include a "group address" (Class D) in the Destination field of the IP header. Ahmed Helmy - USC 24

0XOWLFDVW$GGUHVVLQJ An IP multicast group is identified by a Class D address. Multicast group addresses range from (224.0.0.0) to (239.255.255.255). Ahmed Helmy - USC 25

The Internet Assigned Numbers Authority (IANA) registers IP multicast groups. The block of multicast addresses ranging from (224.0.0.1) to (224.0.0.255) is reserved 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 "administratively scoped" applications. Ahmed Helmy - USC 26

0DSSLQJ&ODVV'WR(WKHUQHW $GGUHVV All multicast addresses in IANA's reserved block begin with 01-00-5E (hex) Mapping between a Class D and an Ethernet multicast address is obtained by: placing the low-order 23 bits of the Class D address into the low-order 23 bits of IANA's reserved address block. Ahmed Helmy - USC 27

How multicast group address 224.10.8.5 (E0-0A-08-05) is mapped into an Ethernet (IEEE-802) multicast address. The mapping may place up to 32 different IP groups into the same Ethernet address because the upper five bits of the IP multicast group ID are ignored. Ahmed Helmy - USC 28

7KH0XOWLFDVW+RVW0RGHO 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 Ahmed Helmy - USC 29

Ahmed Helmy - USC 30

*URXS0HPEHUVKLS3URWRFRO Routers need to learn about the presence of group 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 to receive packets sent to those groups. Ahmed Helmy - USC 31

This receiver-initiated join process scales well: as the group size increases, it becomes more likely for a new member to locate a nearby branch of the multicast distribution tree. Ahmed Helmy - USC 32

0XOWLFDVW5RXWLQJ3URWRFROV 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-state unicast routing protocol. Center-based trees (e.g., CBT & PIM-SM) introduce the notion of the tree core. Ahmed Helmy - USC 33

Session 2 10:15-12:00 IGMP Multicast Algorithms Ahmed Helmy - USC 34

,QWHUQHW*URXS0DQDJHPHQW 3URWRFRO,*03 IGMP runs between hosts and their immediately neighboring multicast routers. The protocol allows a host to inform its first-hop router that it wishes to receive packets destined to a specific group. Ahmed Helmy - USC 35

5RXWHU2SHUDWLRQLQ,*03 Routers periodically query the LAN to determine if group members are still active. One router per LAN is elected as "querier" to query for group members. Through IGMP a router determines which multicast traffic needs to be forwarded to each of its "leaf" subnets. Ahmed Helmy - USC 36

,*039HUVLRQ 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 forwarded by any other multicast router). Ahmed Helmy - USC 37

+RVWV-RLQLQJ*URXSV Upon receiving a Query, a host responds with a Host Membership Report for each group that it wishes to Join Observation: The router only needs to know of at least one group member on the leaf subnet Ahmed Helmy - USC 38

5HSRUW6XSSUHVVLRQ0HFKDQLVP To avoid Report implosion: Each host starts a random delay timer for its Reports. If during the delay period another Report is heard for the same group, the host resets its timer Otherwise, the host transmits a Report causing other group members to reset their timers Thus, Reports are spread out over time and Report traffic is minimized Ahmed Helmy - USC 39

IGMP-Query Message Ahmed Helmy - USC 40

8SGDWLQJ/RFDO0HPEHUVKLS The querier periodically transmit Queries to update local membership If no Report is received for a group after a number of Queries, the router assumes that members are no longer present on that LAN the group is removed from the membership list of that interface/subnet Ahmed Helmy - USC 41

5HGXFLQJ-RLQ/DWHQF\ When a host first joins a group, it immediately transmits a Report for the group rather than waiting for a router Query. Ahmed Helmy - USC 42

,*039HUVLRQ,*039 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 the multicast routing protocol (different multicast routing protocol used different methods). Ahmed Helmy - USC 43

IGMP V2 defines a new Query message, the Group-Specific Query, to Query a specific group rather than all groups Ahmed Helmy - USC 44

5HGXFLQJ/HDYH/DWHQF\ To reduce leave latency V2 defines a Leave Group message When a host leaves a group, it sends a Leave Group to the all-routers group (224.0.0.2) with the group field set to the group to be left. Upon receiving a Leave from a LAN, the querier sends Group-Specific Query on that LAN. If there are no Reports in response to the Group- Specific Query, the group is removed from the membership list of that subnet. Ahmed Helmy - USC 45

Observation: With IGMP V1 and V2, if a host wants to receive any sources from a group, the traffic from all sources for the group has to be forwarded onto the subnet. Ahmed Helmy - USC 46

,*039HUVLRQ,*03Y 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 the sources a host wants to receive. An exclusion Group-Source Report identifies the sources a host does not want to receive. Ahmed Helmy - USC 47

IGMP v3 enhances support for Leave Group messages to support Group-Source Leave messages: A host can leave an entire group or specific (source, group) pair(s). Ahmed Helmy - USC 48

0XOWLFDVW)RUZDUGLQJ $OJRULWKPV A multicast routing protocol is responsible for the establishment of the multicast distribution tree and for performing packet forwarding. Ahmed Helmy - USC 49

Several algorithms may be employed by multicast routing protocols: Flooding Spanning Trees Reverse Path Broadcasting (RPB) Truncated Reverse Path Broadcasting (TRPB) Reverse Path Multicasting (RPM) Core-Based Trees Ahmed Helmy - USC 50

These algorithms are implemented in the most prevalent multicast routing protocols in the Internet today. Distance Vector Multicast Routing Protocol (DVMRP) Multicast OSPF (MOSPF) Protocol-Independent Multicast (PIM) [PIM- DM and PIM-SM] Ahmed Helmy - USC 51

)ORRGLQJ The simplest technique for multicast delivery. When a router receives a multicast packet it determines whether or not this is the first time it 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 is discarded. Ahmed Helmy - USC 52

A router does not maintain a routing table, but needs to keep track of recently seen packets. Flooding does not scale for Internet-wide application: - Generates a large number of duplicate packets and uses all available paths across the internetwork. - Routers maintain a distinct table entry for each recently seen packet (consumes memory). Ahmed Helmy - USC 53

6SDQQLQJ7UHH More effective than flooding Defines a tree structure where one active path connects any two routers on the Internet. Spanning Tree rooted at R Ahmed Helmy - USC 54

A router forwards each multicast packet to interfaces that are part of the spanning tree except the receiving interface. A spanning tree avoids looping of multicast packets and reaches all routers in the network. Ahmed Helmy - USC 55

A spanning tree algorithm is easy to implement However, a spanning tree solution: may centralize traffic on small number of links may not provide the most efficient path between the source and the group members. Ahmed Helmy - USC 56

5HYHUVH3DWK%URDGFDVWLQJ 53% More efficient than building a single spanning tree for the entire Internet. Establishes source-rooted distribution trees for every source subnet. A different spanning tree is constructed for each active (source, group) pair. Ahmed Helmy - USC 57

53%$OJRULWKP For each (source, group) pair if a packet arrives on a link that the router considers to be the shortest path back to the source of the packet then the router forwards the packet on all interfaces except the incoming interface. Otherwise, the packet is discarded. Ahmed Helmy - USC 58

The interface over which a router accepts multicast packets from a particular source is called the "parent" link. The outbound links over which a router forwards the multicast packets are called the "child" links. Ahmed Helmy - USC 59

Reverse Path Broadcasting (RPB) Forwarding Ahmed Helmy - USC 60

Enhancement to reduce packet duplication: A router determines if a neighboring router considers it to be on the shortest path back to the source. If Yes, the packet is forwarded to the neighbor. Otherwise, the packet is not forwarded on that potential child link. Ahmed Helmy - USC 61

To derive the parent-child information: link-state routing protocol already has it (since each router maintains a topological database for the entire routing domain). distance-vector routing protocol uses poison reverse : a neighbor can either advertise its previous hop for the source subnet as part of its routing update messages or "poison reverse" the route. Ahmed Helmy - USC 62

([DPSOHRI5HYHUVH3DWK%URDGFDVWLQJ Ahmed Helmy - USC 63

%HQHILWV Reasonably efficient and easy to implement. Does not require keeping track of previous packets, as flooding does. Multicast packets follow the "shortest" path from the source to the group members. Avoids concentration over single spanning tree Ahmed Helmy - USC 64

/LPLWDWLRQV Does not take into account group membership when building the distribution tree. As a result, packets may be unnecessarily forwarded to subnets with no group members. Ahmed Helmy - USC 65

7UXQFDWHG5HYHUVH3DWK %URDGFDVWLQJ753% Using IGMP, routers discover group members and avoid forwarding packets onto leaf subnets with no members. The spanning delivery tree is "truncated" if a leaf subnet has no group members. Ahmed Helmy - USC 66

Truncated Reverse Path Broadcasting (TRPB) Ahmed Helmy - USC 67

TRPB eliminates unnecessary traffic on leaf subnets But it does not consider group membership when building the branches of the distribution tree. Ahmed Helmy - USC 68

5HYHUVH3DWK0XOWLFDVWLQJ 530 RPM enhances TRPB. RPM creates a delivery tree that spans only: -Subnets with group members -Routers and subnets along the shortest path to group members In RPM, non-member branches are pruned Packets are forwarded only along branches leading to group members. Ahmed Helmy - USC 69

530 2SHUDWLRQ The first multicast packet is forwarded (using TRPB) to all routers in the network. Routers at edges of the network with no downstream routers are called leaf routers. A leaf router with no downstream members sends a "prune" message on its parent link to stop packet flow down that branch. Ahmed Helmy - USC 70

Prune messages are sent hop-by-hop back toward the source. A router receiving a prune message stores the prune state in memory. A router with no local members that receives prunes on all child interfaces sends a prune one hop back toward the source. This succession of prune messages creates a multicast forwarding tree that contains only branches that lead to group members. Ahmed Helmy - USC 71

Reverse Path Multicasting (RPM) Ahmed Helmy - USC 72

To adapt to membership/network dynamics, the prune state is timed out periodically, and packets are broadcast throughout the network. This may result in a burst of prune messages. Ahmed Helmy - USC 73

/LPLWDWLRQV Despite improvements over RPM, there are scaling 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 increase in number of sources and groups. Ahmed Helmy - USC 74

&HQWHU&RUH%DVHG7UHHV &%7 Earlier algorithms build source-based trees CBT builds a single delivery tree (rooted at the core) that is shared by all group members. Multicast traffic for each group is sent and received over the shared tree, regardless of the source. Ahmed Helmy - USC 75

&%72SHUDWLRQ A core-based tree involves one or more cores in the CBT domain. Each leaf-router of a group sends a hop-byhop "join" message toward the "core tree" of that group. Routers need to know the group core to send the join request. Ahmed Helmy - USC 76

Intermediate routers process the join request: The interface on which the join was received is added to the delivery tree. Intermediate routers forward join requests toward the core until the join reaches a core or a router on the distribution tree. Senders unicast their packets toward the core. When the unicast packet reaches a member of the delivery tree, the packet is multicast to all outgoing interfaces that are part of the tree. Ahmed Helmy - USC 77

%HQHILWV 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 branches leading to members (not periodically broadcast). Only join state is kept on-tree Ahmed Helmy - USC 78

/LPLWDWLRQV CBT may result in traffic concentration near the core since traffic from all sources traverses the same set of links as it approaches the core. A single shared delivery tree may create suboptimal routes resulting in increased delay. Core management issues dynamic core selection core placement strategies Ahmed Helmy - USC 79

Session 3 1:00-2:15 Multicast Routing Protocols Dense vs. Sparse Multicast DVMRP MOSPF Ahmed Helmy - USC 80

0XOWLFDVW5RXWLQJ3URWRFROV In general, there are two classes of multicast routing protocols: Dense-mode protocols (broadcast-and-prune) DVMRP, PIM-DM, (MOSPF!) Sparse-mode protocols (explicit-join) PIM-SM, CBT, BGMP Ahmed Helmy - USC 81

'HQVHYV6SDUVH0RGH0XOWLFDVW S R1 R2 R3 R4 Dense-Mode Multicast Ahmed Helmy - USC 82

'HQVHYV6SDUVH0RGH0XOWLFDVW S S R1 R2 R1 R2 Root R3 R4 R3 R4 Dense-Mode Multicast Sparse-Mode Multicast Ahmed Helmy - USC 83

'LVWDQFH9HFWRU0XOWLFDVW 5RXWLQJ3URWRFRO'9053 DVMRP constructs source-rooted trees using 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. Ahmed Helmy - USC 84

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 threshold that limits the scope of a multicast transmission. Each tunnel interface is configured with the IP address of the remote router's interface. Ahmed Helmy - USC 85

A router forwards a packet only if: TTL Packet > TTL threshold of interface TTL Scope Values Ahmed Helmy - USC 86

'9053%DVLF2SHUDWLRQ DVMRP implements RPM. The first packet for any (source, group) pair is broadcast to the entire network, providing the packet's TTL permits. Leaf routers with no local members send prune messages back toward the source. Ahmed Helmy - USC 87

Prune messages cause the removal of branches that do not lead to group members The result is source-specific shortest path tree with all leaves having group members. After a period of time, the pruned branches grow back and the packets are broadcast throughout the network. A graft mechanism helps to quickly reestablish previously pruned branches. Ahmed Helmy - USC 88

A new member joining the group causes the first-hop router to send a graft message to the group's previous-hop router. When an upstream router receives a graft message, it removes the prune state. Graft messages may cascade back toward the source allowing previously pruned branches to be restored. Ahmed Helmy - USC 89

([DPSOH'90536FHQDULR g g s Ahmed Helmy - USC 90 g

,QLWLDO%URDGFDVWXVLQJ7UXQFDWHG %URDGFDVW g g s Ahmed Helmy - USC 91 g

3UXQHQRQPHPEHUEUDQFKHV g g prune (s,g) s prune (s,g) Ahmed Helmy - USC 92 g

*UDIWQHZPHPEHUV g g g report (g) graft (s,g) s graft (s,g) Ahmed Helmy - USC 93 g

'9053'LVWULEXWLRQ7UHH g g g s Ahmed Helmy - USC 94 g

$YRLGLQJORRSVRQ/$1V To avoid duplicates, one router per LAN is elected the Dominant Router Ahmed Helmy - USC 95

The router with lowest metric to the source subnet (with the lowest IP address as tie breaker) becomes the Dominant router A dominant router is the forwarder for the LAN for traffic from the source subnet Ahmed Helmy - USC 96

'9053)RUZDUGLQJ7DEOH 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 for the (S, G) pair are forwarded. A p indicates prune message received on that interface. Ahmed Helmy - USC 97

'9053)RUZDUGLQJ7DEOH Ahmed Helmy - USC 98

0XOWLFDVW([WHQVLRQVWR 263)0263) OSPF V2 is defined in RFC-1583. OSPF is a unicast routing protocol that distributes topology information and calculates routes for a single domain. MOSPF is defined in RFC-1584. MOSPF routers maintain a current image of the network topology through the unicast OSPF link-state routing protocol. Ahmed Helmy - USC 99

MOSPF does not support tunnels Basic MOSPF runs in a single OSPF domain MOSPF uses IGMP to discover members on directly attached subnets. The Designated Router (DR) is responsible for sending membership information to all routers in the OSPF domain. The DR floods Group-Membership Link State Advertisements (LSAs) throughout the OSPF domain. Ahmed Helmy - USC 100

%XLOGLQJWKH6KRUWHVW3DWK7UHH The shortest path tree for (S, G) pair is built "on demand" when a router receives the first packet for (S,G). When the initial packet arrives, the source subnet is located in MOSPF link state database. MOSPF LS-DB = OSPF LS-DB + Group-Membership LSAs Ahmed Helmy - USC 101

Source-rooted shortest-path tree is constructed using Dijkstra's algorithm. To forward packets to downstream members, each router determines its position in the shortest path tree After the tree is built, Group-Membership LSAs are used to prune those branches that do not lead to group members. Ahmed Helmy - USC 102

All routers within an OSPF domain calculate the same shortest path trees. MOSPF LS-DB allow a router to perform RPM computation "in memory". No need for broadcast and prune. Ahmed Helmy - USC 103

)RUZDUGLQJ&DFKH Forwarding cache entry contains the (source, group) pair, the upstream node, and the downstream interfaces. MOSPF Forwarding Cache Ahmed Helmy - USC 104

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 to reach the group members. [This allows the router to discard packets with no chance of reaching the members.] Ahmed Helmy - USC 105

The forwarding cache is not aged. The forwarding cache will change when: The topology of the OSPF network changes, forcing all of the datagram shortest-path trees to be recalculated. There is a change in the Group-Membership LSAs indicating that the distribution of individual group members has changed. Ahmed Helmy - USC 106

/LPLWDWLRQV Limited to OSPF domains Flooding membership information does not scale well for Internet-wide multicsat Ahmed Helmy - USC 107

Session 4 2:30-3:45 Protocol Independent Multicast (PIM) PIM Dense Mode PIM Sparse Mode RP and Bootstrap Mechanisms Ahmed Helmy - USC 108

3URWRFRO,QGHSHQGHQW Design Rationale: 0XOWLFDVW3,0 Broadcast and prune keeps state off-tree and is suitable when members are densely distributed Explicit join/center-based approach keeps state on-tree and is suitable when members are sparsely distributed PIM attempts to combine the best of both worlds Ahmed Helmy - USC 109

'HVLJQ&KRLFHV 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 Protocol Independent ) Ahmed Helmy - USC 110

3,02SHUDWLRQ0RGHV PIM provides both dense-mode (DM) and sparse-mode (SM) protocols PIM-DM: similar to DVMRP but does not build its own routing table PIM-SM: similar to CBT but provides switching to SPT and bootstrap mechanism for electing the tree center dynamically Ahmed Helmy - USC 111

+RZ3,0'0ZRUNV Packets initially flow on broadcast tree Forwarded away from source using the RPF algorithm A router forwards a multicast datagram if received on the interface used to send unicast datagrams to the source Then, Prunes are sent up the tree to remove branches with no members Ahmed Helmy - USC 112

+RZ3,0'0ZRUNV Source A B G C D F H Receiver 1 E I Receiver 2 Ahmed Helmy - USC 113

+RZ3,0'0ZRUNV Source A B G C Prune D F H Receiver 1 E I Receiver 2 Ahmed Helmy - USC 114

+RZ3,0'0ZRUNV Source A B G C Asserts D F H Receiver 1 E I Receiver 2 Ahmed Helmy - USC 115

+RZ3,0'0ZRUNV Source A B G C D F H Receiver 1 E I Receiver 2 Ahmed Helmy - USC 116

+RZ3,0'0ZRUNV Source A B Prune G C D F Join Override Prune H E I Receiver 1 Receiver 2 Ahmed Helmy - USC 117

+RZ3,0'0ZRUNV Source A B G C D F H Receiver 1 E I Receiver 2 Ahmed Helmy - USC 118

+RZ3,0'0ZRUNV Source A B G C D F Graft H Receiver 1 E I Receiver 3 Receiver 2 Ahmed Helmy - USC 119

+RZ3,0'0ZRUNV Source A B G C D F H Receiver 1 E I Receiver 2 Receiver 3 Ahmed Helmy - USC 120

+RZ3,060ZRUNV A Rendezvous Point (RP) is chosen as tree center per 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 routers between receivers and the RP Ahmed Helmy - USC 121

+RZ3,060ZRUNV When should we use shared-trees versus sourcetrees? Source-trees tradeoff low-delay from source with more router state Shared-trees tradeoff higher-delay from source with less router state Switch to the source-tree if the data rate is above a certain threshold Ahmed Helmy - USC 122

+RZ3,060ZRUNV Source A B RP D C Receiver 1 E Receiver 2 Link (*,G) Data (S,G) Data Control Ahmed Helmy - USC 123

+RZ3,060ZRUNV Source A B RP D C Receiver 1 (*, G) Join E Receiver 2 Link (*,G) Data (S,G) Data Control Ahmed Helmy - USC 124

+RZ3,060ZRUNV Source A B RP D C Receiver 1 E Receiver 2 Link (*,G) Data (S,G) Data Control Ahmed Helmy - USC 125

+RZ3,060ZRUNV Source Register A B RP D C Receiver 1 E Receiver 2 Link (*,G) Data (S,G) Data Control Ahmed Helmy - USC 126

+RZ3,060ZRUNV Source (S, G) Join (S, G) Join A B RP D C Receiver 1 E Receiver 2 Link (*,G) Data (S,G) Data Control Ahmed Helmy - USC 127

+RZ3,060ZRUNV Source Register-Stop A B RP D C Receiver 1 E Receiver 2 Link (*,G) Data (S,G) Data Control Ahmed Helmy - USC 128

+RZ3,060ZRUNV Source A B RP D (S, G) Join C Receiver 1 E Receiver 2 Link (*,G) Data (S,G) Data Control Ahmed Helmy - USC 129

+RZ3,060ZRUNV Source (S, G) Prune A B RP D C Receiver 1 (S, G) RP Bit Prune E Receiver 2 Link (*,G) Data (S,G) Data Control Ahmed Helmy - USC 130

+RZ3,060ZRUNV Source A B RP D C Receiver 1 (*, G) Join E Receiver 2 Link (*,G) Data (S,G) Data Control Ahmed Helmy - USC 131

+RZ3,060ZRUNV Source A B RP D C Receiver 1 E Receiver 2 Link (*,G) Data (S,G) Data Control Ahmed Helmy - USC 132

2. IGMP Host- Membership Report for G Host Receiver 5HFHLYHUV-RLQLQJWKH6KDUHG7UHH LAN 3. Create (*,G) entry: Multicast address=g RP-address=C,WC=1,RP=1 outgoing interface list={1} incoming interface=2 1. IGMP Host- Membership Query 4. Send Join/Prune message to B: Multicast address=g Join={C,WC,RP} Prune=Null D 1 2 1 2 3 1 A B C PIM DR/IGMP Querier for LAN 5. Create (*,G) entry: Multicast address=g RP-address=C,WC=1,RP=1 outgoing interface list={1} incoming interface=3 7. Create (*,G) entry: Multicast address=g RP-address=C,WC=1,RP=1 outgoing interface list={1} incoming interface=null Rendezvous Point (RP) for group G 6. Send Join/Prune message to C: Multicast address=g Join={C,WC,RP} Prune=Null Ahmed Helmy - USC 133...

Host Receiver 1 A 5. If (*,G) state exists then decapsulate Registers and forward packets to oiflist (*,G) 6. If Register data rate > Threshold then create (S,G) entry: outgoing list=oiflist (*,G)-{2} incoming interface=2 RP=0,SPT=0 11. When receive (S,G) native packets set SPT bit for (S,G) entry, & trigger Register-Stop message to D +RVW6HQGLQJWRWKH*URXS 2 1 C 2. Create (S,G) entry incoming interface=1 3. Encapsulate Data packets in Register messages and unicast to RP(C) 4. Initiate (S,G) packet counter Rendezvous Point (RP for group G 1 2 7. Send Join/Prune message to X: Multicast address=g Join={S}, Prune=Null X DR for LAN(B) 2 Ahmed Helmy - USC 134 2 D 1 10. Update (S,G) entry: add 2 to outgoing interface list 9. Send Join/Prune message to D: Multicast address=g Join={S},Prune=Null 8. Create (S,G) entry: outgoing list={1} incoming interface=2 LAN(B) 1. Data packets for G Source Host 12. When receiver Register-Stop stop encapsulating packets

1. Receive S s packets on shared RP tree Initiate packet count If data rate > Threshold then: Create (S,G) entry: outgoing interface list={1} incoming interface=2 RP=0,WC=0,SPT=0 Host Receiver LAN 6ZLWFKLQJWRWKH6KRUWHVW3DWK7UHH 2. Send Join/Prune message to B: Multicast address=g Join={S} Prune=Null 1 2 1 PIM DR/IGMP Querier for LAN 5. Add interface 2 to the outgoing interface list of (S,G) entry 4. Send Join/Prune message to D: Multicast address=g Join={S} Prune=Null 2 A B C 6. After receiving packets from D: Set (S,G) s SPT-bit=1 and, send Join/Prune message to C: 3. Create (S,G) entry: outgoing interface list={1} incoming interface=2 Multicast address=g RP=0,WC=0,SPT=0 Ahmed Helmy - USC 135 2 First Hop Router for S D 1 3 1 Join=Null Prune={S,RP-bit} 7. Create (S,G) entry: oif list=oif(*,g)-{1} RP-bit=1 2 Host Source (S) Rendezvous Point (RP) for group G

7KH53%RRWVWUDS3UREOHP Which router to use as RP for a group? A set of well-connected routers are configured as Candidate-RPs for group(s) per domain A manageable number of RPs is chosen RPs advertise candidacy for group-prefix (not per group), for scalability Periodic advertisement of candidacy to capture dynamics and unreachability Who maintains/updates/distributes this info? Ahmed Helmy - USC 136

53%RRWVWUDS'HVLJQ5DWLRQDOH Host model: hosts need only logical multicast group address to send or receive RP address is network (not logical) address Routers should map group address to RP address and adapt to unreachability/change of RP Ahmed Helmy - USC 137

53%RRWVWUDS'HVLJQ5DWLRQDOH 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 RP mapping and reachability not scalable Use a-priori status distribution like unicast routing, periodic liveness tracking distribute RP-list throughout the domain Ahmed Helmy - USC 138

&KRRVLQJ53V7KH%RRWVWUDS 0HFKDQLVP PIMv2 has a Bootstrap router election procedure The Bootstrap router receives Candidate-RP messages from potential RPs Bootstrap router sends Bootstrap messages which contain a list of reachable Candidate-RPs All PIM routers receive these Bootstrap messages DRs obtain group-to-rp mapping (when hosts join or send to the group) through a hash algorithm Ahmed Helmy - USC 139

53%RRWVWUDS0HFKDQLVP RP location need not be optimized, but consistent RP mapping and adaptation to failures is criticial all routers (within PIM domain) must associate a single active RP with a multicast group Routers use algorithmic mapping of Group address to RP from manageablysmall set of RPs known throughout domain Ahmed Helmy - USC 140

53%RRVWVWUDS0HFKDQLVP Each candidate RP indicates liveness to the Bootstrap Router in the PIM domain Bootstrap Router distributes set of reachable candidate RPs to all PIM routers in domain. Each PIM router uses the same hash function and set of RPs to map a particular multicast group address to that group s RP. Ahmed Helmy - USC 141

'\QDPLF%RRWVWUDS5RXWHU (OHFWLRQ Simple bridge-like spanning-tree election algorithm A set of well-connected routers are configured as Candidate Bootstrap Routers (C-BSRs) per domain C-BSRs originate PIM hop-by-hop Bootstrap messages with IP address and preference value. Bootstrap messages are exchanged by all PIM routers within domain (flooded with RPF check) Most preferred (or highest numbered) reachable C-BSR is elected Ahmed Helmy - USC 142

5RXWHUVXVHKDVKIXQFWLRQWRPDS *URXSDGGUHVVWR53 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 Ahmed Helmy - USC 143

$GDSWDWLRQWR538QUHDFKDELOLW\ When Candidate RP fails/unreachable Bootstrap Router times it out Bootstrap message distributed with updated RP set Routers hash affected groups to different RP Ahmed Helmy - USC 144

5HIHUHQFHV RFC 2362/2117 http://catarina.usc.edu/pim Ahmed Helmy - USC 145

Session 5 4:00-5:00 Multicast and the Internet The MBONE Recent Deployment BGMP Ahmed Helmy - USC 146

0XOWLFDVWDQGWKH,QWHUQHW Initially there was the MBONE Short-term inter-domain solution based on PIM-SM, MBGP and MSDP Longer-term architecture BGMP Ahmed Helmy - USC 147

7KH,QWHUQHWV0XOWLFDVW %DFNERQH0%21( The MBONE is an interconnect of subnets and 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 of multicast applications without waiting for the ubiquitous Internet multicast deployment Ahmed Helmy - USC 148

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 on top of a subset of the Internet. It is composed of islands of multicast-capable routers connected to other islands by virtual point-to-point links called tunnels. Ahmed Helmy - USC 149

7XQQHOLQJ - Tunnels allow multicast traffic to pass through the non-multicast-capable parts of the Internet. - Multicast packets are encapsulated as IP-in- IP, so they look like normal unicast packets to intermediate routers. - Encapsulation is added on entry to a tunnel and stripped off on exit from a tunnel. Ahmed Helmy - USC 150

0XOWLFDVWLVODQGVFRQQHFWHGWKURXJKWXQQHOV Ahmed Helmy - USC 151

The MBONE and the Internet have different topologies, 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) Ahmed Helmy - USC 152

Ahmed Helmy - USC 153

0%21(/LPLWDWLRQV 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 for interdomain routing, S. Deering. Suggested solution: Use sparse-mode concepts Use 2-level hierarchy (as in unicast) Ahmed Helmy - USC 154

5HFHQW'HSOR\PHQW Use PIM-SM as intra-domain multicast routing protocol Use MBGP (Multicast BGP) to distribute inter-domain multicast routes Use MSDP (Multicast Source Discovery Protocol) between RPs in different domains Ahmed Helmy - USC 155

0%*3 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 that may be different than unicast routes Ahmed Helmy - USC 156

3UREOHP&RQQHFWLQJ3,060GRPDLQV 6RXUFHVUHJLVWHUZLWK53LQWKHLUGRPDLQ DQGUHFHLYHUVMRLQWRZDUGVWKH53LQWKHLUGRPDLQ 6 53 $ 53 % 5 'RPDLQ$3,060 'RPDLQ%3,060 1RZD\IRUUHFHLYHULQGRPDLQ%WRNQRZDERXW VRXUFHVLQGRPDLQ$DQGYLFHYHUVD Ahmed Helmy - USC 157

06'3 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 info to 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 Ahmed Helmy - USC 158

1RUPDO60 AS 2 AS 1 (S,G) Joins towards RP2 RP2 Receiver R RP1 Source S RP1 Creates State Last hop router sends (S,G) Register to RP1

3HHULQJ RP2 MSDP Peering RP1 MSDP Peering o Between RPs o Over TCP Receiver R Source S

6HQGLQJ6$0VJV RP1 Sends (S,G) SA message (S,G) Joins towards RP2 RP2 MSDP Peering RP1 RP1 Creates State Receiver R Source S Last hop router sends (S,G) Register to RP1

-RLQLQJWKH6RXUFH7UHH RP2 J oins (S,G) Source Tree (S,G) Joins towards RP2 RP2 (S,G) Joins RP1 RP1 Creates State Receiver R Source S Last hop router sends (S,G) Register to RP1

)RUZDUGLQJ3DFNHWV RP2 RP1 Receiver R Source S

/LPLWDWLRQV Short-term solution that doesn t scale well! Ahmed Helmy - USC 164

1HZ'HYHORSPHQWVLQ,QWHU 'RPDLQ0XOWLFDVW5RXWLQJ 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 Ahmed Helmy - USC 165

%*03 Bi-directional shared trees rooted at domains Border routers send joins and data toward root domain for mcast address in packet Mapping of multicast address to root domain obtained from BGP4+ MRIB Source specific branches only where needed Ahmed Helmy - USC 166

AS1 ISP 1 Sender/Rcvr Group Initiator BGMP tree Ahmed Helmy - USC 167

2WKHU,VVXHVLQWKH,QWHU 'RPDLQ0XOWLFDVW$UFKLWHFWXUH 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 Ahmed Helmy - USC 168

Session 6 8:30-10:00 Mobile IP Multicast and IP-Mobility Ahmed Helmy - USC 169

0RELOH,3 Each mobile node has a home network, home address and home agent Correspondent Node Home Network Home Agent (HA) Mobile Node Ahmed Helmy - USC 170

When mobile node (MN) moves to a foreign network it obtains a care-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 Correspondent Node Foreign Agent (FA) Advertisement (FA,COA) Foreign Network Solicitation Register Mobile Node Register (HA) Home Agent Home Network Ahmed Helmy - USC 171

Packets sent by MN go directly to CN Correspondent Node (CN) Mobile Node (MN) Packets to MN are picked up by the HA and tunneled to MN Home Agent (HA) Triangle Routing in Mobile-IP Ahmed Helmy - USC 172

0XOWLFDVWDQG,30RELOLW\ Common issues in both paradigms Location independent communication/addressing Location discovery/management Packet forwarding Ahmed Helmy - USC 173

/RFDWLRQ,QGHSHQGHQW$GGUHVVLQJ IP-Multicast Single logical multicast group D-class address Senders do not know where receivers are Receivers do not know where senders are Mobile-IP Permanent home address Temp care-of-address(es) Address mapping done through the home agent Ahmed Helmy - USC 174

/RFDWLRQ0DQDJHPHQW IP-Multicast Membership location Done thru IGMP & routing (e.g., RP) Meet through the multicast tree Mobile-IP Mobile node location Done thru home agent Meet thru registration of new address Ahmed Helmy - USC 175

3DFNHW)RUZDUGLQJ IP-Multicast Multicast forwarding Tunnel through the multicast tree (e.g., RP) Mobile-IP Unicast forwarding Tunnel through home agent Ahmed Helmy - USC 176

6XJJHVWHG3DUDGLJP6KLIW 0XOWLFDVWIRU0RELOLW\ Instead of obtaining a new COA and registering with the new foreign agent (and subsequently with the home agent) and deregistering the old one Use the same logical multicast group address and join/leave the group as you move Ahmed Helmy - USC 177

'LVWULEXWLRQWUHHG\QDPLFVZKLOHURDPLQJ CH CH: Correspondent host (sender) Wireless link Mobile Node Ahmed Helmy - USC 178

-RLQ3UXQHG\QDPLFVWRPRGLI\GLVWULEXWLRQ CH CH: Correspondent host (sender) Wireless link Mobile Node Ahmed Helmy - USC 179

6PRRWK+DQGRII BS1 BS2 Ahmed Helmy - USC 180

3RWHQWLDO$GYDQWDJHV 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 Ahmed Helmy - USC 181

,VVXHVDQG2SHQ'LVFXVVLRQ Dynamics of the multicast tree during mobility Scoped multicast Crossing domain boundaries (inter-domain movement) Join/Leave latency and smooth hand-off other issues Ahmed Helmy - USC 182