1 Reverse Path Forwarding Reverse Path Forwarding Idea: use - - PDF document

1
SMART_READER_LITE
LIVE PREVIEW

1 Reverse Path Forwarding Reverse Path Forwarding Idea: use - - PDF document

Overview Broadcast and Multicast Last time: routing protocols for the Internet Hierarchical routing RIP, OSPF, BGP This time: broadcast and multicast Definitions In-network Duplication Unicast Source duplication


slide-1
SLIDE 1

1 Broadcast and Multicast Overview

 Last time: routing protocols for the

Internet

 Hierarchical routing  RIP, OSPF, BGP

 This time: broadcast and multicast

Definitions

 Unicast

 Single source, single receiver

 Broadcast

 Send same packet to all receivers  “all” usually limited in some way 

LAN, subnet, organization  Multicast

 Send same packet to many receivers

In-network Duplication

R1 R2 R3 R4 source duplication R1 R2 R3 R4 in-network duplication

duplicate creation/transmission duplicate duplicate

 Source duplication inefficient  Source does not know all destinations

Flooding

 Loops  Broadcast storms A B D C

Controlled Flooding

 Ignore duplicate messages

Cache to remember what’s been sent before

 Special case: sequence numbers

Used with broadcast updates

Source assigns increasing seq no to broadcast

Record latest seq no from each source

Discard messages with old seq no’s

 Ensures always use the latest update

slide-2
SLIDE 2

2 Reverse Path Forwarding

 Idea: use unicast routing information  Forward only messages coming from

the shortest path to source

 Note: problem with asymmetric paths

Reverse Path Forwarding

A C B G F E D

4 5 2 6 4 1 2 3 6

Reverse Path Forwarding

A C B G F E D

4 5 2 6 4 1 2 3 6

Forward Path

Reverse Path Forwarding

A C B G F E D

4 5 2 6 4 1 2 3 6

Reverse Path

Spanning Tree

 Subset of graph edges that forms a tree  Flood messages along all edges on

spanning tree, ignore all others

A B G D E c F A B G D E c F (a) Broadcast initiated at A (b) Broadcast initiated at D

Minimal Spanning Tree

 Minimal cost spanning tree

 Minimal by sum of all edge costs  Provably optimal broadcast cost, for any

source in the tree

 NP-complete problem (not true)

 Approximation:

 Shortest unicast paths to some root

slide-3
SLIDE 3

3 Minimum Spanning Tree

A C B G F E D

4 5 2 6 4 1 2 3 6

Shortest Path Tree

A C B G F E D

4 5 2 6 4 1 2 3 6

Multicast

 Motivation?

Multicast Issues

 Naming  Membership Management  Routing

IP Multicast Naming

 Class D address represents multicast group

E.g. 226.17.30.197

 Datagram with destination address set to

group delivered to all hosts in the group

Indirection

226.17.30.197 => 65.30.1.2, 66.8.3.53, 128.32.75.60, …

Sender may or may not be in the group

 No address hierarchy or subnets

How is routing done?

Membership Management

 Some other questions:

 Who is part of the group?  How does one join?  How does one leave?  Who decides if it’s OK?

 Membership management answers

these

slide-4
SLIDE 4

4 IGMP

 Internet Group Management Protocol  Runs only between host and router

 Multicast routing takes care of

communication between routers

IGMP

hosts routers

host-to-router protocol (IGMP) multicast routing protocols (various)

IGMP query

 IGMP membership_query

 Router sends query  Find out all groups a host belongs to  Can query a specific group instead  Sent to the “all systems group”

(224.0.0.1) with TTL=1

IGMP report

 IGMP membership_report

 Response from host to a query  Can send report unsolicited 

Join group this way!  IGMP leave_group

 Optional  Router will clean up membership info on

next membership_query

IGMP properties

 Minimalist semantics

 Host controlled membership

 No decision about:

 Who controls membership  Invitations  How to find groups and join them

 Move these decisions to application

