Multicasting
Download
1 / 47

Multicasting - PowerPoint PPT Presentation


  • 82 Views
  • Uploaded on

Multicasting. CSE 6590. Internet Multicast Service Model. 128.59.16.12. 128.119.40.186. multicast group 226.17.30.197. 128.34.108.63. 128.34.108.60. Multicast group concept: use of indirection a host “ sends ” IP datagrams to multicast group.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Multicasting' - judith-holt


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Multicasting

Multicasting

CSE 6590


Internet multicast service model
Internet Multicast Service Model

128.59.16.12

128.119.40.186

multicast

group

226.17.30.197

128.34.108.63

128.34.108.60

Multicast group concept: use of indirection

  • a host “sends” IP datagrams to multicast group.

  • routers forward multicast datagrams to hosts that have “joined” that multicast group.

2


Multicast groups
Multicast Groups

  • Class D Internet addresses reserved for multicast:

  • Host group semantics:

    • anyone can “join” (receive from) multicast group.

    • anyone can send to multicast group.

    • no network-layer identification to hosts of members.

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

3


Multicast addressing
Multicast Addressing

  • Class D address (see next slide)

  • Source: unicast IP address S

    Receivers: multicast group ID G, a class-D address

  • Each group is identified by (S, G)

  • Ethernet broadcast address (all 1’s)

  • 2 ways of doing IP multicast at the link layer:

    • Link-layer (Ethernet) broadcast

    • Link-layer (Ethernet) multicast

      Both cases need filtering at IP layer.



Multicast addressing 2
Multicast Addressing (2)

1. Link-layer (Ethernet) broadcast

  • IP multicast packet is encapsulated in an Ethernet broadcast frame and transmitted on the bus.

  • Every host picks up the Ethernet frame and does filtering at the IP layer to decide whether to keep or discard the frame.

  • Redundant reception by many hosts.

    2. Link-layer (Ethernet) multicast

  • Requires a mapping of IP multicast address to an Ethernet multicast address (see next slide).

  • There are up to 32 IP class-D addresses mapped to the same Ethernet multicast address.

  • The IP module still has to filter out packets for non-member hosts.



Multicast protocols
Multicast Protocols

Transport layer

  • UDP

  • Real-time Transport Protocol (RTP): for multimedia content

  • ReSerVation Protocol (RSVP): for bandwidth reservation in a multicast distribution


Multicast protocols 2
Multicast Protocols (2)

Routing, delivery

  • On a local network (join/leave):

    • Internet Group Management Protocol (IGMP)

    • Multicast Listener Discovery (MLD): similar to IGMP but for IPv6

  • Intra-domain (routing):

    • MOSPF, PIM, DVMRP

  • Inter-domain (routing):

    • Multicast Border Gateway Protocol (MBGP)


Joining a multicast group 2 step process
Joining a multicast group: 2-step process

  • Local: host informs local multicast router of desire to join group: IGMP (Internet Group Management Protocol)

  • Wide area: local router interacts with other routers to receive multicast datagram flow

    • many protocols (e.g., DVMRP, MOSPF, PIM)

IGMP

IGMP

wide-area

multicast

routing

IGMP



Internet group management protocol igmp
Internet Group Management Protocol (IGMP)

  • RFC 3376 used to exchange multicast group information between hosts & routers on a LAN

  • hosts send messages to routers to subscribe to (join)and unsubscribe from (leave) multicast group

  • routers check which multicast groups are of interest to which hosts

  • IGMP currently at version 3


Igmp 2
IGMP (2)

  • Router:sends IGMP query at regular intervals

    • hosts belonging to a multicast group must reply to query if wishing to join or stay in the group.

  • Host: sends IGMP report (reply) when application wishes to join a multicast group.

    • IP_ADD_MEMBERSHIP socket option

    • hosts need not explicitly “unsubscribe” when leaving

report

query


Igmp 3
IGMP (3)

  • Router: broadcasts Host Membership Query message on LAN.

  • Host: replies with Host Membership Report message to indicate group membership

    • randomized delay before responding

    • may send multiple times

    • implicit leave via no reply to Query

  • Group-specific Query

  • Leave Group message

    • Last host replying to Query can send explicit Leave Group message

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

    • Introduced in RFC 2236

  • IGMP v3: current version


