230 likes | 339 Views
CMPT 471 Networking II. Multicasting. Types of Multicasting (1). Multicasting is useful in several contexts (RFC 3569) SSM, source specific multicast: Information is sent to all members of the multicast group from a single source , members do not communicate directly with each other.
E N D
CMPT 471Networking II Multicasting
Types of Multicasting (1) • Multicasting is useful in several contexts (RFC 3569) • SSM, source specific multicast: Information is sent to all members of the multicast group from a single source , members do not communicate directly with each other. • Multimedia “broadcast” to many destinations (hosts and networks) • Multicast to hosts on a local network for resource discovery
Types of Multicasting (2) • Multicasting is useful in several contexts (RFC 3569) • ASM, any source multicast: many sources and many destinations, no limit on source or number of hosts • Supports applications such asTeleconferencing, gaming, and distributed computing • An IP datagram is transmitted to a "host group“ • A “host group” is a set of >=0 end-hosts (or routers) identified by a single IP destination address (224.0.0.0 - 239.255.255.255 ). • End-hosts may join and leave the group any time, • Any host may send to a group • Only members of the group may receive from that group • protocols include ICMPv2 with DVRMP (or PIM or MOSPF)
Types of Multicasting (3) • Multicasting is useful in several contexts (RFC 3569) • SFM, source filtered multicast can specify one type of filtering either • INCLUDE: Specify the group and the members of the group from which incoming data will be accepted, • EXCLUDE: Specify hosts from which multicast data will not be accepted • A variant of ASM (using IGMPv3 for IPv4 and MLDv2 for IPv6) with source filtering added
ASM Multicasting Overview • Transmit to a group of hosts on several networks. • This group of hosts includes a subset of hosts on each of the several networks. (subset may be entire network) • Membership in the group is dynamic. Hosts may join or leave groups as they wish. • A multicast router (mrouted, pimd) used to route between networks with members in a multicast group • It is the responsibility of the multicast router to monitor and update changes in membership of groups, both within and outside the attached networks • A single multicast address in the range (224.0.0.0 – 229.255.255.255) refers to the group of hosts
Multicasting In a LAN (1) • Many LANs provide hardware support for broadcast or multicast • To send Protocol stack on the host must map the IP multicast address onto the appropriate (MAC) multicast or broadcast addresses. • To receive the protocol’s network layer must keep track of processes belonging to each multicast group (allowing processes to join or leave the group)
Multicasting In a LAN (2) • If the LAN does not provide hardware support, (LAN is a non broadcast multi access or NBMA network) • map the multicast addresses to local link layer unicast addresses at the multicast router. • The multicast router can then send the appropriate unicast messages to group members
Address Translation (1) • Within an Ethernet the interface to each host is assigned an Ethernet address (when manufactured for IPv4) • The Ethernet address belongs to the interface, not the host, if the interface is replaced the Ethernet address will change • 48 bit Ethernet addresses can indicate one interface, a network broadcast address or a multicast address.
Address Translation (2) • Within an Ethernet each interface to a host is assigned an ethernet address • The interface to a host will extract from the network packets with • The Ethernet address of the interface itself • The Ethernet network broadcast address • The Ethernet local broadcast address • The Ethernet all hosts multicast group • Any Ethernet multicast addresses of groups the host is a member of
Address Translation (3) • A multicast router attached to the ethernet will translate IP addresses to the ethernet multicast or broadcast addresses, recognizable by the interfaces • To translate: the lowest 23 bits of the IP multicast address is placed in the special ethernet address 01.00.5e.00.00.00 (Not a unique mapping as IP has 28 significant bits) • The non unique mapping means that a multicast host must check the IP address on a received multicast packet to assure it is actually a recipient of the packet (not one of the other 31 of 32 hosts with the same ethernet multicast address.)
Address Translation (4) 5 22 225 125 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 1 01 00 5E The first four bits of the IP address are fixed (they indicate a multicast address) The next 5 bits (dark blue) are not used in the Ethernet address Therefore there are 25 = 32 IP addresses with the same Ethernet broadcast address
Multicasting Requirements(1) • Addressing Scheme: locally autonomous assignment of addresses with global applicability • IPv4 - Class D - start 1110 Address range 224.0.0.0 – 239.255.255.255 • IPv6 - 8 bit prefix, all 1, 4 bit flags field (permanently assigned or dynamic using IGMP), 4 bit scope field (single network to global), 112 bit group identifier • A multicast address can only be a destination address, not a source address. • A multicast datagram cannot generate an ICMPv4 message
Special multicast addresses • Just as some unicast IP addresses are reserved for special purposed, some multicast addresses are used for special multicast groups • A list of examples are given in your text (figure 16.2). • Addresses 224.0.0.0 through 224.0.0.255 are reserved for special groups and 239.252.0.0 through 239.255.255.255 are restricted to use on a single site • You will see and use examples of some special multicast addresses in your laboratory experiments
Special multicast addresses • 224.0.0.0 Reserved network base address • 224.0.0.1 All systems on this subnet (all hosts) • 224.0.0.2 All routers on this subnet (all routers) • 224.0.0.4 All DVMRP Routers • 224.0.0.5 All OSPF Routers • 224.0.0.8 All OSFP Designated Routers • 224.0.0.13 All PIMv2 Routers
Multicasting Requirements (2) • Effective notification and delivery • Hosts need a mechanism to notify routers about which groups are of interests to them (IGMP), that is a mechanism to join and leave multicast groups • Routers need a mechanism to deliver the multicast packets to the hosts attached to them • This mechanism is determined by the type of network • Broadcast network • Non broadcast multiple access network (NBMA)
Multicasting Requirements (3) • Effective notification and delivery • Routers need a mechanism to deliver the multicast packets to the hosts attached to them • In a broadcast networkthe router must translate between IP multicast address and network multicast address and multicast packet to group members • In an NBMA network the router must deliver translate between the multicast address and a list of unicast IP address in the group then unicast the packet to all hosts on that list
Multicasting Requirements(4) • An Efficient, Dynamic Forwarding Facility • Router must translate between IP multicast addresses and list of networks containing group members • Routers must exchange information • Which networks include members of given group at a given time • Sufficient path cost information to work out shortest path to each network • Routers must determine ‘shortest’ routing paths based on source and destination addresses
Constraints for efficient multicast routing: • Every member host of a multicast group should receive one copy of the packet • No host not a member of the multicast group should receive the packet • Each router should receive the packet only once
Delivery to multicast group members • Multiple Unicast • Send a copy of the packet to each member of the multicast group • Not efficient, creates a larger load than necessary • Is used only by multicast routers to send information to members of a multicast group on an NBMA network
Multicast • Determine least cost path to each network that has host in group subject to these constraints • Gives spanning tree configuration containing networks with group members • Transmit one packet along the resulting spanning tree • Routers replicate packets at branch points of the spanning tree
Multicast Example Stallings 2003:
Spanning Tree • from Router C to Multicast Group • Must determine multicast routing paths on the basis of both source and destination addresses Stallings 2003:
Multicast vs Multiple Unicast Stallings 2003: