broadcast and multicast. overview last time: routing protocols for the internet hierarchical...
Post on 31-Dec-2015
222 Views
Preview:
TRANSCRIPT
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
sourceduplication
R1
R2
R3 R4
in-networkduplication
duplicatecreation/transmissionduplicate
duplicate
Source duplication inefficient Source does not know all destinations
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
Reverse Path Forwarding
Idea: use unicast routing information Forward only messages coming from
the shortest path to source Note: problem with asymmetric paths
Spanning Tree Subset of graph edges that forms a tree Flood messages along all edges on
spanning tree, ignore all others
A
B
G
DE
c
F
A
B
G
DE
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
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
IGMP
Internet Group Management Protocol Runs only between host and router
Multicast routing takes care of communication between routers
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!
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
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 attachedgroup member
router with no attachedgroup member
prune message
S: source
links with multicastforwarding
P
P
P
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
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
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
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
top related