39
Multicast Routing Algorithms Multicast routing Flooding and Spanning Tree Forward Shortest Path algorithm Reversed Path Forwarding (RPF) algorithms Steiner Tree (ST) algorithm Shared tree algorithms

Multicast Routing Algorithms n Multicast routing n Flooding and Spanning Tree n Forward Shortest Path algorithm n Reversed Path Forwarding (RPF) algorithms

Embed Size (px)

Citation preview

Multicast Routing Algorithms

Multicast routing Flooding and Spanning Tree Forward Shortest Path algorithm Reversed Path Forwarding (RPF) algorithms Steiner Tree (ST) algorithm Shared tree algorithms

Multicast Routing

Internet

IPMC 2

IPMC 3

IPMC 4

IPMC 1

Multicast routing protocol

IGMP protocol

Subnetwork attachedto a router

Construction of Distribution Tree in Case of Many Sources

For forwarding multicast packets across internet, we should use multicast protocols Several algorithms may be used by the protocols

In case of many sources the multicast routing algorithms can handle the distribution of the packets in three ways:

Primitive methods– Flooding– Spanning Tree

Source Based Tree– Forward Shortest Path– (Reverse Path Forwarding (RPF) algorithms – not detailed)– Steiner Trees (ST)

Shared Tree– Center Based Trees (CBT)

Primitive Methods

These do not take into account:– the multicast traffic refers to different multicast groups– which group member is sender and which is receiver

Such are the Flooding and the Spanning Tree algorithms These are regarded as basic procedures

– They are used as building blocks of the more sophisticated algorithms regarding construction of distribution tree

Flooding When the router receives a multicast packet first it checks

whether it has already met with this If this is the first occasion, the router forwards it to its all

interfaces, except that from which the packet arrived If it has already met with that packet, the router will drop it

out In such a way all router will get the packet once at least Its disadvantages:

– It generates high number multiplied packets– It wastes network bandwidth– Every router must maintain table of the lately arrived packets,

which requires a huge memory

Flooding

When a router receives a packet, the router will determine whether it’s the first time it receives the packet. If so, the packet will be delivered to all interfaces except the one on which it arrived, otherwise the packet will be discarded.

No routing tables needed Inefficient use of bandwidth

The Operation of the Flooding

C

A

Source

BD

E

F

Legend

router

IP connection

branch of distribution tree

group-member host

non group-member host

multicast data

subnetwork

Spanning Tree

Only one active path connects any two of routers

The multicast packets will not loop and reach all routers

May not provide the most efficient path between the source subnetwork and group members

Spanning Tree

Legend

branch

router with an attached subnet

connection

group member host

non group-member host

B

S=AC

IGFE

DH

LJK

PM

N O

The Operation of the Spanning Tree Algorithm

C

A

Source

BD

E

F

Legend

router

IP connection

branch of the distribution tree

group member host

non group memeber

multicast data

subnet

Distribution trees– Source tree

Uses more memory O(NS x NG) but you get optimal paths from source to all receivers, minimizes delay

– Shared treeUses less memory O(NG) but you may get suboptimal paths from source to all receivers, may introduce extra delay

Multicast Routing Algorithms—Characteristics

Source Based Tree

Each source creates its own distribution tree The advantages of such a kind of algorithms are

– the higher end-to-end power» E.g., smaller delay

– sharing the traffic load coming from each source on the network

Disadvantage is that each router must generate large routing table, since one routing item is needed for each source and each group

Forward Shortest Path

In case of link-state unicast routing algorithms every router know the whole network topology – Thus they can calculate the shortest path

form the source to the receivers This tree is different from the reverse

shortest path (later) if the links are non-symmetrical

Reverse Path Forwarding What is RPF?

–A router forwards a multicast datagram if received on the interface used to send unicast datagrams to the source

B C

A F

SourceReceiver

Unicast

Multicast

D E

Reverse Path Forwarding If the RPF check succeeds, the datagram

is forwarded If the RPF check fails, the datagram

is typically silently discarded When a datagram is forwarded, it is sent out each interface in the outgoing

interface list Packet is never forwarded back out the

RPF interface!

Shortest Path or Source Distribution Tree

Receiver 1

E

BA D F

SourceNotation: (S, G) S = Source G = Group

C

Receiver 2

The Reverse Path Forwarding (RPF) Algorithm-Family

These forward packet on their output interfaces if and only if the packet arrived on the interface, which is on the shortest path to the source

The “reverse path” naming is originated from the fact that after the multicast tree was built, the routers have to listen to the reverse path to the multicast source– If a packet arrive in an other interface, which is not in the shortest

path to the source, the packet will be dropped out by the router

Finding the Shortest Path

If a packet comes and another packet has already arrived on a shorter way from the sender, then the new packet will be dropped out

But if the new packet arrived in the shorter path, from this point its path is the current shortest path

It is important, since the packet must carry the IP addresses of the routers along the path, and in case of longer path the size of the packet increases

This algorithm does not need any additional method to prevent against the packet multiplication, e.g., automatic hop count limiting mechanism, since the algorithm automatically limits the path of the packets to the shortest path

The RPF Tree Rooted in the Router A

C

A

Source

BD

E

F

Legend

router

IP connection

shortest path

group member host

non group member host

subnet

The RPF Tree Rooted in the Router C

C

A

SourceBD

E

F

Legend

router

IP connection

shortest path

group member host

non group member host

subnet

The Different Reverse Path Forwarding (RPF) Algorithms

Reverse Path Forwarding/Flooding/Broadcast (RPF) (Sophisticated/Extended) Reverse Path Broadcast

