Caputo, in, 2014 MulticastMulticasting is defined as a single source sending to multiple recipients on a network when the receiver broadcasts a signal for acceptance. Multicasting has its own Class D IP addressing scheme, controlled and assigned by the Internet Assigned Numbers Authority (IANA). This means that all IP multicasts are in the range of 224.0.0.0 to 239.255.255.255. This unique IP address range is used only for the destination address of IP multicast traffic; the server, encoder, or IP camera delivering the multicast datagrams is always the unicast source IP address. Multicasting dramatically reduces network traffic by delivering a single video stream to multiple receivers (see Figure 4.11). For example, by using unicasting in a DVS system with redundancy archivers, there is a video stream per backup archiver plus (depending on the VMS used) a single video stream per client station. Thus, with three backup archive servers and three client stations, one camera will send six different streams.
Multicasting, on the other hand, was created for audio and video transmission over IP networks, allowing a single video stream to be delivered to multiple recipients. Multicasting is also a one-way connection, so it cannot be transported via TCP, which requires confirmation of connectivity. Multicasting, by its very nature, is only sent via UDP (so make sure those UDP ports are open). Shashank Khanvilkar.
Ashfaq Khokhar, in, 2005 Multicasting SupportMulticasting refers to a single source of communication with simultaneous multiple receivers. Most popular distributed multimedia applications require multicasting.
For example, multiparty audio/video conferencing is one of the most widely used services in Internet telephony. If multicasting is not naturally supported by the communication network (as was the case in some circuit-switched networks) then significant efforts need to be invested in building multimedia applications that support this functionality in an overlaid fashion, which often leads to inefficient bandwidth utilization.Multicasting is relatively easier to achieve for one-way communication than for two-way communication. For example, in the case of Internet radio, multicasting can be achieved by creating a spanning tree consisting of the sender at the root and the receiver at the leaves as well as replicating packets over all links that reach the receivers. In the case of two-way communication like Internet telephony among multiple parties, however, some form of audio mixing functionality is required that mixes the audios from all participants and only relays the correct information. Without this audio mixer, a two-way communication channel needs to be established between each participant in an all-to-all mesh fashion, which may amount to waste of bandwidth.
Walter Goralski, in, 2017 MulticastingMulticasting is a kind of “halfway” distribution method between unicast (one source to one destination) and broadcast (one source to all possible destinations). Unlike broadcasts that are received by all nodes on the subnet, only devices that join the RIPv2 multicast group will receive packets for RIPv2.
(We’ll talk more about multicast in Chapter 16.) RIPv2 multicasting also offers a way to filter out RIPv2 messages from a RIPv1 only router. This can be important, since RIPv2 messages look very much like RIPv1 messages. But RIPv2 messages are all invalid by RIPv1 standards.
RIPv1 devices would either discard RIPv2 messages because the mandatory all-zero fields are not all zeroes, or accept the routes and ignore the additional RIPv2 information such as the subnet mask. RIPv2 multicasting makes sure that only RIPv2 devices see the RIPv2 information. So RIPv1 and RIPv2 routers can easily coexist on the same LAN, for instance. The multicast group used for RIPv2 routers is 224.0.0.9.RIPv2 is still limited in several ways.
The 15 maximum-hop count is still there, as well as counting to infinity to resolve routing loops. And RIPv2 does nothing to improve on the fixed distance-vector values that are a feature of all versions of RIP. Caputo, in, 2010 MulticastMulticasting is defined as a single source sending to multiple recipients on a network when the receiver broadcasts a signal for acceptance. Multicast has its own Class D IP addressing scheme controlled and assigned by the Internet Assigned Numbers Authority (IANA). This means that all IP multicasts are in the range of 224.0.0.0-239.255.255.255. This unique IP address range is used only for the destination address of IP multicast traffic as the server, encoder, or IP camera delivering the multicast datagrams is always the Unicast source IP address. Multicast dramatically reduces network traffic by delivering a single video stream to multiple receivers (see Figure 4-11).
For example, by using Unicasting in a DVS system with redundancy archivers there's a video stream per backup archiver, plus (depending on the VMS used) a single video stream per client station. Thus, with three backup archive servers and three client stations, one camera will send six different streams. Multicasting, on the other hand, was created for audio and video transmission over IP networks, allowing a single video stream to be delivered to multiple recipients. Multicasting is also a one-way connection so it can't be transported via TCP, which requires confirmation of connectivity. Multicast, by its very nature, is only sent via UDP (so make sure those UDP ports are open).

