CPS 472/572  Computer Networking

Lecture 19:  Multicast Routing

Dr.  Jennifer Seitzer

 

Motivation:

One of the newest and most prevalently used networking techniques today is multicasting where a single packet is sent from one source to multiple destinations.  Because of their tolerance to loss and their intolerance to delay, multicasting is used by many multimedia applications.  Tonight, we discuss the issues of routing multicast datagrams and the underlying protocols used at the network layer of the Internet to accurately control these datagrams.

 

Readings:  Section 4.8

Multicast Routing

r   Multicast – the sending of a packet from one sender to multiple receivers with a single send operation

r   Connection-Oriented at the Network Layer

r   State Information must be kept

m  Established and maintained in routers that handle multicast packets

m  A combination of signaling and routing protocols

m  Connections must be set up, maintained, and torn down

Two Possibilities for Multicasting

Single Datagram Approach

r  Sender sends datagram

r  Router copies and forwards over as many links as necessary

r  Uses a network layer protocol

r  More efficient (only a single copy of a datagram will ever traverse any link)

 

The IGMP Protocol

r  Operates between a host and directly attached router

r  Enables a host (application) to join a multicast group

r  Operates locally

m There is no network layer protocol that operates among all the Internet hosts in a group

m No group membership tracer

 

The IGMP Message Types

r   General Membership Query

m  Sent by router to all LAN nodes

m  Asks “what multicast groups have you joined?”

r   Specific Membership Query

m  Sent by router to all LAN nodes

m  Asks “are you a member of <specific> multicast groups ?”

r   Membership Report

m  Sent by host to router

m  Reports “I am a member of the <specific> multicast groups.”

r   Leave Group

m  Sent by host to router

m  Optional (if no explicit report, it will timeout)

r   Feedback suppression

m  Only needs to hear from one host per multicast group

m  Anymore is redundant

r   Soft State

m  In Internet protocol, soft state is removed via a timeout event

m  The state of hosts joined to a given multicast group is removed if a membership_report message is not received in a certain time period

The IGMP Protocol at Network Layer

r   Joining is receiver-driven

r   Sender does not know recipients

r   Sender has not control who joins the group (and who receives the datagrams)

r   There is no control over who sends to the group

r   Other Problems:

m  Foreign user may inject packets

m  Two groups could choose the same multicast address

  Results in interleaved extraneous multicast traffic

r   Application Layer:

m  Filtering

m  Ordering

m  Privacy

r   Mimics the primitive unicast behavior of IP

Multicast Routing

Two Methods of Multicast Routing

Group Shared Multicast Routing

r   Optimal multicast routing tree -

m  Has the smallest sum of the tree link costs

m  Steiner Tree

m  None of the existing Internet multicast routing algorithms have been based on this approach

r   Not currently used because:

m  Information is needed about all links in the network

m  Algorithm needs to be re-run every time the network changes

m  Poor ability to leverage unicast routing tables

Center Based Tree

r   Creates itself using Unicast routing

m  Identify a center

m  Routers with hosts unicast a JOIN to center

m  Unicast forwarded until it encounters tree

m  Path that the JOIN followed defines a new branch of the tree

r   Creates itself using Unicast routing:  EXAMPLE

m  Assume E is center

m  F joins by sending a message to E;  tree is now one branch

m  B joins by sending E a message;  path includes non-participating router D

m  A joins by sending E a message;  assume it goes through B, therefore the edge AB is now appended to the tree

 

Source Based Tree Methods

r   Least Cost Path Multicast Algorithm

m Min Cost Tree is constructed for each source

m Based on Dijkstra’s for unicast

m Different than Steiner tree

m Link state algorithm where every router knows the state of each link

r   Reverse Path Forwarding (RPF)

m Router forwards a multicast packet on all outgoing links
 if
the incoming link on which the datagram came is on its own shortest path back to sender
 otherwise
 the multicast packet is discarded

m  each router only needs to know the next hop to every other multicast router

Source Based Tree Methods

r   Example Reverse Path Forwarding 

m  A sends source-S packet to C and B

m  B forwards the packet from A to C and D;  B will ignore any other copies (e.g., from C)

m  C will also ignore any other copies(e.g., from B)

 

r   Pruning 

m D forwards to G (even though no hosts as group members)

m G will send a PRUNE message to D

m  If a router receives prune messages from each of its downstream routers, then it can forward a prune message upstream.

m  Later if a branch needs to be added again, an explicit “graft” message or a timeout on the prune can be used.

Multicast Routing in the Internet

r  DVMRP – Distance Vector Multicast Routing Protocol

r  MOSPF – Multicast Open Shortest Path First

r  CBT – Core Based Tree

r  PIM – Protocol Independent Multicasting

 

Distance Vector Multicast Routing Protocol

r   Deployed in 1998

r   Most widely supported

r   Uses source based trees – n separate trees each rooted at a participating router in the multicast group

r   Uses reverse path forwarding, pruning, grafting

r   Each router computes next hop AND a list of dependent downstream routers (to facilitate pruning)

r   Public version available:  mrouted

Multicast Tunneling

r   Only a small fraction of the Internet supports Multicasting…

m  Tunneling- used to create a virtual network on top of a physical network comprised of a mix of unicast and multicast routers

r   Example

m  A encapsulates the multicast datagram into a unicast datagram

m  A sends the unicast datagram to B using standard routing

m  The intermediate routers forward the unicast datagram to B

m  B receives and extracts the multicast datagram

m    B, then, can do any (and all) of the following

     Forward multicast datagram to any attached hosts in group

     Forward multicast datagram to directly attached neighboring multicast router

     Forwards to next multicast router via tunneling

Multicast Open Shortest Path First

r   Operates in single autonomous system that uses OSPF

r   MOSPF augments the advertisements with multicast group membership

r   Routers have knowledge of their neighboring topology as well as which routers have participating hosts

r   Therefore, routers can create

m  Source specific

m  Pre-pruned

m  Shortest path trees

 

Core Based Tree

r   Creates one bi-directional single tree

r   Uses the dynamic unicast tree builder:

m  A multicast router unicasts a JOIN_REQUEST

m  The path forms a branch

m  Response is a JOIN_ACK message

m  Time-outs are used to maintain with “keep alive” messages to which timers are set;  subtree is FLUSHED if timer expires

 

Protocol Independent Multicast

r   Hybrid of source-specific and group-shared tree

r   ‘Independent’ of underlying unicast protocol

r   Operates in two modes

m  Sparse – routers are dispersed

  Group shared tree (center based approach)

  Calls center “rendezvous point”

 

m  Dense – routers are closely positioned

  Source specific tree

  Flood-and prune reverse path forwarding technique similar to DVMRP

Inter-AS Multicast Routing

r   Autonomous system – routers may run varying routing algorithms

r   Current area of research

r   DVMRP is currently the de facto

m  Dense mode algorithm

m  Not really suited to the Mbone (the multicast backbone of the Internet)

 

Evaluating a Multicast Protocol

r   Scalability – how does it handle varying sized multicast groups?  How does it handle many groups?

r   Reliance on underlying unicast routing – to what extent does a multicast protocol rely on information maintained by an underlying unicast routing protocol?

r   Excess Traffic spawned/received – does the router receive datagrams with no hosts as members (DVMRP, PIM-dense)  or does the router only receive pertinent information to its hosts (MOSPF, PIM-sparse)?

r   Traffic concentration – the group shared tree approach tends to concentrate traffic on certain links (toward the center) possibly forming bottlenecks

Homework 3:
Page 373:  13-16, 18, 20