telematics 2 - startseite tu ilmenau · pdf filenetwork multicast router actively participate...

43
Telematics 2 (WS 14/15): 05 – Multicast 1 Telematics 2 Chapter 5 Multicast (Acknowledgement: These slides have been compiled from various sources) Telematics 2 (WS 14/15): 05 – Multicast 2 Introduction: Why Multicast /Multicast Applications? Basic scenario: Same data sent to multiple receivers Example Applications: Video/audio conference IP TV, Video on Demand Advertisement, stock quote distribution, distance learning Synchronizing of distributed database, web sites, etc. Principal motivations for multicast: Sender does not need to know all receivers’ addresses To use bandwidth efficiently Reduce routing processing

Upload: dangdat

Post on 14-Mar-2018

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 1

Telematics 2

Chapter 5Multicast

(Acknowledgement: These slides have been compiled from various sources)

Telematics 2 (WS 14/15): 05 – Multicast 2

Introduction: Why Multicast /Multicast Applications?

Basic scenario:

Same data sent to multiple receivers

Example Applications:

Video/audio conference

IP TV, Video on Demand

Advertisement, stock quote distribution, distance learning

Synchronizing of distributed database, web sites, etc.

Principal motivations for multicast:

Sender does not need to know all receivers’ addresses

To use bandwidth efficiently

Reduce routing processing

Page 2: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 3

Popular Multicast Example Applications

Video Conference

Distance Learning

Telematics 2 (WS 14/15): 05 – Multicast 4

Terminology: Unicast vs. Broadcast vs. Multicast

Unicast:

One sender and one receiver

Broadcast:

One sender, all the others as receivers

Multicast:

One sender (potentially many senders), many receivers

You can take broadcast and unicast as two special types of multicast (if you like to think in generalizations...:o)

Page 3: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 5

Multicast: One Sender to Many Receivers

Multicast: Act of sending datagram to multiple receivers with single “transmit” operation

Analogy: One teacher to many students

Question: How to achieve multicast?

Multicast via unicastSource sends N unicast datagrams, one addressed to each of N receivers

Multicast receiver (red)

Not a multicast receiver (grey)

Routersforward unicastdatagrams

Telematics 2 (WS 14/15): 05 – Multicast 6

Multicast: Act of sending datagram to multiple receivers with single “transmit” operation

Analogy: One teacher to many students

Question: How to achieve multicast?

Network multicastRouter actively participate in multicast, making copies of packets as needed and forwarding towards multicast receivers

Multicastrouters (red) duplicate and forward multicast datagrams

Multicast: One Sender to Many Receivers

Page 4: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 7

Multicast: One Sender to Many Receivers

Multicast: Act of sending datagram to multiple receivers with single “transmit” operation

Analogy: One teacher to many students

Question: How to achieve multicast?

Application-layer multicastEnd systems involved in multicast copy and forward unicast datagrams among themselves

Telematics 2 (WS 14/15): 05 – Multicast 8

Principal alternatives for duplication: (a) Source duplication, (b) In-network duplication, (c) Application duplication

Summary: Where to Duplicate?

Creation/transmission originating at R1

(a)

R1

R2

R3 R4

duplicate

(b)

R1

R2

R3 R4

duplicate

(c)

R1

R2

R3 R4

duplicate

Page 5: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 9

Internet Multicast Service Model

Multicast group concept: use of indirection

Hosts addresses IP datagram to multicast group

Routers forward multicast datagrams to hosts that have “joined” that multicast group

128.119.40.186

128.59.16.12

128.34.108.63

128.34.108.60

multicast group

226.17.30.197

Telematics 2 (WS 14/15): 05 – Multicast 10

Multicast Groups

Block of class D Internet addresses reserved for multicast:

Host group semantics:

Anyone can “join” (receive) multicast group

Anyone can send to multicast group

No network-layer identification to hosts of members

Needed: infrastructure to deliver mcast-addressed datagrams to all hosts that have joined that multicast group

Page 6: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 11

Multicast Group and Service Model (1)