Colin Walls, in, 2012 8.10.1 Initializing MulticastingIP multicasting provides a means for a network application to send a single IP datagram to multiple hosts. Multicasting differs from broadcasting in that every host on a network segment receives a broadcast packet. This can lead to unnecessary interruptions for those hosts that are not interested in the broadcast.
With multicasting, only those hosts that have explicitly joined an IP multicasting group will receive a multicast packet to that address/group. The class D IP address space defines the multicasting IP addresses. These addresses do not define individual interfaces, but instead define groups of interfaces.
Hence class D addresses are referred to as groups. The class D IP addresses are those in the range 224.0.0.0 to 239.255.255.255.Membership in a multicast group is dynamic. An application can join and leave a group on an interface at any time. Applications join or leave a multicast group by utilizing a networking stack service call. Many IP multicasting groups are reserved for specific applications.
RFC 1700 provides a current list of registered groups.All level 2 conforming hosts are required to join the 224.0.0.1 group at initialization. The 224.0.0.1 or “all hosts group” is the group of all hosts on the local subnet.
At initialization, a networking stack, which supports IP multicasting, will join this group on interfaces that support multicasting (this would normally be a build option). Multicasting can only be enabled on UDP sockets. This is because UDP is a connectionless protocol. TCP on the other hand establishes a connection with a specific host.
Communication over a TCP socket is possible only with that one specific host.IGMP (Internet Group Management Protocol) is the means by which IP hosts report their host group memberships to any immediately neighboring multicast routers. A networking stack may also have support for IGMP. IGMP is transparent to the user in that no API service calls directly invoke IGMP. Rather, each time an application joins a multicast group, the IGMP services will be invoked by the IP layer to report the new group membership. Also, if there are any multicast routers on the local network, they will periodically send requests for updated group membership information.
At this time, IGMP will report all group memberships to the router. These requests are sent by routers to the group address of 224.0.0.1, hence the necessity of joining this group during boot up on all interfaces that support multicasting.It is important to keep definitions straight. In this article, references to multicast packets will mean packets that contain application data and are sent to a multicast group address.
IGMP packets refer to packets that contain instructions for multicast group maintenance. Walter Goralski, in, 2017 Frames and MulticastMulticasting on a LAN is a good place to start an investigation of multicasting in general. Consider a single LAN, without routers, with a multicast source sending to a certain group. The rest of the hosts are receivers interested in the multicast group’s content. So, the multicast source host generates packets with its unicast IP address as the source and the group address as the destination.One issue comes up immediately.
The packet source address obviously will be the unicast IP address of the host originating the multicast content. This translates to the MAC address for the source address in the frame in which the packet is encapsulated. The packet’s destination address will be the multicast group.
So far, so good. But what should be the frame’s destination address that corresponds to the packet’s multicast group address?Using the LAN broadcast MAC address defeats the purpose of multicast, and hosts could have access to many multicast groups. Broadcasting at the LAN level makes no sense. Fortunately, there is an easy way out of this. The MAC address has a bit that is set to 0 for unicast (the LAN term is individual address) and to a 1 to indicate that this is a multicast address. Some of these addresses are reserved for multicast groups for specific vendors or MAC-level protocols. Internet multicast applications use the range 0x01-00-5E-00-00-00 to 0x01-00-5E-FF-FF-FF.
TCP/IP multicast receivers listen for frames with one of these addresses when the application joins a multicast group and stops listening when the application terminates or the host leaves the group.So, 24 bits are available to map IPv4 multicast addresses to MAC multicast addresses. But all IPv4 addresses, including multicast addresses, are 32 bits long. There are 8 bits left over. How should IPv4 multicast addresses be mapped to MAC multicast addresses to minimize the chance of “collisions” (two different multicast groups mapped to the same MAC multicast address)?All IPv4 multicast addresses begin with the same four bits (1110), so we only have to really worry about 4 bits (not 8). We shouldn’t drop the last bits of the IPv4 address, because these are almost guaranteed to be host bits—depending on subnet mask. But the high-order bits, the rightmost bits, are almost always network bits and we’re only worried about one LAN for now.
How to convert from IPv4 header multicast to Ethernet MAC multicast address formats.Note that this process means that there are 32 (2 5) IPv4 multicast addresses that could map to the same MAC multicast addresses. For example, multicast IPv4 addresses 224.8.7.6 and 229.136.7.6 translate to the same MAC address (0x01-00-5E-08-07-06). This is a real concern, and because the host will accept frames sent to both multicast groups, the IP software must reject one or the other. This problem does not exist in IPv6, but is always a concern in IPv4.Once the MAC address for the multicast group is determined, the operating system essentially orders the NIC card to join or leave the multicast group and accept frames sent to the address as well as the host’s unicast address or ignore that multicast group’s frames. It is possible for a host to receive multicast content from more than one group at the same time, of course. The procedure for IPv6 multicast packets inside frames is nearly identical, except for the MAC destination address 0x3333 prefix and other points outlined in the previous section. Deep Medhi, Karthik Ramasamy, in, 2018 8.9 Inter-Domain Multicast RoutingThe multicasting protocols discussed so far are all intra-domain multicast routing protocols.
What happens if a source is located in one autonomous system, and receivers in another autonomous system wish to be part of this 〈 s, M 〉 group? We discuss here two inter-domain approaches to handle this situation. 8.9.1 Border Gateway Multicast Protocol (BGMP)The first approach is based on the Border Gateway Multicast Protocol (BGMP) 812. Note that BGMP is not an IETF standard; it is designated as an informational RFC.
Essentially, very much like Border Gateway Protocol (BGP) for unicast routing where two BGP speakers use the BGP protocol to exchange and update reachability of IP prefixes, a similar mechanism is used in BGMP for multicast address announcements for reachability from one autonomous system to another autonomous system between neighboring BGMP border routers (“speakers”).BGMP uses TCP with default port number 264 to establish and maintain a connection between two BGMP speakers to communicate BGMP protocol messages between two autonomous systems. Four message types are defined: OPEN, KEEPALIVE, NOTIFICATION, and UPDATE. As you can see, BGMP has a similar setup and messaging structure like BGP. After the TCP connection is set up between two BGMP speakers, the first message sent is the OPEN message to establish a BGMP-level session and relationship. After that, periodically KEEPALIVE messages are exchanged to keep the session alive; these messages are sent before the expiration of the session hold timer.
The NOTIFICATION message is sent to close a BGMP session.The UPDATE message is the one used to exchange reachability information. The UPDATE message has the following main attributes: Join, Prune, Group, and Source. The Join or Prune attributes are used in conjunction with Group and Source attributes. Group relates to a Group-Prefix while Source relates to a Source-Prefix. Thus, you will send an UPDATE message to Join a Group using as JOIN(GROUP); similarly, you can use PRUNE(GROUP) to prune a group indicated by the group address. For group 〈 s, M 〉 joining towards source s, you can use GROUP(JOIN(SOURCE)). That is, conjunctions are nested.
You may note that addresses are announced in a prefix mode. This means that a subnet mask must be announced with each address. Thus, for a specific multicast group address such as 239.2.3.4, you need to announce it in the group-prefix mode as 239.2.3.4/32.
On the other hand, if you wish to announce a block of contiguous multicast addresses, you can also use the group-prefix mode such as 239.5.6.0/24.In the actual operation of BGMP, group-prefix states are maintained at a BGMP border router based on an exchange with its peer. The root for a group-shared tree is the original autonomous system. Suppose that a receiver wishes to join a specific multicast group. Then, the border router for this receiver will generate a JOIN(GROUP) message towards the root autonomous system. This message is then forwarded from one autonomous system to another by the border routers until it reaches the root autonomous system.
Note that bidirectional forwarding state is built in the process, i.e., no RPF check is done. The prune works similarly if there are no receivers in an autonomous system that are interested in a multicast group. Source-specific states are also maintained by BGMP border routers on an optional basis.
They are unidirectional.BGMP is a fairly simple approach that parallels BGP and has the necessary features to allow multicasting to be accomplished. 8.9.2 Multiprotocol Extension of BGP and a Composite ApproachWe can see from the above description that, in many ways, BGMP parallels BGP. So the question is, instead of running a completely separate protocol, can we accomplish multicasting across domains in an existing framework? We now discuss a composite approach that relies on PIM-SM, Multicast Source Discovery Protocol (MSDP) 271, and multiprotocol extension of BGP—this will be referred to as MP-BGP.The advantage of using BGP is that all standard BGP message types can be used as well as the same BGP session between two BGP peers; there is no need to set up separate parallel sessions between peers. Through the multiprotocol extension of BGP, multicast addresses can also be announced or withdrawn using the BGP UPDATE message.Now recall that in PIM-SM, the multicast distribution tree is maintained rooted at the rendezvous point within an autonomous system. When two autonomous systems are connected, then each one will have an RP. So, to make a particular multicasting group communicate over both the autonomous systems, the two RPs must first establish a Multicast Source Discovery Protocol (MSDP) peering relationship using a TCP connection.Suppose that there is a new source in one of the autonomous systems.
It generates a PIM-SM Register message to inform the RP in its domain. In turn, this RP informs its peer RP in the second autonomous system by sending a Source-Active message over the peering session with the three tuple 〈 s, M, R P 〉. On receiving this message, the second RP forwards this message to downstream RPs in other autonomous systems.
This forwarding is known as peer-RPF flooding, which means that RPF is checked at the RP level. In other words, if an RP peer receives the Source-Active message from a non-RPF RP peer in the direction of the originating RP, it will not forward the message.Since there are thousands of active autonomous systems on the Internet, does this mean that an RP in an AS need to establish is MSDP peering with every other ASes?
The answer is no. The MSDP peering can be indirect through an intermediate peer. This solves a major scalability problem.Besides the multicast address inclusion through MP-BGP, there is another way BGP is helpful. BGP allows path discrimination when two ASes are connected over multiple links. Suppose that you want to use one link for the unicast traffic and the other for multicast traffic. This can be accomplished through BGP, and is based on which next hop is announced when crossing from one domain to another.
We conclude this section by presenting a short illustration of the composite approach using Figure 8.16. In this figure, there are two ASes, AS 10 and AS 20, each of which has an RP, router 2 and router 9, respectively. First, an MSDP peering relationship between RPs, router 2 in AS 10 and router 9 in AS 20, is established.
When Source s, located in AS 10, announces itself as a new multicast source for group 〈 s, M 〉, its home router 1 then sends a PIM Register message to the RP in AS 10. In turn, the RP (router 2) in AS 10 sends an MSDP Source-Active message with 〈 s, M, 2 〉 to the RP (route 9) in AS 20. Note that this first MSDP packet encapsulates the initial multicast data packet generated by source s. Router 9 extracts the multicast packet and sends it downstream to the receivers in this AS along the shortest path tree. Inter-domain multicasting with PIM-SM: Illustration.Assume that receiver r wishes to receive this multicast session by informing its home router 8 using IGMP before source s is known in the AS 20 domain. Thus, at first, router 8 will send the wildcard Join 〈, M 〉 message on its outgoing interface towards the RP, router 9.
This will establish the shortest path tree from the RP, router 9, to router 8 (assuming only the single receiver r is in this domain) with the interface marked and the multicast routing information base updated on the associated routers.Next, RP in AS 20, router 9, on receiving the MSDP Source-Active message 〈 s, M 〉, will send out a Join 〈 s, M 〉 message toward source s. This leads to constructing a branch of the inter-domain source tree that spans across AS boundaries to the RP in AS 10. Finally, sending encapsulated multicast packets between RPs is stopped because the tree is now established between the two domains for multicast packets to flow directly. You may note that the tree established here may not be cost effective due to the connections always passing through the area border routers. Yuri Gordienko, in, 2002 AppleTalkAppleTalk uses multicasting extensively to advertise services, request services, and resolve addresses. On startup, an AppleTalk host transmits a series of at least 20 packets aimed at resolving its network address (a Layer 3 AppleTalk node number) and obtaining local “zone” information. Except for the first packet, which is addressed to itself, these functions are resolved through AppleTalk multicasts.
Let's look at some issues relating to AppleTalk and how to position Sniffer Pro to optimize this traffic. ▪You can use Sniffer Pro network analyzer to locate AppleTalk hosts with the Matrix. After you position Sniffer Pro correctly and capture AppleTalk Traffic, you can use the Matrix to find which hosts on your network are using the AppleTalk protocol.
▪Administrators usually do not even know AppleTalk is running at all. It lingers in the background until a Protocol Analyst captures it. ▪The AppleTalk Chooser is particularly broadcast intensive. This is the main way that Apple Macintosh end users access network resources. You can view the end user's workstation by using Chooser (located within the Apple Menu) to find if AppleShare is running and what resources are available to the end user. ▪You can position Sniffer Pro to capture routing traffic from the network routers that may be configured with AppleTalk.
You will find, however, that the Matrix is one of your greatest tools to find AppleTalk-related traffic. ▪AppleTalk Router Discovery Protocol is a RIP-based protocol implementation that is transmitted by all routers and listened to by every station, so it is very broadcast intensive.Sniffer Pro is going to help you to locate these AppleTalk traffic culprits and it's up to you (and the onsite Systems Engineer) to see if it is OK to remove them or replace them. Let's look at the AppleTalk routing broadcast problems and see if we can correct thm. AppleTalk Routing TrafficAURP and RTMP are AppleTalk-based routing protocols that can also be highly chatty and increase the loss of your precious bandwidth. Although Sniffer Pro will be hard pressed to help you in finding and locating these problems (unless they traverse your LAN), it would be a shame to not give you, the SCP, ways to optimize the WAN traffic as well.
Here are some quick fixes for total optimization. ▪Routing Table Maintenance Protocol (RTMP), a Distance vector protocol that has a default update timer of 10 seconds, which is way too much). ▪AppleTalk Update-based Routing Protocol (AURP) is another AppleTalk routing protocol that allows the creation of a tunnel to interconnect two networks through TCPIP. AURP uses User Datgram Protocol (UDP), hence it is using TCP/IP. It does not send periodic updates through the link, so if you have to use an AppleTalk routing protocol, this one is it.You really don't want to be routing with AppleTalk these days, but if you do, you can follow these guidelines to help optimize the traffic on your networks, especially your WAN.AppleTalk is considered a chatty protocol, but it has a low overhead. Depending on the needs of the MACs connected to your network, consider switching them from AppleTalk to TCP/IP.
Most implementations of AppleTalk have already been removed or replaced since the volume of Apple computers to PCs is so skewed. This is, however, not the case with Novell Netware's IPX/SPX protocol, which we will now look at. ■Multicasting can be used to push data to multiple hosts simultaneously. Characteristics of multicasting are as follows: ■Designed to handle traffic destined to multiple hosts. ■Multicast traffic establishes a one-to-many type of transmission, sending one stream of traffic to each requesting broadcast domain.
■The IP address that defines a multicast group is a Class D address (224.0.0.0 to 239.255.255.255). ■Multicast addresses cannot be used as source addresses for any traffic. ■A multicast address identifies a group of hosts sharing the same address.
■Multicast addresses are not assigned to a device, rather, a device proceeds to listen for and receive traffic destined to a multicast group that it has joined by some process. ■Multicasting is UDP-based.
■A computer uses Internet Group Management Protocol (IGMP) to report its multicast group memberships to multicast routers. ■IGMP is required to be used in host computers that wish to participate in multicasting.
■Unicast traffic is the transmission of data from one host to another, one host at a time. Characteristics of unicast traffic are as follows: ■A one-to-one session between one host and another, such as a client and server arrangement.
■It will not transmit to every computer on a network. ■Multiple requests for the same conference or data would cause that data to be pushed across the network media at the same time to multiple targets. An example of this is shown in Figure 6.2. ■Broadcast traffic is the broadcast traffic sent to all computer systems that can be reached on the network. Characteristics of broadcast traffic are as follows: ■Each host receiving the broadcast has to process the broadcast traffic. ■If a host does not require the broadcast traffic data, the host will still accept the datagram and then determine what to do with it – accept it or reject it. ■Routers filter (block) broadcast traffic by default.

Broadcasts must be explicitly allowed to traverse routers. In order to support multicasting, we expand the packet format into that shown in Figure 4.7. We explain the packet fields as follows. The 38-bit packet format for unicast is shown in Figure 4.7a.
The packet consists of the header flit followed by payload flits. Three additional 3-bit heads are the Type, ID (identity), and Mode bits. The Type can be header, data body, and the end of data body (last flit). The Mode can be the unicast, multicast, and broadcast communication pattern for different packet formats. The source and target addresses of the packet are asserted in the header flit. Passing a communication segment of the NoC, each packet has the same local identity number (ID tag) to differentiate it from another packet. The local ID tag of the data flits of one packet will vary over different communication segments in order to provide a scalable concept.
Figure 4.7b shows the packet format for multicast services. The target addresses are specified in the bitstring field. Each bit in the bitstring represents a node, the hop distance of which from the source node corresponds to the position of the bit in the bitstring. The status of each bit indicates whether the visited node is a target of the multicast or not.
For broadcast communication as shown in Figure 4.7c, all nodes in the NoC are receiver nodes, so they can be specified implicitly.
$ mcjoin -hUsage: mcjoin -dhjqsv -c COUNT -i IFNAME -p PORT -r SEC -t TTLSOURCE,GROUP0.