1 multicasting anthony choi david strole werner kalyan landeck

36
1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

Upload: lynn-obrien

Post on 20-Jan-2016

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

1

Multicasting

Anthony ChoiDavid Strole

Werner Kalyan Landeck

Page 2: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

2

Broadcasting: Delivering one packet to each destination

Multicasting: Allows each system to choose whether it wants to participate in a given multicast

A multicast address identifies an arbitrary set of listeners, so forwarding mechanism must propagate the packet to all segments

Page 3: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

3

01-00-00-00-00-0016

Ethernet Multicast: the low order bit of the high-order octet distinguishes conventional unicast address (0) from multicast address (1)

Page 4: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

4

IP Multicasting:The Internet abstraction of hardware multicasting. The subset of systems that are receiving a multicast is called multicast group

General Characteristics

•Group Address: Each multicast group is a unique class D address

•Number of Groups: IP provides for up to 228 simultaneous multicast groups

•Dynamic Group Membership: A host can join or leave an IP multicast at any time

•Use of hardware: IP uses hardware multicast to send IP multicast, if hardware supports multicast, otherwise, it uses broadcast or unicast to deliver IP multicast

Page 5: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

5

General Characteristics (continued)

•Inter-network Forwarding: Special multicast routers are used to forward multicasts to systems in different physical networks

•Delivery Semantics: IP multicast uses the same best-effort delivery semantics as other IP datagrams

•Membership And Transmission: An arbitrary host may send datagrams to any multicast group; group membership is only used to determine whether the host receives datagrams sent to the group

Page 6: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

6

Three Conceptual Pieces

1. Addressing Scheme

2. Effective notification and delivery system

3. Efficient internetworking forwarding facility

Page 7: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

7

Multicasting Addresses

Two kinds – Permanent (well known) or Create when needed (transient)

1 1 1 0 Group Identification

Multicast Address Range: 224.0.0.0 to 239.255.255.255

Page 8: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

8

AddressAddress MeaningMeaning

224.0.0.0224.0.0.0 Base Address (Reserved)Base Address (Reserved)

224.0.0.1224.0.0.1 All Systems on this SubnetAll Systems on this Subnet

224.0.0.2224.0.0.2 All Routers on this SubnetAll Routers on this Subnet

224.0.0.3224.0.0.3 UnassignedUnassigned

224.0.0.4224.0.0.4 DVMRP RoutersDVMRP Routers

224.0.0.5224.0.0.5 OSPFIGP All RoutersOSPFIGP All Routers

224.0.0.6224.0.0.6 OSPFIGP Designated RoutersOSPFIGP Designated Routers

224.0.0.7224.0.0.7 ST RoutersST Routers

224.0.0.8224.0.0.8 ST HostsST Hosts

224.0.0.9224.0.0.9 RIP2 RoutersRIP2 Routers

224.0.0.10224.0.0.10 IGRP RoutersIGRP Routers

224.0.0.11224.0.0.11 Mobile-AgentsMobile-Agents

224.0.0.12224.0.0.12 DHCP Server / Relay AgentDHCP Server / Relay Agent

224.0.0.13224.0.0.13 All PIM RoutersAll PIM Routers

224.0.0.14224.0.0.14 RSVP-EncapsulationRSVP-Encapsulation

224.0.0.15224.0.0.15 All-CBT-RoutersAll-CBT-Routers

224.0.0.16224.0.0.16 Designated-SbmDesignated-Sbm

224.0.0.17224.0.0.17 All-SbmAll-Sbm

Example of permanent IP multicast address assignments

Page 9: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

9

Address Meaning

224.0.0.18 VRRP

through

244.0.0.255

Other Link Local Address

224.0.1.0

Through

238.255.255.255

Globally Scoped Addresses

239.0.0.0

Through

239.55.255.255

Scope restricted to one organization

Example of permanent IP multicast address assignments(continued)

Page 10: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

10

To map an IP multicast address to the corresponding Ethernet multicast address, place the low-order 23 bits of the IP multicast address into the low-order 23 bits of the special Ethernet multicast address:

01-00-5E-00-00-0016Example: 224.0.0.2 becomes 01-00-5E-00-00-0216

The mapping of IP to Ethernet multicast address is NOT uniqueIt is up to the host to disregard unwanted multicast datagrams

Primary difference between local and nonlocal multicast lies in multicast routers, not in hosts

Page 11: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

11

Multicast Scope

Scope refers to the range of group members

Two techniques to control multicast scope

•The Time To Live (TTL) field•Limiting the number of hops allowed•e.g. 1 to never leave a network, 0 to never leave host

•Administrative scoping•Reserving parts of the address space for groups that are local to a given site or local to a given organization•Assign the group an address that has local scope

Page 12: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

12

A host can join a multicast in three different levels:

•Level 1: Can neither receive nor send IP multicast•Level 2: Can send but not receive IP multicast•Level 3: Can send and receive IP multicast

Hosts join specific IP multicast groups on specific networks

