Multicasting Transmitting a Packet to a Group of

  • Slides: 28
Download presentation
Multicasting: Transmitting a Packet to a Group of Receivers unicasting multicasting CS 118/2 -10

Multicasting: Transmitting a Packet to a Group of Receivers unicasting multicasting CS 118/2 -10 -2000 1 Lixia Zhang/UCLA

Why Multicast? (1) when sending the same data to multiple receivers, multicasting minimizes: –

Why Multicast? (1) when sending the same data to multiple receivers, multicasting minimizes: – link bandwidth consumption – sender and router processing – delivery delay compared to multiple unicasts: CS 118/2 -10 -2000 2 Lixia Zhang/UCLA

Why Multicast? (cont. ) (2) when sending to receivers whose individual addresses are unknown

Why Multicast? (cont. ) (2) when sending to receivers whose individual addresses are unknown or changeable, for example: – locating or advertising services – reporting to a changing set of monitoring stations – tracking migrating processes …multicasting is simpler and more robust than the alternatives u – directory servers, configuration files, exhaustive search CS 118/2 -10 -2000 3 Lixia Zhang/UCLA

Components of the IP Multicast Architecture hosts service model host-to-router protocol (IGMP) routers multicast

Components of the IP Multicast Architecture hosts service model host-to-router protocol (IGMP) routers multicast routing protocols (various) CS 118/2 -10 -2000 4 Lixia Zhang/UCLA

IP Multicast Service Model ueach group identified by an IP address – groups may

IP Multicast Service Model ueach group identified by an IP address – groups may be of any size – sender sends a multicast packet in the same way as sending a unicast packet umembers of groups may be located anywhere in the Internet umembers can join and leave at will usenders need not be members analogy: each multicast address is like a radio frequency, on which anyone can transmit, and to which anyone can tune-in. CS 118/2 -10 -2000 5 Lixia Zhang/UCLA

IP Multicast Addresses Class D IP addresses: 1 110 group ID in “dotted decimal”

IP Multicast Addresses Class D IP addresses: 1 110 group ID in “dotted decimal” notation: 224. 0. 0. 0 — 239. 255 two administrative categories: – “well-known” multicast addresses, assigned by IANA (Internet Address and Number Authority) – “transient” multicast addresses, assigned and reclaimed dynamically CS 118/2 -10 -2000 6 Lixia Zhang/UCLA

Mapping IP Multicast Addresses to Link-Layer Multicast Addresses ufor Ethernet and other LANs using

Mapping IP Multicast Addresses to Link-Layer Multicast Addresses ufor Ethernet and other LANs using 802 addresses: IP multicast address 1110 28 bits group bit 000000010000010111100 23 bits LAN multicast address ufor point-to-point links: no mapping needed CS 118/2 -10 -2000 7 Lixia Zhang/UCLA

Components of the IP Multicast Architecture hosts service model host-to-router protocol (IGMP) routers multicast

Components of the IP Multicast Architecture hosts service model host-to-router protocol (IGMP) routers multicast routing protocols (various) CS 118/2 -10 -2000 8 Lixia Zhang/UCLA

Internet Group Management Protocol (IGMP) uthe protocol by which hosts report their multicast group

Internet Group Management Protocol (IGMP) uthe protocol by which hosts report their multicast group memberships to neighboring routers uoperates over broadcast LANs and pointto-point links uoccupies similar position and role as ICMP in the TCP/IP protocol stack CS 118/2 -10 -2000 9 Lixia Zhang/UCLA

How IGMP Works u one router is elected the “querier” on each link u

How IGMP Works u one router is elected the “querier” on each link u querier periodically sends Membership Query message to the all-systems group (224. 0. 0. 1), with TTL = 1 u on receipt, hosts start random timers [0, 10 sec] for each multicast group to which they belong routers: Q hosts: CS 118/2 -10 -2000 10 Lixia Zhang/UCLA

How IGMP Works (cont. ) Q G G u when a host’s timer for

How IGMP Works (cont. ) Q G G u when a host’s timer for group G expires, it sends a Membership Report to group G, with TTL = 1 u other members of G hear the report, stop their timers u routers hear all reports CS 118/2 -10 -2000 11 Lixia Zhang/UCLA

How IGMP Works (cont. ) uin normal case, only one report message per group

How IGMP Works (cont. ) uin normal case, only one report message per group is sent in response to a query – (routers need not know who all the members are, only that members exist) uquery interval is typically 60— 90 seconds uwhen a host first joins a group, it sends one or two immediate reports, instead of waiting for a query CS 118/2 -10 -2000 12 Lixia Zhang/UCLA

Leaving a multicast group uwhen a host leaves a group: sends a Leave Group

Leaving a multicast group uwhen a host leaves a group: sends a Leave Group message if it was the most recent host to report membership in that group uupon receiving Leave Group message, query router sends a couple of groupspecific queries, specifying a small maxresponse-time uif no report heard, assume the group is no longer present on the link CS 118/2 -10 -2000 13 Lixia Zhang/UCLA

