21
rt Windisch -- University of OregonIETF GATED -- December 7, 1997 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology Center University of Oregon

Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Embed Size (px)

Citation preview

Page 1: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 1

PIM Dense ModeGateD Implementation

Kurt WindischDave Meyer

Advanced Network Technology Center

University of Oregon

Page 2: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 2

Outline

PIM-DM Overview GateD Implementation Issues Status

http://www.antc.uoregon.edu/GATED/

Page 3: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 3

PIM-DM Overview

Key Features Uses existing unicast routing protocols Data-driven flood-and-prune strategy Efficient when membership is dense Builds optimal source-based trees Soft state

draft-ietf-idmr-pim-dm-06.txt, S. Deering, D. Estrin, D. Farinacci, V. Jacobson, D. Meyer, L. Wei

Page 4: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 4

Broadcast and Prune

Broadcast and prune behavior Assume everyone wants the data A router broadcasts data until

downstream router says “I don’t want this data”

Send prune messages upstream to stop data flow

– Prune state must be maintained, even if not “on-tree”

Builds source based distribution trees

Page 5: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 5

PIM-DM Overview

Reverse Path Forwarding (RPF)

Tree maintenance via Prune and Graft

State space: O(S x G)

sender

receiver

R 2

R 3

R 1

R 4

Page 6: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 6

Reverse Path Forwarding (RPF)

RPF check: In order to forward a multicast datagram, a router checks if the packet is received on the interface it would use to forward a unicast packet back to the source If the RPF check succeeds, the router

forwards the packet If the RPF check fails, the packet silently

discarded

Page 7: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 7

RPF In PIMDM

RPF builds spanning tree Dalal & Metcalfe, ACM

21(12), 1978 Fully distributed

Reverse Path Multicast: RPF + Prune on RPF

failure stops unnecessary traffic

in addition to breaking loops.

sender

receiver

prune

data

data

Page 8: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 8

Prune

Prune for a given (S,G) send Prune

to upstream neighbor when outgoing interface list becomes empty

upstream receiver prunes the receiving interface if no other routers or members are receiving (S,G).

sender

receiver

R 2

R 3

R 1

R 4

Page 9: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 9

Graft

Graft for given (S,G), send Graft

to upstream neighbor when the outgoing interface list becomes nonempty

upstream receiver adds receiving interface to outgoing interface list and begins forwarding (S,G)

sender

receiver

R 2

R 3

R 1

R 4

Page 10: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 10

Multiaccess LAN

Delayed prune and join When a downstream

router on a LAN sends a Prune, other downstream routers must override with a Join if they are forwarding

Therefore, handling of prunes is delayed while all routers listen for and send Joins to cancel the Prune.

sender

receiver

R 2 R 3

R 1

Page 11: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 11

Multiaccess LAN

Assert handles parallel paths from

a source to a LAN election of single forwarder routers send Assert if they

receive (S,G) data on an outgoing interface.

Assert message contain metric to source

all routers listen to determine winner

sender

receiver

R 2

R 3

R 1

R 4

Page 12: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 12

Dense Mode Tradeoffs

Advantages Source trees fully distributed Optimal reverse paths/low delay

Disadvantages O(S x G) state requirement May carry (S,G) for every S in the internet (S,G) prune state even though not “on-

tree” Data driven forwarding state construction

Page 13: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 13

Implementation Details

Compliant with PIM v2 specification Based on GateD PIM-Sparse

implementation by George Eddy (ISI)

Shared PIM code (SM/DM) Requires PIM Kernel Patches

yet to be standardized between PIM implementations

Page 14: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 14

Implementation Details

Utilizes GateD v5 abstractions and protocols: Multicast Border Router (MBR) layer Multicast Routing Table (MRT) layer IGMP Unicast routing protocols

PIM-DM is a good fit for this architecture

Page 15: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 15

MBR Interactions

Creating routing state sg_creation_recv: creates (S,G) entry

with forwarding state (implements flooding)

Outgoing interface changes sg_join_recv: PIM-DM sends (S,G)-Graft

upstream sg_prune_recv: PIM-DM sends (S,G)-

Prune upstream

Page 16: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 16

MBR Interactions

RPF check wrongif_recv: PIM-DM sends (S,G)-

Assert or Prune on receiving interface Group membership changes

igmp_add igmp_delete

Page 17: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 17

MRT Interactions

Multicast routing tables store PIM per (S,G) state incoming interface outgoing interfaces hooks to PIM-DM data structures for

prune and assert state

Page 18: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 18

Unicast Interactions

PIM relies on underlying GateD unicast protocols RPF checks flashing unicast route changes

Tested successfully with: RIP v2 OSPF v2

Page 19: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 19

Issues

Scalability State space PIM-DM per (S,G) timers:

O(S x G x n) timers that must be managed with fine granularity

Integration with PIM Sparse Mode Need for tunneling (GRE)

Page 20: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 20

Status Report

Basic implementation and testing done To Do:

known bugs larger scale testing performance/scalability studies interoperability testing Further implementation: GRE tunneling,

IPv6, stand-alone PIM-DM Prune Refresh extensions

Page 21: Kurt Windisch -- University of OregonIETF GATED -- December 7, 1997 1 PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology

Kurt Windisch -- University of Oregon IETF GATED -- December 7, 1997 21

Final Remarks

Call for test sites

Further Info:http://www.antc.uoregon.edu/GATED/