Contents l Group Communication l Repetition: Unicast routing (brief) - - PDF document

contents
SMART_READER_LITE
LIVE PREVIEW

Contents l Group Communication l Repetition: Unicast routing (brief) - - PDF document

Contents l Group Communication l Repetition: Unicast routing (brief) Multicast l Multicast routing G Concepts Datakommunikation, G Intra domain ( and inter domain) pbyggnad VT-01 l (Transport protocol) Jerry Eriksson Group Communication


slide-1
SLIDE 1

1

Multicast

Datakommunikation, påbyggnad VT-01 Jerry Eriksson

Contents

lGroup Communication lRepetition: Unicast routing (brief) lMulticast routing

G Concepts G Intra domain ( and inter domain)

l(Transport protocol)

Group Communication

lTypes of Communication

G Unicast, multicast, concast, multi peer, other

lMulticast vs unicast lScalability lApplications of group communication

G special aspects, support

Types of Communication

lUnicast (1:1) - not suitable for group

  • communication. n*(n-1) relationships

lMulticast (1:n) lConcast (m:1) lMultipeer (m:n)

G ordering difficult

Unicast

R Sender

Problem Sending same data to many receivers via unicast is inefficient Bandwidth, delay

Multicast

R Sender

Efficient one to many data distribution

slide-2
SLIDE 2

2

Multicast vs. Unicast

lResource waste lNot suitable for large groups lTime-delayed lMulticast is a considerable improvement

Scalability

l Group size l Reliability

G correct sequences

l Group awareness l Group topology

G heterogeneity

Characteristics of Groups

lOpenness - open/closed groups lDynamics - #members varies lLifetime lSecurity lAwareness - who knows what? lHeterogeneity

Flow control

lPositive acknowledgements (ACK), eg TCP

G Know vs Unknown group members

lNegative acknowledgements (NAK) lReaction of sender lTransmit buffer lWindow-based flow control lRate-based flow control

IGMP

lInternet Group management protocol lA host informs its attached router to join a specific multicast group

G Operates locally

lNo network-layer multicast group membership protocol exists that operates among all the Internet hosts in a group

Message types

lMembership query: general (router send)

G Query multicast groups joined by attached hosts

lMembership query: specific (router send)

G Query a specific multicast group joined by attached hosts

lMembership report (Host send)

G wants to join or is joined to a given multicast group

lLeave group (Host send)

G optional! (Soft state)

slide-3
SLIDE 3

3

IGMP Example (1)

Network 1

l Host 1 begins sending packets

G No IGMP messages sent G Packets remain on Network 1

l Router periodically sends IGMP Membership Query

Network 2

Router

1 2 4 3

IGMP Example (2)

Network 1

l Host 3 joins conference

G Sends IGMP Membership Report message

l Router begins forwarding packets onto Network 2 l Host 3 leaves conference

G Sends IGMP Leave Group message G Only sent if it was the last host to send an IGMP

Membership Report message

Network 2

Router

1 2 4 3 Membership Report 3 Leave Group

Source Specific Filtering: IGMPv3

lAdds Source Filtering to group selection

G Receive packets only from specific source

addresses

G Receive packets from all but specific source

addresses

lBenefits

G Helps prevent denial of service attacks G Better use of bandwidth

lStatus: Currently an Internet Draft

IGMPv3 Source Filtering

Senders 1, 2, and 3 are sending to the same multicast group. The receiver sent an IGMPv3 Group- and-Source-Specific message to join the multicast group but to exclude all traffic from Sender 1.

R1 R3 R4 Sender 1 Sender 3 Receiver Sender 2 R2

If using an IGMPv2 join, router R1 would forward traffic from all senders to router R4. However, in this case with IGMPv3, no traffic from Sender 1 is forwarded to router R4.

Unicast Routing

lIntra-domain routing

G Distance vector algorithms G Link-state algorithms

lInter-domain routing

G BGP

Distance vector routing

lDistributed, iterative, asynchronous

G Each node receives information from its directly

connected nodes

G Continues until no more information is exchanged G Nodes operates not in lock step

slide-4
SLIDE 4

4

Distance vector routing (Cont)

lMetric: Hops between nodes: lBellman-Ford algorithm lNo complete path known lMinimum costs computed and distributed lExample: RIP

Link-state algorithms

lGlobal state information lNeed to know the cost of each link in the network lAll nodes compute the routes: Dijkstra’s algorithm lExample: OSPF

