29
1 1-1 Computer Network Architectures and Multimedia INFO-031 Prof. Guy Leduc Université de Liège Institut Montefiore, B28 B-4000 Liège 1 Phone: 04 3662698 or 2696 (secrétariat) Fax: 04 3662989 Email: [email protected] URL: http://www.montefiore.ulg.ac.be/~leduc/ 1-2 Reference Books Computer Networking: A Top-Down Approach, 7 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2016. or Pearson Education, 2017 (Digital copy for students: US$24.00) Many of the slides from all the chapters are adapted from the slides provided with these books An Engineering Approach to Computer Networking - ATM Networks, the Internet, and the Telephone Network. S. Keshav Addison-Wesley Professional Computing Series, 1997.

Computer Network Architectures and Multimedia INFO …leduc/cours/SRM/SRM-ch1.pdf · Computer Network Architectures and Multimedia INFO-031 ... Each node sends unicast join message

Embed Size (px)

Citation preview

1

© From Computer Networking, by Kurose&Ross Multicast routing 1-1

Computer Network Architectures and Multimedia

INFO-031 Prof. Guy Leduc

Université de Liège Institut Montefiore, B28

B-4000 Liège 1

Phone: 04 3662698 or 2696 (secrétariat) Fax: 04 3662989

Email: [email protected] URL: http://www.montefiore.ulg.ac.be/~leduc/

© From Computer Networking, by Kurose&Ross Multicast routing 1-2

Reference Books Computer Networking: A Top-Down Approach, 7th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2016.

or Pearson Education, 2017 (Digital copy for students: US$24.00)

Many of the slides from all the chapters are adapted from the slides provided with these books

An Engineering Approach to Computer Networking - ATM Networks, the Internet, and the Telephone Network. S. Keshav Addison-Wesley Professional Computing Series, 1997.

2

© From Computer Networking, by Kurose&Ross Multicast routing 1-3

Course content ❒  Chapter 1: Multicast routing ❒  Chapter 2: MPLS Networks ❒  Chapter 3: Wireless and Mobile Networks ❒  Chapter 4: Multimedia Applications and Transport ❒  Chapter 5: QoS Mechanisms and Architectures

❒  Two seminars (December 13th): ❍ On IPv6-centric networking, by Eric Vyncke (CISCO) ❍ On ULiège’s Wi-Fi network, by Simon François (SeGI)

•  Followed by a visit of Uliège’s data center

© From Computer Networking, by Kurose&Ross Multicast routing 1-4

Evaluation ❒  Theory

❍  Oral exam ❍  Weight: 50%

❒  Labs ❍  Network emulation (Netkit) ❍  Real experiments (CISCO routers) ❍  Groups of (up to) 2 students ❍  Weight: ±25%

❒  Project ❍  Network simulation (ns simulator) ❍  Groups of (up to) 2 students ❍  Weight: ±25%

❒  Teaching assistant: Yves Vanaubel

3

© From Computer Networking, by Kurose&Ross Multicast routing 1-5

Chapter 1: Multicast routing Overview: ❒  Broadcast routing ❒  Multicast routing ❒  Local Area Multicast

❍  IGMP ❒  Wide-Area Multicast

❍  Source-based ❍  Center-based

❒  Examples of Multicast Protocols ❍  DVMRP ❍  PIM

© From Computer Networking, by Kurose&Ross Multicast routing 1-6

R1

R2

R3 R4

source duplication

R1

R2

R3 R4

in-network duplication

duplicate creation/transmission duplicate

duplicate

Broadcast Routing ❒  deliver packets from source to all other nodes ❒  source duplication is inefficient:

❒  source duplication: how does source determine recipient addresses?

4

© From Computer Networking, by Kurose&Ross Multicast routing 1-7

In-network duplication

❒  Flooding: when node receives broadcast packet, sends copy to all neighbors ❍  Problems: cycles & broadcast storm