Members of the group could be anywhere in the Internet

Members can join and leave the group and indicate this to the routers

Senders and receivers are distinct: i.e., a sender need not be amember, but receivers should be

Routers listen to all multicast addresses and use multicast routing protocols to manage groups (IGMP)

Telematics 2 (WS 14/15): 05 – Multicast 12

Multicast Group and Service Model (2)

Multicast Address

IP reserved class D addresses for multicast 224.0.0.0~239.255.255.255

Base address: 224.0.0.0 is reserved

224.0.0.1~224.0.0.255 are devoted to multicast routing and groupmaintenance protocols

Multicast addresses can only be used as destination

No ICMP error messages can be generated for multicast datagram

Page 7: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 13

Multicast Group and Service Model (3)

Mapping IP Multicast to Ethernet Multicast:

Place the lower 23 bits of the IP multicast address into the lower 23 bits of special Ethernet multicast address 01.00.5E.00.00.00

32 multicast groups may be mapped into the same address. Probability is small, but receivers should check the datagram(How? → look at destination IP address)

Telematics 2 (WS 14/15): 05 – Multicast 14

Transmission and Delivery of Multicast Datagrams

Local subnetwork transmission

The source station simply addresses the IP packet to the multicast group

The network interface card maps the Class D address to the corresponding Ethernet multicast address, and the frame is sent

Receivers that wish to capture the frame notify their IP layer that they want to receive datagrams addressed to the group

Transmission throughout the Internet

Routers are required to implement a multicast routing protocol that permits the construction of multicast delivery trees and supports multicast data packet forwarding

In addition, each router needs to implement a group membership protocol (IGMP) that allows it to learn about the existence of group members on its directly attached subnetwork

Page 8: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 15

Joining a Multicast Group: Two-step Process

Local: Host informs local mcast router of desire to join group: IGMP (Internet Group Management Protocol)

Wide area: Local router interacts with other routers to receive mcast datagram flow

Many protocols (e.g., DVMRP, MOSPF, PIM)

IGMPIGMP

IGMP

wide-areamulticast

routing

Telematics 2 (WS 14/15): 05 – Multicast 16

IGMP: Internet Group Management Protocol (1)

Host: sends IGMP report when application joins mcast group

IP_ADD_MEMBERSHIP socket option

Host need not explicitly “unjoin” group when leaving

Router: sends IGMP query at regular intervals

Host belonging to a multicast group must reply to query

query report

Page 9: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 17

IGMP: Internet Group Management Protocol (2)

Router: Host Membership Query msg broadcast on LAN to all hosts

Host: Host Membership Report msg to indicate group membership

Randomized delay before responding

Implicit leave via no reply to Query

Group-specific Query

Leave Group msgLast host replying to Query can send explicit Leave Group msg

Router performs group-specific query to see if any hosts left in group

Introduced in RFC 2236

Current version: IGMPv3

Telematics 2 (WS 14/15): 05 – Multicast 18

IGMP: Internet Group Management Protocol (3)

Details of how it works:One host joins a group

Newly joined host in a group sends IGMP message to group multicast address declaring membership.Local multicast router receives the message and establishes necessary routing path

Group membership reportRouter sends Host Membership Query to 224.0.0.1 (all multicast hosts on a subnet)Host responds with Host Membership report for each group to which it belongs (sent to group address)Other hosts in the same group “suppress” reports Router periodically broadcasts query to detect if groups have gone away

Page 10: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 19

IGMP: Internet Group Management Protocol (4)

Each host responds to the query with a random delay. If one report is received at the router, the other reports will be suppressed

Telematics 2 (WS 14/15): 05 – Multicast 20

IGMP: Internet Group Management Protocol (5)

IGMP versions

IGMP version 1: basic message formats & procedures

IGMP version2:Defines a procedure for the election of the multicast querier for each LAN

Defines a new type of Query message-the Group-Specific Query message

Defines a Leave Group message

IGMP version 3:Introduces support for Group-Source Report messages so that a host can elect to receive traffic from specific sources of a multicast group

