Top Banner
INRIA Rhône-Alpes - Planète project 1 A Survey of Reliable Multicast Protocols Projet Planète; INRIA Rhône-Alpes [email protected] http://www.inrialpes.fr/planete/ people/roca November 13 th , 2001
43

A Survey of Reliable Multicast Protocols

Jan 02, 2016

Download

Documents

lila-martin

A Survey of Reliable Multicast Protocols. Projet Planète; INRIA Rhône-Alpes [email protected] http://www.inrialpes.fr/planete/people/roca November 13 th , 2001. Outline of the presentation. part 1- introduction part 2 - reliable multicast and associated high level services - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - Planète project 1

A Survey of Reliable Multicast Protocols

Projet Planète; INRIA Rhône-Alpes

[email protected]

http://www.inrialpes.fr/planete/people/roca

November 13th, 2001

Page 2: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 2

Outline of the presentation

part 1- introductionpart 2- reliable multicast and associated high

level servicespart 3- a small demopart 4- selected bibliography

Page 3: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 3

Part 1

Introduction

Introduction: what is it and why/when should we use it?

Page 4: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 4

The Internet group modelmulticast/group communications means...

1 n as well as n m

a group is identified by a class D IP address (224.0.0.0 to 239.255.255.255)

abstract notion that does not identify any host!

host_1

194.199.25.100194.199.25.100sourcesource

host_3

receiverreceiver133.121.11.22133.121.11.22

host_2

receiverreceiver194.199.25.101194.199.25.101

multicast group225.1.2.3 multicast router

Ethernet

multicast router

multicast router

host_1

sourcesource

host_2

Ethernet

receiverreceiver

host_3

site 1

site 2

Internet

receiverreceiver

multicast distribution tree

from logical view...

...to physical view

Page 5: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 5

The Internet group model... (cont’)the group model is an open model

anybody can belong to a multicast groupno authorization is required

a host can belong to many different groupsno restriction

a source can send to a group, no matter whether it belongs to the group or notmembership not required

the group is dynamic, a host can subscribe to or leave at any time

a host (source/receiver) does not know the number/identity of members of the group

Page 6: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 6

The Internet group model... (cont’)local-area multicast

use the potential diffusion capabilities of the physical layer

(e.g. Ethernet)efficient and straightforward

wide-area multicastrequires to go through multicast routers, use

IGMP/multicast routing/...

(e.g. DVMRP, PIM-DM, PIM-SM, PIM-SSM, MSDP, MBGP, BGMP, etc.)

routing in the same administrative domain is simple and efficient

inter-domain routing is complex, not fully operational

In this talk we won’t consider mcast routing!

Page 7: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 7

Multicast and the TCP/IP layered model

TCP UDP

IP / IP multicast

device drivers

ICMP IGMP

Application

Socket layer

congestioncontrol

reliabilitymgmt

other buildingblocks

multicastrouting

higher-levelservices

user space

kernel space

Page 8: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 8

Why IP multicast?scalability...

scales to an unlimited number of users

reduced costs...cheaper equipment and access line

increased speed...increases the delivery speed

contentserver ISP and Internet

access line client

client

...or multicast?

contentserver ISP and Internet

access line client

client

use unicast?

Page 9: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 9

The three delivery modelsStreaming (e.g. for audio/video)

multimedia data requires efficiency due to its sizerequires real-time, semi-reliable delivery

Push deliverysynchronous model where delivery is started at t0usually requires a fully reliable delivery, limited

number of receivers

time

receiver ready...

receiver ready...ok, receiver leaves

ok, receiver leaves

transmission

t0, tx starts...

Page 10: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 10

The three delivery models... (cont’)On-demand delivery

popular content (video clip, software,update, etc.) is continuously distributed in multicast

users arrive at any time, download, and leavepossibility of millions of users, no real-time

constraint

time

receiver ready... ok, receiver leaves

transmission

receiver ready... ok, receiver leaves

Page 11: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 11

Some multicast applicationscollaborative work applications

many audio/video/application sharing/multicast file transfer/... applications, each with different needs

small to medium sized group

multi-user games (large virtual environments)requires multicast for scalability, some level of

reliabilitycan use multiple multicast groups for scoping

Page 12: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 12

Some multicast applications... (cont’)content distribution within large corporations

central management of content (document, database, current version of a sofware projects, etc.)

regular delivery to remote facilitiesneed for secure, fully reliable transmissions

Page 13: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 13

Part 2