❒  Controlled flooding: node only broadcasts packet if it hasn’t broadcast same packet before ❍  Node keeps track of packet ids already broadcast

•  Reminder: Link-state (LS) routing protocols use this flooding technique (e.g. OSPF)

❍  Or reverse path forwarding (RPF): only forward packet if it arrived on shortest path between node and source

•  Will be explained for multicast routing later ❒  Forwarding on a spanning tree

❍  No redundant packets received by any node

© From Computer Networking, by Kurose&Ross Multicast routing 1-8

A

B

G

D E

c

F

A

B

G

D E

c

F

(a) Broadcast initiated at A (b) Broadcast initiated at D

Spanning Tree

❒  First construct a spanning tree ❒ Nodes then forward copies only along

spanning tree

5

© From Computer Networking, by Kurose&Ross Multicast routing 1-9

A

B

G

D E

c

F 1

2

3

4

5

(a) Stepwise construction of spanning tree

A

B

G

D E

c

F

(b) Constructed spanning tree

Spanning Tree: Creation ❒  Remember Ethernet switches building a spanning tree by

exchanging BPDUs ❒  Another creation algorithm with a (well-known) center node

❍  Each node sends unicast join message to center node ❍  Message forwarded until it arrives at a node already belonging

to spanning tree

Center Center

© From Computer Networking, by Kurose&Ross Multicast routing 1-10

Chapter 1: Multicast routing

❒  Broadcast routing ❒  Multicast routing ❒  Local Area Multicast

❍  IGMP ❒  Wide-Area Multicast

❍  Source-based ❍  Center-based

❒  Examples of Multicast Protocols ❍  DVMRP ❍  PIM

6

© From Computer Networking, by Kurose&Ross Multicast routing 1-11

Multicast routing

❒  Unicast: source sends to a single destination ❒  Broadcast: source sends to all destinations ❒  Multicast: source sends to a group of destinations

❍  devices are part of a multicast group ❍  packets sent to a group are received by all members of the

multicast group ❒  Chapter mainly based on IP multicast ❒  Useful for

❍  multiparty videoconference ❍  audio and/or video streaming ❍  distance learning ❍  resource location

© From Computer Networking, by Kurose&Ross Multicast routing 1-12

Multicast group

❒  Associates a set of senders and receivers with each other ❍  but independent of them ❍  created either when a sender starts sending to a group ❍  or a receiver expresses interest in receiving ❍  even if no one else is there!

❒  Sender does not need to know receivers’ identities ❍  The group is a logical rendezvous point ❍  This is Address indirection!

Multicast group

Sources Receivers

7

© From Computer Networking, by Kurose&Ross Multicast routing 1-13

Addressing ❒  A multicast group in

the Internet has its own Class-D address ❍  looks like a host

address, but isn’t ❍  addresses range from

224.0.0.0 to 239.255.255.255

❒  Senders send to the address

Mcast group 226.17.30.197

❒  Receivers anywhere in the world request packets from that address

❒  “Magic” is in associating the two: ❍  dynamic directory service

Legend: group members and routers with group members in red

© From Computer Networking, by Kurose&Ross Multicast routing 1-14

Problems

❒ which groups are currently active? ❒  how to express interest in joining a group? ❒  discovering the set of receivers in a group ❒  delivering data to members of a group ❒ …

8

© From Computer Networking, by Kurose&Ross Multicast routing 1-15

Multicast flavors

❒ Unicast: point to point ❒ Multicast:

❍  point to multipoint ❍ multipoint to multipoint

❒  Can simulate point to multipoint by a set of point to point unicasts

❒  Can simulate multipoint to multipoint by a set of point to multipoint multicasts

❒ The difference is efficiency

© From Computer Networking, by Kurose&Ross Multicast routing 1-16

Shortest path tree

❒  Suppose A wants to talk to B, G, H, I ❒  With unicast, 4 packets sent by A