Support for Leave Group messages first introduced in IGMP Version 2 has been enhanced to support Group-Source Leave messages. This feature allows a host to leave an entire group or to specify the specific IP address(es) of the (source, group) pair(s) that it wishes to leave

Page 11: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

21

Multicast Routing: Problem Statement

Goal: Find a tree (or trees) connecting routers having local mcast group members

Tree: not all paths between routers used

Source-based: different tree from each sender to rcvrs

Shared-tree: same tree used by all group members

Shared tree Source-based trees

22

Approaches for Multicast Traffic Delivery

Approaches:

Flooding: no explicit forwarding topology

Source-based tree: one tree per source

Shortest path trees

Reverse path forwarding

Group-shared tree: group uses one tree

Minimal spanning (Steiner)

Core based trees

…we first look at basic approaches, then specific protocols adopting these approaches

Page 12: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 23

Flooding

When a router receives a packet:Router determines whether it’s the first time it receives the packet

If so, the packet will be delivered to all interfaces except the one on which it arrived, otherwise the packet will be discarded

No routing tables needed

But: Inefficient use of bandwidth

SRCNon-red streams will be

discarded according to flooding algorithm

Telematics 2 (WS 14/15): 05 – Multicast 24

Towards More Efficient Multicast Delivery: Spanning Trees

Only one active path connects any two (multicast) routers

The multicast packets will not loop and reach all routers

May potentially not provide the most efficient path between the source subnetwork and group members

Page 13: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

25

Shortest Path Tree

Multicast forwarding tree: tree of shortest path routes from source to all receivers

Dijkstra’s algorithm (→ Telematics 1)

R1

R2

R3

R4

R5

R6 R7

21

6

3 4

5

i

router with attachedgroup member

router with no attachedgroup member

link used for forwarding,i indicates order linkadded by algorithm

LEGENDS: source

26

Reverse Path Forwarding

if (mcast datagram received on incoming link on shortest path back to center)

then flood datagram onto all outgoing links

else ignore datagram

Rely on router’s knowledge of unicast shortest path from it to sender

Each router has simple forwarding behavior:

Page 14: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

27

Reverse Path Forwarding: Example

Result is a source-specific reverse SPT

May be a bad choice with asymmetric links

R1

R2

R3

R4

R5

R6 R7

router with attachedgroup member

router with no attachedgroup member

datagram will be forwarded

LEGENDS: source

datagram will not be forwarded

28

Reverse Path Forwarding: Pruning

Forwarding tree contains subtrees with no mcast group members

No need to forward datagrams down subtree

“Prune” messages sent upstream by router with no downstream group members

R1

R2

R3

R4

R5

R6 R7

router with attachedgroup member

router with no attachedgroup member

prune message

LEGENDS: source

links with multicastforwarding

P

P

P

Page 15: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 29

Some Improvements of the RPF Idea

Setup broadcast tree (reverse path broadcasting, RPB):

Each node maintains “parent” and “child” links

If packet from parent (“reverse-path check”) send to “children”; else drop

Consider only those links as children, for which the node is on the shortest path to the source:

With link state routing this is easy to know

Distance vector routing can make use of “poisoned reverse”mechanism to obtain this information

Truncated RPB (TRPB):

Truncate leaf if IGMP says that there are no receivers for the group.

Reverse-Path Multicasting (RPM):

Truncate branch if IGMP says that there are no receivers for the group

30

Shared-Tree: Steiner Tree

Steiner Tree:

Minimum cost tree connecting all routers with attached group members

Complexity: Steiner-Tree problem is NP-complete

Excellent heuristics exists

Allow to find approximations to the ideal solution

Good approximation: get approximation ratio as close to 1 as possible (with polynomial effort, impossible to obtain 1)

However, not used in practice for multicast routing:

Computational complexity

Information about entire network needed

Monolithic: needs to be re-run whenever a router needs to join/leave

Page 16: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 31

Steiner Trees: Problem Definition