Reliable multicast and associated high-level

services

State of the art of current research and standardization efforts

Page 14: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 14

Outline of the section

2.1- challenges and scalability in reliable

multicast2.2- various classes of reliable protocols

overviewthe NORM PI the TRACK PIthe ALC PI

2.3- use of FEC (forward error correction)2.4- congestion control protocols

Page 15: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 15

2.1- The challengesIETF requirements (RFC 2357)

scalability 10...000s members/sourcescongestion control fair in some respect to TCPsecurity if possible... SMUG

(secure mcast group)

Other challengesmany different application requirements

“one size does not fit all”various group models: closed (members known &

fixed), semi-closed, open reliability is more or less easy to provide

take into account the heterogeneity of receiversbe easy to use, configure (e.g. TRACK), monitor

Page 16: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 16

Reliable multicast scalabilitymany problems arise with 10000 receivers...

Problem 1: scalable control trafficACK each data packet (à la TCP)...

oops, 10000ACKs/pkt!NAK (negative ack) only if failure...

oops, if pkt is lost close to src,10000 NAKs!

Problem 2: scalable retransmissionsif each receiver has 1% packets losses, each packet is

sent several times... oops!

Problem 3: heterogeneitysend data reliably to everybody at the slowest receiver

rate? High end receivers won’t be happy!

Problem 4: scalable membership managementif each receiver is disconnected once a day,

membership changes every 8 minutes...

Page 17: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 17

Reliable multicast scalability... (cont’)Problem 1: scalable control traffic

solution 1: feedback suppression at the receiverseach node picks a random backoff timersend the NAK at timeout if loss not corrected

solution 2: proactive FEC (forward error correction)send data plus additional FEC packetsany FEC packet can replace a lost data packet

solution 3: use a tree of intelligent routers/serversuse a tree for ACK aggregation and/or NAK

suppressionsee PGM

Page 18: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 18

Reliable multicast scalability... (cont’)Problem 2: scalable retransmissions

solution 1: use proactive/reactive FECproactive always send data + FECreactive in case of retransmission, send FEC

(can replace several diff. lost packets)

solution 2: use a tree of retransmission serversa receiver can be a retransmission server if he has

data requested

Problem 3: heterogeneitysolution 1: adjust tx rate to the slowest receiver

without going below a given thresholdsolution 2: use various homogeneous rx groupssolution 3: use multirate transmissions (ALC)

Page 19: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 19

2.2- Current IETF standardization work

“One size does not fit all”““requirements” requirements” x “conditions/problems” “conditions/problems” matrix is

too large for a single solution!!!

define several classes of protocols for reliable multicast: Protocol Instanciation (PI)non reusabledefine protocol headers

define Building Blocks (BB)logical, reusable componentused by the PIexample: Forward Error Correction (FEC)

Page 20: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 20

Current IETF standardization work... (cont’)Flat NORM

for small to medium sized groupssimplicity, uses NAK

Hierarchical TRACKfor medium sized to large groupsrequires tree building (manual/automatic)

Layered ALCfor all sizes of groups,unlimited scalability

NORMprotocol

TRACKprotocol

ALCprotocol

Page 21: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 21

The NORM PINegative Acknowledgment Oriented Reliable

Multicastbased on NAK transmissions in case of errorssuited to small/medium size groups

Building blocks required (or optionally used)NACK(control the generation/suppression of

NACK and responses)FEC (for increased scalability)CC (single layer, adjust tx rate to slowest rx)security...

Page 22: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 22

The NORM PI... (cont’)An old example: SRM (Scalable Reliable

Multicast)no hierarchymulticast NACK with limited scope (scalability)FEC possible for improved scalabilityautomatic configurationused by wb (libsrm)many limitations:

many-to-many multicastRTT evaluationsmoderate scalability

src

recv

recv

recv

recv

recv

NACK

mcast retx

original pkt

Page 23: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 23

The TRACK PITree Based Acknowledgmenta tree offers assistance services for NAK suppr.,

ACK aggr., retransmissions (or a subset of them)for medium to large groups

Building blocks required (or optionally used) by the TRACK PIlike the NACK PI (NACK, FEC, CC, security)plus GRA (Generic Router Assistance) for tree

management

Page 24: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 24

The TRACK PICISCO’s PGM (pragmatic multicast):

build a tree of NE (Network Elements) (server or router) that perform:ACK aggregation along the treeNACK suppression along the treelocalised retransmission in a subset of the treeretransmission (if data is cached)