❍  link AC carries packets in triplicate ❒  With multicast, 2 packets sent by A

❍  link AC carries each packet only once ❒  Ideally, we want to send exactly one multicast packet per link

❍  forms a multicast tree rooted at sender ❒  Optimal multicast tree provides shortest path from sender to

every receiver ❍  shortest-path tree rooted at sender

A

BC

D E F

G H I

Source

Group members

Branches of theshortest path treerooted at A

9

© From Computer Networking, by Kurose&Ross Multicast routing 1-17

Issues in wide-area multicast ❒  Difficult because

❍  group members may join and leave dynamically •  need to dynamically update shortest-path tree

❍  would like a receiver to join or leave without explicitly notifying sender

•  otherwise it will not scale ❍  leaves of multicast tree are often members of broadcast LAN

•  would like to exploit LAN broadcast capability A

BC

D E F

G H I

A: source B, G, H: receivers

(group members)

© From Computer Networking, by Kurose&Ross Multicast routing 1-18

Chapter 1: roadmap

❒  Broadcast routing ❒ Multicast routing ❒  Local Area Multicast

❍  IGMP ❒ Wide-Area Multicast

❍ Source-based ❍ Center-based

❒  Examples of Multicast Protocols ❍ DVMRP ❍  PIM

10

© From Computer Networking, by Kurose&Ross Multicast routing 1-19

IGMP - Internet Group Management Protocol ❒  Using IGMP, a directly attached router detects if a LAN has any

member for a particular group ❒  If so, router will join the group

Wide-area multicast routing

IGMP IGMP

IGMP

© From Computer Networking, by Kurose&Ross Multicast routing 1-20

IGMP (2) ❒  Router periodically broadcasts a query message on the LAN ❒  Hosts reply with the list of groups they are interested in

❍  IGMPv3 also supports source filtering •  For any group, host may report interest in receiving multicast packets

only from some (or all but some) source addresses ❒  To suppress traffic

❍  Hosts reply after a random timeout ❍  Hosts broadcast reply ❍  If some other host has expressed interest in a group, drop out ❍  So router does not know the identities of all interested hosts

•  It merely knows whether at least one host is interested

❒  To leave the group, hosts send an explicit leave message to reduce leave latency ❍  If a hosts leaves, the router still needs to check if no other host is

still interested before leaving the group

11

© From Computer Networking, by Kurose&Ross Multicast routing 1-21

Multicast in a broadcast LAN

❒  Wide area multicast can exploit a LAN’s broadcast capability ❍  E.g. Ethernet will multicast all packets with multicast bit

set on destination address ❒  Multicast IP packet will be encapsulated in a LAN

frame with a multicast destination MAC address ❒  Host will configure their adapter to listen to this

multicast MAC address

❒  Problem: Mapping IP multicast address to MAC multicast address ❍  What multicast MAC address corresponds to a given

Class-D IP address?

© From Computer Networking, by Kurose&Ross Multicast routing 1-22

IP Class-D to MAC translation

❒  Multiple Class-D addresses map to the same MAC address ❒  Well-known translation algorithm

❍  no need for a translation table ❒  But many-to-one translation. Is it a problem?

IEEE 802 MAC address

Class-D IP address

Ignored1110 = Class-D indication

01 00 5E

Least significant 23 bits copied from IP address

Multicast bitReserved bit

Assigned by IEEE

12

© From Computer Networking, by Kurose&Ross Multicast routing 1-23

Chapter 1: Roadmap

❒  Broadcast routing ❒ Multicast routing ❒  Local Area Multicast

❍  IGMP ❒ Wide-Area Multicast

❍ Source-based ❍ Center-based

❒  Examples of Multicast Protocols ❍ DVMRP ❍  PIM

© From Computer Networking, by Kurose&Ross Multicast routing 1-24

Wide area multicast

❒ Assume ❍  each endpoint is a router ❍  a router can use IGMP to discover all the

members in its LAN that want to subscribe to each multicast group

