Using Multicast with xPrintServer and UBox USB Device Servers

What is Multicast, and how does it affect communicating with xPrintServers and/or UBoxes on my network?


For information on troubleshootng multicast issues with xPrintServers,

For UBox specific information, click here


Background:

What is Multicast?
(Credit goes to www.faqs.org for their article on RFC1112 regarding Multicast, http://www.faqs.org/rfcs/rfc1112.html)

Multicast addressing is a network protocol that is used to deliver network data from a source to a group of destinations simultaneously, but allowing the sender/source to deliver the messages only once.

Typically, the term 'multicast' is used to refer to IP Multicast, which is often used for streaming data applications (ex, streaming music over Internet, Internet TV, etc). However, 'multicast', can be implemented in Layer 2 (Data Link) as well as in Layer 3 (Network). When used in IP multicasting, the protocol calls for the use of 'multicast routers' that handle the propagation of multicast datagrams across networks. Multicast routers create optimal distribution paths for multicast datagrams sent to a multicast destination address spanning tree in real-time. When used in the Data Link Layer (Layer2), multicast is used to describe one-to-many distribution such as Ethernet multicast addressing, Asynchronous Transfer Mode (ATM) point-to-multipoint virtual circuits or Infiniband multicast.

Often one person creates a new piece of information of which thousands of people are interested. Using unicast protocol, the source must repeat that information thousands of times, once for each person that is interested, which may overload the server or some other node between the source and the other people.

Solutions to this problem allow the source to repeat that information only a few times, no matter how many people are interested. There are a variety of multicast protocols intended to solve this problem. A gateway cache or proxy cache is another technique that can be used to solve this problem.

IP Multicast is a technique for one-to-many communication over an IP infrastructure. It scales to a larger receiver population by not requiring prior knowledge of who or how many receivers there are. Multicast uses network infrastructure efficiently by requiring the source to send a packet only once, even if it needs to be delivered to a large number of receivers.

Internetwork forwarding of IP multicast datagrams is handled by "multicast routers" which may be co-resident with, or separate from, internet gateways. A host transmits an IP multicast datagram as a local network multicast which reaches all immediately-neighboring members of the destination host group. If the datagram has an IP time-to-live greater than 1, the multicast router(s) attached to the local network take responsibility for forwarding it towards all other networks that have members of the destination group. On those other member networks that are reachable within the IP time-to-live, an attached multicast router completes delivery by transmitting the datagram as a local multicast.

To conceptually understand IP Multicast, consider the following analogy:

An IP Multicast group address is best thought of as a virtual 'distribution list' to which a Source sends its data. Sources use the group address as the IP destination address in their data packets. Receivers can be thought of as members of this distribution list. Receivers use this group address to inform the network that they are interested in receiving packets sent to that group. For example, if some content is associated with group 239.1.1.1, the source will send data packets destined to 239.1.1.1. Receivers for that content will inform the network that they are interested in receiving data packets sent to the group 239.1.1.1. The receiver "joins" 239.1.1.1. However, keep in mind that this is a virtual distribution list - there is no physical server or host involved at the IP address 239.1.1.1. Instead, the IGMP protocol (Internet Group Management Protocol) is the mechanism in the background that controls the creation and management of this virtual distribution group.

Once the receivers join a particular IP Multicast group, a multicast distribution tree is constructed for that group. Multicast routers create distribution trees that control the path that IP multicast traffic takes through the network to deliver traffic to all receivers. The protocol most widely used for this is Protocol Independent Multicast or PIM. PIM sets up multicast distribution trees such that data packets from senders to a multicast group reach all receivers which have "joined" the group. E.g. all data packets sent to the group 239.1.1.1 are received by receivers who joined 239.1.1.1. There are many different flavors of PIM: Sparse Mode (SM), Dense Mode (DM), Source Specific Mode (SSM) and Bidirectional Mode (Bidir).

IP Multicast does not require a source sending to a given group to know about the receivers of the group. The multicast tree construction is initiated by network nodes (multicast routers) which are close to the receivers or is receiver driven. An effect of this is that it is able to scale to a large receiver population. Internet architect Dave Clark described this as "You put packets in at one end, and the network conspires to deliver them to anyone who asks."

More on Multicast can be read from RFC 1112 at the following link:
http://www.faqs.org/rfcs/rfc1112.html

Further recommended reading on Multicast:

RFC 2236 (regarding IGMP protocol) -

In Summary, "the Internet Group Management Protocol (IGMP) is used by IP hosts to report their multicast group memberships to any immediately-neighboring multicast routers.

IGMPv2 allows group membership termination to be quickly reported to the routing protocol, which is important for high-bandwidth multicast groups and/or subnets with highly volatile group membership."

RFC 2236 has been superceded by RFC3376.

See http://www.faqs.org/rfcs/rfc2236.html

RFC 3376 (regarding IGMP v3) -

In Summary, "Version 3 of IGMP adds support for "source filtering", that is, the ability for a system to report interest in receiving packets only from specific source addresses, or from all but specific source addresses, sent to a particular multicast address. That information may be used by multicast routing protocols to avoid delivering multicast packets from specific sources to networks where there are no interested receivers."

RFC 3376 obsoletes 2236.

See http://www.faqs.org/rfcs/rfc3376.html


UBox Specific Information:

NOTE: Be advised that the UBox product line has been discontinued and is no longer supported. See this Product Discontinuation Notice.

On the UBox can I use the Multicast Address setting in the Local Settings tab to fix this problem? What is the Multicast Address setting for and what does it do?

A description of the Multicast Address setting as it is used in the UBox is described in the UBox online User Guide on page 36. (see below)
http://www.lantronix.com/pdf/UBox_UG.pdf

Discovery Mode
Select the method the UBox should use to send its UDP data.

*Broadcast: By default, the UBox uses this method to send discover messages to UBox clients. Broadcast sends UDP messages to every Ethernet-connected device on your network. This is the best setting to use on small networks, home networks, and networks where you have computers with multiple network interfaces (for example, a computer with both wireless and wired connections).

*Multicast: Sends UDP messages using Multicast UDP. This method only sends discover messages to computers that listen to the same multicast address that the UBox
uses.

*Multicast & Broadcast: Uses both methods at the same time.

Note: If you change a UBox's multicast address, you must tell the UBox software to listen to the new address. You only need to change the multicast address if you are
using Multicast or Multicast & Broadcast as your discovery method.

*Multicast Address: The address on which the UBox will send discover messages. You can enter any multicast address a long as it is in the range of 224.0.0.0 to 239.255.255.255. Default is 239.255.176.42.
Note: You would only change this if the default changes, for example, if you have a router that needs a different multicast address to properly route traffic across a LAN/WAN.



[Originally Published On: 09/29/2009 12:21 PM]