Given: Weighted graph G=(V, E, cost) and terminals S ⊆ V

Find: Minimum-cost tree T within G spanning S

b d g

a

e

c

h

f

52

5

4 1

12

3 2

3

2

3 1

2

1

b d g

a

e h1

2

1 3 1

Complexity: NP-hard [Karp, 1972]

Approximation Ratio = supOptimalCost(I)

AchievedCost(I)all instances I

32

Core Based Trees

Single delivery tree shared by all

One router identified as “center” of tree

To join:

Edge router sends unicast join-msg addressed to center router

Join-msg “processed” by intermediate routers and forwarded towards center

Join-msg either hits existing tree branch for this center, or arrives at center

Path taken by join-msg becomes new branch of tree for this router

Advantages/Disadvantages:Compared to previous algorithms, CBT can use bandwidth and router resources more efficiently

CBT may result in traffic concentration and bottlenecks near core routers since traffic from all sources traverses the same set of links as it approaches the core

A single shared tree may create trees not as optimal as source-trees

Page 17: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

33

Core Based Trees: An Example

Suppose R6 chosen as center:

R1

R2

R3

R4

R5

R6 R7

router with attachedgroup member

router with no attachedgroup member

path order in which join messages generated

LEGEND

21

3

1

Telematics 2 (WS 14/15): 05 – Multicast 34

Recapitulation: Pros & Cons of Different Alternatives

Cons:Reverse-Path Flooding:

Requires symmetric paths for optimal shortest path routing

Flood-and-prune:Bandwidth waste during flooding stage

Rendez-vous points (CBT):Not shortest pathsSingle-point of failure

Pros:Reverse-Path Flooding:

No loops

Flood-and-prune:Receiver wanting data does not miss any

Rendez-vous points:No flooding

Page 18: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

35

DVMRP: Distance vector multicast routing protocol, RFC1075

Derived from Routing Information Protocol (RIP)RIP forwards the unicast packets based on the next-hop towards a destination

DVMRP constructs delivery trees based on shortest previous-hop back to the source

Flood and prune: reverse path forwarding, source-based tree

RPF tree based on DVMRP’s own routing tables constructed by communicating DVMRP routers

No assumptions about underlying unicast

Initial datagram to mcast group flooded everywhere via RPF

Routers not wanting group: send upstream prune msgs

Since version 3, RPM is used (prior versions used TRPB)

Internet Multicasting Routing: DVMRP (1)

36

Internet Multicasting Routing: DVMRP (2)

Soft state: DVMRP router periodically (every 1 min.) “forgets” that branches have been pruned

Multicast data again flows down unpruned branch

Downstream router: reprune or else continue to receive data

Routers can quickly rejoin the tree

Following IGMP join at leaf

Using so-called “graft” messages

Odds and ends:

Commonly implemented in commercial routers

Mbone routing done using DVMRP

Works well in small autonomous domains

Limitations:

Distance-vector ⇒ slow to adapt to topology changes;

Must store source-specific state even when not on tree ⇒ scaling problems

Page 19: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 37

Internet Multicasting Routing: DVMRP (3)

If router C can receive datagrams from both A and B, then:

It will receive from A if A’s metric to the source is smaller than B’s, or

If they are equal, if A has the smaller IP address on its downstream interface

38

PIM: Protocol Independent Multicast

Not dependent on any specific underlying unicast routing algorithm (works with all)

Two different multicast distribution scenarios :

Dense:

Group members densely packed, in “close” proximity.

Bandwidth more plentiful

Sparse:

Number of networks with group members small with respect to number of interconnected networks

Group members “widely dispersed”

Bandwidth not plentiful

Page 20: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

39

Consequences of Sparse-Dense Dichotomy

Dense

Group membership by routers assumed until routers explicitly prune

Data-driven construction of mcast tree (e.g., RPF)

Bandwidth and non-group-router processing wasteful

Sparse:

No membership until routers explicitly join

Receiver- driven construction of mcast tree (e.g., core based)

Bandwidth and non-group-router processing conservative