Components of the IP Multicast Architecture hosts service model host-to-router protocol (IGMP) routers multicast

Components of the IP Multicast Architecture hosts service model host-to-router protocol (IGMP) routers multicast routing protocols (various) CS 118/2 -10 -2000 14 Lixia Zhang/UCLA

Link-State Multicast u. Router on a LAN learns whether any local host wants mcast

Link-State Multicast u. Router on a LAN learns whether any local host wants mcast data through IGMP u. Augment update message (LSP) to include set of groups that have members on a particular LAN. u. Each router uses Dijkstra's algorithm to compute shortest-path spanning tree for each source-group pair. u. Each router caches tree for currently active source-group pairs. CS 118/2 -10 -2000 15 Lixia Zhang/UCLA

Link state: each router floods link-state advertisement Multicast: add membership information to “link state”

Link state: each router floods link-state advertisement Multicast: add membership information to “link state” msg: "I have a member for group G" Each router then has a complete map of the topology, including which links have members of which multicast groups S 1 Z X R 1 Y R 2

Z has network map, including membership at X and Y Z computes shortest path

Z has network map, including membership at X and Y Z computes shortest path tree from S 1 to X and Y Z builds multicast entry with one outgoing interface W, Q, R, each build multicast entries S 1 Z W X Q R R 1 Y R 2

Link state advertisement with new membership (R 3) may require incremental computation and addition

Link state advertisement with new membership (R 3) may require incremental computation and addition of interface to outgoing interface list (Z) (Similarly, disappearance of a membership may cause deletion an interface from an outgoing interface list) S 1 Z R 3 W T Q X R R 1 Y R 2

Distance-Vector Multicast Routing Protocol DVMRP consists of 2 major components: (1) a conventional distance-vector

Distance-Vector Multicast Routing Protocol DVMRP consists of 2 major components: (1) a conventional distance-vector routing protocol (like RIP) which builds, in each router, a routing table like this: destination subnet a b c … shortest distance 1 5 3 … via interface i 1 i 2 … (2) a protocol for determining how to forward multicast packets, based on the routing table and routing messages of (1) CS 118/2 -10 -2000 19 Lixia Zhang/UCLA

Distance-Vector Multicast Reverse Path Broadcast (RPB) u. Each router already knows that shortest path

Distance-Vector Multicast Reverse Path Broadcast (RPB) u. Each router already knows that shortest path to host S goes through router N. u. When receive multicast packet from S, forward on all outgoing links (except the one the packet arrived), iff packet arrived from N. u. Eliminate duplicate broadcast packets by only letting “parent” for LAN (relative to S) forward CS 118/2 -10 -2000 20 Lixia Zhang/UCLA

Example Topology g g s Routers that learned members for group g existing on

Example Topology g g s Routers that learned members for group g existing on local network CS 118/2 -10 -2000 21 g Lixia Zhang/UCLA

Phase 1: Truncated Broadcast g g s g CS 118/2 -10 -2000 22 Lixia

Phase 1: Truncated Broadcast g g s g CS 118/2 -10 -2000 22 Lixia Zhang/UCLA

Phase 2: Pruning g g prune (s, g) s prune (s, g) g CS

Phase 2: Pruning g g prune (s, g) s prune (s, g) g CS 118/2 -10 -2000 24 Lixia Zhang/UCLA

Steady State g g g s g CS 118/2 -10 -2000 25 Lixia Zhang/UCLA

Steady State g g g s g CS 118/2 -10 -2000 25 Lixia Zhang/UCLA

Grafting on New Receivers g g g report (g) source graft (s, g) s

Grafting on New Receivers g g g report (g) source graft (s, g) s graft (s, g) Mcast group g CS 118/2 -10 -2000 26 Lixia Zhang/UCLA

Steady State after Grafting g s g CS 118/2 -10 -2000 27 Lixia Zhang/UCLA

Steady State after Grafting g s g CS 118/2 -10 -2000 27 Lixia Zhang/UCLA

The MBone u. MBone = Multicast Backbone uan “interconnected” set of multicastcapable routers, providing

The MBone u. MBone = Multicast Backbone uan “interconnected” set of multicastcapable routers, providing the IP multicast service in the Internet ucan be thought of as a virtual network, overlaid on the Internet CS 118/2 -10 -2000 29 Lixia Zhang/UCLA

Components of the MBone IP tunnel for multicast delivery: IP multicast packet is encapsulat

Components of the MBone IP tunnel for multicast delivery: IP multicast packet is encapsulat in a unicast packet addressed to far end of tunnel data IP header, dest=mcast dest=ucast R R data IP header, dest=mcast H R H CS 118/2 -10 -2000 R square/circle: thick square/circle: solid line: dashed line: thick line: 30 host/router MBone host/router physical link tunnel part of MBone Lixia Zhang/UCLA