❒ Goal ❍  distribute packets coming from any sender

directed to a given group to all routers on the path to a group member

13

© From Computer Networking, by Kurose&Ross Multicast routing 1-25

Multicast Routing: Problem Statement ❒ Goal: find a tree (or trees) connecting

routers having local mcast group members ❍  tree: not all paths between routers used ❍  source-based: different trees from each sender to receivers ❍  shared-tree: same tree used by all group members

Shared tree Source-based trees

© From Computer Networking, by Kurose&Ross Multicast routing 1-26

Approaches for building mcast trees

Approaches: ❒  source-based tree: one tree per source

❍  shortest path trees ❍  reverse path forwarding (RPF)

❒  group-shared tree: group uses one tree ❍ minimal spanning tree (Steiner) ❍  center-based trees

… we first look at basic approaches, then specific protocols adopting these approaches

14

© From Computer Networking, by Kurose&Ross Multicast routing 1-27

Chapter 1: Roadmap

❒  Broadcast routing ❒ Multicast routing ❒  Local Area Multicast

❍  IGMP ❒ Wide-Area Multicast

❍ Source-based ❍ Center-based

❒  Examples of Multicast Protocols ❍ DVMRP ❍  PIM

© From Computer Networking, by Kurose&Ross Multicast routing 1-28

Shortest Path Tree (SPT) ❒  mcast forwarding tree: tree of shortest path

routes from source to all receivers ❍  Knowing the topology, it can be computed by Dijkstra’s

algorithm ❍  A reverse SPT (from receivers to source) can also be

computed. How?

R1

R2

R3

R4

R5

R6 R7

2 1

6

3 4 5

i

router with attached group member

router with no attached group member link used for forwarding, i indicates order link added by algorithm

LEGEND S: source

15

© From Computer Networking, by Kurose&Ross Multicast routing 1-29

Reverse Path Forwarding

if (mcast datagram received on incoming link on shortest path back to sender)

then flood datagram onto all outgoing links else ignore datagram

! for multicast, the SPTs are not computed explicitly

! we’ll rely on router’s knowledge of unicast shortest path from it to sender

! each router has simple forwarding behavior:

© From Computer Networking, by Kurose&Ross Multicast routing 1-30

Reverse Path Forwarding: example

•  Result is a source-specific reverse SPT –  may be a bad choice with asymmetric links

•  Still two packets on every link not belonging to the reverse SPT!

R1

R2

R3

R4

R5

R6 R7

router with attached group member

router with no attached group member datagram will be forwarded

LEGEND S: source

datagram will not be forwarded

16

© From Computer Networking, by Kurose&Ross Multicast routing 1-31

A cleverer RPF ❒  Don’t send a packet downstream if you are not yourself on the shortest

path from the downstream router to the source ❍  Router knows that if it runs a LS protocol or a DV with poison reverse ❍  Packets are only transmitted once on the reverse shortest path tree

A

B C D

E F

Source A SourceB

CD

E❒  Risk: Potential confusion (with LS protocol) if downstream router has a

choice of shortest paths to source: ❍  E.g. on left example, ECA and EBA are two equally shortest paths to A ❍  How do B and C know which one of them E has chosen? ❍  There is a risk that neither B nor C forward packets to E! ❍  Safe solution: both forward (but then some duplicates are possible)

SupposeShortest paths to A: EDA and CBA

SupposeShortest paths to A: BA, DA, ECA and FCA

© From Computer Networking, by Kurose&Ross Multicast routing 1-32

Reverse Path Forwarding: pruning ❒  forwarding tree contains subtrees with no mcast

group members ❍  no need to forward datagrams down subtree ❍  “prune” msgs sent upstream by router with no

downstream group members

R1

R2

R3

R4

R5

R6 R7

router with attached group member router with no attached group member prune message

LEGEND S: source

links with multicast forwarding

P

P

P

17

