+ All Categories
Home > Documents > Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially...

Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially...

Date post: 13-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
46
Multicast Communications Tarik Cicic Head of Networks & Engineering 28.2.2020
Transcript
Page 1: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Multicast Communications

Tarik Cicic

Head of Networks & Engineering

28.2.2020

Page 2: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Overview

• One-to-many communication, why and how

• Algorithmic approach:

• Steiner trees

• Practical algorithms

• Multicast tree types

• Basic concepts in multicast routing and protocols

• Recent development: BIER (RFC8279, Nov. 2017)

• Next week: Presentations 2

Page 3: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

“Casts”

• Unicast: one-to-one

• Broadcast: one-to-all

• Multicast: one-to-group

• The group is a subset of “all”

• Most general notion

• Anycast: one-to-one-from-a-group

3

Page 4: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

One-to-Many Communication

4

Router

Receiver 1

Receiver 2

Receiver 3

Sender

Sender needs to send the same information to all three receivers

3 transmissionsover the same link!

Page 5: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

One-to-Many Communication

5

Router

Receiver 1

Receiver 2

Receiver 3

Sender

Sender needs to send the same information to all three receivers

Only onetransmission

Page 6: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

IP Multicast Challenges

• Internet is designed for one-to-one communication• IP packet header contains one source and one destination

address•How to

• Identify a group of users wishing to receive same data• How the host tells the network it wishes to join a group• Route packets efficiently• Route between the networks

6

Page 7: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

7

End-to-End Support

1. API– Multicast uses “Class D” addresses 224.0.0.0

– 239.255.255.255– Sessions are associated to these addresses

or “groups”

2. Host-network interface– Internet Group Management Protocol

(IGMP)

3. Network (routing)

Application

OS

Application

OS

Router

Router

Router

3 3Application

OS

1 1

1

2 2

2Main focus of this lecture

Page 8: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Graph-Algorithmic Background

1

Internal8

Page 9: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Problem Definition

• Network topology mapped to a graph G=(V, E)

• Problem:– Given a node set S Í V,– Create a spanning tree that

interconnects S

9

Page 10: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Steiner Trees

• Each link in the tree has an associated cost

• The minimal spanning tree we call Steiner tree

• Constructing this tree is a well-known NP-complete problem

10

3

1

3

32

3

1

2

1

2

2

1

1

11

4

1

4

22

3

Page 11: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Approximate Algorithms

11

3

1

3

32

3

1

2

1

2

2

1

1

11

4

1

4

22

3

7

6

10

7

7

5

6

7

51

1

Page 12: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Approximate Algorithms (2)

12

6

7

5

12

3

33

3 2

1

2

2

1

1

1

4

1

4

22

1

1

3

Cost:17

Optimal cost:14

Page 13: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Approximate Algorithms (3)

13

3

1

3

32

3

1

2

1

2

2

1

1

11

4

1

4

22

3

12

3

33

3 2

1

2

2

1

1

1

4

1

4

22

1

1

3

Optimal tree (cost 14) Heuristic tree (cost 17)

Page 14: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Spanning Trees in Practice

•Creating a minimal spanning tree is an NP-complete problem

•More than one metric adds to the complexity (cost/delay optimization)

•Research shows that “best effort trees” are often quite good (20% costlier on average)

14

Page 15: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Spanning Trees in Practice (2)

•Practical algorithm:• Use communication delay or # hops as metric• Find the (unicast) shortest path between a special node and

all other nodes in the group G•This special “root” node can be:

• An administratively assigned node:à Core Based Tree (CBT)• Data source:à Shortest Path Tree (SPT)

15

Page 16: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Core Based and Shortest Path Trees

16

3

1

3

32

3

1

2

1

2

2

1

1

11

4

1

4

22

3

3

1

3

32

3

1

2

1

2

2

1

1

11

4

1

4

22

3

2 2

CBT SPT (Only two showed)

Core

Page 17: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Practical Algorithms

2

Internal17

Page 18: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Building Multicast Trees

•Traffic flooding (“Flood-and-prune”)

• Include receivers by extending the tree until all reached

•Explicit messaging

• Receivers join the tree by sending control messages

18

Page 19: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Flood-and-Prune

19

Receivers

Sender

Senders start transmitting packets on all adjacent links

Page 20: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Flood-and-Prune

20

Receivers

Sender

Senders start transmitting packets on all adjacent links

Candidatebranch

Page 21: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Flood-and-Prune

21

Receivers

Sender

Routers forward data on all links except where the data arrived

Candidatebranch

Page 22: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Flood-and-Prune

22

Receivers

Sender

Routing loops must be avoided!

Candidatebranch

Page 23: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Flood-and-Prune

23

Receivers

Sender

Prune control messages are sent downstream on inactive links

Candidatebranch

Page 24: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Flood-and-Prune

24

Receivers

Sender

Prunes are also sent “downstream” if prunes arereceived on all “upstream” interfaces

Candidatebranch

Page 25: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Flood-and-Prune

25

Receivers

SenderCandidatebranchTree branch

Page 26: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Flood-and-Prune

26

Receivers

SenderCandidatebranchTree branch

Page 27: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Flood-and-Prune

27

Receivers

Sender

What if a new receiver wants to join? - Flooding is periodically repeated!

CandidatebranchTree branch

Page 28: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Flood-and-Prune Problem

•Can we flood the Internet in order to reach 5 receivers?