Inter-domain routing

lRouting between AS lBGP: Border Gateway protocol lPropagates path information

G not cost information

lPolicy decision

IP Multicast Introduction

lEfficient one to many data distribution

G Tree style data distribution G Packets traverse network links only once

lLocation independent addressing

G IP address per multicast group

lReceiver oriented service model

G Applications can join and leave multicast

groups

G Senders do not know who is listening

  • Similar to television model
  • Contrasts with telephone network, ATM

Scoping Multicast Traffic

lTTL based

G Based on Time to Live (TTL) field in IP header G Only packets with a TTL > threshold cross

boundary

lAdministrative scoping

G Set of addresses is not forwarded past domain G More flexible than TTL based

TTL Scoping Example

R1 R3 Receiver 3 Receiver 1 Sender R2 Receiver 2 Network 1 Network 2 Network 3 Network 4 TTL=1 TTL=2 TTL=3 R4 TTL=4 TTL=4 TTL=33 R4 blocks traffic with TTL < 32

slide-5
SLIDE 5

5

Multicast Routing Discussion

lWhat is the problem?

G Need to find all receivers in a multicast group G Need to create spanning tree of receivers

lDesign goals

G Minimize unwanted traffic G Minimize router state G Scalability G Reliability

Multicast Routing

R Three major differences with unicast routing

Multicast vs Unicast Routing Differences (1)

Unlike unicast routing in which routes changes only when the topology changes or equipment fails, multicast routes can changes simply because an application programs joins

  • r leaves a multicast group

Multicast vs Unicast Routing Differences (2)

Multicast forwarding requires a router to examine more than the destination address

Multicast vs Unicast Routing Differences (3)

A multicast datagram may originate on a computer that is not part of the multicast group, and may be routed across networks that do not have any group members attached.

Concepts for Multicast routing

lBackground lSource-based routing lSteiner trees lTrees with Rendezvous points lComparison of basic techniques

slide-6
SLIDE 6

6

Background

lGroup of receivers lMembership of the group can change frequently lNetwork load minimized lIncremental algorithms lDistributed tree is needed

Background (cont)

lFlooding - just broadcast lImproved flooding - check copies lSpanning trees - no loops lHigh traffic at the root lMulticast trees

Data Flooding

l Send data to all nodes in network l Problem

G Need to prevent cycles G Need to send only once to all nodes in network G Could keep track of every packet and check if it had

previously visited node, but means too much state

Sender R3 R1 R2

Source-based routing

l Receiver initiates the calculation of routing information, therefore

G a spanning tree is created for each source G (source, group pair)

l Existing unicast routing algorithms ensure efficiency

G special multicast tables not necessary G loops cannot occur G data can end up being sent to individual group

members multiple times

Reverse Path Forwarding (RPF)

lSimple technique for building trees lSend out all interfaces except the one with the shortest path to the sender lIn unicast routing, routers send to the destination via the shortest path lIn multicast routing, routers send away from the shortest path to the sender

Reverse Path Forwarding Example

R5 R6 R3 R2 R1 R4 R7 Sender

  • 2. Router R2 accepts packets

sent from Router R1 because that is the shortest path to the

  • Sender. The packet gets sent
  • ut all interfaces.
  • 1. Router R1 checks: Did the data

packet arrive on the interface with the shortest path to the Sender? Yes, so it accepts the packet, duplicates it, and forwards the packet out all other interfaces except the interface that is the shortest path to the sender (i.e the interface the packet arrived on). Drop Drop

  • 3. Router R2 drops

packets that arrive from Router R3 because that is not the shortest path to the sender. Avoids cycles.

slide-7
SLIDE 7

7

Reverse path broadcasting (RPB)

lSmall improvement to RPF lConsider neighbors shortest-path to destination

Truncated Reverse Path Broadcasting (TRPB)

l Group membership

G Avoids paths that do not lead to any group

members l Needs information

G A conventional routing table G list a multicast group reachable through each

network interface l Drawback: Doesn’t consider group memberships when building the distribution tree

Reverse path multicast (RPM)

lCreates a delivery tree that spans only

G Sub-networks with group members G Routers and sub-networks along the shortest

path to sub-networks with group members

lReflects changes in group membership

G Pruning

Summary: Source-based routing

Technique Broad- /Multicast Routing Data units Network domain Flooding

Broadcast All interfaces All Entire network