© From Computer Networking, by Kurose&Ross Multicast routing 1-33

Multicast forwarding table

❒  Remember unicast forwarding table ❍  IP_destination_prefix " forwarding_port

❒ Multicast forwarding table entry: (IP_Source, destination_multicast_IP): incoming_port " {set of forwarding_ports}

❍ One entry per source-destination pair ❍  If incoming_port does not match: discard

•  This is RPF

© From Computer Networking, by Kurose&Ross Multicast routing 1-34

Chapter 1: Roadmap

❒  Broadcast routing ❒ Multicast routing ❒  Local Area Multicast

❍  IGMP ❒ Wide-Area Multicast

❍ Source-based ❍ Center-based

❒  Examples of Multicast Protocols ❍ DVMRP ❍  PIM

18

© From Computer Networking, by Kurose&Ross Multicast routing 1-35

Shared-Tree: Steiner Tree

❒ Steiner Tree: minimum cost tree connecting all routers with attached group members

❒  problem is NP-complete ❒  excellent heuristics exists ❒  not used in practice, because:

❍  computational complexity ❍  information about entire network needed ❍ monolithic: rerun whenever a router needs to

join/leave

© From Computer Networking, by Kurose&Ross Multicast routing 1-36

Center-based trees

❒  single delivery tree shared by all ❒  one router identified as “center” of tree ❒  to join:

❍  edge router sends unicast join-msg addressed to center router

❍  join-msg “processed” by intermediate routers and forwarded towards center

❍  join-msg either hits existing tree branch for this center, or arrives at center

❍  path taken by join-msg becomes new branch of tree for this router

19

© From Computer Networking, by Kurose&Ross Multicast routing 1-37

Center-based trees: an example

Suppose R6 chosen as center:

R1

R2

R3

R4

R5

R6 R7

router with attached group member router with no attached group member path order in which join messages generated

LEGEND

2 1

3

1

© From Computer Networking, by Kurose&Ross Multicast routing 1-38

Multicast forwarding table

❒  Sending to the group is achieved by encapsulating/tunneling the multicast packet into a unicast IP packet sent to the center

❒  Center removes the external unicast header and sends the internal multicast packet down the tree

❒  So, the multicast forwarding table has entries like

(*, destination_multicast_IP): incoming_port " {set of forwarding_ports}

❍  Entry valid for any source ❍  One entry per destination, not one entry per source-

destination pair ❍  But routes to receivers is via the center: detour!

20

© From Computer Networking, by Kurose&Ross Multicast routing 1-39

Chapter 1: Roadmap

❒  Broadcast routing ❒ Multicast routing ❒  Local Area Multicast

❍  IGMP ❒ Wide-Area Multicast

❍ Source-based ❍ Center-based

❒  Examples of Multicast Protocols ❍ DVMRP ❍  PIM

© From Computer Networking, by Kurose&Ross Multicast routing 1-40

Internet Multicast Routing: DVMRP

❒ DVMRP: distance vector multicast routing protocol, RFC1075

❒  flood and prune: reverse path forwarding, source-based tree ❍ RPF tree based on DVMRP’s own routing tables

constructed by communicating DVMRP routers •  full routing information available, so cleverer RPF possible

❍  no assumptions about underlying unicast and does not rely on it

❍  initial datagram to mcast group flooded everywhere via RPF

❍  routers not wanting group: send upstream prune msgs

21

© From Computer Networking, by Kurose&Ross Multicast routing 1-41

DVMRP: continued… ❒  soft state: DVMRP router periodically (1 min.)

“forgets” branches are pruned: ❍ mcast data again flows down unpruned branch ❍  downstream router: reprune or else continue to

receive data ❒  routers can quickly regraft to tree

❍  following IGMP join at leaf ❒  odds and ends

❍  commonly implemented in commercial routers ❍ Mbone routing historically done using DVMRP

© From Computer Networking, by Kurose&Ross Multicast routing 1-42