40

PIM- Dense Mode

Flood-and-prune RPF, similar to DVMRP but:

Underlying unicast protocol provides RPF info for incoming datagram

Less complicated (less efficient) downstream flood than DVMRP reduces reliance on underlying routing algorithm

Has protocol mechanism for router to detect it is a leaf-node router

Page 21: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 41

Developed due to scaling issues

Flooding is generally a real bad idea

Based on creating routing tree for a group with Rendezvous Point(RP) as a root for the tree

RP is a focus for both senders and receivers

Explicit join model

Receivers send Join towards the RP

Sender send Register towards the RP

Supports both shared trees (default) and source trees

RPF check depends on tree type

For shared tree (between RP and receivers), uses RP address

For source tree (between RP and source), uses source address

PIM - Sparse Mode (1)

42

PIM - Sparse Mode (2)

Core based approach

Router sends join msg to rendezvous point (RP)

Intermediate routers update state and forward join

After joining via RP, router can switch to source-specific tree

Increased performance: less concentration, shorter paths

R1

R2

R3

R4

R5

R6R7

join

join

join

all data multicastfrom rendezvouspoint

rendezvouspoint

Page 22: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

43

PIM - Sparse Mode (3)

Sender(s):

Unicast data to RP, which distributes down RP-rooted tree

RP can extend mcast tree upstream to source

RP can send stop msg if no attached receivers

“No one is listening!”

R1

R2

R3

R4

R5

R6R7

join

join

join

all data multicastfrom rendezvouspoint

rendezvouspoint

Telematics 2 (WS 14/15): 05 – Multicast 44

Only one RP is chosen for a particular groupRP statically configured or dynamically learned (Auto-RP, PIM v2 candidate RP advertisements)Data forwarded based on the source state (S, G) if it exists, otherwise use the shared state (*, G)

(*,G) means all senders

RFC2362 – “PIM Sparse Mode Protocol Spec” (experimental)Internet Draft: draft-ietf-pim-v2-sm-00.txt (October 1999)

PIM - Sparse Mode (4)

Page 23: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 45

Overview of Protocol Functions:

PIM Neighbor Discovery

PIM SM Forwarding

PIM SM Joining

PIM SM Registering

PIM SM SPT-Switchover

PIM SM Pruning

PIM SM Bootstrap

PIM SM State Maintenance

PIM - Sparse Mode (5)

Telematics 2 (WS 14/15): 05 – Multicast 46

PIM Sparse Mode (6) – Tree Maintenance

Periodic Join/Prunes are sent to all PIM neighborsPeriodic Joins refresh interfaces in a PIM neighbor’s downstream listPeriodic Prunes refresh pruned state of a PIM neighbor

There is a designated router (DR) for each local network and all other routers get pruned

Received multicast packets reset (S,G) entry expiration timers.(S,G) entries are deleted if timers expire

Page 24: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 47

PIM Sparse Mode (7) – Example

Receiver 1

Source

Receiver 2

S

R1

A B RP D

C E

R2

Telematics 2 (WS 14/15): 05 – Multicast 48

PIM Sparse Mode (8) – Example

Receiver 1

Source

Receiver 2

S

R1

A B RP D

C E

R2

Receiver 1 Joins Group GC Creates (*, G) State, Sends(*, G) Join to the RP

Join

Page 25: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 49

PIM Sparse Mode (9) – Example

Receiver 1

Source

Receiver 2

S

R1

A B RP D

C E

R2

RP Creates (*, G) State

Telematics 2 (WS 14/15): 05 – Multicast 50

PIM Sparse Mode (10) – Example

Receiver 1

Source

Receiver 2R1

A B RP D

C E

R2

Source Sends DataA Sends Registration to the RP

Register

Data

IP tunnel between A and RP sincemulticast tree is not established

S

Page 26: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 51

PIM Sparse Mode (11) – Example

Receiver 1

Source

Receiver 2R1

A B RP D

C E

R2

RP decapsulates RegistrationForwards Data Down the Shared TreeSends Joins Towards the Source