A host must have multicast capability software and a multicast router would be needed if a multicast spans multiple networks

Page 13: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

13

Internet Group Management Protocol (IGMP)

•Multicast routers and hosts must use IGMP to communicate•Although IGMP uses IP datagrams to carry messages, it is thought of as an integral part of IP, not a separate protocol•IGMP is standard for TCP/IP•Two phases

•Phase 1•A host sends an IGMP message to the group to declare its membership when joining•Local multicast routers propagate the membership information to the rest of the internet

•Phase 2•Local multicast routers must poll hosts to determine if a host is still a member, due to dynamic membership

•Source address filter

Page 14: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

14

IGMP Implementation

Five ways IGMP use to minimize its traffic on the network:

• All communications between hosts and multicast routers use IP multicast•When polling, a multicast router sends a single query about all groups instead of sending a separate message to each•If multiple multicast routers attach to the same network, they quickly and efficiently choose a single router to poll host membership•Hosts do not respond to a router’s IGMP query at the same time

•Spaced randomly over 10 seconds.•Reports for multiple group memberships sent in a single packet

Page 15: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

15

Group Membership State Transitions

Page 16: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

16

TYPE (0x11) RESP CODE CHECKSUM

GROUP ADDRESS

RES S QQIC NUM SOURCES

SOURCE ADDRESS 1SOUCRE ADDRESS 2

…SOUCRE ADDRESS N

IGMP Membership Query Message

QRV

Page 17: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

17

TYPE (0X22) RESERVED CHECKSUM

NUM GROUP RECORDS (K)RESERVED

GROUP RECORD 1

GROUP RECORD 2 …

GROUP RECORD K

REC TYPE ZEROES NUM OF SOURCES

MULTICAST ADDRESS

SOURCE ADDRESS 1

SOURCE ADDRESS 2 …

SOURCE ADDRESS N

Page 18: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

18

•Unlike unicast forwarding in which routes change only when the topology changes or equipment fails, multicast routes can change simply because an application program joins or leaves a multicast

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

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

Multicast Forwarding and Routing

Page 19: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

19

Multicast Forwarding Paradigms

A multicast destination is a set of hosts, an optimal forwarding system will reach all of it destinations without sending a datagram across a given network twice.

Reverse Path Forwarding (RPF) – uses the source address to avoid loops.

• Not used alone because it still does not solve the problem of multicast datagram being sent to non member groups

Page 20: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

20

Truncated Reverse Path Forwarding (TRPF) – follows the basic RPF algorithm, but avoids (truncates) paths that do not lead to group members.

Multicast Forwarding Paradigms (cont’d)

• To use TRPF, router needs 2 pieces of information•Conventional routing table•List of reachable multicast groups of each interface

• For the TRPF algorithm, first RPF is used

• If no group members are reachable over an interface, the router skips over the interface, checking the next one

Page 21: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

21

Multicast Forwarding Paradigms (cont’d)

Consequences of TRPF

• Because it relies on RPF to prevent loops, it delivers an extra copy of datagrams to some networks just like conventional RPF

•Delivery depends on a datagram’s source

Page 22: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

22

Multicast Forwarding Paradigms (cont’d)

Multicast Trees – the other paradigm

•Multicast router – node to the tree•Connection between routers – edge to the tree•Last router along each of the paths from the source – leaf of the tree

A multicast forwarding tree is defined as a set of paths through multicast routers from a source to all members of a multicast group. For a given multicast group, each possible source of datagrams can determine a different forward tree

Forwarding protocols use a network prefix as a source

Page 23: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

23

Reverse Path Multicasting

• More important to ensure that a multicast datagram reaches each member of the group than to eliminate unnecessary transmission•Multicast routers each contain a conventional routing table that has correct information•Multicast routing should improve inefficiency when possible •Two step process

•Uses RPF scheme to send a copy of each datagram across all networks in the net.•Simultaneously have multicast routers to inform one another about paths that do not lead to group members

Page 24: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

24

• RPM propagates membership information bottom-up

• A multicast router only knows about local group members

• If a leaf network contains no members for a given group the router connecting that network to the rest of the internet does not forward on the network

• RPM is called a broadcast and prune strategy because a router broadcasts until it receives information that allows it to prune a path

•Also known as data driven because router does not send group information until a datagram arrives for that group

Page 25: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

25

Multicast Routing Protocols

•Multiple Multicast Routing Protocols exists, but none of them is a required standard.

•Distance Vector Multicast Routing Protocol (DVMRP)•Core Based Trees (CBT)•Protocol Independant Multicast (PIM)•Multicast extensions to OSPF (MOSPF)

Page 26: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

26

Distance Vector Multicast Routing Protocol (DVMRP)

•Uses Data-Driven Paradigm•Allows for Multicast Router to pass along group membership and routing imformation to other Multicast Routers•Resembles the RIP protocol, but it has been extended for Multicasting.