Tunneling Q: How to connect “islands” of multicast

routers in a “sea” of unicast routers?

!  mcast datagram encapsulated inside “normal” (non-multicast-addressed) datagram

!  normal IP datagram sent through “tunnel” via regular IP unicast to receiving mcast router (recall IPv6 inside IPv4 tunneling)

!  receiving mcast router unencapsulates to get mcast datagram

physical topology logical topology

22

© From Computer Networking, by Kurose&Ross Multicast routing 1-43

Chapter 1: Roadmap

❒  Broadcast routing ❒ Multicast routing ❒  Local Area Multicast

❍  IGMP ❒ Wide-Area Multicast

❍ Source-based ❍ Center-based

❒  Examples of Multicast Protocols ❍ DVMRP ❍  PIM

© From Computer Networking, by Kurose&Ross Multicast routing 1-44

PIM: Protocol Independent Multicast

❒  not dependent on any specific underlying unicast routing algorithm (works with all)

❒  two different multicast distribution scenarios :

Dense: !  group members

densely packed, in “close” proximity

!  bandwidth more plentiful

Sparse: !  # networks with group

members small wrt # interconnected networks

!  group members “widely dispersed”

!  bandwidth not plentiful

23

© From Computer Networking, by Kurose&Ross Multicast routing 1-45

Consequences of Sparse-Dense Dichotomy: Dense ❒  group membership by

routers assumed until routers explicitly prune

❒  data-driven construction on mcast tree (e.g., RPF)

❒  bandwidth and non-group-router processing profligate

Sparse: ❒  no membership until

routers explicitly join ❒  receiver-driven

construction of mcast tree (e.g., center-based)

❒  bandwidth and non-group-router processing conservative

© From Computer Networking, by Kurose&Ross Multicast routing 1-46

PIM- Dense Mode

flood-and-prune RPF, similar to DVMRP but !  underlying unicast protocol provides RPF info

for incoming datagram !  less complicated (less efficient) downstream

flood than DVMRP reduces reliance on underlying routing algorithm ! no “cleverer RPF” possible: it relies on the

local forwarding table only, not on routing information

!  has protocol mechanism for router to detect it is a leaf-node router

24

© From Computer Networking, by Kurose&Ross Multicast routing 1-47

PIM - Sparse Mode

❒  center-based approach ❒  router sends join msg to

rendezvous point (RP) ❍  intermediate routers

update state and forward join

❒  after joining via RP, router can switch to source-specific tree ❍  increased performance:

less concentration, shorter paths

R1

R2

R3

R4

R5

R6 R7

join

join

join

all data multicast from rendezvous point

rendezvous point

© From Computer Networking, by Kurose&Ross Multicast routing 1-48

PIM - Sparse Mode

sender(s): ❒  unicast data to RP,

which distributes down RP-rooted tree

❒  RP can extend mcast tree upstream to source

❒  RP can send stop msg if no attached receivers ❍  “no one is listening!”

R1

R2

R3

R4

R5

R6 R7

join

join

join

all data multicast from rendezvous point

rendezvous point

25

© From Computer Networking, by Kurose&Ross Multicast routing 1-49

More on Rendezvous Points ❒  Called a Rendezvous Point (RP) because it no longer carries all the

traffic like a Center-based Tree ❒  Some routers in a network domain are configured as candidate RPs

❍  RPs share among themselves the multicast groups in the domain ❒  There is a BSR (BootStrap Router) that is dynamically elected

(among RPs) within a PIM domain ❍  Election based on highest priority and then highest IP address ❍  The BSR allocates the groups to RPs ❍  The BSR distributes the mappings (RP → {groups}) to all routers in the

PIM domain via BootStrap Messages (BSM) sent periodically. ❒  Well-known multicast addresses are used for these purposes ❒  RPs periodically send “I am alive” messages downstream

❍  Leaf routers set a timer on receipt ❍  If timer goes off, find the new RP and send a join request to it