Operation of igmp v1 and v2
Operation of IGMP v1 and v2

  • IGMPv1

    • hosts could join group

    • routers used timer to unsubscribe members

  • IGMPv2enabled hosts to unsubscribe

  • operational model:

    • receivers have to subscribe to groups

    • sources do not have to subscribe to groups

    • any host can send traffic to any multicast group

Problems:

  • spamming of multicast groups

  • establishment of distribution trees is problematic (source location unknown)

  • finding globally unique multicast addresses difficult (duplicate addresses)


Igmp v3
IGMP v3

  • addresses weaknesses by:

    • allowing hosts to specify list from which they want to receive traffic

    • blocking traffic from other hosts at routers

    • allowing hosts to block packets from sources that send unwanted traffic


Igmp message formats membership query
IGMP Message FormatsMembership Query

  • sent by multicast router

  • three subtypes: general query, group-specific query, group-and-source specific query



Igmp message formats membership report
IGMP Message FormatsMembership Report



Igmp operation joining
IGMP Operation - Joining

  • IGMP host wants to make itself known as group member to other hosts and routers on LAN

  • IGMPv3 allows hosts to specify wanted or unwanted sources (filtering capabilities)

    • EXCLUDE mode – all sources except those listed

    • INCLUDE mode – only from sources listed


Igmp operation keeping lists valid
IGMP Operation – Keeping Lists Valid


Igmp operation leaving
IGMP Operation - Leaving

  • host leaves group by sending a leave group message to the all-routers static multicast address

    • sends a membership report message withEXCLUDE option and null list of source addresses

  • router determines if have any remaining group members using group-specific query message


Group membership with ipv6
Group Membership with IPv6

  • IGMP defined for IPv4

    • uses 32-bit addresses

  • IPv6 internets need the same functionality.

  • IGMP functions included in Internet Control Message Protocol v6 (ICMPv6).

    • ICMPv6 has functionality of ICMPv4 & IGMP.

  • ICMPv6 includes group-membership query and group-membership report messages as IGMP.


Igmp summary
IGMP: Summary

  • For membership management.

  • Between a host on a subnet (Ethernet) and the router for the subnet.

  • The router periodically broadcast an IGMP host-membership query message on its subnet.

  • A host subscribes to a group replies by multicasting a host-membership report message.

    • Note: feedback implosion  uses a random timer.

  • The report is sent 3 times (for reliability).

  • IGMP-1: hosts send no report  leaving the group

    IGMP-2: hosts send explicit host-membership leave messages to reduce leave latency.

    IGMP-3: filtering and blocking



Reverse path forwarding
Reverse Path Forwarding

  • Building a loop-free broadcast tree

  • No knowledge of group membership


Reverse path forwarding 2
Reverse Path Forwarding (2)

if (multicast datagram received on incoming link on shortest path back to sender)

then flood datagram onto all outgoing links

else ignore datagram

  • rely on routers knowledge of unicast shortest path from it to sender

  • each router has simple forwarding behavior:


Reverse path forwarding example

A

D

G

B

E

F

c

Reverse Path Forwarding: Example


Spanning tree broadcast

A

A

D

D

G

G

E

B

B

E

F

F

c

c

(b) Broadcast initiated at D

(a) Broadcast initiated at A

Spanning-Tree Broadcast


Internet multicasting routing dvmrp
Internet Multicasting Routing: DVMRP

  • DVMRP: distance vector multicast routing protocol, RFC1075.

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

    • initial datagram to multicast group is flooded everywhere via RPF

    • routers not wanting the multicast data: send prune messages to upstream neighbors


Dvmrp example

1

i

5

4

3

6

2

DVMRP Example

S: source

LEGEND

R1

R4

router with attached

group member

R2

router with no attached

group member

R5

link used for forwarding,

i indicates order link

added by algorithm

R3

R7

R6


How dvmrp fits into multicasting
How DVMRP Fits into Multicasting

  • IGMP - used for discovery of hosts in multicast groups, messages exchanged between neighbors

  • DVMRP - routes multicast datagrams within an AS

  • MBGP (Multicast BGP) - routes multicast datagrams between ASs


Dvmrp details
DVMRP Details

  • Soft state: DVMRP router periodically (1 min.) “forgets” that branches are pruned:

    • multicast data again flows down unpruned branches.

    • downstream routers: reprune or else continue to receive data.

  • Routers can quickly re-graft to tree following an IGMP join at a leaf router by sending a “graft” message upstream.

  • Deployment:

    • commonly implemented in commercial routers.

    • Mbone routing done using DVMRP.

  • Works well in small autonomous domains.