(RPB) Truncated Reverse Path Broadcast (TRPB) Reverse Path Multicast (RPM)

Reverse Path Forwarding/Flooding/Broadcast (RPF)

C

A

Source

BD

E

F

Legend

router

IP connection

brach of tree

parent link

group member host

non group member host

multicast data

subnet

RPF

A local router only accepts packets from the ‘nearest’ source (parent), otherwise the packets are discarded.Accepted packets will be forwarded to all interfaces except the sourceIt does not take into account multicast group membership when building the distribution tree, so packets may be forwarded to non-membership subnetwork

(Sophisticated/Extended) Reversed Path Broadcast (RPB)

childlink

parent link

childlink

childlink

S1 Source (S1, G1)

R4

R5

R6 R7 R8

R2

R3

G1

G5G3G1G2G1

G1

G2

I2

I4

G4

I1

G2

Legend

router

multicast data

IP connection

distribution tree

G1 group member host

non group member host

subnet

G1

G5

G2

I3

I5

The RPB Tree

C

A

Source

BD

E

F

Legend

router

IP connection

branch of the tree (shortest path)

group member host

non group member host

multicast data

subnet

Truncated Reverse Path Broadcast (TRPB)

truncation

truncation

childlink

parent link

childlink

childlink

S1 Source (S1, G1)

R4

R5

R6 R7 R8

R2

R3

G1

G5G3G1G2G1

G1

G2

I2

I4

G4

I1

G2

Legend

router

multicast data

IP connection

distribution tree

member of group G1

non group member

subnet

G1

G5

G2

I3

I5

Truncated Reverse Path Broadcasting (TRPB)

G1

G2

G3

Truncated

Source,G1

It’s an enhancement of RPBWith the help of IGMP, multicast routers determine the group membership on each leaf subnetwork, thus avoiding forwarding packets to non-membersEliminates unnecessary traffic on leaf subnetworks , but does not consider group memberships when building the branches of the distribution tree

TRPB Based Multicast Delivery

C

A

Source

BD

E

F

Legend

router

IP connection

branch of the tree

group member host

non group member host

multicast data

subnet

Reverse Path Multicasting (RPM) RPM creates a delivery tree that spans only

• Subnetworks with group members, and• Routers along the shortest path to subnetworks with group members

First packet will be sent to all interfaces except the source. If none of the subnetworks connected to the leaf router have group members, the leaf router may transmit a "prune" message on its parent link informing the upstream router not to forward packets in this group to the leaf

In RPM, ‘first packet’ still needs to be forwarded throughout the network. Each router has to maintain state information for all groups. It will be impossible as the

number of groups and sources increases.

Reversed Path Multicast (RPM)

C

A

Source

BD

E

F

Legend

router

IP connection

branch of the tree

truncated branch

group member host

non group member host

multicast data

prune message

subnet

Building The Distribution Tree using RPM

Steiner Trees (ST)

C

A

Source

BD

E

F

Legend

router

IP connection

branch of the tree

group member host

non group member host

multicast data

subnet

Shared Tree The all sources sends the packet to the same tree The same tree distributes the all packets This algorithm concentrates the traffic to the small set of the

network connections This algorithm is not optimal if all sources are active in the same

time– E.g., distributed interactive simulation application

This algorithm works well, when the source operates alternatively– E.g., audio-conference

Its advantage is that it needs one item per group, only Such algorithm is e.g., Center Based Trees

Center Based Trees (CBT)

If a host wants to join one group, it has to send a unicast “join request” message to the core.

Compared to previous algorithms, CBT can use bandwidth and router resources more efficiently

CBT may result in traffic concentration and bottlenecks near core routers since traffic from all sources traverses the same set of links as it approaches the core

A single shared tree may create trees not as optimal as source-trees

Operation of the Center Based Trees (CBT) Algorithm

C

A

Source

BD

E

F

Legend

router

core router

IP connection

branch of the tree

group member host

non group member

multicast data

unicast data

subnet

Shared Distribution Tree

Receiver 1

B

E

A D (Shared Root) F

Source 1 Notation: (*, G) * = All Sources G = Group

C

Receiver 2

Source 2

Center Based Multicast Distribution Tree

Incoming multicastpacket to the group Legend

router

core router

connection

CBT backbone

path of the multicast packets

Comparison of the properties related to the construction of the

distribution treeProperty Flooding

Span. Trees

RPF RPB TRPB RPM ST CBT

Taking into account the existence of various multicast groups (different distribution path for each group)

No No Yes Yes Yes Yes Yes Yes

Different distribution paths for each source

No No Yes Yes Yes Yes No No

Building distribution tree (instead of forwarding on the whole network

topology, in such a way avoiding the duplicated packets)

No Yes No Yes Yes Yes Yes Yes

Avoiding the flooding in the first step No No No No No No No Yes

Taking into account the group membership of the host

No No No No Yes Yes Yes Yes

Usage of multicast routing tables No Yes Yes Yes Yes Yes Yes Yes

Comparison of the properties related to the traffic on the tree

Property Flooding Span. trees

RPF RPB TRPB RPM ST CBT

Omitting the routers that are not necessary for multicast delivery

No No No No No Yes Yes Yes

Forwarding that packets, only, which arrived in the shortest path

No No Yes Yes Yes Yes No No

Forwarding the packet on the shortest path, only

No No No Yes Yes Yes No No

Using that paths, only, which have the smallest hop-count or cost

No No No No No No Yes No

Avoiding the whole concentration of the traffic

Yes No Yes Yes Yes Yes Yes Yes

Avoiding the concentration of the traffic of each group

Yes No Yes Yes Yes Yes No No