RPF

Broadcast All interfaces from shortest path Entire network

RPB

Broadcast Interfaces on shortest path from shortest path Entire network

TRPB

Broadcast Interfaces on shortest path from shortest path Not in sub- networks without group members

RPM

Multicast Interfaces on shortest path from shortest path Not in sub- networks without group members

Steiner trees (also for integrated circuits)

lEstablish a spanning tree that has the minimum overall cost.

G Global optimization G Cost always the same or lower than routing

based on the shortest path

G Cost for certain pair of nodes might be higher

lRecalculation is required whenever topology changes

G Thus, a monolithic algorithm

Steiner trees (cont)

lNP-complete lMinimum cost is O(n log n)

G n is the number of nodes

lHeuristics

G distributed solution

lNot practical

slide-8
SLIDE 8

8

Trees with rendezvous points

lNew development lConsiders multiple sender and receivers lEstablishment of rendezvous points (RP)

G group membership information G selection of

lRouter keeps information

Trees with rendezvous points

lA single tree for each group lFlow

G Packets from sender to RP G From RP to receivers

lSingle point of failure lState information only for each group

Data Distribution Choices

lSource rooted trees

G State in routers for each sender G Forms shortest path tree from each sender to

receivers

G Minimal delays from sources to destinations

lShared trees

G All senders use the same distribution tree G State in routers only for wanted groups G Greater latency for data distribution

Source Rooted vs Shared Trees

B A C D B A C D

Source Rooted Trees Shared Tree

Traffic is heavily concentrated on some links while

  • thers get little

utilization. Routers maintain state for each sender in a group. Often does not use

  • ptimal path from

source to destination.

Comparison of the basic techniques

Criteria Source-based Steiner trees Rendevous points Approach Incremental Monolithic Incremental Flooding Yes, partially No No Centralized/ Distributed Distributed Centralized Distributed Single point of failure No No Yes Group density High

  • Low

Traffic concentration No No Yes Practical Yes No Yes Overhead Minimal Very High Average

IP Multicast

lService

G All senders send at the same time to the same

group

G Receivers subscribe to any group G Routers find receivers G Unreliable delivery

lReserved IP addresses (D-class)

G 224.0.0.0 to 239.255.255.255 reserved for

multicast ([1110 …..])

G Static addresses for popular services (e.g. SAP)

slide-9
SLIDE 9

9

IP Multicast

lSlow deployment lIntelligence in the network

Tree Building Choices

l Flood and prune

G Distance Vector Multicast Routing Protocol

(DVMRP)

G Protocol Independent Multicast Dense Mode

(PIM-DM) l Explicit join

G Core Based Trees (CBT) G Protocol Independent Multicast Sparse Mode

(PIM-SM) l Flood network topology to all routers

G Link state protocol, MOSPF

DVMRP

l Distance Vector Multicast Routing Protocol

G extension to the routing concepts used in RIP G a distance vector protocol G Source-based procedure

  • Initially TRBP, now RPM

l Implements two independent routing protocols

G DVMRP for multicast G RIP/OPSF, for example, for unicast)

DVMRP (Cont)

lSupport for tunneling lTransmits neighbor probe data units

G TTL value = 1

lDynamic control of the multicast tree

G Poison-reverse G Graft data units

DVMRP Algorithm

l Truncated Reverse Path Multicast

G Optimized version of Reverse Path Forwarding G Truncating

  • No packets sent onto leaf networks with no receivers

l Pruning

G Prune messages sent if no downstream receivers G State maintained for each unwanted group

l Grafting

G On join or graft, remove prune state and propagate graft

message

Truncated Reverse Path Multicast Example

R5 R6 R3 R2 R1 R4 R7 Sender Router R2 accepts packets sent from Router R1 because that is the shortest path to the Sender. Unlike Reverse Path Forwarding, which simply forwards out all but the incoming interface, DVMRP’s Reverse Path Multicast maintains a list of child links for each sender. It sends packets only out child links, not parent or sibling links. This means Router R2 will not forward data from the Sender to Router R3. Siblings Receiver Truncation: no packets forwarded onto leaf networks with no receivers

slide-10
SLIDE 10

10 DVMRP Pruning Example

R5 R6 R3 R2 R1 R4 R7 Sender Receiver Prune Prune Prune Prune

DVMRP Grafting Example