•Basically the protocol passes information about current multicast group membership as well as the cost to transfer datagrams between routers•A forwarding tree is imposed on top of the physical interconnection for every possible (group, sorce) pair. So when a datagram destined for an IP multicast group is received by a router, it will send a copy of the datagram to very network link corresponding to a branch in the forwarding tree.

Page 27: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

27

Distance Vector Multicast Routing Protocol (DVMRP) (cont’d)

•DVMRP is implemented by a Unix program named mrouted which uses a special multicast kernel

•Uses multicast tunneling to forward multicasts acroos the World Wide Web•At each site an mrouted tunnel to other sites has to be configured manually•The mrouted tunnel uses IP in IP encapsulation to send multicasts.

•When a multicast datagram is generated it is encapsulated in a unicast datagram and then forwared to other sites•When a unicast datagram is received through one of the tunnels, the multicast datagram is extracted and forwarded according to the multicast routing table

Page 28: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

28

Core Based Trees (CBT)

•Uses Demand-Driven Paradigm•Avoids broadcasting and allows all sources to share the same forwarding tree if possible

•Does not forward multicasts until at least one host along the path joins the multicast group•When a host uses IGMP to join a multicast group, the host does not receive data until the local router has propagated the new hosts information to the other routers

•CBT uses a combination of static and dynamic algorithms to build a multicast forwarding tree. In order to make this scheme scalable CBT devides the underlying internet into regions of a size specified by the network administrator

•Each region has a designated core router and all other routers in the region have to know about the core router

Page 29: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

29

Core Based Trees (CBT) (cont‘d)

•The use of a core router in each region allows for the region to have a shared tree•So router in a region dynamically build the forwarding trees by sending join requests to the core router

Page 30: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

30

Protocol Independant Multicast (PIM)

•Actually is 2 independant protocols, which have little in common exept for the name and message header

•PIM – Defense Mode (PIM – DM)•Designed for LAN environments in which all or almost all networks have hosts which are lisening to each of the multicast group

•PIM – Sparse Mode (PIM – SP)•Designed for a wide area environment in which the member of a given multicast group occupy a small subset of all possible networks

•2 Independant Protocols exists, because neither works well for all situations

Page 31: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

31

Protocol Independant Multicast (PIM) (cont‘d)

•PIM functions independantly from the unicast routing protocol or protocols that a rounter uses, because PIM does not specify a routing table form. Thus PIM can use an arbitary routing protocol•To accomandate many listenners:

•PIM-DM uses a broadcast and prune approach. Datagrams are forwarded to all routers using RPF until a router sends an explicit request•PIM-SM designates a router, called a Renderview Point (RP), which functions similar to the CBT core Router

Page 32: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

32

Multicast extensions to OSPF (MOSPF)

•The idea behind MOSPF is when the router know the topology of its OSPF area, MOSPF can use this to compute a forwarding tree.•MOSPF is Demand-Driven , so traffic will not be propagted until requested•Problems with this scheme are that all router must maintain the membership information of all groups and the information has to be synchronized to ensure every router has the exatly same database

Page 33: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

33

Reliable Multicast and ACK Implosions

•Reliable Multicast referes to a system which provides multicast delivery and guarantees that all members of the group receive the data in order without any loss, duplication or corruption.

•In theory sound greath but hard to implement, since many problems arise:

•If a multicast group has multiple sender datagram arrival in sequence becomes meaning less•Widely used multicast forwarding schemes, such as RPF, produce duplication even on small internets•Applications like audio or video expect relioable systems to bound the delay and jitter

Page 34: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

34

Reliable Multicast and ACK Implosions (cont‘d)

•Reliabiliy requires acknowledgements, since multicastr groups can have an arbitary number of members, traditional reliable protocols require the sender to handle an arbitary number of acknowledgements. This problem is refered to as the ACK Implosion, since no computer has enough processing power to handle this problem.

•How to overcome ACk implosion•Reliable multicost protocols restrict multicating to a single source. Before data is sent a forwarding tree is established from the source to all group members and acknowledgement points need to be established.

Page 35: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

35

Reliable Multicast and ACK Implosions (cont‘d)

•An acknowledgement point, also know as acknowledgement aggregator or designated route (DR), is a router that agrees to cache copies of the data and process acknowledgements from routers and hosts further down the forwarding tree. If a retransmission is need it is taken from the routers cache. This occurs when the host or router send a NACK. The NACK will propogate up the tree until a acknowledgement point or the source is reached.•The selection of sufficient acknowledgement is important, since an insufficient number points will cause an ACK Implosion. Thus reliable multicast protocols require manual configuratio, as a result if you have a fast growing network this can be a problem

Page 36: 1 Multicasting Anthony Choi David Strole Werner Kalyan Landeck

36

Reliable Multicast and ACK Implosions (cont‘d)

•Other methos of reliable multicast are still theoretical or experimental. Here are 2 protocols being considered.

•One was is to send multiple copies to reduce the need for retransmission

•Works good with Random Early Discard (RED), since the probability of more than one copy being discarded is extremly small

•Another way is to incorporate forward error-correcting codes