joinjoin

S

Telematics 2 (WS 14/15): 05 – Multicast 52

PIM Sparse Mode (12) – Example

Receiver 1

Source

Receiver 2R1

A B RP D

C E

R2

RP Sends Register-Stop OnceData Arrives Natively

Register-Stop

S

Page 27: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 53

Receiver 1

Source

Receiver 2R1

A B RP D

C E

R2

C Sends (S, G) Joins to Join theShortest Path Tree (SPT)

join

S

PIM Sparse Mode (13) – Example

Shortest Path Tree Switchover (1)

Telematics 2 (WS 14/15): 05 – Multicast 54

PIM Sparse Mode (14) – Example

Receiver 1

Source

Receiver 2R1

A B RP D

C E

R2

C starts receiving Data nativelyS

Shortest Path Tree Switchover (2)

Page 28: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 55

PIM Sparse Mode (15) – Example

Receiver 1

Source

Receiver 2R1

A B RP D

C E

R2

C Sends Prunes Up the RP tree forthe Source. RP Deletes (S, G) from its outgoing interface list (OIF) andSends Prune Towards the Source

Prune

PrunePrune

S

Shortest Path Tree Switchover (3)

Telematics 2 (WS 14/15): 05 – Multicast 56

PIM Sparse Mode (16) – Example

Receiver 1

Source

Receiver 2R1

A B RP D

C E

R2

B, RP prunedS

Shortest Path Tree Switchover (4)

Page 29: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 57

PIM Sparse Mode (17) – Example

Receiver 1

Source

Receiver 2R1

A B RP D

C E

R2

join

New receiver2 joinsE Creates State and Sends (*, G) Join

S

Telematics 2 (WS 14/15): 05 – Multicast 58

PIM Sparse Mode (18) – Example

Receiver 1

Source

Receiver 2R1

A B RP D

C E

R2

C Adds Link Towards E to the OIFList of Both (*, G) and (S, G)Data from Source Arrives at E

S

Page 30: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 59

PIM - Sparse Mode (19)

What if source is located in remote domains?PIM-SM requires group-RP mappings to be advertised to all PIM-SM domains

Use Multicast Source Discovery Protocol, functionality is similar to BGP

Inter-domain multicast to be managed by Border Gateway Multicast Protocol (BGMP)

Telematics 2 (WS 14/15): 05 – Multicast 60

Multicast Routing Across AS Borders: BGMP (1)

BGMP (Border Gateway Multicast Protocol )

BGMP builds shared tree of domains for a group

So we can use a rendezvous mechanism at the domain level

Shared tree is bidirectional

Root of shared tree of domains is at root domain

Runs in routers that border a multicast routing domain

Runs over TCP

Joins and prunes travel across domains

Can build unidirectional source trees

Page 31: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 61

Multicast Routing Across AS Borders: BGMP (2)

unidirectional source tree

Telematics 2 (WS 14/15): 05 – Multicast 62

Avoiding Multicast Address Collisions: MASC (1)

MASC (Multicast Address Set Claim )

Group prefixes are temporarily leased to domains

Allocated by ISP who in turn received them from its upstream provider

Claims for group allocation resolve collisions

Group allocations are advertised across domains

Group prefix allocations are not assigned to domains—they are leased

Applications must know that group addresses may go away

RFC 2909

Page 32: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 63

Avoiding Multicast Address Collisions: MASC (2)

Telematics 2 (WS 14/15): 05 – Multicast 64

Avoiding Multicast Address Collisions: MASC (3)

Assume Addr(A) is allocated to domain A and domains B and C sit “below” A in a domain hierarchyB selects Addr(B) which is subset of Addr(A) and send claim (addr(B)) message to A and CA forwards claim to all children except B.If any of A’s children is already using Addr(B) they will report a collision to A.A will notify B of the collision and B will select other address space.Address space information is used to create distribution tree using BGMP.Stored in M-RIB (Multicast Routing Information Base)

Page 33: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 65