R5 R6 R3 R2 R1 R4 R7 Sender Receiver 1 Membership Report Receiver 2 Receiver 2 joins multicast group Join from Receiver 2 causes router to remove its prune state and send a Join message up toward the Sender. Graft Prune State Graft

DVMRP Problems

lProblems of distance vector routing lState maintained for unwanted groups lBandwidth intensive

G Periodic data flooding per group

  • No explicit joins, and prune state times out

G Not suitable for heterogeneous networks

lPoorly handles large number of senders

G Scaling = O(Senders, Groups)

Multicast extension to OSPF

lBased on OPSF (Open Shortest Path First)

G Dijkstra’s algorithm is used to calculate the

“shortest path”. Directed graph

lSource-based algorithm lNot a reverse path algorithm lBased on the link state algorithm

Multicast extension to OSPF

l Two main extensions

G local group membership must be known in the routers G a separate multicast tree has to be calculated for each

pair consisting of sender S and group G (S, G)

l AS divides into different non-overlapping domains (See fig. 3.19)

G linked by a backbone G boundary routers

PIM - Protocol Independent Multicasting lProtocol independent

G particular unicast protocol not defined

lOptimization criteria

G minimize status information in routers G minimize processing overhead in routers G minimize bandwidth consumption in the

network

slide-11
SLIDE 11

11 Protocol Independent Multicast (PIM)

l Uses unicast routing table for topology l Dense mode (PIM-DM)

G For groups with many receivers in local/global region G Like DVMRP, a flood and prune algorithm

l Sparse mode (PIM-SM)

G For groups with few widely distributed receivers G Builds shared tree per group, but may construct source

rooted tree for efficiency

G Explicit join

PIM Sparse Mode

lHybrid protocol that combines features of DVMRP and CBT lSuited to widely distributed, heterogeneous networks lShared tree centered at Rendezvous Point (RP) lShared tree introduces sources to receivers lSource specific trees for heavy traffic flows lUnidirectional distribution tree

Group Management in PIM-SM

DR1 R DR2 R R R R Receiver 1 Rendezvous Point

  • 1. Receiver 1 joins the multicast
  • group. Designated Router DR2

sends a Join message toward the

  • RP. Periodically, DR2 resends the

Join message in case it was lost. Join Join Join

  • 2. Routers along the path to

RP create router state for the group, adding themselves to the shared tree. R R R R P Join Join Join

Sending Data in PIM-SM

DR1 R DR2 R R Receiver 1 Rendezvous Point (RP)

  • 1. Sender 1 begins sending to a multicast group.
  • 2. Designated Router DR1 encapsulates the

packets from Sender 1 in Register messages and unicasts them to RP .

  • 3. The RP decapsulates the packet

and sends it out the shared tree. Encapsulated Data Packet R R R P Sender 1 DR R R

PIM-SM Source Specific Bypass

DR1 R3 DR2 R R Receiver 1 Rendezvous Point (RP)

  • 1. Designated Router DR2 sees traffic from

Sender 1 at a rate > threshold. It sends a source specific join request toward Sender 1 . Encapsulated Data Packet R R R P Sender 1 DR R R Source Specific Join Source Specific Join

  • 2. The join request reaches

DR1, and DR1 adds DR2 to the source specific tree for Sender 1 . Data from Sender 1 begins flowing on the source specific tree to DR2.

  • 3. When DR2 sees traffic from

Sender 1 coming from R3, it sends a Source Specific Prune message toward RP. This removes DR2 from the shared tree. Source Specific Prune

RP Joins Source Specific Tree

DR1 R DR2 R R Receiver 1

  • 1. RP sees traffic from

Sender 1 at a rate > threshold. It sends source specific join request toward Sender 1 . Encapsulated Data Packet R R R P Sender 1 DR R R Source Specific Join

  • 3. When RP sees unencapsulated

traffic from Sender 1 , it sends a Register Stop message to DR1. DR1 then stops sending encapsulated traffic to RP. Source Specific Join Source Specific Join

  • 2. The join request reaches DR1, and

DR1 adds RP to the source specific tree for Sender 1 . Data from Sender 1 begins flowing on the source specific tree to RP.

slide-12
SLIDE 12

12

PIM Rendezvous Point (RP)

lRequirement

G Different groups map to different RPs

lBootstrap Router (BSR)

G Dynamically elected G Constructs a set of RP IP addresses based on

received Candidate-RP messages

lHow do routers know RP for a group?