FEC possible for increased scalability/lower latency

src

recv recv recv recv recv

NENE

Page 25: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 25

The ALC PIAsynchronous Layered Codingbased on multi-rate transmissions and proactive

FECentirely ``receiver-oriented’’ for maximum

scalability (several millions...)ALC targets multicast file transfert......but a varient can easily handle hierarchical video

coding, multicast streaming, etc.

Building blocks required by the ALC PIFEClayered CCsecurity

Page 26: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 26

The ALC PI... (cont’)Sessions

characterized by a set of {groups/port numbers}

Objectsinformation carried by a sessionexample:

a file <=> an objecta jpeg <=> an objecta file slice <=> an object

can be one object per session e.g. transmission of a tar archive

can be several objects per sessione.g. transmission of a stripped archive file

Page 27: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 27

The ALC PI... (cont’)

How does it work?multi-rate tx address the receiver heterogeneityreceiver heterogeneitythe congestion control BB (e.g. RLC) tells a

receiver when to add or drop a layer

object fragmentationand scheduling

Multicastdistributionin several

groups

layer 0, rate r0

layer 1, rate r1

layer 2, rate r2

layer 3, rate r3

low-end receiverCC

mid-range receiverCC

high-end receiverCC

Page 28: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 28

The ALC PI... (cont’)

How does it work... (cont’)mix in a (more or less) random manner all the

data+FEC packets and send them on the various layers

required to counter the random losses and random layer addition/removal

Page 29: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 29

The ALC PI... (cont’)

randomordering

of packets

sequentialordering of

objects/packets

Page 30: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 30

2.3- The FEC BBFEC (Forward Error Correction) [Rizzo97]

Sender: uses FEC (k, n)

for k original data packets, add n-k FEC encoded redundant packets

total of n packets sentReceiver:

as soon as it receives any k packets out of the n, it reconstructs the original k packets

k = 5

n = 7

FE

C e

ncod

er

FE

C d

ecod

er

originaldata

reconstructeddata

source receiver

ne

two

rk

Page 31: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 31

The FEC BB... (cont’)several FEC codecs exist...small-block FEC codes

e.g. Reed-Solomon codes(k,n) with a k parameter limited to a few tens for

computational reasons split large data objects into several blocks

limited number of n-k FEC symbols created can lead to packet duplications

open-source implem.codec speed:

10-80 Mbps / min(k, n-k)

original object

block #1k orig. symbols

block #2k’ symbols

FEC codec

n encoding symbols n’ encod. symb.

FEC codec

Page 32: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 34

2.4- The Congestion Control BBgeneral goals of CC

be fair with other data flows (be “TCP friendly”)should a multicast transfer use as much resource as

a TCP connection or n times as much ?no single definitionbe responsive to network conditions

be stable, i.e. avoid oscillationsutilize network resources efficiently

if only one flow, then use all the available bandwidth

Page 33: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 35

The Congestion Control BB... (cont’)single layer versus layered transmissions

completely different schemessingle layer

sender orientedsender orientedbased on ACK / NACK feedbacks

layeredreceiver orientedreceiver orientedbased on losses experienced

Page 34: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 36

Single rate congestion controlExample PGMCC (PGM Congestion Control)

used with single-rate (i.e. layer) protocols like NORM, TRACK

relies on a window based transmissionmimics TCPevolves according to the ACKs sent by the ``Acker’’

relies on an ``Acker’’ selection processthe ``Acker’’ is the receiver with the lowest

equivalent TCP throughput

equivTCPthroughput = / (RTT * sqrt(loss_rate))the ``Acker’’ changes dynamically

Page 35: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 37

The Layered Congestion Control BBExample: RLC (Receiver Driven Layered

Congestion Control)add synchronization points (SP) / probes

adding a layer is only possible at a SP if no loss has been experienced

before a SP, the source artificially increases its transmission rate to simulate the consequences of subscribing to an additional group

time

transmission rate

layer 0SP

SP

SP

SP

reception reception rate if no loss

layer 1

layer 2

layer 3

Page 36: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 38

The layered congestion control BB... (cont’)RLC... (cont’)

because of IGMP leave latency/multicast tree update latency, after dropping a layer, wait some time before measuring packet loss again

Limitations:limited by IGMP leave latency (a few seconds)probing has limitations (which size?)only adapts to packet loss, not to RTT

different from TCP where: rate ~1/(RTT*sqrt(p))

time

transmission rate

layer 0SP

SPlayer 1

