computer communications - csci 551 cs551 multicast...

43
1 Computer Communications - CSCI 551 Copyright © William C. Cheng CS551 Multicast Routing Bill Cheng http://merlot.usc.edu/cs551-f12

Upload: others

Post on 13-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

1

Computer Communications - CSCI 551

Copyright © William C. Cheng

CS551Multicast Routing

Bill Cheng

http://merlot.usc.edu/cs551-f12

Page 2: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

allows you to send one packet and let the network make

copies to everyone

Want to send information to a group of people

2

Why Study Multicast?

Computer Communications - CSCI 551

Copyright © William C. Cheng

don’t have to keep track of individual users

Anonymous addressing

don’t worry about changes in group membership

but:

some applications want to know how many or who are

in the group

not all users need all the information all the time (e.g., in

retransmissions, some users need not see the

retransmissions)

Page 3: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

Efficient data distribution

Unicast: one source to one destination

3

Multicast Routing

Computer Communications - CSCI 551

Copyright © William C. Cheng

Multicast: one source to many destinations

Two main functions:

Logical naming of a group (anonymous group addressing)

Page 4: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

4

Unicast

Computer Communications - CSCI 551

Copyright © William C. Cheng

Src

Page 5: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

5

Unicast (Cont...)

Computer Communications - CSCI 551

Copyright © William C. Cheng

Src

Page 6: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

6

Unicast (Cont...)

Computer Communications - CSCI 551

Copyright © William C. Cheng

Src

Page 7: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

7

Unicast (Cont...)

Computer Communications - CSCI 551

Copyright © William C. Cheng

Src

Page 8: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

8

Unicast (Cont...)

Computer Communications - CSCI 551

Copyright © William C. Cheng

Src

Page 9: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

9

Unicast (Cont...)

Computer Communications - CSCI 551

Copyright © William C. Cheng

Src

Page 10: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

10

Multicast

Computer Communications - CSCI 551

Copyright © William C. Cheng

Src

Page 11: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

11

Multicast (Cont...)

Computer Communications - CSCI 551

Copyright © William C. Cheng

Src

Page 12: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

12

Multicast (Cont...)

Computer Communications - CSCI 551

Copyright © William C. Cheng

Src

Page 13: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

13

Multicast (Cont...)

Computer Communications - CSCI 551

Copyright © William C. Cheng

Src

Page 14: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

14

Multicast (Cont...)

Computer Communications - CSCI 551

Copyright © William C. Cheng

Src

Page 15: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

15

Multicast (Cont...)

Computer Communications - CSCI 551

Copyright © William C. Cheng

Src

Page 16: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

learn of the existence of multicast groups

(advertisement)

Router:

16

Multicast State

Computer Communications - CSCI 551

Copyright © William C. Cheng

identify links with group members

establish state to route packets

replicate packets on appropriate interfaces

Src

Page 17: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

broadcast, teleconference, etc.

Applications:

17

Bandwidth Reduction

Computer Communications - CSCI 551

Copyright © William C. Cheng

reliability? how do we do failure/loss recovery in

multicast?

Caveats

different users with different start times?

solutions include starting people in the middle (like TV),

caching (like Tivo), multiple versions of stream

Page 18: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

Application level multicast: mailing lists

18

Logical Naming / Anonymous Addressing

Computer Communications - CSCI 551

Copyright © William C. Cheng

Single address maps to logically related set of destinations

Convenience

Scaling: single name/address as group grows, changes

Special case: anycast

find me any member of a group, don’t care which one

(e.g., mailing a letter, any post office will do)

Page 19: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

number of sources

Scalability

19

Common Problems in Multicast

Computer Communications - CSCI 551

Copyright © William C. Cheng

number of receivers

geographic/network distance (sparse vs. dense groups)

message (NACK) implosion

adaption to many receivers (some receivers are slower than

others, some have higher lost rates, etc.)

Page 20: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

rather than reliable send and ACK, send periodically

Soft state

20

Common Techniques in Multicast

Computer Communications - CSCI 551

Copyright © William C. Cheng

delay may be biased to favor certain hosts responding

Response after randomized delay

listen to others responses: if they say the same as what

you are planning to say, you don’t need to say it

Suppression of duplicate responses

These techniques are used in many places

Page 21: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

globally known portion of address space

Members are the intended receivers

21

Multicast groups

Computer Communications - CSCI 551

Copyright © William C. Cheng

Senders may or may not be members

Destination address is class D IP address

Hosts may belong to many groups

Hosts may send to many groups

Support dynamic creation of groups, dynamic membership,

dynamic sources

Page 22: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

Groups can have different scope

22

Scope

Computer Communications - CSCI 551

Copyright © William C. Cheng

LAN (local scope)

Campus/admin scoping

TTL scoping must be used with caution

Concept of scope important to multipoint protocols and

applications (later...)

Page 23: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

Broadcast audio/video

23

Example applications

Computer Communications - CSCI 551

Copyright © William C. Cheng

Push-based systems

Software distribution

Web-cache updates

Teleconferencing (audio, video, shared whiteboard, text

editor)

Multi-player games

Server/service location

Distributed applications

Sensor networks?

Page 24: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

Mcast address must be unique in space and time

Multicast address allocation (later)

24

Other Parts Of The Architecture

Computer Communications - CSCI 551

Copyright © William C. Cheng

Assume address is advertised

Avoid collisions as much as possible

Use randomization

Can’t have highly used address space

Multiple multicast groups per conference...different app

streams, different layers...more later

Page 25: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

Application level multicast

25

Some Concepts

Computer Communications - CSCI 551

Copyright © William C. Cheng