Tunnel Encapsulation

If there are non-multicast-capable routers between two multicast routers, multicast packets are encapsulated in unicast IP packets between them:

Telematics 2 (WS 14/15): 05 – Multicast 66

MC-NetMC-Net

The Early Days of Internet Multicast - MBone

Sender

Receiver

UnicastRouter

MC-PacketMC-Packet MC-PacketMC-Packet

Tunnel

UC-NetUC-Net MC-NetMC-Net

MC-PacketMC-PacketUC-Head

MulticastRouter

ReceiverMulticastRouter

Page 34: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 67

Inefficiencies on the MBone

UC-Router

ReceiverReceiver

UC-Router

Unicast-Network

Sender

MC-Routeron Workstation

MC-Routeron Workstation

MC-Routeron Workstation

Data Stream

Efficient multicasting requires “native” multicast support.

Telematics 2 (WS 14/15): 05 – Multicast 68

Why is native IP Multicast not yet available?

Multicast technology already widely deployed, but multicast service not yet turned on – why?

Multicast is hard to debug and hard to manage

There is not yet a real “killer” application.

Receivers prefer using unicast instead of the low-quality and unstable MBone service (user perception: “Multicast = MBone”)

IP multicast service model not inline with requirements for commercial deployment

No group membership control

Open to denial of service attacks

Domain dependency

Lack of a business model for multicast pricing

Page 35: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 69

The IP Multicast Service Model

(Original) IP multicast offers many-to-many communication

New approaches propose a single source multicast model

Open service model, i.e. everybody can:

Create a multicast group

Receive data from a group

Send data to a group

No multicast address reservation

Problems:

Router state

Inter-domain multicast

Denial-of-service attacks

Telematics 2 (WS 14/15): 05 – Multicast 70

Multicast Problems: Unauthorized Receivers

Internet

Possible Solution:Data Encryption?

Page 36: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 71

Multicast Problems: Denial-of-Service Attacks

Internet

Telematics 2 (WS 14/15): 05 – Multicast 72

Requirements for Commercial Deployment

At least same level of availability and maintainability as unicast

Easy and transparent installation:

ISP must be able to install, manage, and maintain multicast service

Setup and configuration of multicast session must have low latency and be straightforward

Group membership should be controlled

Only authorized sources send to a group

Senders want to control the receiver set

Globally unique multicast addresses

Bandwidth fairness,

Network maintenance and debugging

Appropriate business model and mechanisms for charging and billing

Page 37: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 73

One Step Beyond: Reliable Multicast – The Challenge

Implement reliability on top of IP multicastDon’t necessarily care about ordering or byte-stream abstraction

Why is this hard ?Sender cannot keep state for unknown number of dynamicreceivers

Remember open & dynamic group semantic?Algorithms like TCP that estimate path properties such as RTT and congestion window don’t generalize to trees

Remember: TCP is only for a unicast session!Has to address (N)ACK implosions

Telematics 2 (WS 14/15): 05 – Multicast 74

R1

Example: Negative Acknowledgement Implosion

S

R3 R4

R2

21

R1

S

R3 R4

R2

Packet 1 is lost All 4 receivers request a resend

Resend request

Page 38: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 75

Reliable Multicast Transport: Issues

Retransmission can make reliable multicast as inefficient as replicated unicast

(N)ACK-implosion if all destinations ack/nack at once“Crying baby”: a bad link affects entire group

Heterogeneity: receivers, links, group sizesAnonymous/Open/Dynamic Group Model:

Source does not know # of destinations, and destinations may vanish

Multicast applications do not need strong reliability of the type provided by TCP.

Can tolerate some reordering, delay, etc

Telematics 2 (WS 14/15): 05 – Multicast 76

Retransmission

Re-transmitterOptions: sender, other receivers

How to retransmitUnicast, multicast, scoped multicast, retransmission group, …

Problem: retransmissions (aka repairs) may reach destinations that don’t require a retransmission

A.k.a “exposure” problemSolution: subcast the re-transmission only to receivers that need it.