© From Computer Networking, by Kurose&Ross Multicast routing 1-50

PIM - Detailed example

A

S1

B

C D

E

RP

F H

reg1 1

1 11

11

2 2

2 22

22

3 3

314

3

reg

1. A (on behalf of S1) registers to RP as a source for group G

Forwarding tables:A: (S1,G): 1 → {reg}

Other routers have empty tables

A sends a register message to RP.A will later tunnel multicast packets to RP.RP has no receivers, so it sends backa register-stop message to A.Register messages are refreshed periodically (and register-stops retransmitted if still no receivers)

2. R1 joins group G

Forwarding tables:A: (S1,G): 1 → {reg}RP: (*,G): reg → {1}E: (*,G): 1 → {2}F: (*,G): 2 → {3}Other routers have empty tables

F learns R1’s interest by IGMPF sends JOIN (*, G) to EE sends JOIN (*, G) to RPRP doesn’t send register-stopsany more to �A.

reg is a virtual “tunnel interface”

A

S1

B

C D

E

RP

F HR1

reg1 1

11

11

2 2

2 22

22

3 3

314

3

reg1

26

© From Computer Networking, by Kurose&Ross Multicast routing 1-51

PIM - Detailed example (2) 3. R2 joins group G

Forwarding tables:A: (S1,G): 1 → {reg}RP: (*,G): reg → {1}E: (*,G): 1 → {2,3}F: (*,G): 2 → {3}H: (*,G): 1 → {3}Other routers have empty tables

H learns R2’s interest by IGMP.H sends JOIN (*, G) to E.E need not propagate the join.

4. B (on behalf of S2) registers to RP as a source for group G

Forwarding tables:A: (S1,G): 1 → {reg}B: (S2,G): 1 → {reg}RP: (*,G): reg → {1}E: (*,G): 1 → {2,3}F: (*,G): 2 → {3}H: (*,G): 1 → {3}Other routers have empty tables

A

S1

B

C D

E

RP

F HR1 R2

reg1 1

11

11

2 2

2 22

22

3 3

34

3

reg11

A

S1

B

C D

E

RP

F H

S2

R1 R2

reg reg1 1

11

11

2 2

2 22

22

3 3

34

3

regreg

11

© From Computer Networking, by Kurose&Ross Multicast routing 1-52

PIM - Detailed example (3) 5. F creates a source-based tree for S1

Forwarding tables:A: (S1,G): 1 → {reg,2}B: (S2,G): 1 → {reg}C: (S1,G): 1 → {2}RP: (*,G): reg → {1}E: (*,G): 1 → {2,3} (S1,G): 1 → {3}F: (*,G): 2 → {3} (S1,G): 1 → {3}H: (*,G): 1 → {3}Other routers have empty tables

F sends JOIN (S1,G) to C.C sends JOIN (S1,G) to A.When F receives data from S1 via C, F sends a PRUNE (S1,G) to E.E does not forward the prune to RPbecause H still receives packetsfrom S1 via the shared tree.

And A still sends packets on both trees.

AS1

B

C D

E

RP

F H

S2

R1 R2

reg reg1 1

11

11

2 2

2 22

22

3 3

34

3

regreg

11

When a (S,G) entry and a (*,G) entry co-exit in the table, - if the source of the incoming packet is S, the rule is given by the (S,G) entry- if the source of the incoming packet is not S, the rule is given by the (*,G) entryThere cannot be two entries in a given table with the same S and G.

27

© From Computer Networking, by Kurose&Ross Multicast routing 1-53

PIM - Detailed example (4) 6. H creates a source-based tree for S1

Forwarding tables:A: (S1,G): 1 → {2}B: (S2,G): 1 → {reg}C: (S1,G): 1 → {2,3}RP: (*,G): reg → {1} (S1,G): reg → { }E: (*,G): 1 → {2,3} (S1,G): 4 → {3}F: (*,G): 2 → {3} (S1,G): 1 → {3}H: (*,G): 1 → {3} (S1,G): 1 → {3}