Dvmrp prune
DVMRP Prune

  • Sent from routers receiving multicast traffic for which they have no downstream group members

  • “Prunes” the tree created by DVMRP

  • Stops needless data from being sent


Dvmrp graft
DVMRP Graft

  • Used after a branch has been pruned back

  • Sent upstream by a router that has a host that joins a multicast group

  • Goes from router to router until a router active on the multicast group is reached

  • Sent for the following cases

    • A new host member joins a group

    • A new dependent router joins a pruned branch

    • A dependent router restarts on a pruned branch

    • If a Graft Ack is not received before the timeout


Dvmrp graft ack
DVMRP Graft ACK

  • Used to acknowledge receipt of Graft message

  • Allows sending downstream router to know upstream router has received and processed its request

  • If not received within 5 sec. Graft message sent again


Dvmrp issues
DVMRP Issues

  • Hop count used as metric

  • Scalability issues

    • Performs periodic flooding

    • Maintains its own routing table

  • Older versions lack pruning

  • Even though it is a main part of MBone, MBone is being phased out


Dvmrp summary
DVMRP: Summary

  • Distance Vector Multicast Routing Protocol

  • Leaf router sends a prune message to neighbouring routers when there is no group member on the subnet.

  • Intermediate routers perform pruning whenever possible.

  • Flooding and pruning are repeated periodically, when the current state times out.

  • Between flooding rounds, a leaf router can re-join a group by sending a graft message upstream.

  • Intermediate routers propagates the graft message upstream until the path is re-connected.


Shortest path tree

1

i

5

4

3

6

2

Shortest Path Tree

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

    • Dijkstra’s algorithm.

S: source

LEGEND

R1

R4

router with attached

group member

R2

router with no attached

group member

R5

link used for forwarding,

i indicates order link

added by algorithm

R3

R7

R6


Mospf
MOSPF

Extends OSPF for multicasting.

Every router has the complete topology of its own network.

A receiver joins a multicast group G by exchanging IGMP messages with its end-router R.

The end-router R broadcasts its group membership to the whole network in the form (G, R).

Every router in the network maintains a group membership table with each entry being a tuple [S, G, <R1, R2, …>].

A sender simply sends data packets as they are available.

Each router uses the network topology, the group membership table, and the multicast group ID in the data packets to compute the route(s) to the destination(s).

41


Multicast routing approaches
Multicast Routing Approaches

  • Minimum cost trees

    • Steiner trees

  • Shortest path trees

    • Source-based trees

    • Core-based trees

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


Steiner trees
Steiner Trees

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

  • Problem is NP-complete.

  • Excellent heuristics exist.

  • Not used in practice:

    • computational complexity.

    • information about entire network needed.

    • monolithic: rerun whenever a router needs to join/leave.


Shortest path tree1

1

i

5

4

3

6

2

Shortest Path Tree

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

    • Dijkstra’s algorithm.

S: source

LEGEND

R1

R4

router with attached

group member

R2

router with no attached

group member

R5

link used for forwarding,

i indicates order link

added by algorithm

R3

R7

R6


Core based trees
Core-Based Trees

  • For many-to-many multicast.

  • Protocols: CBT, PIM-SM, PIM-DM (Protocol Independent Multicast, sparse/dense mode)

  • Purpose: to reduce the amount of routing info stored at routers when a multicast group has a large number of members and multiple senders.

  • A multicast group requires a core (rendez-vous point).

  • Receivers “join” the (shortest-path) tree rooted at the core  only one tree per multicast group (used for multiple senders).

  • Sources send multicast data to the core, which then multicasts the data to the tree.


Mbone
MBone

  • Multicast backbone of the Internet.

  • Not all routers support multicast routing protocols and IGMP.

  • Connecting multicast-capable routers using (virtual) IP tunnels.

  • Was a long-running experimental approach to enabling multicast between sites through the use of tunnels.

  • No longer operational.


Reading
Reading

  • Section 19.1, Stallings

    More references:

  • Multicasting on the Internet and Its Applications, Sanjoy Paul, Kluwer Academic Publishers, 1998, chapters 2, 4, 5.

  • Computer Networking: A Top-Down Approach, 5th edition, Kurose and Ross.


ad