G Bootstrap Router broadcasts Bootstrap message

with RP set to PIM

G Hash function on group address maps to an RP

Problems with PIM

lGlobal broadcasts of all Rendezvous Points lSensitive to location of RP lNo administrative control over multicast traffic; policy controls lacking lConceived as inter-domain, but now considered intra-domain

PIM- dense mode

lFlooding and pruning graft data units. lDifferences from PIM-sparse mode

G No use of periodically transmitted join data

units

G No rendezvous points

lSimilar to DVMRP. Two main differences

G Unicast routing table to perform RPF check G No use of pruning

Hierarchical PIM

lNew member lNon optimal trees lAvoids loops lRendezvous points without a member

CBT

lCore-based trees (RP) lBidirectional multicast tree

G PIM unidirectional

lGoal is scalability

G minimize status information G overhead in the network G Control data explicit acknowledged. (complex)

  • PIM periodic. (expensive)

Core Based Trees (CBT)

lAttributes

G Single shared tree per group => sparse trees G Large number of senders G Routing tables scale well, size = O(Groups) G Bi-directional tree

slide-13
SLIDE 13

13

Group Management in CBT

R1 R R2 R3 R R R Receiver 1 Join Join Join

  • 1. Receiver 1 joins the multicast

group, causing Router R2 to join the shared tree by sending a Join message toward the Core . The Core sends an explicit ACK back to to Router R2 . R R4 R Core Receiver 2 Ack Ack Ack Join Ack

  • 2. Receiver 2 also joins the multicast

group, causing Router R3 to join the shared tree by sending a Join message toward the Core . Router R4 is already part of the shared tree, so it adds R3 to the shared tree and sends back an ACK.

Sending Data in CBT (1)

R1 R R2 R3 R R R Receiver 1 Packets from the Sender are propagated by routers on the shared tree by sending out all interfaces that are branches of the tree except the interface the packet arrived on. R5 R4 R Core Receiver 2 Sender

Case 1: Sender is a member

  • f the multicast group, and

the first hop router is on the shared tree.

Sending Data in CBT (2)

R1 R R2 R3 R R R Receiver

  • 1. Router R1 is not on the shared

tree, so it does an IP-in-IP encapsulation of packets from the Sender, and it unicasts the encapsulated packets to the Core . R5 R4 R Core Receiver Receiver

Case 2: Sender is not a member of the multicast group, and the first hop router is not on the shared tree.

Sender Encapsulated Data Packet

  • 2. The Core decapsulates the

encapsulated packets, and it distributes them out the shared tree.

Multicast routing between domains

l IETF

G near-term solution G long-term solution

l Multicast source discovery protocol (MBGP/PIM-SM/MSDP): near-term solution l BGMP : long-term solution

Border Gateway Multicast Protocol (BGMP)

lBasic concepts

G Hierarchy for multicast routing G Combine design of multicast address allocation

and multicast routing

G Constructs a shared bi-directional tree G interoperable with other multicast routing

protocols

G selects a root domain depending on the

prefix of the multicast address

Administrative Control of Traffic

IBM Intel Stanford University ISP 1 ISP 2 NTT

  • 1. The shortest path from

Intel to the Stanford University goes through

  • IBM. However, IBM does

not want to act as a transit network for multicast data sent by Intel over its networks.

  • 2. IBM installs an

administrative policy that does not propagate any multicast routes of Intel senders in outside of IBM’s internal network.

slide-14
SLIDE 14

14

Choosing a Shared Tree Root

IBM Intel Stanford University ISP 1 ISP 2 BBN

  • 3. If Host Z at the Stanford

University initiates a conference, the root of the shared tree should be in the Stanford University domain (e.g. Router B). The shared tree only develops in places with interested receivers downstream. A B

  • 2. Therefore, the Rendezvous

Point for a session started by Host Z at the Stanford University might be in BBN at Router A. The PIM shared tree would cross ISP 2 even though there are no receivers in that direction. Y Z

  • 1. Using

PIM, the Rendezvous Point for the multicast group is chosen by a hash function on the multicast group.

Transport layer issues

lNo single protocol accepted lConnection vs Connectionless lNack, Ack

Scalable Reliable Multicast (SRM)

l Much is left to the application

G ordering not

guaranteed

l Status reports sent by group members (network load)

G round-trip delay

l Nack

G Nack implosion G NTP

MBone

lArchitecture lApplication lTools