Page 39: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 77

R1

Why Subcast? Exposure problem…

S

R3 R4

R2

21

R1

S

R3 R4

R2

Packet 1 does not reach R1;Receiver 1 requests a resend

Packet 1 resent to all 4 receivers

1

1

Resend request Resent packet

Telematics 2 (WS 14/15): 05 – Multicast 78

Alternative 1: Ideal Recovery Model

S

R3 R4

R2

2

1

S

R3 R4

R2

Packet 1 reaches R1 but is lost before reaching other Receivers

Only one receiver sends NACK to the nearest S or R with packet

Resend request

1 1Resent packet

Repair sent only to those that need packet

R1 R1

Page 40: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 79

R1

Alternative 2: Using the Routers

S

R3 R4

R2

Routers do transport level processing:

Buffer packetsCombine ACKsSend retransmissions

Model solves implosion and exposure, but not scalableViolates end-to-end argument

NACK

RTX

Router

Telematics 2 (WS 14/15): 05 – Multicast 80

RMT Building Blocks: RFC 3048

NACK only: E.g. SRM uses only end-to-end mechanisms.

Tree-based ACK: aggregators reduce reverse traffic. Eg: RMTP-II

Asynchronous Layered Coding (ALC):

Use of forward-error correction (FEC), and no feedback,

Aka “proactive” FEC

Router assist:

Use of NAKs but router support for aggregation, e.g. Pragmatic General Multicast (PGM)

FEC retransmissions (aka reactive FEC) instead of data retransmissions

Page 41: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 81

Ring Algorithm

ACK & NACK

Many to Many

Lowest Scalability

No Hierarchy

Multicast NACK & FEC

Simple to Implement

Moderate Scalability

Tree with Hard State

ACK & NACK & FEC

Confirmed Delivery

Requires Configuration

Ring

RMP

TRACK

RMTP-II

NACK-Only

SRM

Classes of RMT Protocols

Telematics 2 (WS 14/15): 05 – Multicast 82

One-level TRACK

ACK & NACK

Simple to Implement

Non Real Time

File Transfer

MFTP

Tree with Soft State

NACK & FEC

Scaleable & Auto Config

Req. New Router Code

Router-Assist

PGM

ALC (FEC)

Digital Fountain

No Return Channel

FEC Only

Highest Scalability & Supports Heterogeneity

Best for non real time or semi-reliable video

⌦ ⌫⌫

Classes of RMT Protocols

Page 42: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 83

Example: Scalable Reliable Multicast (SRM)

Originally designed for a distributed whiteboard application called wb

Receiver-reliableNACK-based

Every member may multicast NACK or retransmission

Telematics 2 (WS 14/15): 05 – Multicast 84

R1

SRM: Request Suppression

S

R3

R2

21

R1

S

R3

R2

Packet 1 is lost; R1 requests resend to Source and Receivers

Packet 1 is resent; R2 and R3 no longer have to request a resend

1

X

XDelay varies by distance

X

Resend request Resent packet

Page 43: Telematics 2 - Startseite TU Ilmenau · PDF fileNetwork multicast Router actively participate in ... (How? →look at destination IP address) Telematics 2 ... Router sends Host Membership

Telematics 2 (WS 14/15): 05 – Multicast 85

SRM: Stochastic Suppression

datad

d

d

d

Time

NACK

repair

2d

session msg

0

1

2

3

Delay = U[0,C2] ×dS,R

= Sender

= Repairer

= Requestor

Telematics 2 (WS 14/15): 05 – Multicast 86

SRM: Summary

All members get all the data that has been sent to the the multicast group (packet reliability )Repair requests/responses are multicast.Scope of repair requests/responses can be TTL limited or a separate “local recovery group” can be formedTechniques to avoid implosion of repair requests, and reduce control traffic: NAK backoff timersNACK/Retransmission suppression

Delay before sendingDelay based on RTT estimationDeterministic + Stochastic components

Periodic session messagesFull reliabilityEstimation of distance matrix among members