Other routers have empty tables

H sends JOIN (S1,G) to E.E sends JOIN (S1,G) to C.When E receives data from S1 via C, E sends a PRUNE (S1,G) to RP.RP has now no receivers for S1 viathe shared tree, so RP will re-startsending register-stops to A

Entry (S1,G): 1 → { }is useless because(S1,G): 4 → {3} suffices

This entry may seem useless because it has the same forwarding as (*,G): 1 → {3}but it is useful for triggeringperiodic refreshes.

AS1

B

C D

E

RP

F H

S2

R1 R2

reg reg1 1

11

11

2 2

2 22

22

3 3

3

regreg

43

11

x

© From Computer Networking, by Kurose&Ross Multicast routing 1-54

PIM - Detailed example (5) 6. RP switches to the shortest-path tree for S2

Forwarding tables:A: (S1,G): 1 → {2}B: (S2,G): 1 → {3}J: (S2,G): 1 → {2}C: (S1,G): 1 → {2,3}RP: (*,G): reg → {1} (S1,G): reg → { } (S2,G): 2 → {1}E: (*,G): 1 → {2,3} (S1,G): 4 → {3}F: (*,G): 2 → {3} (S1,G): 1 → {3}H: (*,G): 1 → {3} (S1,G): 1 → {3}

Other routers have empty tables

RP sends JOIN (S2,G) toward B.All routers on the path (here J) create(S2,G) entries.B updates its (S2,G) entry.

B stops tunnelling multicastpackets to RP and sends themnatively in multicast to the group.

Packets from S2 still follow theshared tree from RP to receivers(until receivers switch to a shortestpath tree).

AS1

B

C D

E

RP

F H

S2

R1 R2

11

11

11

22

2 22

22

3 3

3

31

4

3

2

1

reg

regx 1

2

J

28

© From Computer Networking, by Kurose&Ross Multicast routing 1-55

Periodic Refresh Mechanism ❒  In PIM-SM, the same message is used for join and prune

❍  It is called the Join/Prune message ❍  Fields in the message (Bit flags) remove the ambiguity ❍  The same message can join and prune simultaneously

•  e.g. Join G except sources S1 and S2. ❒  In steady-state each router sends periodic Join/Prune

messages to (upstream) neighbors for each active entry in its table.

❒  A join/prune is also sent on an event-triggered basis each time a new entry is established.

❒  There is no explicit acknowledgement of join/prune messages ❍  Routers recover from lost packets using the periodic refresh

mechanism. ❒  If unicast tables change, the multicast trees will be updated

at the next refresh

© From Computer Networking, by Kurose&Ross Multicast routing 1-56

IP multicast vs application-level multicast

❒  IP multicast has yet to take off in a big way ❍ Used on Internet 2 and other networks ❍ BBC and others are using it for Content

Distribution ❒ Alternative: Application-level multicast

❍  P2P video streaming and other applications

29

© From Computer Networking, by Kurose&Ross Multicast routing 1-57

Chapter 1: summary ❒  Broadcast routing ❒  Local Area Multicast

❍  IGMP ❒  Wide-Area Multicast

❍  Source-based: •  Shortest-path trees •  RPF: Reverse Path

Forwarding •  Flood and prune •  DVMRP

❍  Center-based: •  Group-shared trees •  Rendezvous Points •  Explicit join/leave

❍  Hybrid: •  Dense and Sparse modes •  PIM

❒  Not covered in this course: ❍  SSM: Source Specific

Multicast •  Only a single sender is allowed

to send traffic into the multicast tree

•  Simpler, and filters spamming sources

❍  Inter-domain multicast routing

•  multiprotocol extensions to BGP can carry multicast information

•  Multicast Source Discovery Protocol (MSDP) to connect rendezvous points in different PIM domains