layer 2

loss detected=> drop layer 2

end deafperiod

add layer2 again

Page 37: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 40

Part 3

And now the demo...

Page 38: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 41

MCL in short... (cont’)MCL: an implementation of ALC

supports RLC Congestion Control and FECOpenSource/GPL; for linux/solaris/win2000http://www.inrialpes.fr/planete/people/roca/mcl/

Application

transmission & reception

thread scheduling

bufferingsegmentation/ reassembly

FEC

upper APIupper API(open/close/send/recv/select/ctl)(open/close/send/recv/select/ctl)

Multicast libraryMulticast library

SocketUDP

IP multicast

User space

Kernel space

congestioncontrol

Page 39: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 42

FCAST: a multicast file transfer applicationan application built on top of MCL

trailer include several meta-data:Content_base: path to the fileContent-location: file nameContent-length: length of file...

handles single file transfer and recursive file transfers

in fact file(s) are cut in several autonomous slices

file data | trailer | trailer_length | checksum

file - slice 3 | trailer | trailer_length | checksumfile - slice 2 | trailer | trailer_length | checksum

file - slice 1 | trailer | trailer_length | checksumfile - slice 0 | trailer | trailer_length | checksum

Page 40: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 43

Demo configurationone source and one receiver on this hostuse multicast over the loopback interfaceuse probabilistic losses (proportional to the

subscription level) to simulate WAN congestion

5 layers, sends file once (PUSH) orcontinuously (ON-DEMAND)

Multicastdistributionin several

groups

at most 5 layersstart first (PUSH) orarrives at any time (ON-DEMAND)

packet lossespacket losses(probabilistic)(probabilistic)

SOURCE RECEIVER

Page 41: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 44

Part 4

Short bibliography

Page 42: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 45

Short Bibliography ALC, LCC, FEC documents

[ALC01] M. Luby, J. Gemmell, L. Vicisano, L. Rizzo, J. Crowcroft, ``Asynchronous Layered Coding (ALC): a massively scalable content delivery transport'', RMT Working Group, draft-ietf-rmt-pi-alc-02.txt, October 2001.

[LCT01] M. Luby, J. Gemmell, L. Vicisano, L. Rizzo, J. Crowcroft, M. Handley, ``Layered Coding Transport (LCT): a massively scalable content delivery transport'', RMT Working Group, draft-ietf-rmt-bb-lct-03.txt, October 2001.

[LCC01] M. Luby, L. Vicisano, A. Haken, ``Reliable Multicast Transport Building Block: Layered Congestion Control'', RMT Working Group, draft-ietf-rmt-bb-lcc-00.txt, November 2000

[FEC00] M. Luby, L. Vicisano, J. Gemmell, L. Rizzo, M. Handley, J. Crowcroft, ``The use of Forward Error Correction in Reliable Multicast'', RMT Working Group, draft-ietf-rmt-info-fec-00.txt, November 2000.

NORM documents[NORM01] B. Adamson, C. Bormann, M. Handley, J. Macker,

``NACK-oriented reliable multicast protocol (NORM)’’, RMT Working Group, draft-ietf-rmt-pi-norm-02.txt, July 2001.

[NORM01b]B. Adamson, C. Bormann, M. Handley, J. Macker, ``NACK-oriented reliable multicast (NORM) protocol building blocks’’, RMT Working Group, draft-ietf-rmt-bb-norm-02.txt, July 2001.

Page 43: A Survey of Reliable Multicast Protocols

INRIA Rhône-Alpes - V. Roca - 46

Short bibliography... (cont’) TRACK documents

[TRACK01] B. Whetten, D.M. Chiu, M. Kadansky, G. Taskale, ``Reliable multicast transport building block for TRACK’’, RMT Working Group, draft-ietf-rmt-bb-track-01.txt, March 2001.

[GRA01] K. Calvert, C. Papadopoulos, T. Speakman, D. Towsley, S. Yelamanchi, ``Generic Router Assist, functional specification’’, RMT Working Group, draft-ietf-rmt-gra-fspec-00.txt, July 2001.

Reliable multicast[IETF RMT] Reliable Multicast Transport (RMT) charter,

http://www.ietf.org/html.charters/rmt-charter.html

[Roca01] V. Roca, ``Un état de l’art sur les techniques de transmission multipoint fiables’’, 4èmes Journées Réseaux (JRES01), December 2001.

[MCL] V. Roca, http://www.inrialpes.fr/planete/people/roca/mcl/