Network level multicast

Aside: active networks

Page 26: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

26

Application-level Multicast

Computer Communications - CSCI 551

Copyright © William C. Cheng

Src

an overlay link

a underlay link

Page 27: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

27

Application-level Multicast

Computer Communications - CSCI 551

Copyright © William C. Cheng

Src

Page 28: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

28

Application-level Multicast (Cont...)

Computer Communications - CSCI 551

Copyright © William C. Cheng

Src

Page 29: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

29

Application-level Multicast (Cont...)

Computer Communications - CSCI 551

Copyright © William C. Cheng

Src

Page 30: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

cannot use link-level multicast

Cons of application-level multicast:

30

Why Not Just Use Application-level Multicast?

Computer Communications - CSCI 551

Copyright © William C. Cheng

does not have direct access to unicast routing and

does not know about network topology

Pros of application-level multicast

can deploy applications today and does not need help

from ISP

duplicate data on links

Page 31: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

31

Components of the IP Multicast Architecture

Computer Communications - CSCI 551

Copyright © William C. Cheng

hosts

routers

service model

host-to-routerprotocol (IGMP)

multicast routingprotocols (various)

Page 32: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

Each group identified by a single IP address

32

IP Multicast Service Model (RFC-1112)

Computer Communications - CSCI 551

Copyright © William C. Cheng

Groups may be of any size

Members of groups may be located anywhere in the Internet

Members of groups can join and leave at will

Senders need not be members

Page 33: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

each multicast address is like a radio frequency, on which

anyone can transmit, and to which anyone can tune-in

Analogy:

33

IP Multicast Service Model (Cont...)

Computer Communications - CSCI 551

Copyright © William C. Cheng

Group membership not known explicitly

Network builds multicast distribution tree to send data

responsibility of designated router on same LAN as host

(and other routers in the network)

Page 34: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

"well-known" multicast addresses, assigned by IANA

for example, 224.0.0.1 is "all hosts" and 224.0.0.2 is "all

routers"

Class D IP addresses:

34

IP Multicast Addresses

Computer Communications - CSCI 551

Copyright © William C. Cheng

1 1 1 0 group ID

in "dotted decimal" notation: 224.0.0.0 -- 239.255.255.255

Two administrative categories:

"transient" multicast addresses, assigned and reclaimed

dynamically

Page 35: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

odds of collision are low

Outside the scope of this class, but...

35

Address Allocation

Computer Communications - CSCI 551

Copyright © William C. Cheng

Initially, random allocation

Ex. see "The MASC/BGMP Architecture for Multicast

Routing", SIGCOMM ’98

Later: more careful schemes

but are they? (recall the birthday paradox)

(What about hierarchy?)

Page 36: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

Must provide sending application a way to:

specify outgoing network interface, if >1 available

Uses normal IP-Send operation, with an IP multicast address

specified as the destination

36

IP Multicast Service -- Sending

Computer Communications - CSCI 551

Copyright © William C. Cheng

specify IP time-to-live (TTL) on outgoing packet

enable/disable loopback if the sending host is a member

of the destination group on the outgoing interface

Page 37: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

Join-IP-Multicast-Group ( group-address, interface )

Two new operations:

37

IP Multicast Service -- Receiving

Computer Communications - CSCI 551

Copyright © William C. Cheng

Leave-IP-Multicast-Group ( group-address, interface )

receive multicast packets for joined groups via normal

IP-Receive operation

note: neither sender nor receiver know group size or

membership (recall the radio frequency analogy)

Page 38: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

to reach or find a nearby subset of a group

38

Multicast Scope Control:(1) TTL Expanding-ring Search

Computer Communications - CSCI 551

Copyright © William C. Cheng

s

1

2

3

Page 39: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

to keep multicast traffic within an administrative domain,

e.g., for privacy or resource reasons

39

Multicast Scope Control:(2) Administrative TTL Boundaries

Computer Communications - CSCI 551

Copyright © William C. Cheng

the rest of the Internet

an administrative domain

TTL threshold set oninterfaces to these links,greater than the diameterof the admin. domain

Page 40: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

RFC 1112 -- "send with my company/country/continent/etc."

40

Multicast Scope Control:(3) Administratively-scoped Addresses

Computer Communications - CSCI 551

Copyright © William C. Cheng

the rest of the Internet

an administrative domain

address boundary set oninterfaces to these links

uses address range 239.0.0.0/8

supports overlapping (not just nested) domains

Page 41: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

MBone = Multicast Backbone

41

The MBone

Computer Communications - CSCI 551

Copyright © William C. Cheng

An "interconnected" set of multicastcapable routers,

providing the IP multicast service in the Internet

Can be thought of as a virtual network, overlaid on the

Internet

some use native multicast

others tunnel multicast between themselves

Page 42: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

42

Components of the MBone

Computer Communications - CSCI 551

Copyright © William C. Cheng

H R

R

R R

R

H R

: host/router

: MBone router

: physical link

: tunnel

: part of MBone

H

Page 43: Computer Communications - CSCI 551 CS551 Multicast Routingmerlot.usc.edu/cs551-m05/lectures/tentative/16_multicast.pdf · 2012-10-16 · allows you to send one packet and let the

a method for sending multicast packets through

multicast-ignorant routers

43

MBone Tunnels

Computer Communications - CSCI 551

Copyright © William C. Cheng

IP multicast packet is encapsulated in a unicast packet

addressed to far end of tunnel:

a tunnel acts like a virtual point-to-point link

each end of tunnel is manually configured with

unicast address of the other end

IP header,dest = unicast

IP header,dest = multicast

transport headerand data...