layer

Soft state

 Host is authoritative on group

membership

 Router maintains “soft state”  A crashed router soon recovers

 Sends a new membership_query  Misdelivers packets for a little while 

OK by IP service model!

slide-5
SLIDE 5

5 Multicast Routing

 A number of routers have hosts that

belong to a multicast group

 How to connect them (and others) in a

tree?

 Shared tree: single tree for all  Source-based tree: many trees

Core-Based Tree

 Tree rooted at a core  To join a group, send unicast message

towards core

 Add all links traversed until hit existing

tree

Diagram

Core

Choice of Core

 If core close to source, efficiency is

good

 If core far from source, efficiency falls

 Delay up to twice optimal

 Optimal core placement is NP-hard

 Use heuristics

Source-based Trees

 Different tree for each possible source

 Why?

 Reverse path forwarding to figure out

tree

 Pruning to leave out routers

Pruning

 Prune when no attached members or

downstream routers

 Propagate prune messages upstream

R1 R2 R3 R4 R5 R6 R7 router with attached group member router with no attached group member prune message S: source links with multicast forwarding P P P

slide-6
SLIDE 6

6 DVMRP

 Distance Vector Multicast Routing Protocol  DV + RPF + Pruning  DV vector carries distance to multicast

sources

 Pruning carries a timeout

Afterwards, traffic delivery is resumed

 Explicit graft message to reverse pruning

Done upon join

MOSPF

 Multicast Extensions to OSPF  Link-state advertisements include multicast

group membership

Only report directly connected hosts

 Compute shortest-path spanning tree rooted

at source

On demand, when receiving packet from source for the first time

Forward multicast traffic along tree

MOSPF performance

 Global state allows source-based trees

to be used

 Faster delivery of messages

 Overhead

 Joins and leaves flooded to all routers  Any change may cause whole tree to be

recomputed

PIM

 Protocol Independent Multicast

Uses routing tables, but agnostic of how they are built

 Two settings:

Dense: most routers members of a group

Use RPF flooding with pruning

Sparse: most routers not members of a group

Use shared tree or source-based tree based on data characteristics  Uses soft-state

Sparse vs. Dense

Dense Mode

 Dense participants  B/W plentiful  Membership

assumed until pruned

 Data driven

Sparse Mode

 Sparse participants  B/W overhead

significant

 Membership

explicitly requested

 Receiver driven

Shared v. Source-based Trees

 Shared trees used initially

 Tree rooted at rendezvouz-point (RP)

 Can switch to source-based trees

when data rate is high

 RP sends a Join message to source  Each router independently decides to

switch to source-based tree, sends Join to source

slide-7
SLIDE 7

7 Shared Tree Example

RP

S G G G

PIM Receiver Join

RP

S G G G G Join *,G Report G

What if join is here?

PIM Shared Tree After Join

RP

S G G G G G

PIM Source Based Tree

RP

S G G G G G Join s,g

PIM Source Based Tree

RP

S G G G G G

PIM routing tables

 Routing entries of the form (s,g)

 s - source  g - group

 Wildcard entries (*,g) for shared-group

trees

 Packets are routed using best match

slide-8
SLIDE 8

8 Steiner Trees

Steiner Tree: minimum cost tree connecting all routers with attached group members

problem is NP-complete

excellent heuristics exists

not used in practice:

computational complexity

information about entire network needed

monolithic: rerun whenever a router needs to join/leave

Minimum Spanning Tree

A C B G F E D

4 5 2 6 4 1 3 3 6

Steiner Tree

A C B G F E D

4 5 2 6 4 1 3 3 6

Tunneling

Q: How to connect “islands” of multicast routers in a “sea” of unicast routers?

 mcast datagram encapsulated inside “normal” (non-multicast-

addressed) datagram

 normal IP datagram sent thru “tunnel” via regular IP unicast to

receiving mcast router

 receiving mcast router unencapsulates to get mcast datagram physical topology logical topology