• NO!

•Flood-and-prune was used in the first Internet-wide multicast overlay (Mbone)

•This was the main reason why Mbone did not scale, collapsed under its own weight, and was abandoned

28

Page 29: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Reverse Path Forwarding

•Basis for explicit messaging protocols

•Utilizes the unicast routing tables

• Send control messages toward the known source (core)

•Reject data packets coming from directions other than the source

29

OK, add(S, G): 3 à1

1 2

34

R2

S

Join (S, G)

Discard multicastdata from S at any

interfaceexcept 3

• Multicast data is forwarded only in opposite direction of unicast data• Prevents looping

(S, G): 3 à{4}(S, G): 3 à{1, 4}R1Unicast path R2àS

G SData

Page 30: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Explicit Messaging

30

Receivers

Sender

Core

Receivers send a Join message to the group core (or source in SPT)

Page 31: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Explicit Messaging

31

Receivers

Sender

Core

Senders use unicast to reach the core in CBT

Tree branchp2p stream

123

(*, G): 1® {2, 3}

Page 32: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Taxonomy of Multicast Protocols

3

32

Page 33: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Categorization Dimensions

• Data driven vs. explicit messaging

• Tree type (CBT / SPT)

• Service model

• Unidirectional vs. bidirectional forwarding

• Intra- and inter-domain

• Protocol stack position

33

Page 34: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

CBT vs. SPT

•Core Based Tree• Multiple sources use the same tree, but single point of failure

• Fewer routers involved

• More complex operation, less optimal paths

•Shortest Path Tree• Only one source

• Optimal path

• Scalability challenge due to increased amount of state information

34

Page 35: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Uni- or Bidirectional Forwarding

•Should the data flow along the multicast tree in one or both directions?

•Unidirectional: for each branch in the multicast tree, data is flowing in one direction only

•Simple

•Most used (PIM-SM) 35

12 3

4

Page 36: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Bidirectional Forwarding

• In multicast protocols with bidirectional forwarding, data flowing in both directions

•More complex, not widely used in practice

36

12 3

4

Only 1, 3 and 4 in the tree, do not send on 2

and the incoming

Page 37: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Service Models

•Single source (one-to-many)• simple, one-tree approach (SPT)• sufficient for most applications• E.g.: IPTV streaming

•Multiple sources (many-to-many)• general, powerful, but ...• problematic in many ways, security in particular

• E.g.: Conferencing

37

Page 38: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Multicast Addressing

• Class D address range in IPv4

• 224.0.0.0 – 239.255.255.255

• Last 28 bits is the group ID

• 224.0.0.0 – 224.0.0.255 reserved

• Never forwarded by routers

• E.g.

– 224.0.0.1 all hosts ( try to ping, UNINETT is multicast friendly)

– 224.0.0.2 all routers

39

Page 39: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Global IPv4 Address Assignment

• Is problematic if no global rules

• GLOP: allocates 256 addresses to each AS

• (GLOP was suggested before 4-byte AS numbers)

• PIM SSM introduces channel concept that prevents address collisions

• Requires knowledge of sender address

• Uses 232.0.0.0 - 232.255.255.25540

8 bits 8 bits 16 bits233 0-255 AS number

Page 40: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Inter-Network Multicast

• Multicast between network domains particularly challenging:

• scalability• policing

• payments• CBT core placement and

communication

• heterogeneous multicast protocols

41

Router

Router

Router

Router

Router

Router

?

Page 41: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Protocol Stack Position

•Multicast can be implemented from physical to application level

•Network Layer (L3) Multicast

• Very efficient

• Difficult to deploy

•Application Layer (L5-L7) Multicast

• Easy to deploy, no changes on lower layers

• Network system support not required, controlled by end-systems

42

Page 42: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Recent Developments

4

Internal43

Page 43: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

General IP Multicast Issues

• Support only for unreliable datagram service

• Open service model

• Anyone can join, address collisions, prone to Denial of Service attacks

• Service billing

• Scalability

• Most approaches target only one application profile

• Patchy deployment

44

Page 44: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Bit Index Explicit Replication (BIER)

• Multicast state is a real issue, specially in large, transit networks.

• BIER does not require any state, nor explicit building of multicast distribution trees.

• Instead, multicast packets are encapsulated in “BIER header”, containing a bit string where each bit represents one egress router in BIER-domain.

• Each transit router in the BIER domain forwards the packets on one or more outgoing interfaces, shortest path to the domain egress, clearing the egress bits to prevent looping.

Page 45: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

BIER in practice

46

Egress

Ingress

“Multicast Flow Overlay” used to inform ingress about egress routersfor any given multicast group.

1

2

3

4

5

6

7

8

9

10

12

13

11

14

15

[2, 6, 9, 15]

[6, 9]

[9]

[2] [15]

[a, b, c] – means thatbits a, b and c are set in the header, others 0

[2]

(IP multicast packet)

Page 46: Multicast Communications 2020.pdf · 2020-02-28 · •Multicast state is a real issue, specially in large, transit networks. •BIER does not require any state, nor explicit building

Summary: What Have We Learned?

• Algorithms:• Optimal multicast tree construction is an NP complete problem

• Good behavior in practice using simple means

• SPT and CBT

• Tree construction:• “Flood-and-Prune”

• Explicit messaging

• Reverse Path Forwarding• Uni- and bidirectional forwarding• Challenges, and some solutions

51


Recommended